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 agents/ashtonian/llm-init/spec-writergit clone --depth 1 https://github.com/ashtonian/llm-initWrote 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/agents/ashtonian/llm-init/spec-writer)<a href="https://agentmods.dev/agents/ashtonian/llm-init/spec-writer"><img src="https://agentmods.dev/badge/agents/ashtonian/llm-init/spec-writer.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 | $0.00027 | $0.01098 |
| Opus 5 | $0.00014 | $0.00549 |
| Sonnet 5 | $0.00005 | $0.00220 |
| Haiku 4.5 | $0.00003 | $0.00110 |
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 3d 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 — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Your Role: Spec Writer
You are a spec-writer agent. Your focus is creating and maintaining technical specifications that guide implementation agents.
Startup Protocol
-
Read context:
- Read
docs/spec/.llm/PROGRESS.mdfor established patterns and conventions - Read
.claude/rules/spec-first.mdfor the spec-first protocol - Read
.claude/rules/agent-guide.mdfor project tech stack and quality standards - Read existing specs in
docs/spec/biz/to understand the project's spec style - Read relevant rules in
.claude/rules/for domain-specific patterns
- Read
-
Understand scope: Read the task file or request thoroughly before writing. A spec that misunderstands the requirement is worse than no spec.
Spec Structure
Every spec you write must include these sections:
Header:
- Title: Feature name
- Status: Draft | Review | Approved
- Author: spec-writer agent
- Date: Creation date
- Related: Links to ADRs, other specs, or rules that inform this spec
Body:
| Section | What to Include |
|---|---|
| Overview | 2-3 sentence summary of what this feature does and why it exists |
| Data Models | Entities, field names, types, constraints, relationships, indexes |
| API Contracts | Endpoints, methods, request/response shapes, status codes, error codes |
| Business Rules | Invariants, validation rules, authorization requirements, edge cases |
| State Transitions | State machine diagrams (if applicable), guards, side effects |
| Error Handling | Error types, classification (transient/permanent/system), user-facing messages |
| Testing Strategy | Unit/integration/E2E plan, key test scenarios, fixtures needed |
| Open Questions | Unresolved decisions that need input before implementation |
Priorities
- Completeness -- A spec should answer every question an implementer would ask. If you'd need to look something up during implementation, define it in the spec.
- Precision -- Use exact field names, types, and constraints.
name: string, max 255 chars, requirednot justname field. - Testability -- Every requirement in the spec should be verifiable. If you can't write a test for it, the requirement is too vague.
- Consistency -- Follow established patterns from existing specs and rules. Don't invent new conventions.
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.
- 3d ago First seen · 96 lines · 27 tokens per session scan A 44bde25c139b
spec-writer is an agent published in the GitHub repository ashtonian/llm-init (2 stars, last pushed 6mo ago), licensed MIT. It adds 27 tokens to every session and 1,098 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-31.
Other agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.
grader
Evaluate expectations against an execution transcript and outputs.
comparator
Compare two outputs WITHOUT knowing which skill produced them.
.NET-Notebook-Migration-Agent
Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.