---
name: turn-chat-into-spec-prompt
description: A prompt that turns a conversation you already had with an AI into a written spec without another interview - problem, solution, numbered user stories, implementation and testing decisions, and what is out of scope - ready to paste into an issue. Use when you have talked a feature through and want it written up as a spec or ticket.
license: MIT
metadata:
  category: writing-prompts
  tags: "spec,planning,issues"
  author: johnny-bravo
  version: "1.0"
  updated: "2026-11-02"
  status: published
  aliases: "conversation to spec, write up what we discussed, spec from chat"
  source_url: "https://github.com/mattpocock/skills/tree/a496f5513d4a4cf889bc48e189e579f4b0bdf6aa/skills/engineering/to-spec"
  source_license: MIT
  copyright: "Copyright (c) 2026 Matt Pocock"
  original_author: "Matt Pocock (mattpocock/skills, to-spec)"
  modified: "Adapted by TheSkillVault: rewrote the spec template and process as a paste-in prompt with original wording; dropped issue-tracker publishing and setup-script dependency; added steps, adapt notes and done-when."
  imported_on: "2026-11-02"
---

# Turn a chat into a spec (prompt)

You have already talked a feature through. This prompt writes up what was decided, without asking you everything again.

## When to use
- A long chat with an AI has settled what to build.
- You need a spec or issue for a teammate or a coding agent.
- You want decisions captured before the chat is lost.

## When not to use
- Nothing has been discussed yet. Use write-prd-prompt, which interviews you.

## Steps
1. Paste the prompt at the end of the same conversation (or paste the chat after it).
2. Check the user stories and out-of-scope list carefully.
3. Paste the spec into an issue or save it as `docs/specs/name.md`.

## Prompt
```text
Turn our conversation so far into a spec. Do not interview me; use only what we discussed and what you can see in the code. Mark gaps as "Open question".

## Problem
The user's problem, in their words.

## Solution
What we will build, from the user's point of view.

## User stories
A numbered list: "As a <who>, I want <what>, so that <why>." Cover edge cases and errors, not just the happy path.

## Implementation decisions
Modules to build or change, interfaces, data or schema changes, API contracts and key choices made. No file paths or code unless a snippet states a decision exactly.

## Testing decisions
What behaviour will be tested and at which level; test behaviour, not internals.

## Out of scope
What we agreed not to do.

## Open questions
Anything undecided.
```

## How to adapt
- Writing for a coding agent? Add "keep each user story small enough for one pull request".
- Need tickets too? Follow with write-plan-and-tickets-prompt.

## Gotchas
- The AI may fill gaps with guesses. Anything not discussed should appear under open questions.
- Remove customer names and private data before posting to a public issue tracker.

## Portability
Works with any chat AI and any issue tracker (GitHub, Linear, Jira). No tool lock-in.

## Done when
- The spec covers problem, solution, user stories, decisions, tests and scope.
- Open questions are listed rather than guessed.

## Example prompt
"We have talked through the team invites feature. Turn this chat into a spec I can paste into a GitHub issue."

---
Adapted from "to-spec" in mattpocock/skills (MIT, Copyright (c) 2026 Matt Pocock). See LICENSE.txt.
