⚠️ IMPORTANT NOTICE: Development focus has shifted to the MCP (Model Context Protocol) version of this workflow system. The MCP version provides enhanced features, real-time dashboard, and broader AI tool compatibility.
🚀 View the new Spec Workflow MCP →
This Claude Code-specific version remains available for existing users but will receive limited updates.
Automated workflows for Claude Code with intelligent task execution.
Transform your development with structured workflows: Requirements → Design → Tasks → Implementation for new features, plus streamlined Report → Analyze → Fix → Verify for bug fixes.
npm i -g @pimzino/claude-code-spec-workflow
claude-code-spec-workflow
Complete automation in one command:
/spec-create feature-name "Description"
What happens: 1. Requirements → User stories + acceptance criteria 2. Design → Technical architecture + diagrams 3. Tasks → Atomic, agent-friendly breakdown 4. Commands → Auto-generated task commands (optional)
Execute tasks:
# Manual control
/spec-execute 1 feature-name
/feature-name-task-1 # Auto-generated
/bug-create issue-name "Description" # Document the bug
/bug-analyze # Find root cause
/bug-fix # Implement solution
/bug-verify # Confirm resolution
/spec-steering-setup # Creates product.md, tech.md, structure.md
📊 Spec Workflow Commands
| Command | Purpose |
|---|---|
/spec-steering-setup |
Create project context documents |
/spec-create <name> |
Complete spec workflow |
/spec-execute <task-id> |
Manual task execution |
/<name>-task-<id> |
Auto-generated task commands |
/spec-status |
Show progress |
/spec-list |
List all specs |
🐛 Bug Fix Commands
| Command | Purpose |
|---|---|
/bug-create <name> |
Document bug with structured format |
/bug-analyze |
Investigate root cause |
/bug-fix |
Implement targeted solution |
/bug-verify |
Verify resolution |
/bug-status |
Show bug fix progress |
4 AI agents for enhanced automation:
Core Workflow: spec-task-executor, spec-requirements-validator, spec-design-validator, spec-task-validator
Note: Agents are optional - everything works with built-in fallbacks.
get-steering-context, get-spec-context, and get-template-contextget-content when optimization unavailablenpx -p @pimzino/claude-code-spec-workflow claude-spec-dashboard
Share your dashboard securely with external stakeholders through temporary HTTPS URLs:
# Start dashboard with tunnel
npx -p @pimzino/claude-code-spec-workflow claude-spec-dashboard --tunnel
# With password protection
npx -p @pimzino/claude-code-spec-workflow claude-spec-dashboard --tunnel --tunnel-password mySecret123
# Choose specific provider
npx -p @pimzino/claude-code-spec-workflow claude-spec-dashboard --tunnel --tunnel-provider cloudflare
Tunnel Features: - 🔒 Secure HTTPS URLs - Share dashboard with managers, clients, or remote team members - 👁️ Read-Only Access - External viewers cannot modify any project data - 🔑 Optional Password - Protect access with password authentication - 🌐 Multiple Providers - Automatic fallback between Cloudflare and ngrok - 📊 Usage Analytics - Track who accessed your dashboard and when - ⏰ Auto-Expiration - Tunnels close when you stop the dashboard - 🚀 Zero Configuration - Works out of the box with built-in providers
# Setup in current directory
npx @pimzino/claude-code-spec-workflow
# Setup in specific directory
npx @pimzino/claude-code-spec-workflow --project /path/to/project
# Force overwrite existing files
npx @pimzino/claude-code-spec-workflow --force
# Skip confirmation prompts
npx @pimzino/claude-code-spec-workflow --yes
# Test the setup
npx @pimzino/claude-code-spec-workflow test
# Basic dashboard
npx -p @pimzino/claude-code-spec-workflow claude-spec-dashboard
# Dashboard with tunnel (share externally)
npx -p @pimzino/claude-code-spec-workflow claude-spec-dashboard --tunnel
# Full tunnel configuration
npx -p @pimzino/claude-code-spec-workflow claude-spec-dashboard \
--tunnel \
--tunnel-password mySecret123 \
--tunnel-provider cloudflare \
--port 3000 \
--open
Steering documents provide persistent project context that guides all spec development:
product.md)tech.md)structure.md)Run /spec-steering-setup to create these documents. Claude will analyze your project and help you define these standards.
your-project/
├── .claude/
│ ├── commands/ # 14 slash commands + auto-generated
│ ├── steering/ # product.md, tech.md, structure.md
│ ├── templates/ # Document templates
│ ├── specs/ # Generated specifications
│ ├── bugs/ # Bug fix workflows
│ └── agents/ # AI agents (enabled by default)
The package includes a built-in test command:
# Test setup in temporary directory
npx @pimzino/claude-code-spec-workflow test
❓ Command not found after NPX
# Make sure you're using the correct package name
npx @pimzino/claude-code-spec-workflow
❓ Setup fails with permission errors
# Try with different directory permissions
npx @pimzino/claude-code-spec-workflow --project ~/my-project
❓ Claude Code not detected
# Install Claude Code first
npm install -g @anthropic-ai/claude-code
# Show verbose output
DEBUG=* npx @pimzino/claude-code-spec-workflow
# Check package version
npx @pimzino/claude-code-spec-workflow --version
cd my-awesome-project
npx @pimzino/claude-code-spec-workflow
claude
# Type: /spec-create user-dashboard "User profile management"
# Setup multiple projects
for dir in project1 project2 project3; do
npx @pimzino/claude-code-spec-workflow --project $dir --yes
done
The dashboard frontend is fully implemented in TypeScript for enhanced type safety and developer experience:
// Core dashboard types
interface Project {
path: string;
name: string;
level: number;
hasActiveSession: boolean;
specs: Spec[];
bugs: Bug[];
steeringStatus?: SteeringStatus;
}
// WebSocket message types with discriminated unions
type WebSocketMessage =
| { type: 'initial'; data: InitialData }
| { type: 'update'; data: UpdateData }
| { type: 'error'; data: ErrorData }
| { type: 'tunnel-status'; data: TunnelStatusData };
# TypeScript compilation and bundling
npm run build:frontend:dev # Build frontend for development
npm run build:frontend:prod # Build frontend for production (minified)
npm run watch:frontend # Watch mode with auto-rebuild
npm run typecheck:frontend # Type checking only (no output)
npm run typecheck # Check both backend and frontend types
# Development workflow
npm run dev:dashboard # Start dashboard with hot reload (frontend + backend)
npm run dev:dashboard:backend-only # Start only backend (for frontend debugging)
# Full build process
npm run build # Complete build: TypeScript + frontend + static files
npm run lint # Lint TypeScript files with auto-fix
npm run format # Format code with Prettier
```typescript // Import dashboard types import type { Project, WebSocketMessage, AppState } from './dashboard.types';
// Type-safe project handling
function selectProject(project: Project): void {
console.log(Selected: ${project.name} (${project.specs.length} specs));
// Safe property access with optional chaining
const steeringCount = project.steeringStatus?.totalDocs ?? 0;
if (steeringCount > 0) {
console.log(Steering docs: ${steeringCount});
}
}
// WebSocket message handling with discriminated unions
function handleMessage(message: WebSocketMessage): void {
switch (message.type) {
case 'initial':
// TypeScript knows data is InitialData
console.log(Loaded ${message.data.projects.length} projects);
break;
case 'update':
// TypeScript knows data is UpdateData
console.log(Updated project: ${message.data.projectPath});
break;
case 'error':
// TypeScript knows data is ErrorData
console.error(Error: ${message.data.message});
break;
}
}
// Type guards for runtime validation function isValidProject(obj: unknown): obj is Project { return ( typeof obj === 'obje
$ claude mcp add claude-code-spec-workflow \
-- python -m otcore.mcp_server <graph>