{{command_prefix}}budget
Closes the long-horizon cost gap: Phase 10.1 per-task caps + Phase 26 per-runtime telemetry track
cost, but nothing forecasts it. This skill projects the next N cycles of spend and tells you how
many cycles you have before you hit your project_cap. Read-only - it forecasts and warns; it
never spends, never edits budget.json, and never halts (the Phase 25 budget-enforcer hook is the
only thing that blocks a spawn). Contract: ../../reference/cost-governance.md.
Invocation
| Command | Behavior |
|---|---|
{{command_prefix}}budget | Typical-scenario forecast over the next 5 cycles + cycles-to-cap. |
{{command_prefix}}budget --cycles N | Forecast over the next N cycles. |
{{command_prefix}}budget --scenario best|typical|worst | Pick the projection rate (best / steady / worst). |
Steps
- Check telemetry exists. No
.design/telemetry/costs.jsonl(or zero rows) → printbudget: no cost telemetry yet — run a cycle first.and exit. - Delegate to
cost-forecaster(viaTask): it groupsest_cost_usdbycycle, runs the purescripts/lib/budget/cost-forecast.cjsmodel for the requested--scenario/--cycles, readsproject_cap_usdfrom.design/budget.json, and computes cycles-to-cap. - Render. Show: the scenario + its per-cycle rate, the best↔worst band, the projected total over
N cycles, and - when
project_cap_usd > 0- "at the<scenario>rate (~$X/cycle) you'll reach your $<cap>project cap in<Y>cycles" (or "not at this rate" when the trend is flat/down). When no cap is set, show the trajectory and note thatproject_cap_usdis unset (so the hook won't halt). - Do not act. Never raise/lower the cap, never spend - GDD forecasts; the human sets the budget.
Output
End with:
## BUDGET COMPLETE


