Skip to content
/

claude-code-spec-workflow (Pimzino)

claude-code-spec-workflow · Pimzino/claude-code-spec-workflow · ★ 3.7k · last commit 2025-09-07

Two-workflow Claude Code spec harness: structured feature development plus dedicated bug-fix pipeline, with a real-time dashboard and Tauri desktop app for team visibility.

Best whenBug fixes deserve their own dedicated four-phase workflow separate from feature development, not a simplified version of the same spec pipeline.
Skip ifSkipping steering document setup before starting specs, Implementing multiple tasks in a single session without stopping for review
vs seeds
spec-kitin its mirrored command-per-phase structure (EARS requirements, design, tasks triplet) but targets Claude Code exclusive…
Primitive shape 14 total
Commands 10 Subagents 4
00

Summary

claude-code-spec-workflow — Summary

claude-code-spec-workflow (Pimzino) is a spec-driven development harness for Claude Code delivered as an npm package (@pimzino/claude-code-spec-workflow) that installs 10 slash commands, 4 specialized agents, a Tauri desktop app, and a real-time WebSocket dashboard into any project. Its two-workflow architecture separates new feature development (Requirements → Design → Tasks → Implementation) from quick bug resolution (Report → Analyze → Fix → Verify), with project steering documents (product.md, tech.md, structure.md) providing persistent cross-session context. A context-optimization layer (get-steering-context, get-spec-context, get-template-context) claims 60–80% token reduction by caching document content within a session. The project's README explicitly states that development focus has shifted to the MCP version (spec-workflow-mcp), making this the legacy variant. Version 1.5.9 was the last analyzed, with last commit in September 2025.

Differs from seeds: Most similar to spec-kit (GitHub) in its mirrored command+spec structure for each workflow phase, but this project targets Claude Code exclusively (single-tool) rather than multi-agent. Unlike spec-kit's Python CLI, claude-code-spec-workflow ships a full Tauri desktop app and Node.js dashboard server in addition to slash commands. Compared to kiro, it replaces Kiro's IDE-native hooks with optional Claude Code agents. Compared to superpowers, it provides explicit bug-fix and spec-create commands rather than session-wide Iron Laws.

01

Overview

claude-code-spec-workflow — Overview

Origin

Created by Pimzino (pimzino). First published as a Claude Code-specific slash-command package; later superseded by the MCP-based spec-workflow-mcp. README states: "Development focus has shifted to the MCP version of this workflow system. The MCP version provides enhanced features, real-time dashboard, and broader AI tool compatibility. This Claude Code-specific version remains available for existing users but will receive limited updates." Last meaningful commit: September 2025. Version 1.5.9.

Philosophy (From README)

"Transform your development with structured workflows: Requirements → Design → Tasks → Implementation for new features, plus streamlined Report → Analyze → Fix → Verify for bug fixes."

"Triple optimization commands — get-steering-context, get-spec-context, and get-template-context — eliminates redundant document fetching across all document types."

Key Design Choices

  1. Dual workflow — explicit separation between new feature development and bug resolution. Most frameworks treat bug fixes as a simplified feature; this one gives bugs a dedicated four-step workflow with its own commands.

  2. Context optimization layer — three helper commands (get-steering-context, get-spec-context, get-template-context) create a session-level cache of frequently-read documents to reduce token usage. Novel for a slash-command framework.

  3. Auto-generated task commands — after tasks.md is approved, the workflow optionally generates a dedicated slash command per task (e.g., /{feature-name}-task-{id}), allowing granular execution without passing arguments.

  4. Optional agents — four specialized Claude Code subagents (spec-task-executor, spec-requirements-validator, spec-design-validator, spec-task-validator) enhance workflow but degrade gracefully to manual prompts if absent.

  5. Real-time dashboard — Node.js + WebSocket server with a frontend build (esbuild); also ships a Tauri desktop app variant (src-tauri/).

Antipatterns

  • Combining task generation with implementation in a single session (explicit workflow separation is enforced)
  • Skipping steering document setup before starting specs
02

Architecture

claude-code-spec-workflow — Architecture

