sdd
About
This Claude skill provides guidance on Spec-Driven Development using GitHub's Spec-Kit for both new and existing projects. It helps developers create executable specifications and manage features through structured workflows. After generating artifacts, it automatically delivers 10-point summaries with feature status tracking for natural language feature management.
Documentation
Spec-Driven Development (SDD) Skill
Guide users through GitHub's Spec-Kit for Spec-Driven Development - a methodology that flips traditional software development by making specifications executable and directly generating working implementations.
Core Philosophy
Spec-Driven Development emphasizes:
- Intent-driven development: Define the "what" before the "how"
- Rich specification creation: Use guardrails and organizational principles
- Multi-step refinement: Not one-shot code generation
- AI-native: Heavy reliance on advanced AI capabilities
Remember: This is AI-native development. Specifications aren't just documentation - they're executable artifacts that directly drive implementation. The AI agent uses them to generate working code that matches the intent defined in the specs.
Quick Decision Tree
Is this a new project (greenfield)?
→ See Greenfield Workflow for the complete 6-step process
Is this an existing codebase (brownfield)?
→ See Brownfield Workflow for reverse-engineering and integration guidance
Need installation help?
→ See Installation Guide for setup and troubleshooting
Installation Quick Start
Recommended (Persistent):
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
One-time Usage:
uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>
Verify:
specify check
For detailed installation options, troubleshooting, and environment variables, see Installation Guide.
Supported AI Agents
Works with:
- ✅ Claude Code
- ✅ GitHub Copilot
- ✅ Gemini CLI
- ✅ Cursor
- ✅ Qwen Code
- ✅ opencode
- ✅ Windsurf
- ✅ Kilo Code
- ✅ Auggie CLI
- ✅ CodeBuddy CLI
- ✅ Roo Code
- ✅ Codex CLI
- ✅ Amp
- ⚠️ Amazon Q Developer CLI (doesn't support custom arguments for slash commands)
Artifact Summarization and Feedback Loop
CRITICAL WORKFLOW: After any SDD command generates or modifies artifacts, automatically follow this feedback loop to keep the user engaged:
After Each Command Completes
-
Detect Artifact Changes
- Identify which artifacts were created or modified:
constitution.md(project principles)spec.md(requirements specification)plan.md(technical implementation plan)tasks.md(actionable task breakdown)- Analysis reports from brownfield workflows
- Identify which artifacts were created or modified:
-
Read and Summarize
- Read the relevant artifact(s)
- Extract key information:
- For constitution.md: Core principles, coding standards, constraints
- For spec.md: Main requirements, user stories, success criteria
- For plan.md: Tech stack choices, architecture decisions, milestones
- For tasks.md: Number of tasks, major task categories, dependencies
- For analysis reports: Current patterns, tech debt, integration points
-
Present Structured Summary (Use 10-Point Template Below)
- Show what was generated and why
- Highlight the most important decisions with rationale
- Include quality indicators and watch-outs
- Keep summary focused and actionable
- Use clear headings for each section
-
Include Feature Status (Hybrid Approach)
- Brief status line in every summary
- Detailed status on demand with
/speckit.status - See "Feature Status Tracking" section below
-
Offer Feedback Options
- Option A: "Looks good, proceed to next step"
- Option B: "I'd like to modify [specific section]"
- Option C: "Regenerate with these changes: [user input]"
- Option D: "Explain why [specific decision] was made"
10-Point Summary Template
Use this structured format after ANY SDD command completes:
## ✅ [Command Name] Completed - Here's What Just Happened
### 🎯 Key Decisions Made (Top 3)
1. [Decision] - **Rationale:** [Why this was chosen]
2. [Decision] - **Rationale:** [Why this was chosen]
3. [Decision] - **Rationale:** [Why this was chosen]
### 📋 What Was Generated
- [Artifact 1]: [Brief description of content]
- [Artifact 2]: [Brief description of content]
### 🔍 Important Items to Review (Top 3)
1. [Critical item to check and why it matters]
2. [Important detail to verify and potential impact]
3. [Edge case to consider and how it affects the design]
### ⚠️ Watch Out For (Top 2)
- [Potential issue or gotcha] - **How to avoid:** [Guidance]
- [Common mistake] - **How to avoid:** [Guidance]
### 🔄 What This Enables Next (2 Options)
- **Option 1:** [Next step] - Best if: [Condition]
- **Option 2:** [Alternative step] - Best if: [Condition]
📊 **Feature Status:** [Current Feature Name] ([Stage]) → Next: [Next Feature]
Progress: [●●●○○] [X]% | Completed: [N] of [Total] features | Dependencies: [Status]
**Your options:** [A] Proceed [B] Modify [C] Explain more [D] Show full status
Example: Enhanced Summarization After `/speckit.specify`
```
✅ Specify Completed - Here's What Just Happened
🎯 Key Decisions Made
- Authentication: JWT tokens - Rationale: Stateless architecture, horizontally scalable, industry standard
- Password requirements: 12+ characters with complexity - Rationale: Balances security (NIST guidelines) with usability
- Session timeout: 24 hours - Rationale: Standard for web apps, balances security vs user convenience
📋 What Was Generated
- `.speckit/features/user-auth/specify.md`: Complete requirements with 5 user stories, 8 success criteria, 3 edge cases
🔍 Important Items to Review
- Password reset flow - Verify email requirements match your infrastructure (SMTP server, templates)
- Multi-factor authentication - Currently marked as "future enhancement"; may need to be in MVP
- Rate limiting - Set at 5 login attempts per 15 min; consider if this fits your security policy
⚠️ Watch Out For
- Email service dependency not specified - How to avoid: Add email service to plan.md dependencies
- GDPR compliance for user data - How to avoid: Review data retention and user deletion requirements
🔄 What This Enables Next
- Option 1: Run `/speckit.plan` to design technical implementation - Best if: Requirements look good
- Option 2: Modify specify.md - Best if: You need to adjust requirements or add features
📊 Feature Status: user-authentication (Specified) → Next: profile-management Progress: [●●○○○] 40% | Completed: 1 of 5 features | Dependencies: database-setup ✅
Your options: [A] Proceed to planning [B] Modify requirements [C] Explain JWT choice [D] Show full status ```
When to Skip Summarization
Only skip the summarization step when:
- User explicitly requests "skip summaries" or "run all steps automatically"
- Re-running a command without artifact changes
- Command fails or produces errors (troubleshoot instead)
Benefits of This Workflow
- Eliminates "black box" feeling: Clear explanations of what was generated and why
- Enables early feedback: Catch misunderstandings before implementation
- Maintains agility: Quick review with structured format, not lengthy approval processes
- Builds trust: User sees the AI's reasoning and decisions with rationale
- Provides context: Feature status keeps users oriented in the overall project
Feature Status Tracking
Hybrid Approach
After every SDD command, include a brief feature status line in the summary. Provide detailed status on demand with /speckit.status.
Brief Status Line Format
Include this at the end of every summary:
📊 **Feature Status:** [Current Feature Name] ([Stage]) → Next: [Next Feature Name]
Progress: [●●●○○] [X]% | Completed: [N] of [Total] features | Dependencies: [Dep] ✅/⏸️
Stage values:
Specifying(20% complete)Planning(40% complete)Tasking(60% complete)In Progress(80% complete)Complete(100% complete)
Progress indicator:
- Use filled circles (●) for completed stages
- Use empty circles (○) for pending stages
- Calculate percentage based on stage
Detailed Status Dashboard
When user requests full status (option D) or runs /speckit.status, show:
📊 Project Feature Status Dashboard
🎯 CURRENT FEATURE
├─ [feature-name] ([Stage] - [X]% complete)
│ ├─ ✅ Requirements specified
│ ├─ 🔄 Implementation plan in progress
│ ├─ ⏸️ Tasks not started
│ └─ ⏸️ Implementation not started
│ Blockers: [None | Description]
│ Dependencies: [feature-name] ✅
✅ COMPLETED FEATURES ([N])
├─ [feature-1] (100% complete)
└─ [feature-2] (100% complete)
📋 UPCOMING FEATURES ([N])
├─ [feature-3] (depends on: [current-feature])
└─ [feature-4] (depends on: [feature-3])
⚠️ BLOCKED FEATURES ([N])
[List any features that are blocked with reasons]
Natural Language Feature Management
Claude should automatically detect and handle natural language feature management requests:
User says: "Move feature XYZ before ABC" Claude does:
- Reads current feature list from
.speckit/features/ - Shows current order with numbers
- Proposes new order
- Asks for confirmation
- Updates feature priority/order in constitution or plan
- Shows updated status dashboard
User says: "Add a new feature for email notifications" Claude does:
- Detects new feature request
- Asks clarifying questions (priority, dependencies, description)
- Generates feature spec outline
- Inserts into feature list at appropriate position
- Shows updated status dashboard
User says: "Let's do profile-management first" Claude does:
- Identifies current feature order
- Proposes moving profile-management to top priority
- Adjusts dependencies if needed
- Updates artifacts
- Shows updated status
Detection patterns:
- "Move [feature] before/after [other]" → Reorder
- "Add [feature]" → New feature
- "Let's do [feature] first" → Move to top priority
- "Skip [feature] for now" → Mark as deferred
- "We finished [feature]" → Update status to complete
- "What features depend on [feature]?" → Show dependency tree
- "Show feature status" → Display full dashboard
Quick Feature Operations
Guide users through these operations when requested:
Add Feature:
User: "Add a feature for admin dashboard"
Claude:
1. What's the priority? (High/Medium/Low)
2. What features does this depend on? (user-auth, profile-management, etc.)
3. Brief description?
[Creates outline, shows updated status]
Reorder Features:
User: "Reorder features"
Claude:
Current order:
1. user-authentication
2. profile-management
3. admin-dashboard
4. email-notifications
5. reporting
How would you like to reorder? (provide new numbers or describe changes)
[Updates order, shows new status]
Remove Feature:
User: "Remove the reporting feature"
Claude:
⚠️ Warning: This will remove 'reporting' feature.
Dependencies affected: None
Are you sure? (yes/no)
[If yes: removes, updates status]
Progress Calculation
Automatically calculate progress based on SDD workflow completion:
| Stage | Progress | Indicators |
|---|---|---|
| Specified | 20% | specify.md exists |
| Planned | 40% | plan.md exists |
| Tasked | 60% | tasks.md exists |
| In Progress | 80% | Implementation started (code files modified) |
| Complete | 100% | Implementation complete, tests pass |
Dependency Tracking
Track and visualize dependencies:
Show dependencies:
user-authentication
├─ Depends on: database-setup ✅
└─ Blocks: profile-management ⏸️, admin-dashboard ⏸️
Check if ready:
📊 Can we start profile-management?
Checking dependencies...
✅ user-authentication (complete)
✅ database-setup (complete)
All dependencies satisfied! Ready to proceed.
Detect circular dependencies:
⚠️ Warning: Circular dependency detected
feature-A depends on feature-B
feature-B depends on feature-C
feature-C depends on feature-A
Please resolve this before proceeding.
Integration with Workflows
For Greenfield Projects:
- After
/speckit.specify, ask if there are multiple features - If yes, list them and track progress through each
- Show status after each command
For Brownfield Projects:
- After
/speckit.reverse-engineer, create feature list from discovered functionality - Track new features separately from existing documented features
- Show integration impact on status
For complete feature management guidance, see Feature Management Guide.
How to Use This Skill
When User Asks About SDD
- Explain core philosophy: Executable specifications, intent-driven, AI-native
- Verify prerequisites: `uv`, Python 3.11+, Git, AI agent
- Determine project type: New (greenfield) vs existing (brownfield)
- Guide to appropriate workflow:
- Greenfield → Greenfield Workflow
- Brownfield → Brownfield Workflow
When User Wants to Start a New Project
- Guide installation → Installation Guide
- Initialize project: ```bash specify init my-project --ai claude ```
- Follow greenfield workflow → Greenfield Workflow
- After each step: Summarize artifacts and get user feedback
When User Has an Existing Codebase
- Check for `.speckit/` directory
- If missing → Guide through Brownfield Workflow:
- Analyze existing code
- Generate constitution from existing patterns
- Choose artifact generation strategy
- Add new features with SDD
- If present → Determine next step based on current progress
- After each step: Summarize artifacts and get user feedback
When User Wants to Add a Feature
To greenfield project:
- Navigate to Greenfield Workflow
- Follow steps 3-6 (specify → plan → tasks → implement)
- Summarize each artifact before proceeding
To brownfield/existing project:
- Navigate to Brownfield Workflow
- Follow steps 6-7 (specify → integration planning → tasks → implement)
- Summarize each artifact before proceeding
When User Encounters Issues
- Installation issues → Installation Guide troubleshooting section
- Workflow issues → Check appropriate workflow guide:
- Feature detection → Set `SPECIFY_FEATURE` environment variable (see Installation Guide)
Workflow Overview
Greenfield (New Projects)
``` specify init → /speckit.constitution → [SUMMARIZE] → /speckit.specify → [SUMMARIZE] → /speckit.plan → [SUMMARIZE] → /speckit.tasks → [SUMMARIZE] → /speckit.implement ```
Full details: Greenfield Workflow
Brownfield (Existing Projects)
``` specify init --here → /speckit.brownfield → [SUMMARIZE] → /speckit.analyze-codebase → [SUMMARIZE] → /speckit.reverse-engineer → [SUMMARIZE] → /speckit.specify → [SUMMARIZE] → /speckit.integration-plan → [SUMMARIZE] → /speckit.tasks → [SUMMARIZE] → /speckit.implement ```
Full details: Brownfield Workflow
Development Phases Supported
0-to-1 Development ("Greenfield")
Start with high-level requirements, generate specifications from scratch, plan implementation steps, build production-ready applications.
Iterative Enhancement ("Brownfield")
Add features iteratively to existing codebases, modernize legacy systems, adapt processes for evolving requirements, reverse-engineer existing code into SDD format.
Creative Exploration
Explore diverse solutions in parallel, support multiple technology stacks & architectures, experiment with UX patterns.
→ Greenfield Workflow - Multi-Stack Exploration section
Key Commands Reference
Installation & Setup
```bash specify init <project> # New project specify init --here --force # Existing project specify check # Verify installation ```
Greenfield Workflow
``` /speckit.constitution # Project principles → SUMMARIZE /speckit.specify # Define requirements → SUMMARIZE /speckit.plan # Technical planning → SUMMARIZE /speckit.tasks # Break down tasks → SUMMARIZE /speckit.implement # Execute ```
Brownfield Workflow
``` /speckit.brownfield # Analyze existing code → SUMMARIZE /speckit.analyze-codebase # Deep analysis & constitution → SUMMARIZE /speckit.reverse-engineer # Document existing features → SUMMARIZE /speckit.integration-plan # Plan new feature integration → SUMMARIZE ```
Optional Enhancement Commands
``` /speckit.clarify # Clarify ambiguous requirements /speckit.analyze # Cross-artifact consistency check /speckit.checklist # Generate quality checklists ```
Analysis Scripts
The SDD skill includes analysis scripts for deep quality validation and progress tracking:
`scripts/phase_summary.sh`
Generates a comprehensive progress report across all phases in a tasks.md file:
- Shows completion percentage for each phase
- Lists pending tasks per phase
- Highlights simplified/modified tasks
- Provides overall progress statistics
- Supports any SDD feature's tasks.md file
Usage: ```bash ~/.claude/skills/sdd/scripts/phase_summary.sh specs/003-keyboard-shortcuts/tasks.md ```
Output: Markdown-formatted phase-by-phase progress report with:
- Phase-by-phase completion percentages
- Pending task lists (up to 5 per phase)
- Simplified task warnings
- Overall feature progress summary
When to Use:
- Check progress on any SDD feature
- Get quick overview of what's complete vs pending
- Identify phases that need attention
- Generate status reports for stakeholders
`scripts/analyze-requirements.py`
Analyzes requirement coverage across spec.md and tasks.md:
- Maps functional requirements (FR-001, FR-002, etc.) to implementation tasks
- Identifies uncovered requirements (gaps in task coverage)
- Flags vague requirements lacking measurable criteria
- Calculates coverage percentage
Usage: ```bash python3 ~/.claude/skills/sdd/scripts/analyze-requirements.py ```
Output: JSON with coverage metrics, uncovered requirements, vague requirements
`scripts/analyze-success-criteria.py`
Analyzes success criteria verification coverage:
- Maps success criteria (SC-001, SC-002, etc.) to verification tasks
- Validates measurability of each criterion
- Identifies criteria without verification tasks
- Groups by metric type (performance, accessibility, usability)
Usage: ```bash python3 ~/.claude/skills/sdd/scripts/analyze-success-criteria.py ```
Output: JSON with coverage summary, verification task mapping
`scripts/analyze-edge-cases.py`
Analyzes edge case coverage across specifications:
- Maps edge cases to explicit task coverage
- Identifies implicitly covered cases (handled by general logic)
- Flags uncovered edge cases requiring attention
- Categorizes coverage type (EXPLICIT, IMPLICIT, UNCOVERED)
Usage: ```bash python3 ~/.claude/skills/sdd/scripts/analyze-edge-cases.py ```
Output: JSON with coverage breakdown, uncovered edge case details
When to Use: These scripts are automatically invoked during `/speckit.analyze` to provide deep consistency validation. They help identify:
- Requirements without task coverage
- Success criteria without verification
- Edge cases that need test coverage
- Ambiguous requirements needing clarification
Validation Commands (Brownfield)
``` /speckit.validate-reverse-engineering # Verify spec accuracy /speckit.coverage-check # Check documentation coverage /speckit.validate-constitution # Verify constitution consistency /speckit.trace [feature] # Map specs to code ```
Detailed Documentation
- Installation Guide: Installation methods, troubleshooting, environment variables
- Greenfield Workflow: Complete 6-step workflow for new projects
- Brownfield Workflow: Complete 7-step workflow for existing codebases
Integration with Other Skills
This skill works well with:
- project-memory: Document SDD decisions and patterns
- design-doc-mermaid: Visualize architecture from plan.md
- github-workflows: Automate SDD artifact validation
- code-quality-reviewer: Review generated implementation
Resources
- GitHub Spec-Kit Repository: https://github.com/github/spec-kit
- Issues/Support: https://github.com/github/spec-kit/issues
- License: MIT
Maintainers
- Den Delimarsky (@localden)
- John Lam (@jflam)
Quick Install
/plugin add https://github.com/SpillwaveSolutions/sdd-skill/tree/main/skill.mdCopy and paste this command in Claude Code to install this skill
GitHub 仓库
Related Skills
web-cli-teleport
DesignThis skill helps developers choose between Claude Code Web and CLI interfaces based on task complexity and workflow needs. It enables seamless teleportation of sessions between environments to maintain context and optimize productivity. Use it for session management and to determine the best interface for coding tasks requiring different levels of iteration or back-and-forth interaction.
code-review-assistant
TestingThis skill performs comprehensive PR reviews using a multi-agent swarm with specialized reviewers for security, performance, style, tests, and documentation. It provides detailed feedback with auto-fix suggestions and assesses merge readiness. Use it for automated, in-depth code reviews on pull requests to ensure code quality across multiple dimensions.
github-workflow-automation
OtherThis Claude Skill automates GitHub Actions workflows with AI swarm coordination and intelligent CI/CD pipelines. It enables developers to create self-organizing, adaptive workflows for comprehensive repository management and deployment automation. Use it when you need advanced GitHub workflow orchestration with multi-agent AI coordination.
stream-chain
OtherThe stream-chain skill enables multi-agent pipelines and sequential workflows by chaining JSON streams between processing steps. It provides both custom chains for flexible prompt sequences and predefined pipelines for common tasks, allowing each agent to receive the previous step's complete output. Use it for complex data transformations and coordinated multi-agent processing in Claude Code workflows.
