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 skills add a-lottes/aSPARK --skill next-stepsgit clone --depth 1 https://github.com/a-lottes/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/next-steps)<a href="https://agentmods.dev/skills/a-lottes/aspark/next-steps"><img src="https://agentmods.dev/badge/skills/a-lottes/aspark/next-steps/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/a-lottes/aspark/next-steps"><img src="https://agentmods.dev/badge/skills/a-lottes/aspark/next-steps.svg" alt="Reviewed on agentmods" width="80" 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.00092 | $0.01503 |
| Opus 5.5 | $0.00037 | $0.00601 |
| Sonnet 5.5 | $0.00018 | $0.00301 |
| Haiku 4.5 | $0.00009 | $0.00150 |
Grade A, and why
next-steps 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 — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/next-steps — Propose the Next Feature (Product Owner)
You are running an advisory ceremony, not a gated one. The Product Owner
looks at where the project actually stands and proposes what to build next —
the user picks, tweaks, or discards it. Nothing here gets written to
.spark/ and nothing needs approval; the output is a recommendation to carry
into /story-time or /spark.
Input
None required. Optionally the user may point at a theme or constraint (e.g. "something small", "focus on the API") — pass it through to the agent as a steer, not a fixed answer.
Steps
- Gather the loop state yourself — don't delegate this. The
product-owneragent cannot rungitor walk.spark/. Collect a brief before invoking it:git log --oneline -20(and further back if the project is young) for what actually shipped and when.- Every
.spark/<feature-name>/directory: forspec.md,plan.md,review.md,qa.mdwhere present, read each artifact's Handoff block first — a bounded read, not the whole file. Status, Summary/ Verdict and Open items are enough to classify the feature as shipped (released), shipped-pending-approval (handed-off— closed for this team, never resumed), in-flight (mid-loop, no open blocking findings), or stalled (open review/QA findings, or untouched for a while). - Any unresolved findings sitting in the newest
review.mdorqa.md— these are open points, not just status flags. The block's Open field already names the Blocker/Major IDs; read the specific finding's row in §3 Findings only for the ones you need described in the brief, not the whole report. .spark/constitution.mdif it exists — its Product Principles and Project Profile sections are the standing goals a proposal should serve.- If
.spark/constitution.mddoesn't exist, recommend/charterfirst — before proposing anything — and continue to step 2 only on the user's explicit skip; never invoke/charteryourself. This holds whether the repo is empty or already has shipped history: a codebase without a constitution has as much reason to start there as an empty one. On an empty.spark/with trivial git history and no constitution, still name/charterrather than only saying "there's nothing to propose from" — the honest move used to be asking the user for an idea outright; now it's pointing at the ceremony built for exactly that gap. - If nothing exists yet in
.spark/and git history is empty or trivial, say so plainly — there is no "state" to read yet — and ask the user for the first idea rather than fabricate one. This is unrelated to whether/charterwas offered or skipped — bullet 1 above already sends a skip straight to step 2, with whatever brief step 1 could gather; this bullet only covers the separate case where that brief would be empty regardless. A repo where a constitution already exists is untouched by either bullet above and falls straight through to step 2, exactly as it did before this feature — the Product Owner's own propose-mode rule already asks for missing context when the brief is too thin (see its## Proposing the Next Featurestep 6), so nothing here needs to intercept that case.
- Delegate to the Product Owner. Invoke the
product-owneragent in its propose mode (see its## Proposing the Next Featuresection): give it the brief from step 1 verbatim (shipped list, in-flight/stalled features with their open points, constitution excerpt or "none"), plus any user steer. Point it at.spark/constitution.mdif present. - Relay, don't guess. If the agent asks clarifying questions before it can propose anything sensible (e.g. the constitution is missing and the product's purpose is unclear), put them to the user, then re-invoke with the answers.
- Present the result as a conversation, not a report dump. Show the recommended feature with its one-paragraph rationale (what gap it closes, why now, rough size, what it displaces), plus up to two alternatives the agent considered and rejected. Lead with the recommendation, not the list.
- Let the user decide. They may: accept the recommendation as-is, ask for a different angle (re-invoke the agent with the steer), pick an alternative, or reject all of them and bring their own idea instead.
- Hand off on confirmation. Once the user has settled on an idea
(whichever source), ask whether to continue straight into
/story-time <idea>or the full/spark <idea>loop, and invoke it if they say yes. Do not invoke either automatically — this skill only produces the idea.
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 Changed · +2 lines 24ec6944a4ca
- 1mo ago Changed · +18 lines fef03b5957dd
- 1mo ago First seen · 90 lines · 92 tokens per session scan A 16072dcd3911
next-steps is a skill published in the GitHub repository a-lottes/aSPARK (24 stars, last pushed today), licensed MIT. It adds 92 tokens to every session and 1,503 once invoked, about $0.0004 per session on Opus 5.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
apex-review
Cross-cutting review of recent work — catches gaps between specialists. Use when asked to "review what we built", "check the work", "pre-launch review", or after completing a significant chunk of work.
spine-review
API and backend code review — REST conventions, auth, validation, error handling, pagination, rate limiting, test coverage. Use when asked to "review this API", "code review", "review backend", or "pre-launch backend check".
verify
Quality Assurance Auditor that verifies completeness of Feature Proposals, Dev Feature Documents, and implementations. Catches placeholder content, cross-section inconsistencies, traceability gaps, missing tests, security holes, and specification drift. Run with: /verify proposal, /verify devdoc, /verify code, or…
github-pr-review
Handles PR review comments and feedback resolution. Use when user wants to resolve PR comments, handle review feedback, fix review comments, address PR review, check review status, respond to reviewer, verify PR readiness, review PR comments, analyze review feedback, evaluate PR comments, assess review suggestions, or…
legal-counsel
Senior Legal Counsel with 20+ years experience in corporate law. Use for legal advice, contract drafting, compliance checks, data protection (GDPR/CCPA), employment law, or risk assessment. Auto-triggers penalty warnings and statute citations. Adapts to the user's jurisdiction by loading the matching reference (e.g.…
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…