# Agent Orchestration Strategies This file describes how to coordinate multiple specialized agents for complex implementation tasks. ## Agent Overview ### Available Agents for Implementation ```yaml workflow-coordinator: role: "Workflow validation and phase coordination" use_first: true validates: - Planning phase completed - Specification exists in active/ - Prerequisites met coordinates: "Transition from planning to implementation" implementer: role: "Core feature development" specializes: - Building new features - Implementing specifications - Writing production code - Updating documentation architect: role: "System design and architecture" specializes: - Architecture decisions - Component design - System refactoring - Design patterns security: role: "Security review and implementation" specializes: - Authentication systems - Authorization logic - Encryption implementation - Security best practices qa: role: "Quality assurance and testing" specializes: - Test creation - Coverage analysis - Test strategy - Quality validation refactorer: role: "Code improvement and consistency" specializes: - Code refactoring - Consistency enforcement - Code smell removal - Multi-file updates researcher: role: "Code exploration and analysis" specializes: - Dependency mapping - Pattern identification - Impact analysis - Codebase exploration ``` --- ## Agent Selection Rules ### Task-Based Selection **Use this matrix to determine which agents to invoke:** ```yaml Authentication Feature: primary: architect # Design auth flow secondary: security # Security requirements tertiary: implementer # Build feature final: qa # Create tests API Development: primary: architect # Design API structure secondary: implementer # Build endpoints tertiary: qa # Create API tests Bug Fix: primary: researcher # Find root cause secondary: implementer # Fix the bug tertiary: qa # Add regression test Refactoring: primary: researcher # Analyze impact secondary: architect # Design new structure tertiary: refactorer # Update consistently final: qa # Validate no regressions Multi-file Changes: primary: researcher # Map dependencies secondary: refactorer # Update consistently tertiary: qa # Ensure nothing breaks Performance Optimization: primary: researcher # Profile and analyze secondary: implementer # Implement optimization tertiary: qa # Performance tests Security Feature: primary: security # Define requirements secondary: implementer # Build securely tertiary: qa # Security tests ``` --- ## Agent Chaining Patterns ### Sequential Chaining **When to Use:** Tasks that must be done in a specific order. **Pattern:** ```yaml Step 1: Use agent A to complete task → Wait for completion Step 2: Use agent B to build on A's work → Wait for completion Step 3: Use agent C to finalize → Wait for completion ``` **Example: Authentication System** ```yaml Step 1: Use the architect agent to: - Design authentication flow - Define session management strategy - Plan token structure Step 2: Use the security agent to: - Review architect's design - Add security requirements - Define encryption standards Step 3: Use the implementer agent to: - Implement auth flow per design - Apply security requirements - Build according to specifications Step 4: Use the qa agent to: - Create unit tests - Create integration tests - Create security tests ``` ### Parallel Coordination **When to Use:** Independent tasks that can be done simultaneously. **Pattern:** ```yaml Spawn Multiple Agents in Parallel: - Agent A: Task 1 (independent) - Agent B: Task 2 (independent) - Agent C: Task 3 (independent) Wait for All Completions Consolidate Results ``` **Example: Feature with Multiple Components** ```yaml Parallel Tasks: - Use the implementer agent to: Build API endpoints - Use the qa agent to: Create test fixtures - Use the researcher agent to: Document existing patterns All agents work simultaneously on independent tasks. After All Complete: - Integrate API with tests - Apply documented patterns - Validate complete feature ``` ### Iterative Refinement **When to Use:** Gradual improvement with feedback loops. **Pattern:** ```yaml Loop: 1. Use agent to make changes 2. Validate changes 3. If issues found: - Use agent to fix issues - Validate again 4. Repeat until quality gates pass ``` **Example: Code Refactoring** ```yaml Iteration 1: - Use refactorer agent to simplify function - Run tests → 2 failures - Use refactorer agent to fix test compatibility - Run tests → All pass Iteration 2: - Use refactorer agent to extract duplicate code - Run linter → 3 style issues - Use refactorer agent to fix style - Run linter → Clean Iteration 3: - Validate: All quality gates pass - Complete: Refactoring done ``` --- ## Agent Coordination Strategies ### Strategy 1: Single Agent (Simple Tasks) **Use When:** - Single file modification - Simple bug fix - Documentation update - Straightforward feature **Pattern:** ```yaml Single Agent: - Use the implementer agent to: - Make the change - Add tests - Update documentation ``` **Example:** ``` User: "Add a max_length validation to the username field" Use the implementer agent to: - Add max_length=50 to User.username field - Add validation test for max_length - Update API documentation with constraint ``` ### Strategy 2: Agent Pairs (Moderate Complexity) **Use When:** - Design + implementation needed - Security review required - Test coverage important **Pattern:** ```yaml Agent Pair: Primary Agent: Core work Secondary Agent: Validation/enhancement ``` **Example:** ``` User: "Implement password reset functionality" Step 1: Use the architect agent to: - Design password reset flow - Plan token generation strategy - Define security requirements Step 2: Use the implementer agent to: - Implement the designed flow - Build according to security requirements - Add comprehensive tests ``` ### Strategy 3: Agent Chain (High Complexity) **Use When:** - System-wide changes - Architecture modifications - Security-critical features - Major refactoring **Pattern:** ```yaml Agent Chain: Phase 1: Research & Design - researcher: Analyze impact - architect: Design solution Phase 2: Implementation - implementer: Build core - security: Review (if needed) Phase 3: Quality Assurance - qa: Comprehensive testing - refactorer: Final polish ``` **Example:** ``` User: "Migrate from sessions to JWT authentication" Phase 1 - Analysis: Use the researcher agent to: - Find all session usage - Map authentication dependencies - Identify breaking changes Phase 2 - Design: Use the architect agent to: - Design JWT implementation - Plan migration strategy - Define backwards compatibility Phase 3 - Security: Use the security agent to: - Review JWT implementation plan - Add security requirements - Define token validation rules Phase 4 - Implementation: Use the implementer agent to: - Implement JWT manager - Add token validation - Build according to security requirements Phase 5 - Migration: Use the refactorer agent to: - Update all authentication calls - Remove session dependencies - Ensure consistency Phase 6 - Testing: Use the qa agent to: - Create unit tests - Create integration tests - Create security tests - Validate migration ``` ### Strategy 4: Parallel + Sequential Hybrid **Use When:** - Multiple independent components with dependencies - Complex features with parallel work streams **Pattern:** ```yaml Parallel Phase: - Agent A: Independent task 1 - Agent B: Independent task 2 Sequential Phase (after parallel complete): - Agent C: Integration work - Agent D: Final validation ``` **Example:** ``` User: "Add real-time notifications with WebSockets" Parallel Phase: Use the architect agent to: - Design WebSocket architecture Use the implementer agent to (simultaneously): - Set up WebSocket server configuration - Create notification data models Sequential Phase: Use the implementer agent to: - Implement WebSocket handlers - Connect to notification models - Add client connection management Use the qa agent to: - Create WebSocket connection tests - Create notification delivery tests - Test connection stability ``` --- ## Agent Communication Patterns ### Explicit Handoff **Pattern:** Clearly state what the next agent should do based on previous work. ```yaml Step 1: Use the researcher agent to map all API endpoints → Output: List of 47 endpoints in api_map.md Step 2: Use the architect agent to design new API structure Context: Review the 47 endpoints in api_map.md Task: Design consolidated API with RESTful patterns Step 3: Use the refactorer agent to update endpoints Context: Follow new structure from architect Task: Update all 47 endpoints to match design ``` ### Context Sharing **Pattern:** Ensure agents have necessary context from previous work. ```yaml Context for Next Agent: Previous Work: "architect agent designed auth flow" Artifacts: "auth_design.md with flow diagram" Requirements: "Must follow JWT pattern with refresh tokens" Use the implementer agent with this context to: - Implement auth flow from auth_design.md - Use JWT with refresh token pattern - Follow security guidelines from design ``` ### Validation Loops **Pattern:** Use agents to validate each other's work. ```yaml Create → Validate → Fix Loop: Step 1: Use the implementer agent to build feature Step 2: Use the security agent to review implementation → If issues found: Document security concerns Step 3: Use the implementer agent to address security concerns Context: Security review findings Task: Fix identified issues Step 4: Use the security agent to re-review → If clean: Proceed → If issues: Repeat loop ``` --- ## Quality Checkpoints with Agents ### Code Quality Triggers **Automatic Agent Invocation Based on Code Metrics:** ```yaml Function Length > 50 Lines: → Use the refactorer agent to: - Break into smaller functions - Extract helper methods - Improve readability Nesting Depth > 3: → Use the refactorer agent to: - Flatten conditional logic - Extract nested blocks - Simplify control flow Duplicate Code Detected: → Use the refactorer agent to: - Extract common functionality - Create shared utilities - Apply DRY principle Circular Dependencies Found: → Use the architect agent to: - Review dependency structure - Redesign component relationships - Break circular references Performance Concerns: → Use the implementer agent to: - Add performance measurements - Identify bottlenecks - Implement optimizations Security Patterns Detected: → Use the security agent to: - Review authentication code - Validate authorization logic - Check encryption usage ``` --- ## Agent Coordination Best Practices ### DO: - ✅ Use workflow-coordinator first to validate workflow state - ✅ Be explicit about which agent to use and why - ✅ Provide clear context when chaining agents - ✅ Validate after each agent completes - ✅ Use parallel agents for independent tasks - ✅ Chain agents for dependent tasks ### DON'T: - ❌ Skip workflow-coordinator validation - ❌ Use wrong agent for the task - ❌ Chain agents without clear handoff - ❌ Run dependent tasks in parallel - ❌ Forget to validate agent output - ❌ Over-complicate simple tasks --- *Comprehensive agent orchestration strategies for complex implementation tasks*