21 KiB
Task Master AI - Claude Code Integration Guide
Tagged Task Management System
Task Master uses a tagged task management system that organizes tasks into separate, isolated contexts called tags. This enables working across multiple contexts such as different features, branches, or project phases without conflicts.
Tagged System Benefits
- Complete Context Isolation: Each tag maintains its own task numbering (starting from 1)
- Parallel Development: Multiple features can be developed simultaneously without conflicts
- Independent Dependencies: Task dependencies are managed within each tag context
- Flexible Organization: Align tags with git branches, features, or project phases
- Team Collaboration: Clear ownership and responsibility per tag context
Essential Commands
Tag Management Commands
# Tag Context Management
task-master tags # List all available tags with status
task-master tags --show-metadata # List tags with detailed metadata
task-master add-tag <tag-name> # Create a new empty tag
task-master add-tag <tag-name> --description="desc" # Create tag with description
task-master add-tag --from-branch # Create tag from current git branch
task-master use-tag <tag-name> # Switch to a different tag context
task-master copy-tag <source> <target> # Copy entire tag to create new one
task-master delete-tag <tag-name> # Delete tag and all its tasks
task-master rename-tag <old-name> <new-name> # Rename an existing tag
# Tag-based Task Operations (all work within current tag context)
task-master list # Show tasks in current tag
task-master next # Get next task in current tag
task-master show <id> # View task in current tag (e.g., 1.2)
task-master add-task --prompt="description" # Add task to current tag
Core Workflow Commands
# Project Setup
task-master init # Initialize Task Master with tagged system
task-master models --setup # Configure AI models interactively
# Tagged PRD Workflow
task-master use-tag <tag-name> # Switch to tag context
task-master parse-prd .taskmaster/docs/prd-<tag>.md # Generate tasks from PRD in current tag
# Daily Development Workflow (within current tag)
task-master list # Show all tasks in current tag
task-master next # Get next available task in current tag
task-master show <id> # View detailed task information
task-master set-status --id=<id> --status=done # Mark task complete in current tag
# Task Management (within current tag)
task-master expand --id=<id> --research --force # Break task into subtasks
task-master update-task --id=<id> --prompt="changes" # Update specific task
task-master update --from=<id> --prompt="changes" # Update multiple tasks from ID onwards
task-master update-subtask --id=<id> --prompt="notes" # Add implementation notes to subtask
# Analysis & Planning (within current tag)
task-master analyze-complexity --research # Analyze task complexity in current tag
task-master complexity-report # View complexity analysis for current tag
task-master expand --all --research # Expand all eligible tasks in current tag
# Dependencies & Organization (within current tag)
task-master add-dependency --id=<id> --depends-on=<id> # Add task dependency
task-master move --from=<id> --to=<id> # Reorganize task hierarchy
task-master validate-dependencies # Check for dependency issues
task-master generate # Update task markdown files
Tagged Workflow Integration
⚠️ CRITICAL RULE: Never Work on Master Tag
NEVER work directly on the master tag. Always switch to a feature-specific tag before working with Task Master:
# ❌ BAD - Working on master tag
task-master use-tag master
task-master next # Don't do this!
# ✅ GOOD - Switch to feature tag first
task-master add-tag modal-panel-isolation --description="Modal panel isolation feature"
task-master use-tag modal-panel-isolation
task-master parse-prd .taskmaster/docs/prd-modal-panel-isolation.md
task-master next # Now this is correct!
Setting Up Tagged Contexts
1. Initialize Multiple Tag Contexts
# Create tag contexts for different features/areas
task-master add-tag user-auth --description="User authentication features"
task-master add-tag payments --description="Payment system implementation"
task-master add-tag mobile --description="Mobile app development"
task-master add-tag admin --description="Admin dashboard features"
2. Organize Tagged PRDs
Create PRDs for different contexts:
.taskmaster/docs/
prd-master.md # Main project PRD
prd-user-authentication.md # Authentication feature PRD
prd-payment-system.md # Payment system PRD
prd-mobile-app.md # Mobile app PRD
prd-admin-dashboard.md # Admin features PRD
3. Parse PRDs into Tag Contexts
# Switch to authentication context and parse its PRD
task-master use-tag user-auth
task-master parse-prd .taskmaster/docs/prd-user-authentication.md
# Switch to payments context and parse its PRD
task-master use-tag payments
task-master parse-prd .taskmaster/docs/prd-payment-system.md
# Continue for each feature area...
Daily Tagged Development Workflow
1. Tag Context Management
# Check available tag contexts
task-master tags --show-metadata
# Switch to desired context (NEVER master for feature work!)
task-master use-tag user-auth
# Work within that context
task-master next # Find next task in current tag
task-master show <id> # Review task details in current tag
2. Cross-Tag Development
# Work on authentication, then switch to mobile
task-master use-tag user-auth
task-master list # See auth tasks
# ... work on auth tasks ...
task-master use-tag mobile
task-master list # See mobile tasks
# ... work on mobile tasks ...
3. Tag-Specific Implementation
# Within a tag context, all operations are isolated
task-master update-subtask --id=2.1 --prompt="implementation notes..." # Updates task 2.1 in current tag only
task-master set-status --id=3 --status=done # Marks task 3 done in current tag only
Advanced Tagged Workflows
Branch-Based Tag Management
# Align tag contexts with git branches
git checkout -b feature/authentication
task-master add-tag --from-branch # Creates tag from branch name
git checkout -b feature/payments
task-master add-tag --from-branch # Creates another tag
Tag Copying and Templates
# Create new contexts from existing ones
task-master copy-tag user-auth admin-auth --description="Admin authentication"
# Copy tasks from current tag to new context
task-master add-tag testing --copy-from-current --description="QA testing tasks"
Cross-Tag Coordination
When coordinating work across tags:
- Plan Integration Points: Identify where different tag contexts need to interact
- Manual Coordination: Note cross-tag dependencies in task details
- Tag Switching: Use
task-master use-tagto switch contexts as needed - Documentation: Use
task-master update-subtaskto document cross-tag decisions
Key Files & Project Structure
Core Files
.taskmaster/tasks/tasks.json- Tagged task data file (auto-managed).taskmaster/state.json- Current tag context and state information.taskmaster/config.json- AI model configuration (usetask-master modelsto modify).taskmaster/docs/prd-<tag>.md- Product Requirements Documents for each tag.taskmaster/tasks/*.md- Individual task files (auto-generated, tagged by context)
Tagged Task Structure
{
"master": {
"tasks": [
{ "id": 1, "title": "Setup API", "status": "pending", ... }
]
},
"user-auth": {
"tasks": [
{ "id": 1, "title": "OAuth Integration", "status": "pending", ... }
]
},
"payments": {
"tasks": [
{ "id": 1, // Independent numbering per tag
"title": "Setup Stripe Integration",
"description": "Configure Stripe payment processing",
"status": "pending",
"priority": "high",
"dependencies": [],
"details": "Use Stripe API for payment processing...",
"testStrategy": "Test payment flow with test cards"
}
]
}
}
Claude Code Integration Files
CLAUDE.md- Auto-loaded context for Claude Code (this file).claude/settings.json- Claude Code tool allowlist and preferences.claude/commands/- Custom slash commands for repeated workflows.mcp.json- MCP server configuration (project-specific)
Directory Structure
project/
├── .taskmaster/
│ ├── tasks/ # Tagged task files directory
│ │ ├── tasks.json # Tagged task database
│ │ ├── task-1.md # Individual task files (tagged)
│ │ └── task-2.md
│ ├── docs/ # Documentation directory
│ │ ├── prd-master.md # Main PRD
│ │ ├── prd-user-authentication.md # Auth PRD
│ │ ├── prd-payment-system.md # Payment PRD
│ │ └── prd-mobile-app.md # Mobile PRD
│ ├── reports/ # Analysis reports directory
│ │ └── task-complexity-report.json
│ ├── templates/ # Template files
│ │ └── example_prd.md # Example PRD template
│ ├── state.json # Current tag context and state
│ └── config.json # AI models & settings
├── .claude/
│ ├── settings.json # Claude Code configuration
│ └── commands/ # Custom slash commands
├── .mcp.json # MCP configuration
└── CLAUDE.md # This file - auto-loaded by Claude Code
Essential MCP Tools
help; // = shows available taskmaster commands
// Tag management
list_tags; // = task-master tags
add_tag; // = task-master add-tag
use_tag; // = task-master use-tag
copy_tag; // = task-master copy-tag
delete_tag; // = task-master delete-tag
// Tagged workflow
initialize_project; // = task-master init (with tagged system)
parse_prd; // = task-master parse-prd (in current tag)
// Tag-aware operations (all work within current tag)
get_tasks; // = task-master list
next_task; // = task-master next
get_task; // = task-master show <id>
set_task_status; // = task-master set-status
// Task management
add_task; // = task-master add-task
expand_task; // = task-master expand
update_task; // = task-master update-task
update_subtask; // = task-master update-subtask
update; // = task-master update
// Analysis
analyze_project_complexity; // = task-master analyze-complexity
complexity_report; // = task-master complexity-report
Claude Code Workflow Integration
Tagged Project Initialization
# Initialize Task Master with tagged system
task-master init
# Set up multiple tag contexts
task-master add-tag user-auth --description="Authentication features"
task-master add-tag payments --description="Payment system"
task-master add-tag mobile --description="Mobile app"
# Parse PRDs into respective contexts
task-master use-tag user-auth
task-master parse-prd .taskmaster/docs/prd-user-authentication.md
task-master use-tag payments
task-master parse-prd .taskmaster/docs/prd-payment-system.md
# Analyze and expand within each context
task-master use-tag user-auth
task-master analyze-complexity --research
task-master expand --all --research
Multi-Context Development Loop
# Morning: Check all contexts
task-master tags --show-metadata # Overview of all tag contexts
# Work on authentication
task-master use-tag user-auth
task-master next # Find next auth task
task-master show <id> # Review auth task details
# Afternoon: Switch to payments
task-master use-tag payments
task-master next # Find next payment task
task-master show <id> # Review payment task details
# Log progress in current context
task-master update-subtask --id=<id> --prompt="implementation progress..."
Multi-Claude Tagged Workflows
For complex projects with multiple tag contexts:
# Terminal 1: Authentication development
cd project && claude
# > task-master use-tag user-auth
# Terminal 2: Payment system development
cd project-payment-worktree && claude
# > task-master use-tag payments
# Terminal 3: Mobile app development
cd project-mobile-worktree && claude
# > task-master use-tag mobile
Tagged Task Structure & IDs
Tag-Specific Task IDs
- Independent Numbering: Each tag maintains its own task sequence starting from 1
- Main tasks:
1,2,3, etc. (within each tag) - Subtasks:
1.1,1.2,2.1, etc. (within each tag) - Sub-subtasks:
1.1.1,1.1.2, etc. (within each tag)
Tagged Task Context
{
"user-auth": {
"tasks": [
{
"id": 1,
"title": "Setup OAuth Provider",
"description": "Configure GitHub OAuth integration",
"status": "pending",
"priority": "high",
"dependencies": [],
"details": "Use GitHub OAuth client ID/secret...",
"testStrategy": "Test OAuth flow with GitHub account",
"subtasks": [
{
"id": 1,
"title": "Register OAuth App",
"status": "pending",
"dependencies": []
}
]
}
]
},
"payments": {
"tasks": [
{
"id": 1, // Independent numbering per tag
"title": "Setup Stripe Integration",
"description": "Configure Stripe payment processing",
"status": "pending",
"priority": "high",
"dependencies": [],
"details": "Use Stripe API for payment processing...",
"testStrategy": "Test payment flow with test cards"
}
]
}
}
Claude Code Best Practices with Tagged System
Tag Context Awareness
- Always know your current tag context:
task-master tagsshows current context - Use
/clearbetween different tag contexts to maintain focus - Use
task-master show <id>to pull specific task context when needed - Remember: Task IDs are independent per tag (each tag has its own task 1, 2, 3...)
Tagged Implementation Strategy
- Context Setup:
task-master use-tag <target-tag>- Switch to appropriate context - Task Discovery:
task-master show <id>- Understand requirements within tag - Planning:
task-master update-subtask --id=<id> --prompt="detailed plan"- Log plan in context - Status Management:
task-master set-status --id=<id> --status=in-progress- Start work in context - Implementation: Implement code following logged plan
- Progress Logging:
task-master update-subtask --id=<id> --prompt="progress notes"- Log within context - Completion:
task-master set-status --id=<id> --status=done- Complete within context
Cross-Tag Development Patterns
Feature Integration Workflow
# 1. Implement core feature in its tag
task-master use-tag user-auth
task-master show 2 # Review auth API task
# ... implement auth APIs ...
task-master set-status --id=2 --status=done
# 2. Switch to consuming feature's tag
task-master use-tag mobile
task-master show 3 # Review mobile integration task
task-master update-subtask --id=3.1 --prompt="Auth APIs completed in user-auth tag, ready for integration"
# ... implement integration ...
Cross-Tag Documentation
# Document cross-tag dependencies
task-master use-tag mobile
task-master update-subtask --id=3.2 --prompt="Depends on user-auth tag task 2 (OAuth setup) being completed"
# Document integration decisions
task-master update-subtask --id=3.3 --prompt="Using JWT tokens from auth service, implemented in user-auth tag"
Complex Tagged Workflows
Multi-Feature Migration
- Create Migration PRD:
touch .taskmaster/docs/prd-migration.md - Create Migration Tag:
task-master add-tag migration --description="System migration tasks" - Parse Migration:
task-master use-tag migration && task-master parse-prd .taskmaster/docs/prd-migration.md - Cross-Reference: Document which existing tags are affected in migration tasks
- Coordinate: Use
task-master update-subtaskto log progress across affected tags
Tag Lifecycle Management
# Development lifecycle
task-master add-tag feature-x --description="New feature development" # Create
task-master use-tag feature-x # Develop
task-master copy-tag feature-x testing-x --description="Feature testing" # Test
task-master delete-tag feature-x # Cleanup
Git Integration with Tagged System
Tagged Task Master works excellently with git workflows:
# Align tags with branches
git checkout -b feature/user-authentication
task-master add-tag --from-branch
# Work within tag context
task-master use-tag feature-user-authentication
task-master next
# Commit with tag context
git commit -m "feat: implement OAuth setup (user-auth tag, task 1.2)"
# Create PR with tag context
gh pr create --title "Complete user-auth tag: OAuth integration" --body "Implements all user authentication tasks from user-auth tag context"
Parallel Development with Tagged Worktrees
# Create worktrees for different tag contexts
git worktree add ../project-auth feature/auth-system
git worktree add ../project-payment feature/payment-system
git worktree add ../project-mobile feature/mobile-app
# Run Claude Code in each worktree with different tag contexts
cd ../project-auth && claude # Terminal 1: user-auth tag
cd ../project-payment && claude # Terminal 2: payments tag
cd ../project-mobile && claude # Terminal 3: mobile tag
Troubleshooting Tagged System
Tag Context Issues
# Check current tag context
task-master tags # Shows current tag (marked with *)
# Switch if needed
task-master use-tag <correct-tag>
# List tasks in current context
task-master list
Cross-Tag Dependencies
- Note: Task dependencies only work within the same tag context
- Workaround: Document cross-tag dependencies in task details using
update-subtask - Coordination: Use clear naming and documentation for cross-tag integration points
Task File Sync Issues
# Regenerate task files for current tag
task-master generate
# Fix dependencies within current tag
task-master fix-dependencies
Important Tagged System Notes
Tag Context Isolation
- Task IDs are independent per tag - each tag has its own sequence starting from 1
- Dependencies only work within tags - cannot create dependencies across tags
- Status and progress are tag-specific - marking task 1 done in tag A doesn't affect task 1 in tag B
- Current tag context affects all operations - always verify you're in the correct tag
AI-Powered Operations (within current tag)
These commands work within the current tag context and may take up to a minute:
parse_prd/task-master parse-prd- Generates tasks in current taganalyze_project_complexity/task-master analyze-complexity- Analyzes current tag's tasksexpand_task/task-master expand- Expands tasks in current tagadd_task/task-master add-task- Adds to current tagupdate/task-master update- Updates tasks in current tag
File Management with Tagged System
- Never manually edit
tasks.json- contains all tag contexts, use commands instead - Current tag context is stored in
.taskmaster/state.json - Task markdown files are generated with tag context information
- Use
task-master generateafter any manual changes
Claude Code Session Management with Tags
- Use
/clearwhen switching between tag contexts to maintain focus - Start sessions by checking tag context:
task-master tags - Use
task-master use-tag <name>to switch contexts within session - Headless mode with tag context:
claude -p "task-master use-tag auth && task-master next"
The tagged system ensures your task management scales with project complexity while maintaining clear organization and preventing conflicts across different feature areas or development contexts.