Performance Operations
Orchestrator for cross-language performance profiling and optimization. Classifies symptoms inline, dispatches profiling to general-purpose agents preloaded with the relevant language -ops skill (background), and manages optimization with confirmation.
Architecture
User describes performance issue or requests profiling
|
+---> T1: Diagnose (inline, fast)
| +---> Classify symptom (decision tree)
| +---> Detect language/runtime from project
| +---> Check installed profiling tools
| +---> Determine production vs development
| +---> Gather system baseline (CPU/mem/disk)
| +---> Present: diagnosis + recommended profiling approach
|
+---> T2: Profile (dispatch general-purpose + skill preload, background)
| +---> Select skill preload from routing table
| +---> Build perf-focused dispatch prompt
| +---> Agent runs profiler, collects data, interprets results
| | +---> Fallback: tool commands inlined (no skill preload)
| +---> Returns: findings + bottleneck identification + suggestions
| |
| +---> [Optional parallel dispatch]:
| +---> CPU profiling agent ---+
| +---> Memory profiling agent --+--> Consolidate findings
| +---> Baseline benchmark ------+
|
+---> T3: Optimize (dispatch general-purpose + skill preload, foreground + confirm)
+---> Agent proposes specific code changes
+---> Preflight: what changes, expected impact, risks
+---> User confirms
+---> Apply changes
+---> Re-benchmark for before/after delta
Safety Tiers
T1: Diagnose - Run Inline
No agent needed. Execute directly via Bash for instant results.
| Operation |
Command / Method |
| Detect Python profilers |
which py-spy && which memray && which scalene |
| Detect Go profilers |
which go && go tool pprof -h 2>/dev/null |
| Detect Rust profilers |
which cargo-flamegraph && which samply |
| Detect Node profilers |
which clinic && which 0x |
| Detect benchmarking tools |
which hyperfine && which k6 && which vegeta |
| System CPU baseline |
top -bn1 -o %CPU | head -20 (Linux) or wmic cpu get loadpercentage (Win) |
| System memory baseline |
free -h (Linux) or wmic OS get FreePhysicalMemory (Win) |
| Disk I/O check |
iostat -x 1 3 (Linux) |
| Identify language |
Check for package.json, go.mod, Cargo.toml, pyproject.toml, requirements.txt |
| Production vs dev |
Ask user or detect from environment (NODE_ENV, FLASK_ENV, etc.) |
| Read existing profiles |
Parse .prof, .svg, .bin files in project |
Production safety rule: In production environments, only recommend sampling profilers (py-spy, pprof HTTP endpoint, perf). Never suggest attaching debuggers, tracing profilers, or tools that require process restart.
T2: Profile - Dispatch to Profiling Agent
Gather context from T1 diagnosis, then dispatch a general-purpose agent preloaded with the relevant language -ops skill plus the perf-ops references below.
Language Routing:
| Detected Language |
Dispatch |
Preload |
Key Profiling Tools |
| Python (.py, pyproject.toml, requirements.txt) |
general-purpose |
relevant skills/python-*/SKILL.md + perf-ops references |
py-spy, memray, scalene, tracemalloc |
| Go (go.mod, .go files) |
general-purpose |
skills/go-ops/SKILL.md + perf-ops references |
pprof (CPU/heap/goroutine/mutex), benchstat |
| Rust (Cargo.toml, .rs files) |
general-purpose |
skills/rust-ops/SKILL.md + perf-ops references |
cargo-flamegraph, samply, DHAT, criterion |
| TypeScript/JavaScript (backend, package.json + server) |
general-purpose |
skills/javascript-ops/SKILL.md + perf-ops references |
clinic flame/doctor/bubbleprof, 0x |
| TypeScript/JavaScript (frontend, bundle issues) |
general-purpose |
skills/typescript-ops/SKILL.md + perf-ops references |
webpack-bundle-analyzer, Lighthouse, source-map-explorer |
| SQL / PostgreSQL |
general-purpose |
skills/postgres-ops/SKILL.md + perf-ops references |
EXPLAIN ANALYZE, pg_stat_statements, pgbench |
SQL / SQLite, Cloudflare D1, libSQL/Turso (*.db, *.sqlite, wrangler.toml with a d1_databases binding) |
general-purpose |
skills/sqlite-ops/SKILL.md + perf-ops references |
EXPLAIN QUERY PLAN, sqlite-ops/scripts/eqp-triage.py, sqlite3 .timer/.stats, wrangler d1 insights, sql_duration_ms + rows_read |
| General / unknown / CLI benchmarking |
general-purpose |
perf-ops references |
hyperfine, perf, strace |
Dispatch template (T2):
You are handling a performance profiling task dispatched by the perf-ops orchestrator.
## Diagnosis (from T1)
- Symptom: {classified symptom from decision tree}
- Language/Runtime: {detected language}
- Environment: {production | development}
- Installed tools: {list from tool detection}
- System baseline: {CPU/memory/disk metrics}
## Profiling Task
{specific profiling request - e.g., "CPU profile the API server under load"}
## Target
- Process/file: {target application or endpoint}
- Expected workload: {how to generate representative load if needed}
## Domain Knowledge
Before starting, read the relevant profiling reference for this language:
- Read: skills/perf-ops/references/cpu-memory-profiling.md
For load testing tasks, also read:
- Read: skills/perf-ops/references/load-testing.md
For database profiling, also read:
- Read: skills/postgres-ops/SKILL.md (if PostgreSQL)
## Instructions
1. Run the appropriate profiler for this language and symptom
2. Collect sufficient samples (minimum 30 seconds for CPU, multiple snapshots for memory)
3. Interpret the results - identify the top 3-5 bottlenecks
4. For each bottleneck: explain what it is, why it's slow, and suggest a fix
5. Report findings in structured format with metrics
Execution mode:
| Scenario |
Mode |
Why |
| User waiting for results |
run_in_background=False |
They need findings before continuing |
| User continuing other work |
run_in_background=True |
Don't block the main session |
| Quick benchmark (hyperfine) |
run_in_background=False |
Fast enough to wait |
| Load test (k6, artillery) |
run_in_background=True |
Takes minutes |
T3: Optimize - Preflight Required
Dispatch a general-purpose agent (preloaded per the language routing table) with explicit instruction to produce a preflight report before any code changes.
Dispatch template (T3 preflight):
You are handling a performance optimization dispatched by the perf-ops orchestrator.
## Profiling Results (from T2)
{bottleneck findings, metrics, flamegraph interpretation}
## Optimization Request
{specific optimization - e.g., "Fix the N+1 query in UserController.list"}
IMPORTANT: Do NOT apply changes yet. Produce a Preflight Report:
1. Exactly what code/config changes you will make
2. Expected performance improvement (with reasoning)
3. Risks (correctness, side effects, edge cases)
4. How to verify the improvement (specific benchmark or test)
5. How to revert if the optimization causes issues
After user confirms: Re-dispatch with execute authority plus the before/after protocol.
Dispatch template (T3 execute + before/after):
User confirmed the optimization. Proceed with execution.
## Approved Changes
{exact changes from preflight report}
## Before/After Protocol
1. Record the current benchmark baseline: {specific command from T2}
2. Apply the approved changes
3. Run the same benchmark again
4. Report comparison:
- Metric: before value -> after value (% change)
- Include statistical confidence if tool supports it
5. If regression detected: revert and report
Parallel Profiling
When multiple independent symptoms are detected, or the user requests comprehensive profiling, dispatch parallel agents.
Parallelizable combinations:
| Agent 1 |
Agent 2 |
Why Independent |
| CPU profiler |
Memory profiler |
Different tools, different data |
| CPU profiler |
Baseline benchmark |
Read vs measurement |
| Backend profiler |
Frontend bundle analysis |
Different runtimes |
| Service A profiler |
Service B profiler |
Different processes |
NOT parallelizable:
| Operation A |
Operation B |
Why Sequential |
| Profile |
Interpret results |
Dependency |
| Before benchmark |
After benchmark |
Requires code change between |
| Load test |
CPU profile same process |
Tool interference |
Dispatch pattern for parallel profiling:
# Example: CPU + memory profiling in parallel
Agent(
subagent_type="general-purpose",
model="sonnet",
run_in_background=True,
prompt="First read skills/perf-ops/references/cpu-memory-profiling.md "
"and the relevant language skill (e.g. skills/python-pytest-ops/SKILL.md). "
"Then: CPU profiling task: {cpu_prompt}"
)
Agent(
subagent_type="general-purpose",
model="sonnet",
run_in_background=True,
prompt="First read skills/perf-ops/references/cpu-memory-profiling.md "
"and the relevant language skill (e.g. skills/python-pytest-ops/SKILL.md). "
"Then: Memory profiling task: {memory_prompt}"
)
# Both run simultaneously, consolidate findings when both complete
Fallback: When No Language Skill Matches
If no language -ops skill covers the target, dispatch general-purpose with profiling commands inlined instead of a skill preload.
Agent(
subagent_type="general-purpose",
model="sonnet",
run_in_background=True,
prompt="""You are acting as a performance profiling agent for {language}.
Use these specific tools and commands:
{tool commands from diagnosis-quickref.md for the detected language}
{original dispatch prompt}
"""
)
For simple benchmarks (hyperfine, single command timing), skip agent dispatch entirely and run inline via Bash.
Decision Logic
When a performance-related request arrives:
1. Classify the request:
- Symptom description? -> Start at T1 (diagnose)
- "Profile my app"? -> T1 (detect language + tools) then T2 (profile)
- "Benchmark X vs Y"? -> T2 directly (hyperfine or language benchmark)
- "Optimize this"? -> T2 (profile first) then T3 (optimize)
- "Why is X slow"? -> T1 (diagnose) then T2 (targeted profile)
2. T1 Diagnose (always runs first for new issues):
- Detect language/runtime
- Check installed profiling tools
- Classify symptom using decision tree (see diagnosis-quickref.md)
- Determine production vs development
- Present findings + recommend next step
3. T2 Profile (when diagnosis points to a specific bottleneck):
- Route per the language routing table (general-purpose + skill preload)
- Decide foreground vs background
- Consider parallel dispatch if multiple symptoms
- Consolidate findings from all agents
4. T3 Optimize (only when user wants changes applied):
- Always produce preflight report first
- Wait for explicit user confirmation
- Execute with before/after comparison
- Report delta with statistical confidence
Quick Reference
| Task |
Tier |
Execution |
| Detect tools |
T1 |
Inline |
| Check system metrics |
T1 |
Inline |
| Classify symptom |
T1 |
Inline |
| Identify language |
T1 |
Inline |
| Run CPU profiler |
T2 |
Agent (bg) |
| Run memory profiler |
T2 |
Agent (bg) |
| Run load test |
T2 |
Agent (bg) |
| Run benchmark |
T2 |
Agent (bg or inline for hyperfine) |
| Bundle analysis |
T2 |
Agent (bg) |
| EXPLAIN ANALYZE |
T2 |
Agent (fg) |
| Before/after comparison |
T2 |
Agent (fg) |
| Apply optimization |
T3 |
Agent + confirm |
| Add index |
T3 |
Agent + confirm |
| Refactor hot path |
T3 |
Agent + confirm |
Reference Files
| File |
Contents |
references/diagnosis-quickref.md |
Decision tree, tool selection matrix, quick references for all profiling domains, common gotchas |
references/cpu-memory-profiling.md |
Deep flamegraph interpretation, language-specific CPU/memory profiling guides |
references/load-testing.md |
k6, Artillery, vegeta, wrk, Locust methodology and CI integration |
references/optimization-patterns.md |
Caching, database, frontend, API, concurrency, memory optimization strategies |
references/ci-integration.md |
Performance budgets, regression detection, CI pipeline patterns, benchmark baselines |
Load reference files when deeper tool-specific guidance is needed beyond what the dispatch prompt provides.
See Also
| Skill |
When to Combine |
debug-ops |
Root cause analysis for performance regressions |
monitoring-ops |
Production metrics, alerting on latency/throughput |
testing-ops |
Performance regression tests in CI, benchmark suites |
code-stats |
Identify complex code that may be performance-sensitive |
postgres-ops |
PostgreSQL-specific query optimization, indexing, EXPLAIN |
sqlite-ops |
SQLite/D1/libSQL query plans, covering indexes, rows-read economics, eqp-triage.py |
container-orchestration |
Resource limits, pod scaling, container performance |
1---2name: perf-ops3description: "Performance profiling and optimization orchestrator - diagnoses symptoms, dispatches skill-preloaded profiling agents, manages before/after comparisons. Triggers on: performance, profiling, flamegraph, pprof, py-spy, clinic.js, memray, heaptrack, bundle size, webpack analyzer, load testing, k6, artillery, vegeta, locust, benchmark, hyperfine, criterion, slow query, EXPLAIN ANALYZE, N+1, caching, optimization, latency, throughput, p99, memory leak, CPU spike, bottleneck."4license: MIT5allowed-tools: "Read Edit Write Bash Glob Grep Agent TaskCreate TaskUpdate"6metadata:7 author: claude-mods8 related-skills: debug-ops, monitoring-ops, testing-ops, code-stats, postgres-ops, sqlite-ops9---1011# Performance Operations1213Orchestrator for cross-language performance profiling and optimization. Classifies symptoms inline, dispatches profiling to general-purpose agents preloaded with the relevant language `-ops` skill (background), and manages optimization with confirmation.1415## Architecture1617```18User describes performance issue or requests profiling19 |20 +---> T1: Diagnose (inline, fast)21 | +---> Classify symptom (decision tree)22 | +---> Detect language/runtime from project23 | +---> Check installed profiling tools24 | +---> Determine production vs development25 | +---> Gather system baseline (CPU/mem/disk)26 | +---> Present: diagnosis + recommended profiling approach27 |28 +---> T2: Profile (dispatch general-purpose + skill preload, background)29 | +---> Select skill preload from routing table30 | +---> Build perf-focused dispatch prompt31 | +---> Agent runs profiler, collects data, interprets results32 | | +---> Fallback: tool commands inlined (no skill preload)33 | +---> Returns: findings + bottleneck identification + suggestions34 | |35 | +---> [Optional parallel dispatch]:36 | +---> CPU profiling agent ---+37 | +---> Memory profiling agent --+--> Consolidate findings38 | +---> Baseline benchmark ------+39 |40 +---> T3: Optimize (dispatch general-purpose + skill preload, foreground + confirm)41 +---> Agent proposes specific code changes42 +---> Preflight: what changes, expected impact, risks43 +---> User confirms44 +---> Apply changes45 +---> Re-benchmark for before/after delta46```4748## Safety Tiers4950### T1: Diagnose - Run Inline5152No agent needed. Execute directly via Bash for instant results.5354| Operation | Command / Method |55|-----------|-----------------|56| Detect Python profilers | `which py-spy && which memray && which scalene` |57| Detect Go profilers | `which go && go tool pprof -h 2>/dev/null` |58| Detect Rust profilers | `which cargo-flamegraph && which samply` |59| Detect Node profilers | `which clinic && which 0x` |60| Detect benchmarking tools | `which hyperfine && which k6 && which vegeta` |61| System CPU baseline | `top -bn1 -o %CPU \| head -20` (Linux) or `wmic cpu get loadpercentage` (Win) |62| System memory baseline | `free -h` (Linux) or `wmic OS get FreePhysicalMemory` (Win) |63| Disk I/O check | `iostat -x 1 3` (Linux) |64| Identify language | Check for `package.json`, `go.mod`, `Cargo.toml`, `pyproject.toml`, `requirements.txt` |65| Production vs dev | Ask user or detect from environment (NODE_ENV, FLASK_ENV, etc.) |66| Read existing profiles | Parse `.prof`, `.svg`, `.bin` files in project |6768**Production safety rule:** In production environments, only recommend sampling profilers (py-spy, pprof HTTP endpoint, perf). Never suggest attaching debuggers, tracing profilers, or tools that require process restart.6970### T2: Profile - Dispatch to Profiling Agent7172Gather context from T1 diagnosis, then dispatch a `general-purpose` agent preloaded with the relevant language `-ops` skill plus the perf-ops references below.7374**Language Routing:**7576| Detected Language | Dispatch | Preload | Key Profiling Tools |77|-------------------|----------|---------|---------------------|78| Python (.py, pyproject.toml, requirements.txt) | general-purpose | relevant `skills/python-*/SKILL.md` + perf-ops references | py-spy, memray, scalene, tracemalloc |79| Go (go.mod, .go files) | general-purpose | `skills/go-ops/SKILL.md` + perf-ops references | pprof (CPU/heap/goroutine/mutex), benchstat |80| Rust (Cargo.toml, .rs files) | general-purpose | `skills/rust-ops/SKILL.md` + perf-ops references | cargo-flamegraph, samply, DHAT, criterion |81| TypeScript/JavaScript (backend, package.json + server) | general-purpose | `skills/javascript-ops/SKILL.md` + perf-ops references | clinic flame/doctor/bubbleprof, 0x |82| TypeScript/JavaScript (frontend, bundle issues) | general-purpose | `skills/typescript-ops/SKILL.md` + perf-ops references | webpack-bundle-analyzer, Lighthouse, source-map-explorer |83| SQL / PostgreSQL | general-purpose | `skills/postgres-ops/SKILL.md` + perf-ops references | EXPLAIN ANALYZE, pg_stat_statements, pgbench |84| SQL / SQLite, Cloudflare D1, libSQL/Turso (`*.db`, `*.sqlite`, `wrangler.toml` with a d1_databases binding) | general-purpose | `skills/sqlite-ops/SKILL.md` + perf-ops references | EXPLAIN QUERY PLAN, `sqlite-ops/scripts/eqp-triage.py`, `sqlite3 .timer/.stats`, `wrangler d1 insights`, `sql_duration_ms` + `rows_read` |85| General / unknown / CLI benchmarking | general-purpose | perf-ops references | hyperfine, perf, strace |8687**Dispatch template (T2):**8889```90You are handling a performance profiling task dispatched by the perf-ops orchestrator.9192## Diagnosis (from T1)93- Symptom: {classified symptom from decision tree}94- Language/Runtime: {detected language}95- Environment: {production | development}96- Installed tools: {list from tool detection}97- System baseline: {CPU/memory/disk metrics}9899## Profiling Task100{specific profiling request - e.g., "CPU profile the API server under load"}101102## Target103- Process/file: {target application or endpoint}104- Expected workload: {how to generate representative load if needed}105106## Domain Knowledge107Before starting, read the relevant profiling reference for this language:108- Read: skills/perf-ops/references/cpu-memory-profiling.md109110For load testing tasks, also read:111- Read: skills/perf-ops/references/load-testing.md112113For database profiling, also read:114- Read: skills/postgres-ops/SKILL.md (if PostgreSQL)115116## Instructions1171. Run the appropriate profiler for this language and symptom1182. Collect sufficient samples (minimum 30 seconds for CPU, multiple snapshots for memory)1193. Interpret the results - identify the top 3-5 bottlenecks1204. For each bottleneck: explain what it is, why it's slow, and suggest a fix1215. Report findings in structured format with metrics122```123124**Execution mode:**125126| Scenario | Mode | Why |127|----------|------|-----|128| User waiting for results | `run_in_background=False` | They need findings before continuing |129| User continuing other work | `run_in_background=True` | Don't block the main session |130| Quick benchmark (hyperfine) | `run_in_background=False` | Fast enough to wait |131| Load test (k6, artillery) | `run_in_background=True` | Takes minutes |132133### T3: Optimize - Preflight Required134135Dispatch a general-purpose agent (preloaded per the language routing table) with explicit instruction to produce a preflight report before any code changes.136137**Dispatch template (T3 preflight):**138139```140You are handling a performance optimization dispatched by the perf-ops orchestrator.141142## Profiling Results (from T2)143{bottleneck findings, metrics, flamegraph interpretation}144145## Optimization Request146{specific optimization - e.g., "Fix the N+1 query in UserController.list"}147148IMPORTANT: Do NOT apply changes yet. Produce a Preflight Report:1491. Exactly what code/config changes you will make1502. Expected performance improvement (with reasoning)1513. Risks (correctness, side effects, edge cases)1524. How to verify the improvement (specific benchmark or test)1535. How to revert if the optimization causes issues154```155156**After user confirms:** Re-dispatch with execute authority plus the before/after protocol.157158**Dispatch template (T3 execute + before/after):**159160```161User confirmed the optimization. Proceed with execution.162163## Approved Changes164{exact changes from preflight report}165166## Before/After Protocol1671. Record the current benchmark baseline: {specific command from T2}1682. Apply the approved changes1693. Run the same benchmark again1704. Report comparison:171 - Metric: before value -> after value (% change)172 - Include statistical confidence if tool supports it1735. If regression detected: revert and report174```175176## Parallel Profiling177178When multiple independent symptoms are detected, or the user requests comprehensive profiling, dispatch parallel agents.179180**Parallelizable combinations:**181182| Agent 1 | Agent 2 | Why Independent |183|---------|---------|-----------------|184| CPU profiler | Memory profiler | Different tools, different data |185| CPU profiler | Baseline benchmark | Read vs measurement |186| Backend profiler | Frontend bundle analysis | Different runtimes |187| Service A profiler | Service B profiler | Different processes |188189**NOT parallelizable:**190191| Operation A | Operation B | Why Sequential |192|-------------|-------------|----------------|193| Profile | Interpret results | Dependency |194| Before benchmark | After benchmark | Requires code change between |195| Load test | CPU profile same process | Tool interference |196197**Dispatch pattern for parallel profiling:**198199```python200# Example: CPU + memory profiling in parallel201Agent(202 subagent_type="general-purpose",203 model="sonnet",204 run_in_background=True,205 prompt="First read skills/perf-ops/references/cpu-memory-profiling.md "206 "and the relevant language skill (e.g. skills/python-pytest-ops/SKILL.md). "207 "Then: CPU profiling task: {cpu_prompt}"208)209Agent(210 subagent_type="general-purpose",211 model="sonnet",212 run_in_background=True,213 prompt="First read skills/perf-ops/references/cpu-memory-profiling.md "214 "and the relevant language skill (e.g. skills/python-pytest-ops/SKILL.md). "215 "Then: Memory profiling task: {memory_prompt}"216)217# Both run simultaneously, consolidate findings when both complete218```219220## Fallback: When No Language Skill Matches221222If no language `-ops` skill covers the target, dispatch `general-purpose` with profiling commands inlined instead of a skill preload.223224```python225Agent(226 subagent_type="general-purpose",227 model="sonnet",228 run_in_background=True,229 prompt="""You are acting as a performance profiling agent for {language}.230231Use these specific tools and commands:232{tool commands from diagnosis-quickref.md for the detected language}233234{original dispatch prompt}235"""236)237```238239For simple benchmarks (hyperfine, single command timing), skip agent dispatch entirely and run inline via Bash.240241## Decision Logic242243When a performance-related request arrives:244245```2461. Classify the request:247 - Symptom description? -> Start at T1 (diagnose)248 - "Profile my app"? -> T1 (detect language + tools) then T2 (profile)249 - "Benchmark X vs Y"? -> T2 directly (hyperfine or language benchmark)250 - "Optimize this"? -> T2 (profile first) then T3 (optimize)251 - "Why is X slow"? -> T1 (diagnose) then T2 (targeted profile)2522532. T1 Diagnose (always runs first for new issues):254 - Detect language/runtime255 - Check installed profiling tools256 - Classify symptom using decision tree (see diagnosis-quickref.md)257 - Determine production vs development258 - Present findings + recommend next step2592603. T2 Profile (when diagnosis points to a specific bottleneck):261 - Route per the language routing table (general-purpose + skill preload)262 - Decide foreground vs background263 - Consider parallel dispatch if multiple symptoms264 - Consolidate findings from all agents2652664. T3 Optimize (only when user wants changes applied):267 - Always produce preflight report first268 - Wait for explicit user confirmation269 - Execute with before/after comparison270 - Report delta with statistical confidence271```272273## Quick Reference274275| Task | Tier | Execution |276|------|------|-----------|277| Detect tools | T1 | Inline |278| Check system metrics | T1 | Inline |279| Classify symptom | T1 | Inline |280| Identify language | T1 | Inline |281| Run CPU profiler | T2 | Agent (bg) |282| Run memory profiler | T2 | Agent (bg) |283| Run load test | T2 | Agent (bg) |284| Run benchmark | T2 | Agent (bg or inline for hyperfine) |285| Bundle analysis | T2 | Agent (bg) |286| EXPLAIN ANALYZE | T2 | Agent (fg) |287| Before/after comparison | T2 | Agent (fg) |288| Apply optimization | T3 | Agent + confirm |289| Add index | T3 | Agent + confirm |290| Refactor hot path | T3 | Agent + confirm |291292## Reference Files293294| File | Contents |295|------|----------|296| `references/diagnosis-quickref.md` | Decision tree, tool selection matrix, quick references for all profiling domains, common gotchas |297| `references/cpu-memory-profiling.md` | Deep flamegraph interpretation, language-specific CPU/memory profiling guides |298| `references/load-testing.md` | k6, Artillery, vegeta, wrk, Locust methodology and CI integration |299| `references/optimization-patterns.md` | Caching, database, frontend, API, concurrency, memory optimization strategies |300| `references/ci-integration.md` | Performance budgets, regression detection, CI pipeline patterns, benchmark baselines |301302Load reference files when deeper tool-specific guidance is needed beyond what the dispatch prompt provides.303304## See Also305306| Skill | When to Combine |307|-------|----------------|308| `debug-ops` | Root cause analysis for performance regressions |309| `monitoring-ops` | Production metrics, alerting on latency/throughput |310| `testing-ops` | Performance regression tests in CI, benchmark suites |311| `code-stats` | Identify complex code that may be performance-sensitive |312| `postgres-ops` | PostgreSQL-specific query optimization, indexing, EXPLAIN |313| `sqlite-ops` | SQLite/D1/libSQL query plans, covering indexes, rows-read economics, `eqp-triage.py` |314| `container-orchestration` | Resource limits, pod scaling, container performance |