spend-watch
Today is ${today}.
${var} — scope selector + optional arm flag.
- empty /
all→ sweep every platform whose secret is present, emit one combined digest.neon|vercel|railway|actions→ run one adapter only.- prepend
arm:(e.g.arm:neon,arm:actions) → authorize the adapter's safe write levers for this run. Withoutarm:the skill is read-only: it recommends, never mutates.dry-runappended anywhere → build the digest but do not./notify(for testing).Runs unattended — treat
${var}as final, no confirmation step, except a delete/mutation always re-reads the target's current state before acting (see each adapter's arm rules).
This skill is a cost analyst, not a bill alarm. Each run answers, per platform:
- Attribution — what is consuming the most? Rank drivers by dollars (or the resource unit that maps to dollars), down to the specific object: service, branch, route, RPC method, workflow. Top-N with each line's % share.
- Root cause — why is that line expensive?
- Recommendation — a ranked action list, each carrying: the concrete lever, an effort/risk tag, whether it's armable now, and a saving in real dollars ONLY when the platform's billing API returns real dollars (Railway
currentUsage, Actions overage). Everywhere else there is no dollar figure — the line carries its real signal instead (idle-awake %, % over the included allowance, cache-miss rate, stale-preview count, failure rate). Never invent a$X/mo.
Dollars-only-when-real is the core rule. A fabricated "$5/mo" is worse than the true signal "idle-awake 71%". Rank each recommendation by: real-$ saving first (when known), then signal magnitude × how actionable it is (armable > 1-click > code-change > investigate). The recommendation is the deliverable; the signal justifies it; the dollar is a bonus only when the API hands it over.
Across platforms (all): a roll-up — the real spend where billing exposes it (Railway $, Actions $), the biggest signal-ranked driver anywhere, and the top actions fleet-wide. No synthetic grand total.