perflisted
Install: claude install-skill mik2win/foureyes
# Performance Work: $ARGUMENTS
## Principle
**No optimization without a measurement — intuition names the wrong hotspot more often
than not**, and a model's intuition is trained on other people's codebases. The profile
decides where to work; the baseline decides whether it worked; the budget decides when to
stop. An optimization that was never measured is a complexity purchase with an unknown
price and an imagined benefit.
## Phase 0 — Load profile
Read `.claude/PROJECT.md` (Commands — test/run/bench if present; Architecture;
Integrations — external calls are frequent culprits) and applicable rules. Missing/TEMPLATE
→ fall back to the root `CLAUDE.md` (always in context) when it carries those facts, noting you're
running without a kit profile; only if *neither* has them, STOP, `/bootstrap` first.
## Phase 1 — Budget and metric (before any code is read)
- **One metric, named precisely**: p95 latency of endpoint X / wall-time of job Y / RSS
after N ops / cold-start / throughput. "Faster" is not a metric.
- **The budget**: the number at which this is *done* ("p95 < 300ms", "import of 100k rows
< 2min"). From the user if it's product-facing (one question, with your recommended
number); from you (stated) if it's internal. **No budget → no stopping criterion →
optimization becomes a hobby** — don't start without one.
- **Realistic load shape**: the N, the data skew, the concurrency this must hold at
(`code-quality.md` → algorithmic sizing). Measuring at toy N is mea