Create a feature specification from a natural language description.
Input: Feature description. If not provided, ask the user what they want to build.
Steps
- Collect the feature description If input is missing or vague, ask: "What feature do you want to specify? Describe what it should do and why." Derive a kebab-case name (e.g., "add user authentication" →
user-auth). - Create the change directory Create
specs/changes/<name>/.specs/changes/is gitignored. Onlyspecs/features/is canonical and versioned. - Write
specs/changes/<name>/spec.mdStructure:# Spec: <Feature Name> ## Problem <Why this feature is needed.> ## Goals <What success looks like, in measurable, technology-agnostic terms.> ## Non-Goals <What is explicitly out of scope.> ## User Stories - As a <role>, I want <goal> so that <benefit>. [P1/P2/P3] ## Success Criteria <Testable, technology-agnostic acceptance criteria.> ## Open Questions - [NEEDS CLARIFICATION] <question> — impact: <scope|security|ux|technical>Rules:
- Focus on WHAT and WHY. Never describe HOW or name technologies. - Maximum 3 [NEEDS CLARIFICATION] markers, prioritised by scope > security > UX > technical. - Make informed, reasonable defaults for unspecified details. - Written for business stakeholders, not developers. - Align with FRAMEWORK.md governing principles.
- Validate quality Before finishing, verify:
- All success criteria are measurable and technology-agnostic. - No implementation details or framework names appear. - User stories have priorities. - Open questions are minimal and high-impact.
Output
After writing the spec, summarise:
- Change name and file location.
- Number of open questions (if any).
- Next step: "Use the
spec-kit-clarifyskill to resolve open questions, or thespec-kit-planskill if the spec is clear."
Guardrails
- If a change with that name already exists, ask if the user wants to continue it or create a new one.
- Never include HOW — no tech stack, frameworks, or implementation details in the spec.
- Prefer making reasonable assumptions over asking unnecessary questions.