Skip to content

Repository files navigation

Speck

Claude Code-Native Spec-Driven Development

Version License Bun Claude Code

Speck is a specification-driven development framework that brings GitHub's spec-kit methodology to Claude Code. It provides slash commands, a natural language skill, and a CLI to help teams structure feature development through a disciplined three-phase workflow: Specify what you're building, Plan how you'll build it, Implement the plan.

The Workflow

┌─────────────┐      ┌─────────────┐      ┌─────────────┐
│   SPECIFY   │  →   │    PLAN     │  →   │  IMPLEMENT  │
└─────────────┘      └─────────────┘      └─────────────┘
     What?               How?               Execute

Define what you're building (stakeholder-friendly, technology-agnostic), design how you'll build it (architecture, contracts, tech stack), then execute with dependency-ordered tasks.

Features

  • Three-phase workflow — Structured specify → plan → implement cycle inherited from spec-kit
  • Claude Code plugin — Native slash commands (/speck.specify, /speck.plan, etc.)
  • Natural language skill — Ask questions about your specs, plans, and tasks
  • Dual-mode CLI — Same commands work in Claude Code and terminal
  • Multi-repo support — Share specifications across repositories
  • Worktree integration — Work on multiple features in parallel with automatic IDE launch
  • spec-kit compatible — 100% file format compatibility, easy migration

Quick Start

Install the Plugin (2 minutes)

  1. Open Claude Code in your project:

    claude
  2. Open plugin manager:

    /plugin
    
  3. Add the marketplace:

    • Select "Manage marketplaces" → "Add marketplace"
    • Enter: speck-market
  4. Install Speck:

    • Select "speck-market" → "speck" → "Install"

Create Your First Spec

/speck.specify Add user authentication with email and password login

Speck generates a structured specification in specs/001-user-authentication/spec.md with user stories, requirements, and success criteria.

See the Quick Start Guide for detailed setup including optional worktree integration.

Core Commands

Command Description
/speck.specify Create or update a feature specification
/speck.clarify Resolve ambiguities with targeted questions
/speck.plan Generate implementation plan and design artifacts
/speck.tasks Break down into dependency-ordered tasks
/speck.implement Execute tasks automatically
/speck.help Load the Speck skill for Q&A

See the Commands Reference for all commands and options.

Speck Skill

In addition to slash commands, ask Speck questions naturally:

What user stories are in this spec?
What's the technical approach in the plan?
What tasks are pending?

Rule of thumb: Skill for questions, commands for actions.

Advanced Features

Feature Description
Speck Reviewer Cluster-based PR reviews with spec awareness — Learn more
Multi-Repo Share specs across microservices or frontend/backend splits — Learn more
Worktrees Work on multiple features simultaneously with IDE auto-launch — Learn more
Monorepos Manage workspace projects with shared specifications — Learn more
spec-kit 100% file format compatible with GitHub's spec-kit — Learn more

Project Structure

.claude/
├── commands/          # Slash commands (/speck.*)
├── agents/            # Subagents for complex workflows
└── skills/            # Natural language skill

plugins/speck/         # Deployable Speck plugin
├── scripts/           # CLI implementations
├── commands/          # Slash command definitions
└── skills/            # Skill definitions

packages/
├── common/            # Shared utilities (@speck/common)
└── maintainer/        # Maintainer tools (@speck/maintainer)

.speck/                # User project config (runtime)
└── config.json        # Worktree and IDE settings

specs/                 # Feature specifications (spec.md, plan.md, tasks.md)
website/               # Documentation site source

Contributing & Customization

Fork for Customization

Speck is designed to be forked and customized. Teams can adapt templates, commands, and workflows to match their development practices. The upstream transform process works for forks too—you can stay synced with spec-kit releases while maintaining your customizations.

Upstream Transform Process

Speck stays aligned with GitHub's spec-kit through an automated transform process:

Your Fork ← Transform ← spec-kit upstream

Commands for syncing:

  • /speck.check-upstream — Check for new spec-kit releases
  • /speck.pull-upstream — Fetch upstream content to upstream/
  • /speck.transform-upstream — Convert bash scripts to Bun TypeScript

Forks can use this same process to pull Speck updates while preserving local customizations.

Pull Requests Welcome

PRs with new features, bug fixes, and documentation improvements are welcome!

A note on scope: Speck is opinionated and Claude-native by design. We prioritize deep Claude Code integration over multi-agent compatibility. Features that dilute this focus or add complexity without Claude-specific benefit may not be accepted.

Good PR candidates:

  • Bug fixes and performance improvements
  • Claude Code integrations and optimizations
  • Documentation and examples
  • Template improvements

For larger features, please open an issue first to discuss the approach.

Development

Prerequisites

  • Bun 1.0+
  • Git 2.30+
  • Node 18+ (for some tooling)

Setup

git clone https://github.com/nprbst/speck.git
cd speck
bun install

Common Commands

bun test              # Run tests
bun run lint          # Lint code
bun run typecheck     # Type check
bun run preflight     # Full check before PR
bun run website:dev   # Local docs site (localhost:4321)

Code Style

  • TypeScript 5.3+ with strict mode
  • Follow existing patterns in the codebase
  • Run bun run fix before committing

Documentation

Acknowledgments

Speck builds on GitHub's excellent spec-kit project, extending its specification-driven methodology for Claude Code users. We're grateful to the spec-kit team for creating this foundation.

For teams using other AI assistants or working outside Claude Code, spec-kit remains the canonical choice.

License

MIT

About

Speck is an opinionated, extensible derivative of `github/spec-kit` optimized for Claude Code.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages