Performance optimization
Skill DevelopersGlobal/ai-agent-skills/skills/performance-optimization
AI agent skills for production grade applications
npx -y skills add DevelopersGlobal/ai-agent-skills --skill performance-optimizationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Measure first, optimize second. Data-driven performance improvements with before/after benchmarks and production validation.
SKILL.md
2.9 KB, as published. Nobody here has run it
Overview
Premature optimization is the root of all evil. But ignoring performance until it's a crisis is equally harmful. This skill enforces data-driven optimization: profile first, optimize the bottleneck, measure the improvement.
When to Use
- When performance issues are reported in production
- Before optimizing any code (to ensure you're optimizing the right thing)
- When reviewing changes that touch performance-sensitive paths
Process
Step 1: Measure the Baseline
- Reproduce the performance issue reliably.
- Measure current performance: latency p50/p95/p99, throughput, memory, CPU.
- Profile to find the actual bottleneck — not where you think it is.
- Write the performance test you'll use to validate improvement.
Verify: You have concrete baseline numbers, not gut feelings.
Step 2: Identify the Real Bottleneck
- Use profiling tools: flame graphs, CPU profiles, memory profiles.
- Find the top 3 hotspots by actual execution time (not lines of code).
- The bottleneck is rarely where you expect it to be. Trust the data.
Verify: Bottleneck identified by profiling data, not assumption.
Step 3: Optimize Only the Bottleneck
- Fix only the profiled bottleneck — nothing else.
- Common optimizations by type:
- CPU: Algorithmic improvement (O(n²) → O(n log n)), caching, batching
- Memory: Streaming instead of buffering, object pooling, lazy loading
- I/O: Connection pooling, N+1 query elimination, caching, async/parallel calls
- AI: Prompt caching, batch inference, smaller models for simpler tasks
Verify: Change targets the profiled bottleneck, not speculative improvements.
Step 4: Measure the Improvement
- Run the same performance test from Step 1.
- Compare before vs. after metrics.
- If improvement < 20%: the optimization may not be worth the complexity.
Verify: Improvement measured with the same test harness as baseline.
Common Rationalizations (and Rebuttals)
| Excuse | Rebuttal |
|---|---|
| "I know where the bottleneck is" | You're probably wrong. Profile first. |
| "This is clearly slow" | "Clearly slow" rarely matches profiler output. Measure. |
| "We'll optimize later" | If it's slow enough to mention, it's slow enough to measure now. |
Verification
- Baseline metrics captured before any optimization
- Bottleneck identified by profiler (not assumption)
- Optimization targets only the profiled bottleneck
- Improvement measured with same test harness
- Before/after numbers documented