spec-writer

Use when transforming plans, ideas, or feature descriptions into comprehensive implementable specifications. Triggers on tasks involving requirements engineering, spec creation, user story writing, acceptance criteria definition, or when the user asks to "write a spec", "create a specification", or "turn this plan into a spec".

Best use case

spec-writer is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when transforming plans, ideas, or feature descriptions into comprehensive implementable specifications. Triggers on tasks involving requirements engineering, spec creation, user story writing, acceptance criteria definition, or when the user asks to "write a spec", "create a specification", or "turn this plan into a spec".

Teams using spec-writer should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/spec-writer/SKILL.md --create-dirs "https://raw.githubusercontent.com/SufficientDaikon/archon/main/skills/spec-writer/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/spec-writer/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How spec-writer Compares

Feature / Agentspec-writerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when transforming plans, ideas, or feature descriptions into comprehensive implementable specifications. Triggers on tasks involving requirements engineering, spec creation, user story writing, acceptance criteria definition, or when the user asks to "write a spec", "create a specification", or "turn this plan into a spec".

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Spec Writer Skill

This skill transforms high-level plans into comprehensive, implementable specifications following the Spec-Driven Development (SDD) methodology.

## When to Use This Skill

- User provides a plan, idea, or feature description and needs a spec
- User asks to "write a spec", "specify", "create requirements"
- User has a rough plan that needs to be formalized
- User needs acceptance criteria, user stories, or requirements

## Specification Output Structure

Every spec you produce MUST follow this structure. Use the template at `templates/spec-template.md` as the output format.

### Required Sections (always include):
1. **Project Overview** — What, why, and for whom
2. **User Scenarios & Stories** — Prioritized, independently testable
3. **Functional Requirements** — Numbered, testable, unambiguous
4. **Success Criteria** — Measurable, technology-agnostic

### Conditional Sections (include when relevant):
5. **Non-Functional Requirements** — Performance, security, scalability
6. **Key Entities & Data Model** — When data is involved
7. **Edge Cases & Error Handling** — Always for user-facing features
8. **Assumptions & Dependencies** — When they exist
9. **Out of Scope** — When scope boundaries matter

## Process

### Step 1: Parse the Plan
Extract from the user's input:
- **Actors**: Who uses this? (users, admins, systems, APIs)
- **Actions**: What do they do? (CRUD, workflows, interactions)
- **Data**: What data is involved? (entities, relationships, attributes)
- **Constraints**: What limits exist? (performance, security, platform)
- **Goals**: What does success look like?

### Step 2: Clarify Ambiguities
For CRITICAL ambiguities only (max 5 questions):
- Prioritize: scope > security > UX > technical
- Make informed defaults for everything else
- Document defaults in the Assumptions section

### Step 3: Write User Stories
Format each story as:
```markdown
### User Story N - [Title] (Priority: PN)

[Plain language description]

**Why this priority**: [Value explanation]
**Independent Test**: [How to test this story alone]

**Acceptance Scenarios**:
1. **Given** [state], **When** [action], **Then** [outcome]
2. **Given** [state], **When** [action], **Then** [outcome]
```

Priority Guide:
- **P1**: Core value — the MVP. If only one story ships, it's this one.
- **P2**: Important — significantly enhances value
- **P3**: Nice-to-have — polish and delight

### Step 4: Write Requirements
Format: `FR-001: System MUST [specific, testable capability]`

Rules:
- Every requirement is independently testable
- Use MUST for mandatory, SHOULD for recommended, MAY for optional
- No implementation details (no "using React", "via REST API", etc.)
- Every requirement traces to at least one user story

### Step 5: Define Success Criteria
Format: `SC-001: [Measurable, technology-agnostic metric]`

Good: "Users complete signup in under 2 minutes"
Bad: "API responds in under 200ms" (too technical)

### Step 6: Validate
Run through this checklist:
- [ ] No tech stack or implementation details
- [ ] All requirements testable
- [ ] Success criteria measurable
- [ ] ≤3 NEEDS CLARIFICATION markers
- [ ] Every story has acceptance scenarios
- [ ] Edge cases identified
- [ ] Scope bounded (in + out)

