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/marcusgoll/spec-flow/roadmapgit clone --depth 1 https://github.com/marcusgoll/Spec-FlowWhat 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.00032 | $0.04134 |
| Opus 5 | $0.00016 | $0.02067 |
| Sonnet 5 | $0.00006 | $0.00827 |
| Haiku 4.5 | $0.00003 | $0.00413 |
Grade A, and why
roadmap 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 — 452 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Repository: !gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null || echo "Not a GitHub repo"
Project docs exist: !test -f docs/project/overview.md && echo "✅ Found" || echo "❌ Missing"
Roadmap issue count: !gh issue list --label status:backlog,status:next,status:in-progress --json number --jq 'length' 2>/dev/null || echo "0"
Open issues by status: !gh issue list --json labels --jq '[.[] | .labels[] | select(.name | startswith("status:")) | .name] | group_by(.) | map({(.[0]): length}) | add' 2>/dev/null || echo "{}"
For brainstorm action (heavy web research):
User: /roadmap brainstorm "user onboarding"
│
▼
┌──────────────────────────────────────────────────────┐
│ MAIN CONTEXT (context gathering - lightweight) │
│ │
│ 1. Verify GitHub authentication │
│ 2. Load project vision from overview.md │
│ 3. Get existing roadmap items (avoid duplicates) │
│ 4. Save context to temp config │
│ → .spec-flow/temp/brainstorm-context.yaml │
└──────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────┐
│ Task(roadmap-brainstorm-agent) ← ISOLATED │
│ │
│ 1. Read context from temp config │
│ 2. Web search for similar products │
│ 3. Research best practices │
│ 4. Generate feature ideas (up to 15) │
│ 5. Validate against project vision │
│ 6. Deduplicate against existing features │
│ 7. Return ranked list of ideas │
│ 8. EXIT │
└──────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────┐
│ MAIN CONTEXT (user selection - interactive) │
│ │
│ 1. Display generated ideas with alignment status │
│ 2. AskUserQuestion: which ideas to add to roadmap? │
│ 3. Create GitHub Issues for selected ideas │
│ 4. Display roadmap summary │
└──────────────────────────────────────────────────────┘
For lightweight actions (add, move, delete, list, etc.):
- Run directly in main context (no Task spawning needed)
- These are simple GitHub CLI operations
Actions supported:
- add — Add new feature with vision validation
- brainstorm — Generate feature ideas via web research
- from-ultrathink — Materialize features from ultrathink session (v2.0)
- move — Change feature status (Backlog → Next → In Progress → Shipped)
- delete — Remove feature from roadmap
- search — Find features by keyword/area/role
- list — Show roadmap summary
- milestone — Manage milestones (list, create, plan)
- epic — Manage epic labels (list, create)
Workflow integration:
/init-project → /roadmap add|brainstorm → /feature or /epic
Dependencies:
- GitHub authentication (gh CLI or GITHUB_TOKEN)
- Git repository with remote
- Optional: docs/project/overview.md for vision validation
-
Parse user intent from $ARGUMENTS and route to action:
Action routing:
If $ARGUMENTS starts with "add " → ADD action (remaining = feature description) If $ARGUMENTS starts with "brainstorm " → BRAINSTORM action (remaining = topic) If $ARGUMENTS starts with "from-ultrathink" → FROM-ULTRATHINK action (remaining = path or --list) If $ARGUMENTS starts with "move " → MOVE action (parse: slug, target status) If $ARGUMENTS starts with "delete " → DELETE action (remaining = slug) If $ARGUMENTS starts with "search " → SEARCH action (remaining = query) If $ARGUMENTS equals "list" → LIST action (no params) If $ARGUMENTS starts with "milestone " → MILESTONE sub-actions: - "milestone list" → list all milestones - "milestone create <name> [date]" → create milestone - "milestone plan <name>" → interactive assignment If $ARGUMENTS starts with "epic " → EPIC sub-actions: - "epic list" → list all epic labels - "epic create <name> [description]" → create epic label
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 · 452 lines · 32 tokens per session scan A 59764f0ff818
roadmap is a command published in the GitHub repository marcusgoll/Spec-Flow (91 stars, last pushed 4mo ago), licensed MIT. It adds 32 tokens to every session and 4,134 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-30.
Other commands, from other repositories
backlog
PitWay: Capture out-of-scope work discovered mid-task, without expanding current scope.
project
Unified project management. Handles detection, initialization, configuration, context generation, and environment loading.
recap
Summarize what happened in the project since a given date. Produces a short lead on what's different now, backed by tables and lists covering completed work, state changes, backlog movement, and key decisions. Use when the user wants to catch up on project activity, review recent progress, or generate a status update…
whats-next
Generate an executive overview of the project. Synthesizes state, backlogs, and recent plans into a ranked action plan answering "What should we do next?".
sprint-start
Abre uma sprint — cria a branch, o doc da sprint e o objetivo com DoD. Use quando disser "vamos começar a sprint" ou ao terminar a anterior.
project-start
Inicia o Project Genesis Wizard — do "me fale sobre teu projeto" até o primeiro sprint de código, em 5 fases. Não escreve código.