spec-kit-specify
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.
More from aircury/ai-framework
open-spec-explore
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
33spec-kit-plan
Create a technical implementation plan from a feature spec. Documents architecture, data models, and interface contracts without generating code. Run after spec-kit-clarify.
32open-spec-apply
Implement tasks from a working change. Use when the user wants to start implementing, continue implementation, or work through planned tasks.
32open-spec-propose
Propose a change with optional working artifacts. Use when the user wants a structured proposal with design notes, tasks, and a clear path to implementation.
32open-spec-complete
Mark a change as complete. Syncs specs/features/ to reflect current system behavior, then cleans up optional workflow artifacts. Framework-agnostic and independent of any external spec tool.
32airsync
Collaborative memory system for AI agents and teams. Three-layer architecture (INBOX → PUBLISHED → ARCHIVED) ensures only high-quality knowledge reaches the shared team memory.
31