## File Output

Save the spec to one of these locations (in priority order):
1. `.specify/specs/[feature-name]/spec.md` (if .specify/ exists)
2. `specs/[feature-name]/spec.md` (if specs/ exists)
3. `[feature-name]-spec.md` (fallback, project root)

## Examples of Good vs Bad

### Good Requirement
> FR-003: System MUST allow users to reset their password via email verification within 5 minutes of request

### Bad Requirement
> FR-003: Implement password reset using SendGrid API with JWT tokens

### Good Success Criterion
> SC-002: 95% of users successfully complete their first task within 3 minutes

### Bad Success Criterion
> SC-002: Redis cache hit rate above 80%

## Handoff Instructions

After completing the spec, inform the user:
1. The spec file location
2. A summary of stories and their priorities
3. Any remaining NEEDS CLARIFICATION items
4. Recommend: "Review the spec, then use the **implementer agent** to build it"

Related Skills

ux-writer

7
from SufficientDaikon/archon

UX Writer — portfolio copy, hero headlines, project descriptions, CTAs, taglines, and bio copy. Anti-slop rules, specificity tests, and voice calibration formulas for three portfolio identities: The Engineer, The Creative, The Operator.

YAML Prompt Library

7
from SufficientDaikon/archon

> Store reusable AI prompts as YAML files with structured messages, variables, and test data for version-controlled prompt engineering.

writing-skills

7
from SufficientDaikon/archon

Use when creating new skills, editing existing skills, or verifying skills work before deployment

Writing Plans — TDD-Sized Task Breakdown

7
from SufficientDaikon/archon

> **Type:** Rigid process (follow structure exactly)

wireframing

7
from SufficientDaikon/archon

Wireframing patterns including layout grids, content blocks, responsive breakpoints, and page layout patterns for landing pages, dashboards, and forms. Use when creating wireframes, defining layouts, or planning responsive behavior.

windows-registry-editor

7
from SufficientDaikon/archon

Expert Windows Registry editor and optimizer via PowerShell. Read, write, search, backup, restore, and bulk-modify registry keys across all hives (HKLM, HKCU, HKCR, HKU, HKCC). Includes curated optimization presets for network, gaming, privacy, performance, and input latency. Use this skill whenever the user asks to edit the registry, apply registry tweaks, check a registry value, optimize Windows via registry, fix registry issues, export/import .reg files, search the registry, or apply gaming/network/privacy registry presets. Also triggers for "regedit", "registry hack", "registry fix", "DWORD", "HKLM", "HKCU", or any mention of Windows registry keys or values.

windows-network-optimizer

7
from SufficientDaikon/archon

Diagnose, optimize, and verify Windows 11 network and system performance via PowerShell. Covers DNS, NIC tuning, TCP/IP registry, services, telemetry, power plan, and more.

windows-error-debugger

7
from SufficientDaikon/archon

Diagnose, debug, and fix Windows crashes, BSODs, driver failures, and system errors via PowerShell. Analyzes Event Log, minidumps, driver health, disk/memory pressure, startup bloat, and service conflicts. Builds a growing knowledge base of resolved issues per machine. Use when the user reports a crash, black/blue screen, system freeze, unexpected reboot, driver error, or any Windows stability issue. Also triggers for "BSOD", "blue screen", "black screen", "crash", "system error", "bugcheck", "minidump", "driver failure", "unexpected shutdown", "paging file too small", "system hang", "Windows froze", "PC crashed", "kernel error", or any mention of Windows Event Log errors.

White-Label Config

7
from SufficientDaikon/archon

> Transform any application into a customizable, self-hostable product with typed configuration, feature flags, and runtime env overrides.

webapp-testing

7
from SufficientDaikon/archon

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

web-design-guidelines

7
from SufficientDaikon/archon

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

Vitest Unit Patterns

7
from SufficientDaikon/archon

> Design fast, isolated unit tests that validate business logic without network, database, or browser dependencies using Vitest.