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 hams-ollo/zen-agent-skills --skill spec-authorgit clone --depth 1 https://github.com/hams-ollo/zen-agent-skillsWrote 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/hams-ollo/zen-agent-skills/spec-author)<a href="https://agentmods.dev/skills/hams-ollo/zen-agent-skills/spec-author"><img src="https://agentmods.dev/badge/skills/hams-ollo/zen-agent-skills/spec-author/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/hams-ollo/zen-agent-skills/spec-author"><img src="https://agentmods.dev/badge/skills/hams-ollo/zen-agent-skills/spec-author.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.00133 | $0.02269 |
| Opus 5.5 | $0.00053 | $0.00908 |
| Sonnet 5.5 | $0.00027 | $0.00454 |
| Haiku 4.5 | $0.00013 | $0.00227 |
Grade A, and why
spec-author 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 1mo 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 — 195 lines — stays where its author put it; the contents beside it link to each section on GitHub.
spec-author
Draft a durable behavioral contract from a raw idea, then stop. This is the front of the
contract-driven spine: spec-author writes the spec, a human approves it, new-task
decomposes it into tasks, and the rest of the spine builds and verifies against it. A spec says
what should be true and why it matters. It is not a plan, an architecture brief, a task
list, or a test design.
This skill composes the spec-quality lens: it drafts, then checks its
own draft against that lens and revises until the verdict is ready, rather than restating the
lens's rules here. Keep the two in sync by pointing at the lens, not copying it.
When to use
- A rough idea, feature request, or bug needs a durable contract before work starts.
- You are about to reach for
new-taskbut there is no spec capturing the intended behavior yet. - An existing spec needs revision back to a
readystate.
When not to use
- The work is a single, obvious, atomic change with no behavioral ambiguity: go straight to
new-task. - You only need to review an existing spec, not author one: use
spec-qualitydirectly. - You are decomposing an already-approved spec into tasks: that is
new-task.
Inputs
Required:
- Source request: the raw idea, feature request, or bug to turn into a spec.
Optional:
- Repository context: existing names, tools, commands, surfaces, and conventions the spec should ground its wording in rather than inventing new terms.
Where the spec goes
Find the repository's spec location before writing, do not assume one. Look for an existing spec
directory under any of its common names (docs/spec/, specs/, docs/rfcs/, design/) and for
how the specs already there are named. Match what you find.
Only when a repository has none of these does docs/spec/<slug>.md apply, as this kit's default.
Writing there regardless is how a repo ends up with two spec directories, and the second one is the
one nobody reads. If the convention is ambiguous, ask; it is a one-line question and the answer is
durable.
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.
- 1mo ago Changed · +7 lines 81e915407829
- 2mo ago First seen · 188 lines · 133 tokens per session scan A e8e848271d32
spec-author is a skill published in the GitHub repository hams-ollo/zen-agent-skills (2 stars, last pushed 7d ago), licensed MIT. It adds 133 tokens to every session and 2,269 once invoked, about $0.0005 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-31.
Other skills, from other repositories
review
Use when explicitly invoked to review a branch diff (or any diff or files pointed at) with a find-only subagent covering rubric and conventions, change conformance against the AC-N and their runtime-verification evidence, and documentation consistency — one plain-text verdict that reaches lgtm only when no dimension…
implement
Use when explicitly invoked to execute a change's tasks.md from the first unticked step: implement each task, run its validation, commit, then run the quality gate and verify every acceptance criterion by observed behavior. Needs no conversation context — the change folder is the whole input. Trigger on…
archive
Use when explicitly invoked to close out a change whose branch has already merged: confirm the merge from git alone, then move the change folder under changes/archive/ with its ship date. Trigger on '/sw:archive', '$sw:archive', 'archive this change', or a request to close out a merged change.
ship
Use when explicitly invoked to run the whole change ladder without stopping — ticket, plan, implementation, quality gate, runtime verification, review to lgtm — deciding every open question autonomously and recording each decision in proposal.md. Trigger on '/sw:ship', '$sw:ship', or a request to take something from…
gsd-audit-milestone
Audit milestone completion against original intent before archiving.
spec-kitty-charter-doctrine
Run charter interview, generation, context, and sync workflows for project governance in Spec Kitty 3.x. Access doctrine artifacts programmatically via DoctrineService. Resolve agent profiles. Load action-scoped governance context iteratively, not all at once. Triggers: "interview for charter", "generate charter"…