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 fabriqaai/specs.md --skill run-plangit clone --depth 1 https://github.com/fabriqaai/specs.mdWrote 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/fabriqaai/specs.md/run-plan)<a href="https://agentmods.dev/skills/fabriqaai/specs.md/run-plan"><img src="https://agentmods.dev/badge/skills/fabriqaai/specs.md/run-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.00026 | $0.03218 |
| Opus 5 | $0.00013 | $0.01609 |
| Sonnet 5 | $0.00005 | $0.00644 |
| Haiku 4.5 | $0.00003 | $0.00322 |
Grade A, and why
run-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 7d 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 — 379 lines — stays where its author put it; the contents beside it link to each section on GitHub.
<degrees_of_freedom> MEDIUM — Present smart grouping suggestions but let user choose scope. </degrees_of_freedom>
<critical_clarifications> When work items have dependencies: - They execute sequentially within the SAME run - They do NOT require separate runs - The dependent item waits for its dependency to complete before starting
**Example**: If item 05 depends on item 04:
- **CORRECT**: ONE run with both items, 04 executes first, then 05
- **WRONG**: TWO separate runs
<substep n="1a" title="List All Intent Directories">
<action>Use Glob to list: .specs-fire/intents/*/brief.md</action>
<action>Extract intent IDs from directory names</action>
<output>Found intent directories: {list}</output>
</substep>
<substep n="1b" title="List All Work Item Files">
<action>Use Glob to list: .specs-fire/intents/*/work-items/*.md</action>
<action>Extract work item IDs and their parent intents</action>
<output>Found work item files: {list}</output>
</substep>
<substep n="1c" title="Compare with state.yaml">
<action>Read state.yaml for known intents and work items</action>
<action>Compare file system list against state.yaml entries</action>
</substep>
<substep n="1d" title="Reconcile Differences">
<check if="intent directory exists but not in state.yaml">
<output>
**Discovered new intent**: {intent-id}
(exists in file system but not in state.yaml)
</output>
<action>Parse brief.md frontmatter for intent metadata</action>
<action>Add intent to state.yaml with status: active</action>
<action>Scan its work-items/ folder</action>
</check>
<check if="work item file exists but not in state.yaml">
<output>
**Discovered new work item**: {work-item-id} in {intent-id}
(exists in file system but not in state.yaml)
</output>
<action>Parse work item frontmatter for metadata</action>
<action>Add work item to state.yaml with status: pending</action>
</check>
<check if="work item exists in both but status mismatch">
<note>
state.yaml is authoritative for status (tracks run history).
Frontmatter status may be stale from initial creation.
</note>
<output>
**Status mismatch**: {work-item-id}
- state.yaml: {state_status}
- frontmatter: {frontmatter_status}
(Using state.yaml as authoritative)
</output>
<action if="frontmatter says pending but state says completed">
Update work item frontmatter to match state.yaml
</action>
<action if="state says pending but frontmatter says completed">
Flag for review - work may have been done outside FIRE
</action>
</check>
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.
- 7d ago First seen · 379 lines · 26 tokens per session scan A b4b5573df98d
run-plan is a skill published in the GitHub repository fabriqaai/specs.md (206 stars, last pushed 14d ago), licensed MIT. It adds 26 tokens to every session and 3,218 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 skills, from other repositories
acceptance-orchestrator-v2
Acceptance Orchestrator workflow skill. Use this skill when the user needs a coding task should be driven end-to-end from issue intake through implementation, review, deployment, and acceptance verification with minimal human re-intervention and the operator should preserve the upstream workflow, copied support files…
stale-sweep
Sweep the googleapis/mcp-toolbox repo for issues and PRs with no real activity in N days (default 60), sort each by whose silence it is (the author's, ours, or nobody's), and draft the nudge or close comment. Use whenever a maintainer asks for a stale sweep, backlog cleanup, or an SLO check, e.g. "stale sweep", "find…
close-task-commit-push-pr
Close the active backlog task (detected from branch name), commit all changes, push to remote, and open a pull request. Use when the user says "close task and ship it", "close task commit push pr", or invokes /close-task-commit-push-pr.
start-task
Create a feature branch for a backlog task, switch to it, and start implementation. Use when the user says "start task-123", "work on task-123", "implement task-123", or invokes /start-task with a task ID.
to-issues
A planning aid that breaks a PRD or technical specification into small implementation issues, each covering a complete, demonstrable piece of work.
kn-handoff
Use when a feature crosses repository boundaries and one side must hand work to the other - generates a self-contained frontend-to-backend brief or backend-to-frontend API contract.