Feature Workflow Generation
Purpose
Generate feature-by-feature implementation workflows that map features from features.json to tech-specific commands from the project's tech stack.
When to Use
- After creating features with
/planning:add-feature - When you need a structured workflow for implementing features
- To generate execution roadmaps from specifications
How It Works
Data Sources
- features.json - List of features with metadata
- specs/{feature-id}/spec.md - Detailed feature specifications
- .claude/project.json - Tech stack configuration
- Airtable - Available commands for the tech stack
Workflow
features.json → Read features
↓
specs/ → Read specifications
↓
.claude/project.json → Get tech stack
↓
Airtable → Query available commands
↓
generate-feature-workflow.py → Combine data
↓
FEATURE-IMPLEMENTATION-WORKFLOW.md
Script Usage
Basic Usage
cd /path/to/project
python3 scripts/generate-feature-workflow.py
Output Format
{
"tech_stack": "AI Tech Stack 1",
"features": [
{
"id": "F001",
"title": "AI chat interface",
"status": "in-progress",
"priority": "P0",
"spec_content": "..."
}
],
"available_commands": [
{
"name": "add-component",
"description": "Add Next.js component",
"plugin": "nextjs-frontend",
"phase": "Implementation"
}
]
}
Feature-to-Command Mapping
Mapping Strategies
1. Keyword Matching
- "Create chat component" →
/nextjs-frontend:add-component ChatWindow - "Add streaming" →
/vercel-ai-sdk:add-streaming - "Setup auth" →
/supabase:add-auth
2. Phase-Based Grouping
- Foundation - Infrastructure setup
- Planning - Architecture and specs
- Implementation - Feature building
- Quality - Validation
- Testing - Test execution
- Deployment - Production deployment
3. Dependency Analysis
- Database commands before backend
- Backend before frontend
- Core components before features
- Integration after all components
Workflow Document Structure
Template
# Feature Implementation Workflow
Generated from features.json and {TECH_STACK}
## Feature: {FEATURE_ID} - {FEATURE_TITLE}
**Status**: {STATUS}
**Priority**: {PRIORITY}
### Prerequisites
- [ ] Spec complete: specs/{FEATURE_ID}/spec.md
- [ ] Tasks layered: /iterate:tasks {FEATURE_ID}
### Implementation Steps
#### Layer 0: Infrastructure
- [ ] {COMMAND_1}
- [ ] {COMMAND_2}
#### Layer 1: Core Components
- [ ] {COMMAND_3}
- [ ] {COMMAND_4}
#### Layer 2: Feature Components
- [ ] {COMMAND_5}
- [ ] {COMMAND_6}
#### Layer 3: Integration
- [ ] {COMMAND_7}
- [ ] {COMMAND_8}
### Validation
- [ ] /quality:validate-code {FEATURE_ID}
- [ ] /testing:test {FEATURE_ID}
---
## Feature: {NEXT_FEATURE_ID} - {NEXT_FEATURE_TITLE}
...
Filtering Options
By Feature ID
--feature F001
Only generate workflow for F001
By Priority
--priority P0
Only generate for P0 features
By Status
--status in-progress
Only generate for in-progress features
Split by Feature
--split
Generate separate files:
F001-WORKFLOW.mdF002-WORKFLOW.md- etc.
Integration with Other Commands
Typical Flow
# 1. Create features
/planning:add-feature "AI chat interface"
/planning:add-feature "User dashboard"
# 2. Generate feature workflow
/planning:generate-feature-workflow
# 3. Execute workflows
/iterate:tasks F001
/implementation:execute F001
/iterate:tasks F002
/implementation:execute F002
# 4. Validate
/quality:validate-code F001
/testing:test F001
Error Handling
Missing features.json
Error: "No features found in features.json"
Solution: Run /planning:add-feature first
Missing project.json
Error: "Tech stack not found in .claude/project.json"
Solution: Run /foundation:detect first
Airtable Access Failure
Error: "AIRTABLE_TOKEN environment variable not set" Solution: Export token:
export MCP_AIRTABLE_TOKEN=your_token_here
Fallback Mode
If Airtable access fails, fall back to filesystem-based command discovery:
# Read commands from .claude/plugins/**/commands/*.md
ls .claude/plugins/*/commands/*.md
Best Practices
- Update features.json regularly - Keep status current
- Maintain spec files - Complete specs improve matching
- Use priority levels - P0 for critical features
- Generate before implementation - Plan before executing
- Re-generate after spec changes - Keep workflow current
Differences from Foundation Workflow
| Aspect | Foundation Workflow | Feature Workflow |
|---|---|---|
| Purpose | Infrastructure setup | Feature implementation |
| When | One-time | Ongoing |
| Source | Tech stack only | features.json + specs |
| Scope | Foundation → Database | Implementation → Testing |
| Output | {PROJECT}-INFRASTRUCTURE-WORKFLOW.md | FEATURE-IMPLEMENTATION-WORKFLOW.md |
| Commands | Setup commands | Build commands |
Examples
Example 1: AI Chat Application
features.json:
{
"features": [
{
"id": "F001",
"title": "AI chat interface",
"priority": "P0",
"status": "in-progress"
}
]
}
Generated Workflow:
## Feature: F001 - AI chat interface
**Status**: in-progress
**Priority**: P0
### Implementation Steps
- [ ] /iterate:tasks F001
- [ ] /nextjs-frontend:add-component ChatWindow
- [ ] /vercel-ai-sdk:add-streaming
- [ ] /fastapi-backend:add-endpoint "POST /api/chat"
- [ ] /supabase:add-auth
- [ ] /mem0:add-conversation-memory
- [ ] /quality:validate-code F001
- [ ] /testing:test F001
Example 2: Multiple Features with Filtering
# Generate only P0 features
/planning:generate-feature-workflow --priority P0
# Generate only in-progress features
/planning:generate-feature-workflow --status in-progress
# Generate specific feature
/planning:generate-feature-workflow --feature F001
# Generate separate files per feature
/planning:generate-feature-workflow --split
Maintenance
Keeping Workflow Current
# After adding new features
/planning:add-feature "New feature"
/planning:generate-feature-workflow
# After updating specs
vim specs/F001/spec.md
/planning:generate-feature-workflow --feature F001
# After changing priority
# Edit features.json
/planning:generate-feature-workflow
Validation
The workflow includes validation warnings:
- Features without specs
- Specs without implementation tasks
- Commands not available in tech stack
- Missing dependencies
Technical Details
Script: generate-feature-workflow.py
Dependencies:
requests- HTTP requests to Airtablejson- JSON parsingos- File system operations
Environment Variables:
AIRTABLE_TOKENorMCP_AIRTABLE_TOKEN- Required for Airtable access
Exit Codes:
0- Success1- Error (missing data, API failure)
Airtable Schema
Tables Used:
Tech Stacks(tblG07GusbRMJ9h1I)Plugins(tblVEI2x2xArVx9ID)Commands(tblWKaSceuRJrBFC1)
Relationships:
Tech Stack → Plugins → Commands
Related Skills
workflow-generation(foundation) - Infrastructure workflowsspec-management(planning) - Spec creation and managementtask-management(iterate) - Task layering and executionexecution-tracking(implementation) - Progress tracking