Performance Testing
kid-sid/claude-spellbook
A skill your agent uses when load testing a service before launch or after a significant traffic change — writing k6 or Locust scripts, setting SLO-based pass/fail thresholds, diagnosing bottlenecks…
When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness.
$ npx skills add ancoleman/ai-design-components --skill performance-engineering -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ancoleman/ai-design-components performance-engineering --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/performance-engineering .claude/skills/performance-engineering && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "performance-engineering" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/performance-engineering into .claude/skills/performance-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "performance-engineering", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ancoleman/ai-design-components/tree/main/skills/performance-engineeringType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ancoleman/ai-design-components --skill performance-engineering -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ancoleman/ai-design-components performance-engineering --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/performance-engineering .agents/skills/performance-engineering && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "performance-engineering" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/performance-engineering into .agents/skills/performance-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "performance-engineering", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ancoleman/ai-design-components --skill performance-engineering -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ancoleman/ai-design-components performance-engineering --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/performance-engineering .cursor/skills/performance-engineering && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "performance-engineering" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/performance-engineering into .cursor/skills/performance-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "performance-engineering", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ancoleman/ai-design-components.git --path skills/performance-engineering--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ancoleman/ai-design-components --skill performance-engineering -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ancoleman/ai-design-components performance-engineering --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/performance-engineering .gemini/skills/performance-engineering && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "performance-engineering" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/performance-engineering into .gemini/skills/performance-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "performance-engineering", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ancoleman/ai-design-components performance-engineeringInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ancoleman/ai-design-components --skill performance-engineering -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/performance-engineering .github/skills/performance-engineering && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "performance-engineering" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/performance-engineering into .github/skills/performance-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "performance-engineering", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ancoleman/ai-design-components --skill performance-engineering -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ancoleman/ai-design-components performance-engineering --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/performance-engineering .opencode/skills/performance-engineering && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "performance-engineering" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/performance-engineering into .opencode/skills/performance-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "performance-engineering", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
performance-engineeringWhen validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness.
Performance Engineering is an agent skill from ancoleman/ai-design-components. When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness. Covers load testing (k6, Locust), profiling (CPU, memory, I/O), and optimization strategies (caching, query optimization, Core Web Vitals). Use for capacity planning, regression detection, and establishing performance SLOs.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 20 other files, including reference files (for example `examples/k6/load-test.js`, `examples/k6/soak-test.js` and `examples/k6/stress-test.js`).
It sits in Testing & QA, covering Load testing and Site reliability engineering. The repository describes itself as: Comprehensive UI/UX and Backend component design skills for AI-assisted development with Claude. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 76551b7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (JavaScript, Python, TypeScript and Shell), which the agent can run.
Shell commands in SKILL.md call:
pipbrewapt-getgonodenpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Performance Engineering loads about 2.9k tokens when it runs, and up to ~27k if it reads all its reference files. Until then it costs about 95 tokens; SKILL.md has 820 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
sudo apt-get install k6 # Linuxsudo mv k6-v0.48.0-linux-amd64/k6 /usr/local/bin/Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ancoleman/ai-design-components at commit 76551b7, republished under its MIT licence (© ancoleman). 820 words, ~2,853 tokens.
.claude/skills/performance-engineering/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.Performance engineering encompasses load testing, profiling, and optimization to deliver reliable, scalable systems. This skill provides frameworks for choosing the right performance testing approach (load, stress, soak, spike), profiling techniques to identify bottlenecks (CPU, memory, I/O), and optimization strategies for backend APIs, databases, and frontend applications.
Use this skill to validate system capacity before launch, detect performance regressions in CI/CD pipelines, identify and resolve bottlenecks through profiling, and optimize application responsiveness across the stack.
Common Triggers:
Use Cases:
Validate system behavior under expected traffic levels.
When to use: Pre-launch capacity planning, regression testing after refactors, validating auto-scaling.
Find system capacity limits and failure modes.
When to use: Capacity planning, understanding failure behavior, infrastructure sizing decisions.
Identify memory leaks, resource exhaustion, and degradation over time.
When to use: Detecting memory leaks, validating connection pool cleanup, testing long-running batch jobs.
Validate system response to sudden traffic spikes.
When to use: Validating auto-scaling, testing event-driven systems (product launches), ensuring rate limiting works.
Which test type to use?
What am I trying to learn?
├─ Can my system handle expected traffic? → LOAD TEST
├─ What's the maximum capacity? → STRESS TEST
├─ Will it stay stable over time? → SOAK TEST
└─ Can it handle traffic spikes? → SPIKE TESTFor detailed testing patterns, load scenarios, and interpreting results, see references/testing-types.md.
Installation:
brew install k6 # macOS
sudo apt-get install k6 # LinuxBasic Load Test:
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
stages: [
{ duration: '30s', target: 20 },
{ duration: '1m', target: 20 },
{ duration: '30s', target: 0 },
],
thresholds: {
http_req_duration: ['p(95)<500'],
http_req_failed: ['rate<0.01'],
},
};
export default function () {
const res = http.get('https://api.example.com/products');
check(res, {
'status is 200': (r) => r.status === 200,
});
sleep(1);
}Run: k6 run script.js
For stress, soak, and spike testing examples, see examples/k6/.
Installation:
pip install locustBasic Load Test:
from locust import HttpUser, task, between
class WebsiteUser(HttpUser):
wait_time = between(1, 3)
host = "https://api.example.com"
@task(3)
def view_products(self):
self.client.get("/products")
@task(1)
def view_product_detail(self):
self.client.get("/products/123")Run: locust -f locustfile.py --headless -u 100 -r 10 --run-time 10m
For REST API testing and data-driven testing, see examples/locust/.
| Symptom | Profiling Type | Tool |
|---|---|---|
| High CPU (>70%) | CPU Profiling | py-spy, pprof, DevTools |
| Memory growing | Memory Profiling | memory_profiler, pprof heap |
| Slow response, low CPU | I/O Profiling | Query logs, pprof block |
py-spy (Production-Safe):
pip install py-spy
# Profile running process
py-spy record -o profile.svg --pid <PID> --duration 30
# Top-like view
py-spy top --pid <PID>Memory Profiling:
from memory_profiler import profile
@profile
def my_function():
a = [1] * (10 ** 6)
return a
# Run: python -m memory_profiler script.pypprof (Built-in):
import (
"net/http"
_ "net/http/pprof"
)
func main() {
go func() {
http.ListenAndServe("localhost:6060", nil)
}()
startApp()
}Capture profile:
# CPU profile (30 seconds)
go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30
# Interactive analysis
(pprof) top
(pprof) webChrome DevTools (Browser/Node.js):
Node.js:
node --inspect app.js
# Open chrome://inspect
# Performance tab → Recordclinic.js (Node.js):
npm install -g clinic
clinic doctor -- node app.jsFor detailed profiling workflows and analysis, see references/profiling-guide.md and examples/profiling/.
When to cache:
Redis example:
import redis
r = redis.Redis()
def get_cached_data(key, fn, ttl=300):
cached = r.get(key)
if cached:
return json.loads(cached)
data = fn()
r.setex(key, ttl, json.dumps(data))
return dataN+1 prevention:
# Bad: N+1 queries
users = User.query.all()
for user in users:
print(user.orders) # Separate query per user
# Good: Eager loading
users = User.query.options(joinedload(User.orders)).all()Indexing:
CREATE INDEX idx_users_email ON users(email);Cursor-based pagination:
app.get('/api/products', async (req, res) => {
const { cursor, limit = 20 } = req.query;
const products = await db.query(
'SELECT * FROM products WHERE id > ? ORDER BY id LIMIT ?',
[cursor || 0, limit]
);
res.json({
data: products,
next_cursor: products[products.length - 1]?.id,
});
});Key metrics:
Optimization techniques:
For detailed optimization strategies, see references/optimization-strategies.md and references/frontend-performance.md.
| Service Type | p95 Latency | p99 Latency | Availability |
|---|---|---|---|
| User-Facing API | < 200ms | < 500ms | 99.9% |
| Internal API | < 100ms | < 300ms | 99.5% |
| Database Query | < 50ms | < 100ms | 99.99% |
| Background Job | < 5s | < 10s | 99% |
| Real-time API | < 50ms | < 100ms | 99.95% |
For detailed SLO framework and performance budgets, see references/slo-framework.md.
GitHub Actions example:
name: Performance Tests
on:
pull_request:
branches: [main]
jobs:
load-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install k6
run: |
curl https://github.com/grafana/k6/releases/download/v0.48.0/k6-v0.48.0-linux-amd64.tar.gz -L | tar xvz
sudo mv k6-v0.48.0-linux-amd64/k6 /usr/local/bin/
- name: Run load test
run: k6 run tests/load/api-test.jsPerformance budgets:
// k6 test with thresholds (fail build if violated)
export const options = {
thresholds: {
http_req_duration: ['p(95)<500'],
http_req_failed: ['rate<0.01'],
},
};Standard process:
Best practices:
Primary: k6 (JavaScript-based, Grafana-backed)
When to use: Modern APIs, microservices, CI/CD integration.
Alternative: Locust (Python-based)
When to use: Python-heavy teams, complex user flows.
Python:
Go:
TypeScript/JavaScript:
For detailed tool comparisons, see references/testing-types.md and references/profiling-guide.md.
Detailed Guides:
references/testing-types.md - Load, stress, soak, spike testing patternsreferences/profiling-guide.md - CPU, memory, I/O profiling across languagesreferences/optimization-strategies.md - Caching, database, API optimizationreferences/frontend-performance.md - Core Web Vitals, bundle optimizationreferences/slo-framework.md - Setting SLOs, performance budgetsreferences/benchmarking.md - Benchmarking best practicesExamples:
examples/k6/ - Load, stress, soak, spike testsexamples/locust/ - Python-based load testingexamples/profiling/ - Profiling examples (Python, Go, TypeScript)examples/optimization/ - Caching, query, API optimizationFor comprehensive testing strategies, see the testing-strategies skill.
For CI/CD integration patterns, see the building-ci-pipelines skill.
For infrastructure sizing based on load tests, see the infrastructure-as-code skill.
For Kubernetes performance testing, see the kubernetes-operations skill.
© ancoleman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 13 other files (references) in skills/performance-engineering of ancoleman/ai-design-components.
Open the folder on GitHubat commit 76551b7
Performance Engineering next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Performance Engineering this skillancoleman/ai-design-components | 526 | — | ~2.9k | Automated safety check: Notes | MIT | |
| Performance Testingkid-sid/claude-spellbook | 189 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Vercel Load Scalejeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2k | Automated safety check: Pass | MIT | |
| Anth Load Scalejeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Afrexai Performance EngineeringLeoYeAI/openclaw-master-skills | 2.2k | — | ~7.1k | Automated safety check: Pass | MIT | |
| HTTP Load Profilerzebbern/claude-code-guide | 4.7k | — | ~1.6k | Automated safety check: Notes | MIT |
kid-sid/claude-spellbook
A skill your agent uses when load testing a service before launch or after a significant traffic change — writing k6 or Locust scripts, setting SLO-based pass/fail thresholds, diagnosing bottlenecks…
jeremylongshore/tons-of-skills-marketplace
Load test and scale Vercel deployments with concurrency tuning and capacity planning.
jeremylongshore/tons-of-skills-marketplace
Implement load testing, auto-scaling, and capacity planning for Claude API.
LeoYeAI/openclaw-master-skills
Complete performance engineering system — profiling, optimization, load testing, capacity planning, and performance culture.
zebbern/claude-code-guide
Run stepped HTTP load tests with ab/wrk, ramping concurrency levels to collect p50/p90/p99 latency, detect performance inflection points, and recommend optimal concurrency.
jaktestowac/awesome-copilot-for-testers
Designs and runs performance and load tests: workload modelling from real traffic, thresholds tied to SLOs, warmup and ramp shapes, percentile-based analysis, and lightweight CI perf checks with k6…
ancoleman/ai-design-components
Builds AI chat interfaces and conversational UI with streaming responses, context management, and multi-modal support.
ancoleman/ai-design-components
Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages.
ancoleman/ai-design-components
Builds tables and data grids for displaying tabular information, from simple HTML tables to complex enterprise data grids.
ancoleman/ai-design-components
Creates comprehensive dashboard and analytics interfaces that combine data visualization, KPI cards, real-time updates, and interactive layouts.
ancoleman/ai-design-components
Designs layout systems and responsive interfaces including grid systems, flexbox patterns, sidebar layouts, and responsive breakpoints.
ancoleman/ai-design-components
Displays chronological events and activity through timelines, activity feeds, Gantt charts, and calendar interfaces.
When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness. Performance Engineering is an agent skill from ancoleman/ai-design-components. When validating system performance under load, identifying bottlenecks through profiling, or optimizing application responsiveness.
Performance Engineering fits situations like: capacity planning; regression detection; establishing performance SLOs.
Run `npx skills add ancoleman/ai-design-components --skill performance-engineering -a claude-code`. Or copy the skill folder (skills/performance-engineering in ancoleman/ai-design-components) into .claude/skills/performance-engineering in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ancoleman/ai-design-components --skill performance-engineering -a codex`. Or copy the skill folder (skills/performance-engineering in ancoleman/ai-design-components) into .agents/skills/performance-engineering in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ancoleman/ai-design-components --skill performance-engineering -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/performance-engineering, .gemini/skills/performance-engineering, .github/skills/performance-engineering and .opencode/skills/performance-engineering in your project.
Going by SKILL.md and its folder, Performance Engineering needs JavaScript, Python, TypeScript and a shell for the scripts in its folder and the command-line tools its instructions call (pip, brew, apt-get, go, node and npm). Our summary lists: Python 3; Node.js; A Bash shell.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Performance Engineering is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 25k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Performance Engineering: Performance Testing (kid-sid/claude-spellbook, 189 stars), Vercel Load Scale (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Anth Load Scale (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Afrexai Performance Engineering (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ancoleman (a GitHub user) maintains it in ancoleman/ai-design-components, which has 526 GitHub stars. The repository holds 75 skills in this directory. The repository was last updated on December 11, 2025.
Source: ancoleman/ai-design-components on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.