3.3 KiB
name, description
| name | description |
|---|---|
| to-spec | Synthesize the current conversation into a development spec, with optional publication to the configured tracker when requested. |
This skill takes the current conversation context and codebase understanding and produces a spec (you may know this document as a PRD). Do NOT interview the user — just synthesize what you already know.
Read the configured tracker and triage vocabulary only when publication is requested. A local draft does not require tracker setup.
Process
-
Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary throughout the spec, and respect any ADRs in the area you're touching.
-
Describe how acceptance criteria can be verified using existing behavior-level tests where possible. Choose boundaries that exercise the actual risks, not a predetermined seam count. Distinguish agreed decisions from proposals and unresolved requirements.
Use the discussion's existing decisions. Record remaining uncertainty; ask only when a consequential missing decision prevents a useful spec, rather than restarting an interview.
- Write the requested spec using the template below as appropriate. Publish only if the user asked for publication; otherwise return the draft or save it at their selected path. Use the configured tracker and triage labels, marking it
ready-for-agentonly when actionable. On an ambiguous create failure, check for duplicates before retrying; if access is unavailable, preserve the draft and report the limitation.
Problem Statement
The problem that the user is facing, from the user's perspective.
Solution
The solution to the problem, from the user's perspective.
User Stories
A concise set of user stories or acceptance criteria covering the agreed behavior. When user stories help, use:
- As an , I want a , so that
Cover the requested behavior and important failure cases without inventing scope to fill the template.
Implementation Decisions
A list of implementation decisions that were made. This can include:
- The modules that will be built/modified
- The interfaces of those modules that will be modified
- Technical clarifications from the developer
- Architectural decisions
- Schema changes
- API contracts
- Specific interactions
Do NOT include specific file paths or code snippets. They may end up being outdated very quickly.
Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it within the relevant decision and note briefly that it came from a prototype. Trim to the decision-rich parts — not a working demo, just the important bits.
Testing Decisions
A list of testing decisions that were made. Include:
- A description of what makes a good test (only test external behavior, not implementation details)
- Which modules will be tested
- Prior art for the tests (i.e. similar types of tests in the codebase)
Out of Scope
A description of the things that are out of scope for this spec.
Further Notes
Any further notes about the feature.