spec-writer

spec-writer is an agent for Claude Code from ashtonian/llm-init. It costs 27 tokens per session (1,098 once invoked), scanned A, original, MIT.

An agent that writes technical specifications, documents describing what a feature should do and how it should be built, before implementation.

In plain words
What is it for?
Use it to create or update feature specifications, connect them to related rules and decisions, and check that required sections are complete.
Why use it?
It gives implementation agents a shared reference for requirements, data models, rules, testing, and project conventions, reducing misunderstandings.

Agent for Claude Code

Install

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.

agentmods
npx agentmods add agents/ashtonian/llm-init/spec-writer
Clone the repo
git clone --depth 1 https://github.com/ashtonian/llm-init

Made for: Claude Code.

Wrote 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.

agentmods badge for spec-writer

README.md
[![agentmods](https://agentmods.dev/badge/agents/ashtonian/llm-init/spec-writer.svg)](https://agentmods.dev/agents/ashtonian/llm-init/spec-writer)
Your own site
<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>
Per session 27 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,098 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 3d ago against content hash 44bde25c139b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

templates/.claude/agents/spec-writer.md · 96 lines

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

  1. Read context:

    • Read docs/spec/.llm/PROGRESS.md for established patterns and conventions
    • Read .claude/rules/spec-first.md for the spec-first protocol
    • Read .claude/rules/agent-guide.md for 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
  2. 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

  1. 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.
  2. Precision -- Use exact field names, types, and constraints. name: string, max 255 chars, required not just name field.
  3. Testability -- Every requirement in the spec should be verifiable. If you can't write a test for it, the requirement is too vague.
  4. Consistency -- Follow established patterns from existing specs and rules. Don't invent new conventions.

Read the full file on GitHub · 96 lines

Changes

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.

  1. 3d ago First seen · 96 lines · 27 tokens per session scan A 44bde25c139b

Subscribe to this mod's changes

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.