2.0 KiB
2.0 KiB
name, description, category, interval, stop-condition, components, tags
| name | description | category | interval | stop-condition | components | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| perf-budget-loop | Profiles and optimizes the app pass after pass until it consistently meets a defined performance budget. | engineering | 20m | The target metric meets the budget across repeated runs with no functional regressions. |
|
|
Performance Budget Loop
Loop Engineering — hold the agent to a concrete, measurable budget and let it optimize until the number is real and stable.
🎯 Goal
Drive a target metric (page load, bundle size, p95 latency, etc.) under its budget by profiling, fixing the biggest bottleneck each pass, and re-measuring — without breaking functionality.
⏱️ Schedule
Suggested interval: 20m.
▶️ Run it
/loop 20m "Profile the app against the performance budget. Find the single biggest bottleneck, fix it, and re-measure. Verify no tests break. Continue until the metric meets the budget across three consecutive runs."
🔁 Iteration steps
- Perceive — run
/performance-auditand capture the current metric. - Reason — the
performance-engineeragent identifies the top bottleneck. - Plan — choose one optimization (code-split, cache, query, bundle).
- Act — apply it (e.g.
/optimize-bundle-size). - Observe — re-measure; require the budget to hold across repeated runs before stopping.
🛑 Stopping condition
Metric ≤ budget across consecutive runs, with no functional regression.
🧩 Referenced components
agent:performance-testing/performance-engineer— diagnoses bottlenecks.command:performance/performance-audit— measures each pass.command:performance/optimize-bundle-size— one of the optimization levers.
💡 Example
Targeting a 200 KB JS budget, the loop lazy-loads a chart library, trims a moment.js import, and de-dupes a dependency until the bundle stabilizes under budget.