Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/tinesoft/spec-kit-token-budget/usagegit clone --depth 1 https://github.com/tinesoft/spec-kit-token-budgetWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00037 | $0.00986 |
| Opus 5 | $0.00018 | $0.00493 |
| Sonnet 5 | $0.00007 | $0.00197 |
| Haiku 4.5 | $0.00004 | $0.00099 |
Grade A, and why
usage scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/speckit.token-budget.usage
The user has invoked /speckit.token-budget.usage with arguments: $ARGUMENTS.
Your task
Inspect the active feature directory and produce a one-screen token-usage dashboard. Read-only — never modify artifacts.
Algorithm
Step 1 — Resolve scope
Default scope: the active feature (from current git branch). If
$ARGUMENTS contains --all, walk every feature under specs/. If it
contains --feature=<name>, target that feature.
Step 2 — Enumerate artifacts
For each artifact present, record:
- path (relative to feature directory)
- byte size
- estimated token count (use
estimate_tokens.sh) - whether a
.full.mdbackup exists, and its token count if so - whether the file carries the
<!-- token-budget: compacted -->marker
Standard artifact set: constitution.md, spec.md, plan.md,
research.md, data-model.md, quickstart.md, tasks.md, every file
in contracts/, plus any extra .md files in the feature root (treat
as auxiliary).
Also check .specify/memory/constitution.md at the project root. If
present, record it separately as a global artifact — it is not
feature-scoped but is loaded on every /speckit.* command.
Step 3 — Project per-phase budgets
For each upcoming phase the feature has not yet completed, sum the
artifacts it would normally consume (from scope.phase_inputs in
token-budget-config.yml). Show two numbers per phase: current size,
and size if every artifact were compacted (estimated as 60% for medium,
45% for aggressive — these are heuristics, not guarantees, and should
be labeled as such).
Step 4 — Render
Output exactly this layout. Right-align numbers. Use thousands separators. Pad with spaces, not tabs.
Token Budget — feature: <feature-name>
Path: specs/<feature-name>/
Global memory (loaded on every /speckit.* command)
─────────────────────────────────────────────────────────────────
.specify/memory/constitution.md 1,450 — baseline
─────────────────────────────────────────────────────────────────
Artifact tokens vs full status
─────────────────────────────────────────────────────────────────
constitution.md 1,240 — baseline
spec.md 2,310 -52.1% compacted (medium)
plan.md 3,580 -41.7% compacted (medium)
research.md 1,180 -63.1% compacted (medium)
data-model.md 1,840 — baseline
contracts/orders.yaml 910 — schema (not eligible)
contracts/users.yaml 820 — schema (not eligible)
quickstart.md 640 — baseline
tasks.md 4,210 — baseline
─────────────────────────────────────────────────────────────────
total 16,730 -27.4% vs uncompacted
Projected phase budgets
current if aggressive compact
plan (done) — —
tasks (done) — —
implement 12,560 ~7,540
analyze 10,100 ~6,060
Backups present: spec.full.md, plan.full.md, research.full.md
Concise mode: <on|off> (memory file: <path>)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 113 lines · 37 tokens per session scan A 790f4a1c4b16
usage is a command published in the GitHub repository tinesoft/spec-kit-token-budget (7 stars, last pushed 1mo ago), licensed MIT. It adds 37 tokens to every session and 986 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
archive
Archive a feature specification into main project memory after merge, resolving gaps and conflicts.
inject-guidelines.command
Generate or refresh repository guideline documents using the project-guidelines-writer skill. Analyze the repo, generate all six standard guideline files by default, prefer managed-section updates for existing files, and ask only for exceptional overwrite or skip decisions.
spec-driven.command
Start an approved Spec-Driven workflow using the brief or full lane.
audit
Audit a file, directory, or whole repo for insecure default configuration: fallback secrets, default credentials, fail-open switches, weak crypto, permissive access, debug leakage. Parallel sweeps collect candidates, then a refuting verifier traces each one to the security decision it reaches before it is reported.
speckit.harness.explore
Run a budget-aware exploration loop that externalizes every finding into the harness state files.
speckit.harness.init
Initialize externalized harness state (budget, candidates, curated set, evidence, verification, observations) for the active feature.