speckit-implement

Execute the implementation plan by processing tasks from tasks.md phase-by-phase, following TDD order, respecting task dependencies and parallel markers, setting up ignore files, and marking completed tasks. Use when the plan and tasks are ready and the user wants to begin coding, or when resuming implementation after a pause.

261 stars

Best use case

speckit-implement is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Execute the implementation plan by processing tasks from tasks.md phase-by-phase, following TDD order, respecting task dependencies and parallel markers, setting up ignore files, and marking completed tasks. Use when the plan and tasks are ready and the user wants to begin coding, or when resuming implementation after a pause.

Execute the implementation plan by processing tasks from tasks.md phase-by-phase, following TDD order, respecting task dependencies and parallel markers, setting up ignore files, and marking completed tasks. Use when the plan and tasks are ready and the user wants to begin coding, or when resuming implementation after a pause.

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "speckit-implement" skill to help with this workflow task. Context: Execute the implementation plan by processing tasks from tasks.md phase-by-phase, following TDD order, respecting task dependencies and parallel markers, setting up ignore files, and marking completed tasks. Use when the plan and tasks are ready and the user wants to begin coding, or when resuming implementation after a pause.

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/speckit-implement/SKILL.md --create-dirs "https://raw.githubusercontent.com/partme-ai/full-stack-skills/main/skills/speckit-skills/speckit-implement/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/speckit-implement/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How speckit-implement Compares

Feature / Agentspeckit-implementStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Execute the implementation plan by processing tasks from tasks.md phase-by-phase, following TDD order, respecting task dependencies and parallel markers, setting up ignore files, and marking completed tasks. Use when the plan and tasks are ready and the user wants to begin coding, or when resuming implementation after a pause.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Spec Kit Implement Skill

## When to Use

- The plan and tasks are complete and you are ready to implement.

## Inputs

- `specs/<feature>/tasks.md` and `plan.md`
- Optional artifacts: `data-model.md`, `contracts/`, `research.md`, `quickstart.md`
- User constraints (e.g., scope, testing expectations)

If tasks are missing or incomplete, ask the user to run speckit-tasks first.

## Workflow

1. Run `.specify/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks` from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").

2. **Check checklists status** (if FEATURE_DIR/checklists/ exists):
   - Scan all checklist files in the checklists/ directory
   - For each checklist, count:
     - Total items: All lines matching `- [ ]` or `- [X]` or `- [x]`
     - Completed items: Lines matching `- [X]` or `- [x]`
     - Incomplete items: Lines matching `- [ ]`
   - Create a status table:

     ```text
     | Checklist | Total | Completed | Incomplete | Status |
     |-----------|-------|-----------|------------|--------|
     | ux.md     | 12    | 12        | 0          | ✓ PASS |
     | test.md   | 8     | 5         | 3          | ✗ FAIL |
     | security.md | 6   | 6         | 0          | ✓ PASS |
     ```

   - Calculate overall status:
     - **PASS**: All checklists have 0 incomplete items
     - **FAIL**: One or more checklists have incomplete items

   - **If any checklist is incomplete**:
     - Display the table with incomplete item counts
     - **STOP** and ask: "Some checklists are incomplete. Do you want to proceed with implementation anyway? (yes/no)"
     - Wait for user response before continuing
     - If user says "no" or "wait" or "stop", halt execution
     - If user says "yes" or "proceed" or "continue", proceed to step 3

   - **If all checklists are complete**:
     - Display the table showing all checklists passed
     - Automatically proceed to step 3

3. Load and analyze the implementation context:
   - **REQUIRED**: Read tasks.md for the complete task list and execution plan
   - **REQUIRED**: Read plan.md for tech stack, architecture, and file structure
   - **IF EXISTS**: Read data-model.md for entities and relationships
   - **IF EXISTS**: Read contracts/ for API specifications and test requirements
   - **IF EXISTS**: Read research.md for technical decisions and constraints
   - **IF EXISTS**: Read quickstart.md for integration scenarios