Distribution

  • npm package: @pimzino/claude-code-spec-workflow v1.5.9
  • CLI binaries (from package.json bin field):
    • claude-code-spec-workflow — main setup installer
    • claude-spec-setup — alias for setup installer
    • claude-spec-dashboard — launches the dashboard server
  • Tauri desktop app source in src-tauri/ (not published as binary; must be built locally)
  • TypeScript source in src/; compiled to dist/

Install

npm i -g @pimzino/claude-code-spec-workflow
claude-code-spec-workflow    # in project directory — installs .claude/ structure

Directory Tree (installed into project)

.claude/
  commands/
    spec-create.md
    spec-execute.md
    spec-steering-setup.md
    spec-status.md
    spec-list.md
    bug-create.md
    bug-analyze.md
    bug-fix.md
    bug-verify.md
    bug-status.md
  agents/
    spec-task-executor.md
    spec-requirements-validator.md
    spec-design-validator.md
    spec-task-validator.md
  specs/
    {feature-name}/
      requirements.md
      design.md
      tasks.md
  bugs/
    {issue-name}/
      bug-report.md
      analysis.md
      fix-summary.md
  steering/
    product.md
    tech.md
    structure.md
  templates/
    tasks-template.md
    requirements-template.md
    design-template.md
    bug-template.md

Required Runtime

  • Node.js ≥ 18
  • Claude Code agent (Claude Code-specific; not multi-agent)

Target AI Tools

Claude Code only (single-tool).

03

Components

claude-code-spec-workflow — Components

Slash Commands (10)

Spec Workflow (5)

Command Purpose
/spec-steering-setup Create project context documents (product.md, tech.md, structure.md)
/spec-create <name> [desc] Run full spec workflow: requirements → design → tasks → optional task command generation
/spec-execute [task-id] [feature] Execute a specific task from the approved task list
/spec-status Show progress for a given spec
/spec-list List all specs and their current phase

Bug Fix Workflow (5)

Command Purpose
/bug-create <name> [desc] Document a bug with structured format
/bug-analyze Investigate root cause of the documented bug
/bug-fix Implement targeted fix based on analysis
/bug-verify Verify the bug is resolved
/bug-status Show current bug fix progress

Context Optimization Commands (3, auto-invoked)

Command Purpose
get-steering-context Batch-load all steering documents with session caching
get-spec-context Batch-load all spec documents (requirements + design + tasks)
get-template-context Bulk-load all template files

Agents (4, optional)

Agent Purpose
spec-task-executor Loads full spec context and implements one task atomically
spec-requirements-validator Validates requirements.md for structure, user stories, EARS criteria, steering alignment; rates PASS/NEEDS_IMPROVEMENT/MAJOR_ISSUES
spec-design-validator Validates design.md for architecture completeness
spec-task-validator Validates tasks.md for traceability and atomicity

CLI Binaries (3)

Binary Purpose
claude-code-spec-workflow Project setup installer — installs .claude/ structure
claude-spec-setup Alias for setup installer
claude-spec-dashboard Launch dashboard server (dist/dashboard/cli.js)

Dashboard

  • Node.js + WebSocket server (src/dashboard/)
  • Browser frontend built with esbuild
  • Tauri desktop app in src-tauri/ for standalone use

Auto-Generated Commands

After tasks.md approval, the workflow can generate per-task slash commands: /{feature-name}-task-{id} — directly executes a specific task without needing /spec-execute task-id feature-name

05

Prompts

claude-code-spec-workflow — Prompts

Excerpt 1: spec-create.md — Sequential Phase Enforcement

Source: .claude/commands/spec-create.md

Prompting technique: Imperative MUST/MUST NOT constraint list; sequential-phase enforcement via explicit CRITICAL warnings; explicit codebase-analysis step before writing requirements.

## Workflow Philosophy

You are an AI assistant that specializes in spec-driven development. Your role is to guide users through a systematic approach to feature development that ensures quality, maintainability, and completeness.

### Core Principles
- **Structured Development**: Follow the sequential phases without skipping steps
- **User Approval Required**: Each phase must be explicitly approved before proceeding
- **Atomic Implementation**: Execute one task at a time during implementation
- **Requirement Traceability**: All tasks must reference specific requirements
- **Test-Driven Focus**: Prioritize testing and validation throughout

