Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add a-lottes/aSPARK/plugin install asparkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/a-lottes/aspark/sprint-plan)<a href="https://agentmods.dev/skills/a-lottes/aspark/sprint-plan"><img src="https://agentmods.dev/badge/skills/a-lottes/aspark/sprint-plan.svg" alt="Measured on agentmods" height="20"></a>What 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.1 | $0.00063 | $0.01000 |
| Opus 5 | $0.00032 | $0.00500 |
| Sonnet 5 | $0.00013 | $0.00200 |
| Haiku 4.5 | $0.00006 | $0.00100 |
Grade A, and why
sprint-plan 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 8d 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 — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/sprint-plan — Plan (Engineering Manager)
You are running the Plan ceremony. The Engineering Manager locks the
"how" so that /increment never has to invent architecture on the fly.
Input
Optional argument: the feature name. Resolve as usual (single feature in
.spark/ → use it; several → ask).
Steps
- Check the gate.
.spark/<feature-name>/spec.mdmust exist with statusapproved. If not, STOP and tell the user what's missing —/story-timeor/look-and-feelcome first. Never plan against a draft. The gate needs the spec'sStatusrow, not the spec: theengineering-manageragent reads it whole in its own context, and a copy in this conversation would only crowd out the phases still to come.- Only after the gate has passed, resolve optional tool availability,
once: if the session exposes MCP tools whose names end in
stalenessandimpact(they are normally namespaced, e.g.mcp__aspark-graph__staleness), treat that as the available surface and run no command; otherwise probe once, read-only, withcommand -v aspark-graph >/dev/null 2>&1 && echo runner=yes || echo runner=no; test -f .aspark-graph/graph.json && echo graph=yes || echo graph=no— it reports both facts and always exits 0, so the absent case never looks like a failed command. Resolve both facts — is there a surface, and does.aspark-graph/graph.jsonexist — and act on the four states in${CLAUDE_PLUGIN_ROOT}/tools/aspark-graph.md: pass the tool file in step 2 only when both hold; say its one-sentence hint, at most once, in either mixed state; and when neither holds, say nothing at all and continue exactly as you would otherwise. Never probe in a run that already stopped, and never let the outcome change a gate.
- Only after the gate has passed, resolve optional tool availability,
once: if the session exposes MCP tools whose names end in
- Delegate to the Engineering Manager. Invoke the
engineering-manageragent with the feature paths and the plan template from${CLAUDE_PLUGIN_ROOT}/templates/plan.md. Point it at.spark/constitution.mdif it exists — the architecture must live within its technical constraints. If a tool resolved as available in step 1, pass${CLAUDE_PLUGIN_ROOT}/tools/aspark-graph.mdtoo — one more path alongside the template, nothing else. For a plan revision (rework after/peer-reviewor/demo-dayfindings), pass those findings along and say explicitly that this is a revision. - Relay questions. If the agent returns technical questions that change
the architecture, put them to the user (AskUserQuestion for enumerable
choices), then re-invoke with the answers.
- The agent may also return a tool query request — it has no shell of
its own. Run only the read-only
querycall it names, exactly as the tool file documents it, and re-invoke with the result. Never run a build, an install, or anything that writes. If the call fails or returns nothing, say so and let the agent proceed without it.
- The agent may also return a tool query request — it has no shell of
its own. Run only the read-only
- Present the plan. Show the user: the architecture decision with the rejected alternatives, the task table (count, order, walking-skeleton start), the test strategy, and the top risks. This is the moment for the user to veto the approach — say so.
- Iterate on feedback via the agent until the user is satisfied.
- Close the gate. Walk the PLAN GATE checklist with the user. On their
explicit approval: set the plan status to
approved.
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.
- 8d ago First seen · 79 lines · 63 tokens per session scan A d64b750396db
sprint-plan is a skill published in the GitHub repository a-lottes/aSPARK (19 stars, last pushed 7d ago), licensed MIT. It adds 63 tokens to every session and 1,000 once invoked, about $0.0003 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-30.
Other skills, from other repositories
adr-new
Create a new Architecture Decision Record with append-only, status-gated supersession, and update the ADR index. Invoke with /adr-new, or let /tdd-author invoke it on approval of an ADR action (this skill stays model-invocable for that reason).
cco-tools
Show what tools actually cost in tokens — learned per-tool averages from observed results, replacing the hardcoded MCP/Agent guesses.
github-pr-creation
Creates GitHub Pull Requests with automated validation and task tracking. Use when user wants to create PR, open pull request, submit for review, or check if ready for PR. Analyzes commits, validates task completion, generates Conventional Commits title and description, suggests labels. NOTE - for merging existing…
test-run
Run plugin test suites in this monorepo and report a concise pass/fail summary. Optional plugin slug arg; without arg, runs all plugins under plugins/.
design-system-reference
Style guides and implementation rules for frontend design. Works with design-discovery agent which handles context gathering and VS-based style recommendations. Contains detailed style guides, anti-patterns, and implementation checklists.
magic-compact
Compact this Claude Code session.