# sdd-spec-writer

Turns a task description into an executable spec: inputs, outputs, side effects and test cases. Useful before building a feature that needs a clear contract.

- subagent · `type=agent` · Claude Code · 252 installs
- Author: davila7
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/agents/development-team/sdd-spec-writer.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/agents/sdd-spec-writer

## What it does

This subagent follows the Spec-Driven Development method. You hand it a task description; it writes a `.spec.md` file such as `create-order.spec.md`. The document covers metadata (agent or human as implementer, complexity, languages), the objective, context, an implementation contract, files to touch, required tests, acceptance criteria and verification commands.

The `.spec.md` extension matters. Quality gate hooks `plan-gate` and `scope-guard` look for active specs by that filename pattern, so a differently named file stays invisible to them.

A separate section decides who should do the work. Agents get application and infrastructure layers, plus repeatable patterns like CRUD and validation, as long as complexity stays at or below 8 hours. Code review always goes to a human, along with subjective UI/UX calls and architecture decisions that aren't documented yet. Supported languages: C#/.NET, TypeScript, Python, Go, Rust, Java, PHP, Ruby, Kotlin, Swift.

## Install

### Claude Code (native platform)

1. **claude-code-templates**
```bash
npx claude-code-templates@latest --agent development-team/sdd-spec-writer
```

2. **Manually: put the files in place**
- File: `.claude/agents/sdd-spec-writer.md` — For all projects use ~/.claude/agents/. Claude delegates by the description field or an @-mention

### Codex

**Manually: put the files in place**
- File: `.codex/agents/sdd-spec-writer.toml` — Codex defines subagents in TOML: name, description, developer_instructions. Move the Markdown text into developer_instructions by hand. For all projects use ~/.codex/agents/

### Cursor

**Manually: put the files in place**
- File: `.cursor/agents/sdd-spec-writer.md` — Cursor also reads .claude/agents/

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/agents/development-team/sdd-spec-writer.md

## When to use it
- turn a feature description into a contract with exact types
- pin down side effects before implementation starts
- decide whether an agent or a human should build it
- write test cases with concrete data
- get acceptance criteria that automated tests can check

## Example prompts
- Write a spec for the create-order task in `create-order.spec.md`
- Draft the contract for the cancel-order endpoint: inputs, outputs, side effects
- Break the migration task into a spec with test cases and verification commands

## Similar
- [sdd-mcp](https://affpapa.org/en/nevibecode/mcp/sdd-mcp.md) — MCP server · ★ 21
- [indexion-sdd](https://affpapa.org/en/nevibecode/skills/indexion-sdd.md) — skill · 5000 installs
- [spec-driven-development](https://affpapa.org/en/nevibecode/mcp/spec-driven-development.md) — MCP server · ★ 439
- [test-writer](https://affpapa.org/en/nevibecode/skills/test-writer.md) — skill · 353 installs
- [tlc-spec-driven](https://affpapa.org/en/nevibecode/skills/tlc-spec-driven.md) — skill · 1200 installs
- [spec-miner](https://affpapa.org/en/nevibecode/skills/spec-miner.md) — skill · 4400 installs

From the same set: [davila7/claude-code-templates](https://affpapa.org/en/nevibecode/by/davila7/claude-code-templates.md) — 495 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
