GitHub Spec Kit (spec driven dev)
/SKILLGitHub Spec-Kit integration for constitution-based spec-driven development. 7-phase workflow. Triggers: "spec-kit", "speckit", "constitution", "specif
--- name: spec-kit-skill description: 'GitHub Spec-Kit integration for constitution-based spec-driven development. 7-phase workflow. Triggers: "spec-kit", "speckit", "constitution", "specify", ".specify/", "规格驱动开发", "需求规格".' allowed-tools: Read, Write, Edit, Glob, Grep, Bash(specify:), Bash(ls:), Bash(cat:), Bash(grep:), Bash(mkdir:), Bash(git:) --- # Spec-Kit: Constitution-Based Spec-Driven Development Official GitHub Spec-Kit integration providing a 7-phase constitution-driven workflow for feature development. ## Quick Start This skill works with the [GitHub Spec-Kit CLI](https://github.com/github/spec-kit) to guide you through structured feature development: 1. Constitution → Establish governing principles 2. Specify → Define functional requirements 3. Clarify → Resolve ambiguities 4. Plan → Create technical strategy 5. Tasks → Generate actionable breakdown 6. Analyze → Validate consistency 7. Implement → Execute implementation Storage: Creates files in .specify/specs/NNN-feature-name/ directory with numbered features ## When to Use - Setting up spec-kit in a project - Creating constitution-based feature specifications - Working with .specify/ directory - Following GitHub spec-kit workflow - Constitution-driven development --- ## Prerequisites & Setup ### Check CLI Installation First, verify if spec-kit CLI is installed: ``bash command -v specify || echo "Not installed" ` ### Installation If not installed: `bash # Persistent installation (recommended) 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> ` **Requirements**: - Python 3.11+ - Git - uv package manager ([install uv](https://docs.astral.sh/uv/)) ### Project Initialization If CLI is installed but project not initialized: `bash # Initialize in current directory specify init . --ai claude # Initialize new project specify init <project-name> --ai claude # Options: # --force: Overwrite non-empty directories # --script ps: Generate PowerShell scripts (Windows) # --no-git: Skip Git initialization ` --- <details> <summary>🔍 Phase Detection Logic</summary> ## Detecting Project State Before proceeding, always detect the current state: ### 1. CLI Installed? `bash if command -v specify &> /dev/null || [ -x "$HOME/.local/bin/specify" ]; then echo "CLI installed" else echo "CLI not installed - guide user through installation" fi ` ### 2. Project Initialized? `bash if [ -d ".specify" ] && [ -f ".specify/memory/constitution.md" ]; then echo "Project initialized" else echo "Project not initialized - guide user through 'specify init'" fi ` ### 3. Current Feature `bash # Get latest feature directory LATEST=$(ls -d .specify/specs/[0-9]* 2>/dev/null | sort -V | tail -1) echo "Latest feature: $LATEST" ` ### 4. Current Phase Detect phase by checking file existence in latest feature: `bash FEATURE_DIR=".specify/specs/001-feature-name" if [ ! -f ".specify/memory/constitution.md" ]; then echo "Phase: constitution" elif [ ! -d "$FEATURE_DIR" ]; then echo "Phase: specify" elif [ -f "$FEATURE_DIR/spec.md" ] && ! grep -q "## Clarifications" "$FEATURE_DIR/spec.md"; then echo "Phase: clarify" elif [ ! -f "$FEATURE_DIR/plan.md" ]; then echo "Phase: plan" elif [ ! -f "$FEATURE_DIR/tasks.md" ]; then echo "Phase: tasks" elif [ -f "$FEATURE_DIR/tasks.md" ] && grep -q "\\- \\[ \\]" "$FEATURE_DIR/tasks.md"; then echo "Phase: implement" else echo "Phase: complete" fi ` </details> <details> <summary>📜 Phase 1: Constitution</summary> ## Constitution Phase Establish foundational principles that govern all development decisions. ### Purpose Create .specify/memory/constitution.md with: - Project values and principles - Technical standards - Decision-making frameworks - Code quality expectations - Architecture guidelines ### Process 1. **Gather Context** - Understand project domain - Identify key stakeholders - Review existing standards (if any) 2. **Draft Constitution** - Core values and principles - Technical standards - Quality expectations - Decision criteria 3. **Structure** `markdown # Project Constitution ## Core Values 1. **[Value Name]**: [Description and implications] 2. **[Value Name]**: [Description and implications] ## Technical Principles ### Architecture - [Principle with rationale] ### Code Quality - [Standards and expectations] ### Performance - [Performance criteria] ## Decision Framework When making technical decisions, consider: 1. [Criterion with priority] 2. [Criterion with priority] ` 4. **Versioning** - Constitution can evolve - Track changes for governance - Review periodically ### Example Content ``markdown # Project Constitution ## Core Values 1. Simplicity Over Cleverness: Favor straightforward solutions that are easy to understand and maintain over