## Complete Workflow Sequence

**CRITICAL**: Follow this exact sequence - do NOT skip steps:

1. **Requirements Phase** (Phase 1)
   - Create requirements.md using template
   - Get user approval
   - Proceed to design phase

2. **Design Phase** (Phase 2)
   - Create design.md using template
   - Get user approval
   - Proceed to tasks phase

3. **Tasks Phase** (Phase 3)
   - Create tasks.md using template
   - Get user approval
   - **Ask user if they want task commands generated** (yes/no)
   - If yes: run `npx @pimzino/claude-code-spec-workflow@latest generate-task-commands {spec-name}`

4. **Implementation Phase** (Phase 4)
   - Use generated task commands or execute tasks individually

Excerpt 2: spec-execute.md — Single-Task Execution Protocol

Source: .claude/commands/spec-execute.md

Prompting technique: Explicit stop rule enforced as CRITICAL; agent-first with manual fallback; task completion protocol as named procedure.

## Task Completion Protocol
When completing any task during `/spec-execute`:
   1. **Update tasks.md**: Change task status from `- [ ]` to `- [x]`
   2. **Confirm to user**: State clearly "Task X has been marked as complete"
   3. **Stop execution**: Do not proceed to next task automatically
   4. **Wait for instruction**: Let user decide next steps

Excerpt 3: spec-requirements-validator agent — Quality Gate Definition

Source: .claude/commands/spec-create.md (describes agent invocation)

Prompting technique: Delegated validation with structured quality rating rubric (PASS / NEEDS_IMPROVEMENT / MAJOR_ISSUES).

### Requirements Validation and Approval
- **Automatic Validation (if agent available)**: FIRST use the `spec-requirements-validator` agent to validate the requirements:

Use the spec-requirements-validator agent to validate the requirements document for the {feature-name} specification.

The agent should:
1. Read the requirements document from .claude/specs/{feature-name}/requirements.md
2. Validate against all quality criteria (structure, user stories, acceptance criteria, etc.)
3. Check alignment with steering documents (product.md, tech.md, structure.md)
4. Provide specific feedback and improvement suggestions
5. Rate the overall quality as PASS, NEEDS_IMPROVEMENT, or MAJOR_ISSUES
09

Uniqueness

claude-code-spec-workflow — Uniqueness and Positioning

Differs from Seeds

