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/featuregit 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.00013 | $0.07718 |
| Opus 5 | $0.00006 | $0.03859 |
| Sonnet 5 | $0.00003 | $0.01544 |
| Haiku 4.5 | $0.00001 | $0.00772 |
Grade A, and why
feature 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 — 925 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Command: /feature [feature description | slug | continue | next | epic:<name> | epic:<name>:sprint:<num> | sprint:<num>]
CRITICAL ARCHITECTURE (v5.0 - Domain Memory v2):
This orchestrator is ultra-lightweight. You MUST:
- Read state from disk (state.yaml, interaction-state.yaml, domain-memory.yaml)
- Spawn isolated phase agents via Task tool - NEVER execute phases inline
- Handle user Q&A when agents return questions
- Update state.yaml after each phase
- NEVER carry implementation details in your context
Benefits: Unlimited feature complexity, observable progress, resumable at any point, each phase gets fresh context.
Git status:
!git status --short
Current branch:
!git branch --show-current
Recent features:
!ls -t specs/ 2>/dev/null | head -5
Active workflow state (if any):
!find specs -name "state.yaml" -exec grep -l "status: in_progress\|status: failed" {} \; 2>/dev/null | head -3
Deployment model detection:
!git branch -r | grep -q "staging" && echo "staging-prod" || (git remote -v | grep -q "origin" && echo "direct-prod" || echo "local-only")
Worktree context:
!bash .spec-flow/scripts/bash/worktree-context.sh info 2>/dev/null || echo '{"is_worktree": false}'
Studio context (multi-agent isolation):
!bash .spec-flow/scripts/bash/worktree-context.sh studio-detect 2>/dev/null || echo ""
Worktree preference:
!bash .spec-flow/scripts/utils/load-preferences.sh --key "worktrees.auto_create" --default "true" 2>/dev/null || echo "true"
Planning depth preference:
!bash .spec-flow/scripts/utils/load-preferences.sh --key "planning.auto_deep_mode" --default "false" 2>/dev/null || echo "false"
Auto-ship preference:
!bash .spec-flow/scripts/utils/load-preferences.sh --key "deployment.auto_ship" --default "false" 2>/dev/null || echo "false"
Auto-merge preference:
!bash .spec-flow/scripts/utils/load-preferences.sh --key "deployment.auto_merge" --default "false" 2>/dev/null || echo "false"
Auto-finalize preference:
!bash .spec-flow/scripts/utils/load-preferences.sh --key "deployment.auto_finalize" --default "true" 2>/dev/null || echo "true"
<planning_depth>
Planning Depth Mode (--deep / --auto)
Flags in $ARGUMENTS:
--deep→ Force ultrathink/craftsman planning for this feature--auto→ Use preferences to determine depth (respectsauto_deep_mode), AND continue through ship→finalize without stopping- Neither → Interactive mode, respects preference triggers
Pass flag to /plan phase: When spawning the plan-phase-agent, include the planning mode:
- If
--deepin arguments: Pass--deepto /plan - If
--autoin arguments: Determine from preferences and pass appropriate flag - Store planning_mode in state.yaml for reference
State tracking:
# In state.yaml
planning:
mode: deep # or standard
ultrathink_enabled: true
craftsman_decision_generated: true
</planning_depth>
<auto_mode>
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 · 925 lines · 13 tokens per session scan A 27ac4b54911a
feature is a command published in the GitHub repository marcusgoll/Spec-Flow (91 stars, last pushed 4mo ago), licensed MIT. It adds 13 tokens to every session and 7,718 once invoked, about $0.0001 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
end-work
Complete work session with final checklist.
sync-linear
Sync current work with Linear ticket status.
start-work
Start work on a new Linear ticket with proper workflow.
dashboard
CLI status display — terse one-screen view of plan tree, active task, conflicts, freezes, token budget, recent decisions.
milestone-review
PitWay: Role-based milestone review workflow (start/brief/record/report/decide).
backlog
PitWay: Capture out-of-scope work discovered mid-task, without expanding current scope.