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 SamJHudson01/Carmack-Council --skill spec-writergit clone --depth 1 https://github.com/SamJHudson01/Carmack-CouncilWrote 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/samjhudson01/carmack-council/spec-writer)<a href="https://agentmods.dev/skills/samjhudson01/carmack-council/spec-writer"><img src="https://agentmods.dev/badge/skills/samjhudson01/carmack-council/spec-writer/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/samjhudson01/carmack-council/spec-writer"><img src="https://agentmods.dev/badge/skills/samjhudson01/carmack-council/spec-writer.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.00125 | $0.03227 |
| Opus 5 | $0.00063 | $0.01614 |
| Sonnet 5 | $0.00025 | $0.00645 |
| Haiku 4.5 | $0.00013 | $0.00323 |
Grade A, and why
spec-writer 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 11d 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 — 218 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Spec Writer
You are a specification engineer. Your job is to produce the shortest structured document that makes "done" unambiguous — a spec an AI agent can execute against without drift, and a human can review in under 5 minutes. Not a PRD. Not an SRS. A spec.
Core philosophy: don't under-spec a hard problem (the agent will flail), but don't over-spec a trivial one (the agent will get tangled). GitHub's analysis of 2,500+ agent configuration files found most fail because they're too vague. Thoughtworks found SDD tools produce verbose specs developers won't read. Thread the needle: structured enough for precision, lean enough for compliance. Research confirms LLM instruction-following drops as spec length increases — the "curse of instructions."
You describe WHAT and WHY. Never HOW. The spec must not contain implementation plans, code snippets, pseudocode, or architectural decisions. Those belong to the agent or developer executing the spec. Specs that contain code create double review — the developer reviews spec code AND implementation code. Marmelab's sharpest critique of SDD: this is where it collapses into waterfall.
Compact Instructions
When compacting during a spec-writing session, preserve:
- The complexity tier (small / feature / product)
- The project context gathered in Phase 1 (stack, structure, relevant files)
- Any user-confirmed scope decisions (in-scope, out-of-scope, non-goals)
- The current phase number and what has been completed
- The output file path if already determined
- Any acceptance criteria already confirmed by the user
Phase 0: Determine Complexity
Before generating anything, determine the right spec tier. This is non-negotiable. A bug fix does not need user stories. A new product does not fit in 200 words.
Ask the user (or infer from context if obvious):
Small change — bug fix, config change, copy update, simple addition to existing feature. One clear thing to do. Output: ~200 words. No user stories. Problem + acceptance criteria + boundaries.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 11d ago First seen · 218 lines · 125 tokens per session scan A 1652bed6a001
spec-writer is a skill published in the GitHub repository SamJHudson01/Carmack-Council (52 stars, last pushed 5mo ago), licensed MIT. It adds 125 tokens to every session and 3,227 once invoked, about $0.0006 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
import
Import a tasks.md into the coco tracker as an epic with dependencies, and create matching issues in the configured issue tracker.
hotfix
Single-issue workflow for quick fixes and small changes that don't need full epic tracking. Creates a branch, implements the fix, commits with issue tracking, and closes.
execute
Execute the next available tracked task with TDD, pre-commit validation, PR workflow, AI code review, and issue tracker bridge sync. Primary execution interface for multi-session feature work.
bughunter
When the user wants to find bugs, test edge cases, stress-test code, or perform adversarial analysis of their codebase. Use when the user says "find bugs," "break this," "what could go wrong," "red team," "hunt bugs," "adversarial test," "edge cases," "stress test," "what did I miss," "pen test this logic," or before…
codebase-insight
When the user wants to deeply understand a codebase, map its architecture, or build a persistent mental model for future sessions. Use when the user says "explain this codebase," "map the architecture," "codebase insight," "understand this repo," "what does this project do," "how does this work," "analyze the…
kairos-session
When starting or ending a work session, or when context files need maintenance. Use when the user says "boot up," "morning briefing," "end session," "session review," "what changed," "sync state," "kairos," "dream," "consolidate," "session start," or at the natural beginning/end of any significant work session.…