| name | speckit-specify |
| description | Create or update the feature specification from a natural language feature description. |
| allowed-tools | Bash, Read, Write, Grep, Glob |
| handoffs | [object Object], [object Object] |
Spec-Kit Specify
Create structured feature specifications from natural language descriptions. First step in the spec-kit workflow.
When to Use
- User describes a new feature to build
- Starting a new project or feature
- Need to document requirements
- Converting ideas into structured specifications
Execution Workflow
The user's input after the skill invocation is the feature description. The workflow:
- Generate concise branch name (2-4 words) from feature description
- Use action-noun format (e.g., "add-user-auth", "fix-payment-bug")
- Preserve technical terms (OAuth2, API, JWT)
- Check for existing branches across remote, local, and specs directories
- Find highest feature number for this short-name across ALL sources
- Use next available number (N+1)
- Run setup script
.specify/scripts/bash/create-new-feature.shwith calculated number and short-name - Load spec template from
.specify/templates/spec-template.md - Fill specification with:
- Feature overview (what, why, who)
- User stories with priorities (P1, P2, P3)
- Acceptance criteria for each story
- Functional, non-functional requirements, and constraints
- Make informed guesses for unclear aspects (document in Assumptions)
- LIMIT: Maximum 3
[NEEDS CLARIFICATION]markers total - only for critical decisions - Prioritize clarifications: scope > security/privacy > UX > technical details
- Validate quality using spec quality checklist
- Creates
checklists/requirements.mdto validate spec completeness - Checks for implementation details, testable requirements, measurable success criteria
- Creates
- Present clarification questions (if markers remain) with suggested answers in table format
- Update spec with user's answers
- Report completion with branch name, spec file path, and readiness for next phase
Key Points
- Focus on WHAT users need and WHY, not HOW to implement
- Written for business stakeholders, not developers
- No tech stack, APIs, or code structure in spec
- Make informed guesses using context and industry standards
- Document assumptions in Assumptions section
- Maximum 3
[NEEDS CLARIFICATION]markers - prioritize by impact: scope > security/privacy > UX > technical details - Success criteria must be measurable and technology-agnostic
- Each user story needs clear, testable acceptance criteria
Next Steps
After creating spec.md:
- Clarify ambiguities with
speckit-clarify(optional) - Plan implementation with
speckit-plan
See Also
speckit-constitution- Define project principlesspeckit-clarify- Resolve specification ambiguitiesspeckit-plan- Create technical implementation strategy