mvp-factory-openhands/claude-code-subagents-doc.md

802 lines
20 KiB
Markdown

# Claude Code Sub-Agents - Efficiency & Cost Optimization Guide
**Purpose:** Effectively use Claude Code sub-agents for AI Dev Factory project development
---
## 🤖 Claude Code Sub-Agents Overview
### What Are Sub-Agents?
Sub-agents are specialized AI agents within Claude Code that handle specific tasks:
- **File Editor** - Create, edit, view, and analyze files
- **Bash Runner** - Execute shell commands, manage services, run tests
- **Search Agent** - Find files, code patterns, and search content
- **Explore Agent** - Deep codebase exploration and analysis
- **Plan Agent** - Create implementation plans and break down tasks
- **General-Purpose Agent** - Complex multi-step tasks
- **Code Analyzer** - Review code structure and architecture
### Benefits for AI Dev Factory
-**Targeted Actions** - Each sub-agent optimized for specific tasks
-**Cost Efficiency** - Focused tasks = fewer tokens
-**Faster Execution** - Specialized agents work quicker
-**Better Results** - Right tool for the right job
-**Parallel Execution** - Run multiple sub-agents concurrently
-**Error Prevention** - Specialized checks catch issues early
---
## 🛠️ Claude Code Sub-Agents Reference
### 1. File Editor Agent
**Purpose:** Create, edit, view, and analyze files
**Best For:**
- Creating documentation (MD files)
- Writing configuration files
- Editing code files
- File comparison and analysis
**Example Usage:**
```
Task: "Create a Node.js package.json with Express and TypeScript dependencies"
→ Uses: File Editor agent
Result: Optimized package.json with correct dependencies
```
**Cost-Saving Tips:**
- Be specific about file location and content
- Specify exact dependencies instead of "latest versions"
- Include version constraints to avoid unnecessary updates
### 2. Bash Runner Agent
**Purpose:** Execute shell commands and manage system operations
**Best For:**
- Starting/stopping services (Docker, systemd)
- Running tests and builds
- Checking service status
- Service management
**Example Usage:**
```
Task: "Check status of all Docker services: caddy, gitea, n8n, postgres"
→ Uses: Bash Runner agent
Result: Service status table with health indicators
```
**Cost-Saving Tips:**
- Group related commands into single task
- Use specific commands instead of "check everything"
- Avoid verbose output unless needed
### 3. Search Agent (Grep)
**Purpose:** Find files, code patterns, and search content efficiently
**Best For:**
- Finding specific code patterns
- Locating configuration files
- Searching for error messages
- Finding function/class definitions
**Example Usage:**
```
Task: "Find all files containing 'workflow' in /home/bam/claude/mvp-factory/"
→ Uses: Search Agent
Result: List of files with line numbers and context
```
**Cost-Saving Tips:**
- Use specific patterns instead of generic terms
- Limit search scope to relevant directories
- Use file type filters (*.md, *.js, *.py)
### 4. Explore Agent
**Purpose:** Deep codebase exploration and architecture analysis
**Best For:**
- Understanding project structure
- Analyzing architecture decisions
- Finding related components
- Comprehensive code review
**Example Usage:**
```
Task: "Analyze the n8n workflow structure in /home/bam/claude/mvp-factory/
Find patterns in node configurations and connections"
→ Uses: Explore agent
Result: Detailed architecture analysis with recommendations
```
**Cost-Saving Tips:**
- Use for complex analysis only
- Break large projects into smaller exploration tasks
- Specify what you want to understand specifically
### 5. Plan Agent
**Purpose:** Create implementation plans and break down complex tasks
**Best For:**
- Planning new features
- Breaking down Phase 3 implementation
- Task decomposition
- Roadmap creation
**Example Usage:**
```
Task: "Create implementation plan for Phase 3 autonomous build test
Break down into actionable steps with time estimates"
→ Uses: Plan agent
Result: Detailed 11-step implementation plan
```
**Cost-Saving Tips:**
- Use once per major feature
- Reference existing plans instead of recreating
- Focus on implementation details, not theory
### 6. General-Purpose Agent
**Purpose:** Handle complex multi-step tasks that require coordination
**Best For:**
- Complex debugging scenarios
- Multi-service integration tasks
- End-to-end testing workflows
- Complex system configuration
**Example Usage:**
```
Task: "Debug n8n workflow data preservation issue
Analyze SSH node behavior and suggest solutions"
→ Uses: General-Purpose agent
Result: Complete debugging report with working solution
```
**Cost-Saving Tips:**
- Use only when other agents can't handle it
- Break into smaller sub-tasks when possible
- Be very specific about the problem
---
## 💰 Cost Optimization Strategies
### 1. Token Budget Management
**Strategy: Progressive Token Allocation**
```
Initial Task: 500 tokens
Retry with Context: +250 tokens (750 total)
Detailed Debugging: +250 tokens (1000 total)
Complex Analysis: +500 tokens (1500 total)
```
**Implementation:**
- Start with minimal context
- Add context only when needed
- Avoid unnecessary explanation in prompts
- Use "compact mode" for routine tasks
**Example:**
```bash
# Instead of:
"Please analyze the entire codebase structure and provide detailed recommendations"
# Use:
"Find all workflow files in /home/bam/claude/mvp-factory/ and list their purposes"
```
### 2. Efficient Task Formulation
**❌ High-Cost Approach:**
```
Task: "Analyze the entire AI Dev Factory project, understand all components,
review documentation, check for issues, and provide recommendations"
```
**✅ Low-Cost Approach:**
```bash
Task: "Find all .md files in /home/bam/claude/mvp-factory/ and list their topics"
Task: "Check if all Phase 2 documentation is complete"
Task: "Review Phase 3 implementation checklist"
```
**Why:** Smaller, specific tasks = fewer tokens = lower cost
### 3. Use Structured Commands
**✅ Instead of:**
```
"Please look at my code and see if there are any issues"
```
**✅ Use:**
```bash
Task: "Search for TODO comments in /home/bam/claude/mvp-factory/"
Task: "Find all files modified after Phase 2 completion"
Task: "Check if all API keys are documented"
```
### 4. Leverage File Editor for Batch Operations
**Efficient Pattern:**
```bash
Task: "Create package.json for n8n workflow testing"
Task: "Create workflow configuration file"
Task: "Update CLAUDE.md with new reference"
```
**Instead of One Large Task:**
```bash
Task: "Create test infrastructure, update docs, and configure workflow"
```
### 5. Cache & Reuse Context
**Strategy:**
- Keep files organized for easy access
- Reference existing files instead of recreating
- Use consistent file locations
- Document decisions for future reference
**Example:**
```bash
# Reference existing plan instead of creating new
Task: "Update phase3.md with progress from Step 1"
Task: "Mark Step 2 as completed in todo list"
```
---
## ⏱️ Time Reduction Techniques
### 1. Parallel Sub-Agent Execution
**OpenHands Can Run Multiple Sub-Agents Concurrently:**
```bash
Task: [
"Check Docker services status",
"Find all workflow documentation",
"List n8n workflows via API"
]
→ Runs in parallel = 3x faster
```
**When to Use Parallel:**
- Independent tasks
- Checking multiple services
- Searching different directories
- Verifying multiple configurations
**When NOT to Use Parallel:**
- Dependent tasks (B needs A's output)
- Complex analysis requiring sequential steps
- Tasks that modify the same files
### 2. Incremental Analysis
**Instead of Full Analysis:**
```bash
Task: "Analyze entire codebase structure"
```
**Use Incremental:**
```bash
Task: "Check if any files changed since last review"
Task: "Find new files added to project"
Task: "Review modified documentation only"
```
### 3. Smart Command Grouping
**Group Related Commands:**
```bash
# Instead of 3 separate tasks:
Task: "Check n8n status"
Task: "Check Gitea status"
Task: "Check Caddy status"
# Use one task:
Task: "Check status of all Docker services: n8n, gitea, caddy, postgres
Report which are running and which have issues"
```
### 4. Pre-configured Task Templates
**Common Tasks Template:**
```bash
# Service Status Check
Task: "Check status of Docker services in /home/bam/services/services-stack/
List running, stopped, and unhealthy services"
# Documentation Check
Task: "Check if all Phase 3 documentation is present:
phase3.md, implementation steps, success criteria"
# API Health Check
Task: "Verify n8n API is accessible: curl https://n8n.oky.sh/api/v1/workflows"
```
---
## 🎯 Best Practices for AI Dev Factory Project
### 1. Documentation Tasks
**Efficient Pattern:**
```bash
Task: "Create implementation plan for Step X of Phase 3
Include: prerequisites, commands, verification, troubleshooting"
Task: "Update todo list with completed tasks
Mark Step X as completed, add next steps"
Task: "Create checklist for testing Phase 3 workflow
Include: success criteria, test scenarios, verification steps"
```
### 2. Code Review Tasks
**Use Targeted Reviews:**
```bash
Task: "Review n8n workflow configuration for data preservation issues
Check if $node pattern is used correctly"
Task: "Verify all API keys are documented with proper locations
Check .env, .n8n_api_key, SSH keys"
Task: "Review Phase 3 implementation for missing components
Check if all 11 workflow nodes are defined"
```
### 3. Testing Tasks
**Systematic Testing:**
```bash
Task: "Test SDK wrapper: sh /home/bam/openhands-sdk-wrapper-sh.sh 'Create test file'
Verify output format and exit codes"
Task: "Test n8n webhook: curl -X POST https://n8n.oky.sh/webhook/openhands-fixed-test
Check if workflow executes and returns success"
Task: "Verify data preservation: Check if repo data is preserved after SSH node
Review node configuration and output"
```
### 4. Debugging Tasks
**Efficient Debugging:**
```bash
# Step 1: Identify the problem
Task: "Check n8n execution logs for recent workflow runs
Find any failed nodes or error messages"
# Step 2: Analyze the issue
Task: "Review SSH node configuration in workflow ID: j1MmXaRhDjvkRSLa
Check if passThrough is set correctly"
# Step 3: Implement fix
Task: "Update node configuration to use $node pattern for data preservation
Verify the fix works with test execution"
```
---
## 🔧 Error Prevention Strategies
### 1. Validation Before Execution
**Always Validate First:**
```bash
Task: "Check if prerequisites are met before starting Phase 3
Verify: Gitea accessible, n8n running, OpenHands configured"
Task: "Validate file permissions for API keys
Check: /home/bam/.n8n_api_key, /home/bam/openhands/.env, /home/bam/.ssh/n8n_key"
Task: "Verify workflow exists before trying to update it
Check: workflow ID j1MmXaRhDjvkRSLa is active"
```
### 2. Incremental Changes
**Avoid Large Changes:**
```bash
# Instead of:
Task: "Update all documentation files with new Phase 3 info"
# Use:
Task: "Update CLAUDE.md with Phase 3 overview"
Task: "Update phase3.md with Step 1 completion"
Task: "Update todo list with progress"
```
### 3. Verification After Changes
**Always Verify:**
```bash
Task: "After creating new workflow, verify it's active
Check: curl https://n8n.oky.sh/api/v1/workflows"
Task: "After updating documentation, check for broken links
Verify all referenced files exist"
Task: "After modifying configs, test if services still start
Run: docker compose -f /home/bam/services/services-stack/docker-compose.yml ps"
```
### 4. Use Dry-Run Mode
**For Destructive Operations:**
```bash
Task: "Review git status before making changes
List: modified files, untracked files, staged changes"
Task: "Show what would be deleted before deleting files
Preview: which files will be removed, their sizes"
Task: "Check if workflow update would succeed
Verify: API token is valid, workflow ID exists"
```
---
## 📊 Claude Code Task Optimization Templates
### 1. Service Management
**Template:**
```bash
Task: "Manage service: [service-name]
Actions: [start/stop/restart/status]
Location: /home/bam/services/services-stack/
Verify: Check if service is healthy after operation"
```
**Example:**
```bash
Task: "Restart n8n service
Location: /home/bam/services/services-stack/
Verify: Check if n8n API is accessible after restart
Report: Service status and any errors"
```
### 2. Documentation Updates
**Template:**
```bash
Task: "Update [file-name].md with [specific change]
Location: /home/bam/claude/mvp-factory/
Changes: [list specific changes]
Verify: Check file exists and changes are correct"
```
**Example:**
```bash
Task: "Update phase3.md with Step 1 completion
Location: /home/bam/claude/mvp-factory/
Changes: Mark 'Setup Test Repository' as completed
Verify: Check checkbox is updated and timestamp added"
```
### 3. Code Analysis
**Template:**
```bash
Task: "Analyze [component] for [specific issue]
Scope: [file or directory]
Focus: [specific aspects to check]
Report: [what to report back]"
```
**Example:**
```bash
Task: "Analyze n8n workflow for data preservation
Scope: workflow ID j1MmXaRhDjvkRSLa
Focus: Check if $node pattern is used after SSH nodes
Report: Which nodes need fixing and how"
```
### 4. Testing Tasks
**Template:**
```bash
Task: "Test [component] [action]
Setup: [prerequisites]
Execute: [specific commands]
Verify: [expected results]
Cleanup: [if needed]"
```
**Example:**
```bash
Task: "Test n8n workflow execution
Setup: Workflow ID j1MmXaRhDjvkRSLa is active
Execute: POST to webhook with test data
Verify: HTTP 200 response, workflow completes
Report: Success/failure, execution time, any errors"
```
---
## 🚀 Phase 3 Implementation Strategy
### Efficient Task Breakdown
**Step 1: Setup Test Repository (20 min)**
```bash
Task: "Create test repository in Gitea
Name: autonomous-build-test
Description: Test repo for Phase 3 autonomous build testing
Verify: Repository is created and accessible"
```
**Step 2: Configure Webhook (15 min)**
```bash
Task: "Configure Gitea webhook for test repository
URL: https://n8n.oky.sh/webhook/autonomous-build-test
Events: Push events
Verify: Test webhook delivery succeeds"
```
**Step 3: Build Workflow (60 min)**
```bash
# Task 3a: Design workflow structure
Task: "Design 11-node workflow structure for autonomous build test
Document: Node types, connections, data flow"
# Task 3b: Create workflow nodes
Task: "Create workflow nodes in n8n
Nodes: Webhook, Extract Repo, Initialize Retry, OpenHands Build, Wait, Check Results, Decision, Update Gitea, Format Error, Check Retry, Retry Loop"
# Task 3c: Configure connections
Task: "Connect workflow nodes according to flow design
Verify: All connections are correct"
```
**Step 4: Test Success Path (30 min)**
```bash
Task: "Test workflow with valid code
Setup: Push working code to test repo
Execute: Trigger webhook
Verify: Build succeeds, Gitea status updated to success
Report: Execution details and any issues"
```
**Step 5: Test Failure Path (45 min)**
```bash
Task: "Test workflow with intentional errors
Setup: Push code with build errors
Execute: Trigger webhook
Verify: Errors detected, retry counter increments
Report: Error messages and retry behavior"
```
**Step 6: Test Max Retries (30 min)**
```bash
Task: "Test workflow with persistent errors
Setup: Push code that fails 3 times
Execute: Let workflow retry 3 times
Verify: Stops after 3 attempts, final failure notification
Report: Retry count and final status"
```
---
## 📈 Success Metrics
### Performance Targets
**Efficiency Metrics:**
- **Documentation Task Time:** < 5 minutes (instead of 30+ minutes)
- **Code Review Time:** < 10 minutes (instead of 60+ minutes)
- **Error Detection:** < 2 minutes (instead of manual debugging)
- **Test Execution:** < 3 minutes (instead of 30+ minutes)
**Cost Metrics:**
- **Token Usage:** < 3000 tokens per task
- **Retry Rate:** < 20% (tasks completed on first attempt)
- **Error Rate:** < 5% (successful task completion)
- **Documentation Updates:** < 500 tokens each
**Quality Metrics:**
- **Task Accuracy:** 95%+ (correct implementation)
- **Documentation Coverage:** 100% (all changes documented)
- **Test Coverage:** 100% (all paths tested)
- **Error Prevention:** 90%+ (issues caught before deployment)
---
## 🔍 Troubleshooting Common Issues
### Issue: High Token Usage
**Symptoms:** Task uses 5000+ tokens
**Solutions:**
- Break task into smaller subtasks
- Be more specific in task descriptions
- Use targeted searches instead of general analysis
- Reference existing files instead of recreating
**Example Fix:**
```bash
# Before: "Analyze entire project"
Task: "Count lines in phase3.md"
# After: More specific
Task: "Find TODO items in phase3.md"
```
### Issue: Tasks Taking Too Long
**Symptoms:** Task execution > 10 minutes
**Solutions:**
- Use parallel execution for independent tasks
- Specify exact files/directories to work with
- Use incremental analysis
- Avoid unnecessary verification steps
**Example Fix:**
```bash
# Before: "Check everything"
Task: "Verify all services are running"
# After: Specific
Task: "Check if n8n container is running: docker ps | grep n8n"
```
### Issue: Incorrect Results
**Symptoms:** Task completes but output is wrong
**Solutions:**
- Be more specific about expected output
- Include examples in task description
- Verify prerequisites before execution
- Use validation tasks
**Example Fix:**
```bash
# Before: Vague
Task: "Update documentation"
# After: Specific
Task: "Add checkbox [ ] for Step 1 in phase3.md and mark it as completed"
```
### Issue: Sub-Agent Not Working
**Symptoms:** Task doesn't use expected sub-agent
**Solutions:**
- Use task keywords that trigger the right agent
- Search → Use "find", "search", "grep"
- Explore → Use "analyze", "explore", "understand"
- Plan → Use "plan", "break down", "design"
- Bash → Use "run", "execute", "check status"
**Example Fix:**
```bash
# To trigger Search Agent:
Task: "Find all workflow files containing 'SSH'"
# To trigger Explore Agent:
Task: "Analyze the architecture of the n8n workflow"
# To trigger Bash Runner:
Task: "Check Docker service status"
```
---
## 📚 Quick Reference Commands
### Common Tasks
**Check All Services:**
```bash
Task: "Check status of all Docker services
Command: cd /home/bam && docker compose -f services/services-stack/docker-compose.yml ps
Report: Running/Stopped/Unhealthy services"
```
**Verify Documentation:**
```bash
Task: "Check if all Phase 3 files exist
Files: phase3.md, claude-code-subagents-doc.md, openhands-subagents-doc.md
Report: Missing files and file sizes"
```
**Test n8n Workflow:**
```bash
Task: "Test n8n workflow execution
Workflow ID: j1MmXaRhDjvkRSLa
Test: POST to webhook with sample data
Verify: HTTP 200 and success response"
```
**Update Phase Progress:**
```bash
Task: "Mark Step X as completed in phase3.md
Action: Change [ ] to [X] for specific step
Add: Completion timestamp and notes
Verify: Change is saved correctly"
```
### Efficiency Tips
1. **Use specific file paths** instead of "the project directory"
2. **Include expected output format** in task description
3. **Reference existing files** instead of recreating
4. **Break complex tasks** into smaller steps
5. **Use validation tasks** before making changes
6. **Group related commands** into single tasks
7. **Avoid unnecessary explanation** in prompts
8. **Use consistent naming** for files and tasks
---
## 🎓 Advanced Strategies
### 1. Task Chaining
**Pattern:**
```bash
Task 1: "Create plan for Phase 3 Step 1"
Task 2: "Execute Step 1 according to plan"
Task 3: "Mark Step 1 as completed"
Task 4: "Create plan for Step 2"
...
```
### 2. Context Preservation
**Pattern:**
```bash
# Reference previous tasks
Task: "Based on previous analysis of n8n workflow,
implement the suggested data preservation fix"
Task: "Continue from where we left off in Phase 3
Next step is: Configure Gitea webhook"
```
### 3. Iterative Refinement
**Pattern:**
```bash
# First pass: Basic implementation
Task: "Create basic workflow structure"
# Second pass: Add details
Task: "Add error handling to workflow"
# Third pass: Optimize
Task: "Optimize workflow for faster execution"
```
### 4. Verification Loop
**Pattern:**
```bash
Task: "Make changes to [file]"
Task: "Verify changes are correct"
Task: "If errors found, fix them"
Task: "Verify again until perfect"
```
---
*Claude Code Sub-Agents Guide - Last Updated: 2025-12-02*
*Optimized for AI Dev Factory Project*