---
{
  "name": "to-spec",
  "description": "Turn the current conversation into a spec and publish it to the project issue tracker: no interview, just synthesis of what you've already discussed. Use when you want to create a spec from a conversation.",
  "credit": "Matt Peacock (mattpocock/skills)"
}
---

# To Spec

Turn the current conversation into a spec and publish it to the project issue tracker: no interview, just synthesis of what you've already discussed.

## Process

1. **Explore the repo** — Understand the current state of the codebase.
2. **Sketch seams** — Identify where you'll test the feature.
3. **Write the spec** — Using the template.
4. **Publish** — To the project issue tracker with ready-for-agent label.

## Template

## Problem Statement
The problem that the user is facing.

## Solution
The solution to the problem.

## User Stories
A LONG, numbered list: As an <actor>, I want a <feature>, so that <benefit>

## Implementation Decisions
- Modules that will be built/modified
- Interfaces of those modules
- Architectural decisions

## Testing Decisions
- What makes a good test
- Which modules will be tested

## Out of Scope
Things that are out of scope for this spec.

## Credit

This skill is based on the work of **Matt Peacock** ([@mattpocock](https://github.com/mattpocock)). Original source: [mattpocock/skills](https://github.com/mattpocock/skills). Licensed under MIT.
