Files
wehub-resource-sync bb5c75ce05
Component Security Validation / Security Audit (push) Has been cancelled
Deploy to Cloudflare Pages / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:38:58 +08:00

43 lines
2.0 KiB
Markdown

---
name: perf-budget-loop
description: Profiles and optimizes the app pass after pass until it consistently meets a defined performance budget.
category: engineering
interval: 20m
stop-condition: The target metric meets the budget across repeated runs with no functional regressions.
components: [agent:performance-testing/performance-engineer, command:performance/performance-audit, command:performance/optimize-bundle-size]
tags: [performance, optimization, profiling, loop]
---
# 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
1. **Perceive** — run `/performance-audit` and capture the current metric.
2. **Reason** — the `performance-engineer` agent identifies the top bottleneck.
3. **Plan** — choose one optimization (code-split, cache, query, bundle).
4. **Act** — apply it (e.g. `/optimize-bundle-size`).
5. **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.