4. **Project Setup Verification**:
   - **REQUIRED**: Create/verify ignore files based on actual project setup:

   **Detection & Creation Logic**:
   - Check if the following command succeeds to determine if the repository is a git repo (create/verify .gitignore if so):

     ```sh
     git rev-parse --git-dir 2>/dev/null
     ```

   - Check if Dockerfile\* exists or Docker in plan.md → create/verify .dockerignore
   - Check if .eslintrc\* exists → create/verify .eslintignore
   - Check if eslint.config.\* exists → ensure the config's `ignores` entries cover required patterns
   - Check if .prettierrc\* exists → create/verify .prettierignore
   - Check if .npmrc or package.json exists → create/verify .npmignore (if publishing)
   - Check if terraform files (\*.tf) exist → create/verify .terraformignore
   - Check if .helmignore needed (helm charts present) → create/verify .helmignore

   **If ignore file already exists**: Verify it contains essential patterns, append missing critical patterns only
   **If ignore file missing**: Create with full pattern set for detected technology

   **Common Patterns by Technology** (from plan.md tech stack):
   - **Node.js/JavaScript/TypeScript**: `node_modules/`, `dist/`, `build/`, `*.log`, `.env*`
   - **Python**: `__pycache__/`, `*.pyc`, `.venv/`, `venv/`, `dist/`, `*.egg-info/`
   - **Java**: `target/`, `*.class`, `*.jar`, `.gradle/`, `build/`
   - **C#/.NET**: `bin/`, `obj/`, `*.user`, `*.suo`, `packages/`
   - **Go**: `*.exe`, `*.test`, `vendor/`, `*.out`
   - **Ruby**: `.bundle/`, `log/`, `tmp/`, `*.gem`, `vendor/bundle/`
   - **PHP**: `vendor/`, `*.log`, `*.cache`, `*.env`
   - **Rust**: `target/`, `debug/`, `release/`, `*.rs.bk`, `*.rlib`, `*.prof*`, `.idea/`, `*.log`, `.env*`
   - **Kotlin**: `build/`, `out/`, `.gradle/`, `.idea/`, `*.class`, `*.jar`, `*.iml`, `*.log`, `.env*`
   - **C++**: `build/`, `bin/`, `obj/`, `out/`, `*.o`, `*.so`, `*.a`, `*.exe`, `*.dll`, `.idea/`, `*.log`, `.env*`
   - **C**: `build/`, `bin/`, `obj/`, `out/`, `*.o`, `*.a`, `*.so`, `*.exe`, `Makefile`, `config.log`, `.idea/`, `*.log`, `.env*`
   - **Swift**: `.build/`, `DerivedData/`, `*.swiftpm/`, `Packages/`
   - **R**: `.Rproj.user/`, `.Rhistory`, `.RData`, `.Ruserdata`, `*.Rproj`, `packrat/`, `renv/`
   - **Universal**: `.DS_Store`, `Thumbs.db`, `*.tmp`, `*.swp`, `.vscode/`, `.idea/`

   **Tool-Specific Patterns**:
   - **Docker**: `node_modules/`, `.git/`, `Dockerfile*`, `.dockerignore`, `*.log*`, `.env*`, `coverage/`
   - **ESLint**: `node_modules/`, `dist/`, `build/`, `coverage/`, `*.min.js`
   - **Prettier**: `node_modules/`, `dist/`, `build/`, `coverage/`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`
   - **Terraform**: `.terraform/`, `*.tfstate*`, `*.tfvars`, `.terraform.lock.hcl`
   - **Kubernetes/k8s**: `*.secret.yaml`, `secrets/`, `.kube/`, `kubeconfig*`, `*.key`, `*.crt`

5. Parse tasks.md structure and extract:
   - **Task phases**: Setup, Tests, Core, Integration, Polish
   - **Task dependencies**: Sequential vs parallel execution rules
   - **Task details**: ID, description, file paths, parallel markers [P]
   - **Execution flow**: Order and dependency requirements

6. Execute implementation following the task plan:
   - **Phase-by-phase execution**: Complete each phase before moving to the next
   - **Respect dependencies**: Run sequential tasks in order, parallel tasks [P] can run together
   - **Follow TDD approach**: Execute test tasks before their corresponding implementation tasks
   - **File-based coordination**: Tasks affecting the same files must run sequentially
   - **Validation checkpoints**: Verify each phase completion before proceeding

7. Implementation execution rules:
   - **Setup first**: Initialize project structure, dependencies, configuration
   - **Tests before code**: If you need to write tests for contracts, entities, and integration scenarios
   - **Core development**: Implement models, services, CLI commands, endpoints
   - **Integration work**: Database connections, middleware, logging, external services
   - **Polish and validation**: Unit tests, performance optimization, documentation

8. Progress tracking and error handling:
   - Report progress after each completed task
   - Halt execution if any non-parallel task fails
   - For parallel tasks [P], continue with successful tasks, report failed ones
   - Provide clear error messages with context for debugging
   - Suggest next steps if implementation cannot proceed
   - **IMPORTANT** For completed tasks, make sure to mark the task off as [X] in the tasks file.

9. Completion validation:
   - Verify all required tasks are completed
   - Check that implemented features match the original specification
   - Validate that tests pass and coverage meets requirements
   - Confirm the implementation follows the technical plan
   - Report final status with summary of completed work

Note: This skill assumes a complete task breakdown exists in tasks.md. If tasks are incomplete or missing, suggest running speckit-tasks first to regenerate the task list.

## Outputs

- Implementation changes in the codebase
- Updated `specs/<feature>/tasks.md` with completed tasks checked off
- Any generated/updated ignore files (e.g., `.gitignore`, `.dockerignore`, `.eslintignore`, `.prettierignore`)

Related Skills

speckit-taskstoissues

261
from partme-ai/full-stack-skills

Convert tasks.md entries into GitHub issues in the matching remote repository using gh issue create, preserving task IDs for traceability. Use when the user wants to create GitHub issues from an existing tasks.md, needs issue tracking for implementation tasks, or wants to sync task progress with GitHub project boards.

speckit-tasks

261
from partme-ai/full-stack-skills

Generate a dependency-ordered tasks.md organized by user story, with phased execution (Setup, Foundational, User Stories, Polish), parallel markers, and strict checklist format (checkbox, TaskID, Story label, file path). Use when the implementation plan is ready and the user needs an executable task breakdown before coding.

speckit-specify

261
from partme-ai/full-stack-skills

Create or update a feature specification from a natural language description by generating a branch, filling the spec template with user stories, functional requirements, success criteria, and running quality validation. Use when the user provides a feature idea and needs a structured, technology-agnostic spec ready for planning.

speckit-plan

261
from partme-ai/full-stack-skills

Generate a technical implementation plan from a feature spec by filling the plan template, resolving unknowns via research, producing data-model.md, API contracts, and quickstart.md artifacts. Use when the feature spec is ready and the user needs architecture decisions, data models, API schemas, or a structured plan before task generation.

speckit-install

261
from partme-ai/full-stack-skills

Install the Specify CLI on the host machine (uv tool install or uvx one-time); supports multiple OS, persistent or one-time install, and corporate or restricted-network environments. Use when the user says "install Spec Kit", "install Specify CLI", or "specify command not found".

speckit-initial

261
from partme-ai/full-stack-skills

Run `specify init` in the current or target directory to bootstrap a Spec Kit project (pull .specify/ and slash commands); supports multiple AI agents and --script sh/ps. Use when the user says "initialize Spec Kit project", "specify init", or "set up Spec Kit in this repo".

speckit-constitution

261
from partme-ai/full-stack-skills

Create or update the project constitution at .specify/memory/constitution.md by collecting governance principles, filling template placeholders, versioning with semver, and propagating changes to dependent templates and agent config files. Use when setting up initial project governance, amending principles, or syncing constitution changes across spec/plan/tasks templates.

speckit-clarify

261
from partme-ai/full-stack-skills

Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.

speckit-checklist

261
from partme-ai/full-stack-skills

Generate a requirements-quality checklist ('unit tests for English') that validates completeness, clarity, consistency, and measurability of spec/plan/tasks artifacts. Use when the user needs a quality gate before implementation, wants to audit requirement coverage, or needs domain-specific checklists (UX, API, security, performance).

speckit-analyze

261
from partme-ai/full-stack-skills

Perform a read-only cross-artifact consistency analysis across spec.md, plan.md, and tasks.md, detecting duplications, ambiguities, coverage gaps, and constitution violations with severity ratings. Use when the user has all three artifacts and needs a quality check before implementation, or wants to identify inconsistencies across specifications.

speckit-check

254
from partme-ai/full-stack-skills

Run `specify check` to verify that Spec Kit required tools (git, claude, gemini, code, cursor-agent, windsurf, qwen, opencode, codex, shai, qoder, etc.) are installed and available; interpret results and suggest next steps. Use when the user says "check Spec Kit environment", "specify not working", or "slash commands not showing".

speckit-baseline

254
from partme-ai/full-stack-skills

Generate a technology-agnostic feature specification by analyzing existing source code, extracting user stories, functional requirements, and acceptance criteria from code patterns. Use when the user needs to document an existing or legacy codebase, create a spec before refactoring, or reverse-engineer requirements from source files.