Most similar to spec-kit (GitHub) in its mirrored command-per-phase structure (both use EARS requirements, design, tasks triplet). Key deltas: claude-code-spec-workflow targets Claude Code exclusively (vs spec-kit's 15+ agents), ships a real-time WebSocket dashboard + Tauri desktop app (spec-kit has none), and adds an explicit bug-fix workflow as a first-class artifact (spec-kit focuses only on feature development). Compared to kiro, this is a command-pack installed in Claude Code rather than a full IDE; it replicates Kiro's three-phase spec flow without Kiro's hook system or steering file mechanics. Compared to superpowers, it uses explicit slash commands rather than Iron Law skills, and provides a dedicated dashboard for team observability. The spec-workflow-mcp successor (analyzed separately) adds MCP-protocol multi-tool support, showing the evolutionary pressure from single-tool to cross-tool portability.

Distinctive Positioning

  1. Dual-workflow: The dedicated bug-fix workflow (/bug-create/bug-analyze/bug-fix/bug-verify) is not present in any other framework in the corpus; most treat bugs as degenerate features.
  2. Context optimization layer: The get-steering-context/get-spec-context/get-template-context cache commands are unique — no other framework in the batch implements session-level token reduction explicitly.
  3. Auto-generated task commands: Generating /{feature}-task-{id} commands from the approved tasks.md gives each task its own slash command entry point — useful for teams where different people execute different tasks.
  4. Tauri desktop app: Shipping a native desktop wrapper around the dashboard is architecturally unusual for a spec-framework; most are purely terminal or web.

Observable Failure Modes

  1. Legacy status: README explicitly says development focus moved to the MCP version. Feature rot expected.
  2. Single-tool lock-in: Claude Code only — any team using Cursor, Copilot, or Windsurf must use the MCP version.
  3. Dashboard ephemerality: File-watcher state resets on server restart; if the dashboard crashes mid-session, task completion tracking is lost until files are re-read.
  4. No approval-state persistence: The spec has no spec.json or equivalent — phase completion is inferred from file existence and checkbox state. Resuming after interruption requires manual inspection.
  5. Agent optional: The four validator agents degrade gracefully but silently — if unavailable, quality gates are skipped without notification.
04

Workflow

claude-code-spec-workflow — Workflow

Spec Workflow Phases

Phase Command Artifact
0. Steering /spec-steering-setup .claude/steering/product.md, tech.md, structure.md
1. Requirements /spec-create (Phase 1) .claude/specs/{feature}/requirements.md
2. Design /spec-create (Phase 2) .claude/specs/{feature}/design.md
3. Tasks /spec-create (Phase 3) .claude/specs/{feature}/tasks.md
3a. Task Commands (optional) /spec-create auto-trigger /{feature}-task-{id} commands
4. Implementation /spec-execute <id> Code changes

Bug Fix Workflow Phases

Phase Command Artifact
1. Report /bug-create .claude/bugs/{issue}/bug-report.md
2. Analyze /bug-analyze .claude/bugs/{issue}/analysis.md
3. Fix /bug-fix Code changes + .claude/bugs/{issue}/fix-summary.md
4. Verify /bug-verify Verification result

Approval Gates

Gate Type Description
After requirements freetext-clarify Agent validates with spec-requirements-validator, then asks user for explicit approval
After design freetext-clarify Agent validates with spec-design-validator, then asks user for explicit approval
After tasks freetext-clarify + yes-no Validator runs, user approves; then user asked if they want auto-generated task commands
Per task execution typed-confirm After each /spec-execute, agent stops and waits before proceeding to next task

Spec-Create Phase Sequence (from spec-create.md)

CRITICAL: Follow this exact sequence - do NOT skip steps:

1. Requirements Phase (Phase 1)
   - Create requirements.md using template
   - Get user approval
   - Proceed to design phase

2. Design Phase (Phase 2)
   - Create design.md using template
   - Get user approval
   - Proceed to tasks phase

3. Tasks Phase (Phase 3)
   - Create tasks.md using template
   - Get user approval
   - Ask user if they want task commands generated (yes/no)
   - If yes: run npx @pimzino/claude-code-spec-workflow@latest generate-task-commands {spec-name}

4. Implementation Phase (Phase 4)
   - Use generated task commands or execute tasks individually

Task Execution Rules (from spec-execute.md)

  • Focus on ONE task at a time — never implement multiple tasks
  • Mark task complete in tasks.md by changing [ ] to [x]
  • Confirm to user "Task X has been marked as complete"
  • Stop execution and wait for instruction
  • Never proceed to next task automatically
06

Memory Context

claude-code-spec-workflow — Memory and Context

State Storage

File-based under .claude/:

File Content
.claude/specs/{feature}/requirements.md Feature requirements with EARS acceptance criteria
.claude/specs/{feature}/design.md Technical design doc
.claude/specs/{feature}/tasks.md Task list with checkbox completion status
.claude/bugs/{issue}/bug-report.md Bug documentation
.claude/bugs/{issue}/analysis.md Root cause analysis
.claude/bugs/{issue}/fix-summary.md Fix summary
.claude/steering/product.md Product vision and goals
.claude/steering/tech.md Technical standards
.claude/steering/structure.md Project structure conventions

Persistence Level

project — all state lives under .claude/ in the repository.

Context Optimization (Novel Feature)

Three helper commands provide session-level document caching:

  • get-steering-context — loads all steering documents; uses smart change detection to avoid re-loading unchanged files
  • get-spec-context — loads requirements.md + design.md + tasks.md for a given spec
  • get-template-context — bulk-loads all templates (high redundancy reduction claimed: 60-80% token reduction)

The optimization uses session-based caching with file change detection. When a file hasn't changed since last load, the cached version is returned rather than re-reading from disk.

Cross-Session Handoff

Yes — phase state is tracked via task checkbox status in tasks.md and file existence (if design.md exists, requirements phase is complete).

Context Compaction

Not explicitly addressed. The context optimization layer reduces token usage per-call but does not address context window overflow for long sessions.

Dashboard State

The Node.js dashboard server maintains in-memory state about spec status (tasks completed, progress bars) via file watching (src/dashboard/watcher.ts). This is ephemeral and resets on server restart; the authoritative state is the file system.

07

Orchestration

claude-code-spec-workflow — Orchestration

Multi-Agent

Yes — 4 optional validation agents (spec-requirements-validator, spec-design-validator, spec-task-validator, spec-task-executor). The main workflow degrades gracefully to single-agent mode if agents are unavailable.

Orchestration Pattern

sequential — spec phases run strictly in order; one task at a time in implementation.

Multi-Model

No — all agents use whatever Claude Code is configured with. No role-based model routing.

Isolation Mechanism

None — all file edits in-place. No worktree or container isolation.

Subagent Definition Format

skill-md — agent definitions are markdown files in .claude/agents/.

Execution Mode

interactive-loop — each phase waits for user approval before continuing. Implementation is manual-step (one task, then wait).

Prompt Chaining

Yes — each phase explicitly reads prior artifacts:

  • Design phase reads requirements.md
  • Tasks phase reads requirements.md + design.md
  • Implementation reads all three spec files

Consensus Mechanism

None.

Max Concurrent Agents

1 — strictly sequential.

Cross-Tool Portability

Single-tool (Claude Code only). The MCP successor (spec-workflow-mcp) adds cross-tool support.

08

Ui Cli Surface

claude-code-spec-workflow — UI, CLI, and Surface

CLI Binaries (3)

Binary Purpose Is Thin Wrapper
claude-code-spec-workflow Project setup installer No — own TypeScript runtime
claude-spec-setup Alias for above No
claude-spec-dashboard Launches dashboard server No — own Node.js server

Real-Time Dashboard

  • Type: web-dashboard
  • Port: 8247 (default; configurable via --port)
  • Tech stack: Node.js + WebSocket server + esbuild-compiled browser frontend
  • Features: Live spec progress tracking, task completion status, WebSocket updates, git integration
  • Launch: npx -p @pimzino/claude-code-spec-workflow claude-spec-dashboard
  • Source: src/dashboard/ (server), src/dashboard/client/ (browser frontend)

Tauri Desktop App

  • Type: desktop-app
  • Tech stack: Tauri + Rust + embedded browser view
  • Source: src-tauri/ (must be built from source; not distributed as pre-built binary)
  • Features: Same dashboard as the web version, in a native window

IDE Integration

Claude Code slash commands (.claude/commands/) — native Claude Code integration.

Observability

  • Dashboard provides real-time task progress and spec status
  • No dedicated audit log
  • Task completion tracked via checkbox state in tasks.md
  • File watcher (src/dashboard/watcher.ts) monitors spec files for changes

Note on Legacy Status

README states development focus has shifted to spec-workflow-mcp. Dashboard and Tauri app features were the primary driver for that migration.

Related frameworks

same archetype · same primary tool · same memory type

Claude-Flow / Ruflo ★ 55k

Eliminates single-agent context limits and sequential bottlenecks by orchestrating fault-tolerant swarms of specialized AI agents…

Hermes Agent (NousResearch) ★ 168k

Self-improving personal AI agent with closed learning loop, 7 terminal backends, and messaging gateway — not tied to any AI…

OpenCode ★ 165k

Terminal-first AI coding agent with multi-model routing, native desktop app, and a typed .opencode/ configuration system for…

OpenHands ★ 75k

Open-source AI software development platform (open-source Devin alternative) with Docker sandbox isolation, 77.6% SWE-bench…

DeerFlow ★ 70k

Long-horizon superagent that researches, codes, and creates by orchestrating parallel sub-agents with isolated contexts in Docker…

oh-my-openagent (omo) ★ 60k

Multi-provider AI agent orchestration for OpenCode: escape vendor lock-in by routing Sisyphus (Claude/Kimi/GLM) and Hephaestus…