BMAD-METHOD/bmad-agent/tasks/tool-utilization-task.md

315 lines
8.4 KiB
Markdown

# Tool Utilization Task
## Purpose
Enable BMAD agents to effectively utilize all available tools during their work, maximizing productivity and output quality through intelligent tool selection and usage.
## Available Tools Overview
### File System Tools
- **Read**: Read file contents with line numbers
- **Write**: Create new files with content
- **Edit**: Make precise string replacements in existing files
- **MultiEdit**: Make multiple edits to a single file efficiently
- **LS**: List directory contents with filtering options
- **Glob**: Find files matching patterns
- **Grep**: Search file contents with regex
### Development Tools
- **Bash**: Execute shell commands with timeout control
- **NotebookRead**: Read Jupyter notebook contents
- **NotebookEdit**: Modify Jupyter notebook cells
### Information Tools
- **WebSearch**: Search the web for current information
- **WebFetch**: Fetch and analyze web content with AI
- **TodoRead**: Read current task list
- **TodoWrite**: Update task tracking
### Collaboration Tools
- **Task**: Launch specialized agents for complex searches or analyses
## Tool Selection Guidelines
### 1. Research and Analysis Phase
**For Market Research (Analyst)**:
```
Primary Tools:
- WebSearch: Current market trends, competitor analysis
- WebFetch: Detailed analysis of competitor websites/documentation
- Task: Complex multi-source research compilation
Example Workflow:
1. WebSearch for "latest trends in [domain] 2024"
2. WebFetch competitor sites for feature analysis
3. Task to compile comprehensive market report
```
**For Technical Research (Architect)**:
```
Primary Tools:
- WebSearch: Technology comparisons, best practices
- WebFetch: Official documentation analysis
- Grep/Glob: Analyze existing codebase patterns
Example Workflow:
1. Grep codebase for current technology usage
2. WebSearch for "[technology] vs [alternative] comparison"
3. WebFetch official docs for implementation details
```
### 2. Planning and Documentation Phase
**For PRD Creation (PM)**:
```
Primary Tools:
- Read: Review project brief and related documents
- Write/MultiEdit: Create and refine PRD
- TodoWrite: Track epic and story creation progress
Example Workflow:
1. Read project brief and stakeholder inputs
2. TodoWrite to plan PRD sections
3. Write PRD using template
4. MultiEdit for iterative refinements
```
**For Architecture Documentation (Architect)**:
```
Primary Tools:
- Glob: Find related architecture files
- Read: Analyze existing patterns
- Write/Edit: Create architecture documents
- Bash: Generate architecture diagrams (if tools available)
Example Workflow:
1. Glob "**/*architecture*.md" to find existing docs
2. Read relevant architecture patterns
3. Write comprehensive architecture document
4. Bash to run diagram generation tools
```
### 3. Implementation Phase
**For Story Creation (SM/PO)**:
```
Primary Tools:
- Read: Review PRD and architecture
- MultiEdit: Create multiple stories efficiently
- TodoWrite: Track story dependencies
- Edit: Refine story details
Example Workflow:
1. Read PRD to understand epics
2. TodoWrite to plan story breakdown
3. MultiEdit to create story batch
4. Edit individual stories for clarity
```
**For Code Implementation (Developer)**:
```
Primary Tools:
- Read: Understand requirements and existing code
- Grep: Find implementation patterns
- MultiEdit: Implement features across files
- Bash: Run tests and verify changes
- Git integration via Bash
Example Workflow:
1. Read story requirements and architecture
2. Grep for similar implementations
3. MultiEdit to implement feature
4. Bash to run tests
5. Bash for git operations
```
### 4. Quality Assurance Phase
**For Code Review (Architect/Dev)**:
```
Primary Tools:
- Glob: Find changed files
- Read: Review implementations
- Grep: Check for anti-patterns
- Edit: Suggest improvements
- Bash: Run linting and analysis tools
Example Workflow:
1. Bash "git diff --name-only" to find changes
2. Read changed files for review
3. Grep for common issues
4. Edit to fix problems
5. Bash to run quality checks
```
**For Testing (QA/Dev)**:
```
Primary Tools:
- Write: Create test files
- MultiEdit: Update test suites
- Bash: Execute test commands
- Read: Analyze test results
Example Workflow:
1. Read implementation to understand functionality
2. Write comprehensive test cases
3. Bash to run test suite
4. Read test output for failures
5. Edit to fix issues
```
### 5. Deployment Phase
**For Infrastructure (Platform Engineer)**:
```
Primary Tools:
- Write: Create configuration files
- Bash: Execute deployment commands
- WebFetch: Reference cloud provider docs
- TodoWrite: Track deployment checklist
Example Workflow:
1. Write infrastructure configuration
2. Bash to validate configurations
3. WebFetch for provider-specific details
4. Bash to deploy infrastructure
5. TodoWrite deployment status
```
## Advanced Tool Combinations
### Pattern 1: Comprehensive Analysis
```
Combine:
- Glob + Grep + Read for codebase analysis
- WebSearch + WebFetch for external research
- Task for complex multi-step investigations
Use When:
- Understanding large codebases
- Researching unfamiliar domains
- Analyzing competitor implementations
```
### Pattern 2: Bulk Operations
```
Combine:
- Glob + MultiEdit for widespread changes
- Grep + Edit for pattern-based updates
- Bash + TodoWrite for progress tracking
Use When:
- Refactoring across multiple files
- Updating API signatures
- Implementing cross-cutting concerns
```
### Pattern 3: Validation Workflows
```
Combine:
- Read + Bash for test execution
- Grep + WebSearch for error resolution
- Edit + Bash for iterative fixes
Use When:
- Debugging complex issues
- Validating implementations
- Ensuring quality standards
```
## Tool Usage Best Practices
### 1. Efficiency Guidelines
- **Batch Operations**: Use MultiEdit over multiple Edit calls
- **Parallel Execution**: Run multiple Bash commands in single tool call
- **Smart Search**: Use Glob/Grep before extensive Read operations
- **Caching**: Leverage WebFetch cache for repeated URL access
### 2. Error Handling
- **Validation**: Always validate file existence before Edit
- **Backups**: Use git (via Bash) before major changes
- **Timeouts**: Set appropriate timeouts for long-running Bash commands
- **Fallbacks**: Have alternative approaches for tool failures
### 3. Context Management
- **TodoWrite**: Track progress for complex multi-step tasks
- **Read Selectively**: Use offset/limit for large files
- **State Tracking**: Maintain context between tool operations
- **Documentation**: Comment on why specific tools were chosen
### 4. Security Considerations
- **Input Validation**: Sanitize inputs for Bash commands
- **Path Safety**: Use absolute paths for file operations
- **Sensitive Data**: Never log credentials or secrets
- **Web Safety**: Validate URLs before WebFetch operations
## Integration with BMAD Workflow
### 1. Analyst Phase
- Heavy use of WebSearch and WebFetch for research
- Task for complex analysis delegations
- Write for comprehensive briefs
### 2. PM Phase
- Read for understanding context
- Write/MultiEdit for PRD creation
- TodoWrite for epic/story tracking
### 3. Architecture Phase
- Grep/Glob for codebase analysis
- Write for documentation
- WebFetch for technology research
### 4. Implementation Phase
- Read for requirements understanding
- MultiEdit for code implementation
- Bash for testing and validation
### 5. Validation Phase
- Grep for quality checks
- Bash for automated testing
- Edit for issue resolution
## Persona-Specific Tool Preferences
### Analyst
Primary: WebSearch, WebFetch, Task, Write
Secondary: Read, TodoWrite
### PM
Primary: Read, Write, MultiEdit, TodoWrite
Secondary: WebSearch, Edit
### Architect
Primary: Grep, Glob, Read, Write
Secondary: WebFetch, Bash, MultiEdit
### Design Architect
Primary: Read, Write, WebFetch
Secondary: MultiEdit, Glob
### PO
Primary: Read, MultiEdit, TodoWrite
Secondary: Edit, Write
### SM
Primary: Read, MultiEdit, TodoWrite
Secondary: Write, Edit
### Developer
Primary: Read, MultiEdit, Bash, Grep
Secondary: Write, Edit, Glob
### Platform Engineer
Primary: Bash, Write, Read
Secondary: WebFetch, MultiEdit
## Success Metrics
Track tool usage effectiveness:
- Time saved through appropriate tool selection
- Error reduction from validation tools
- Quality improvement from comprehensive analysis
- Productivity gains from automation
This comprehensive tool utilization framework ensures all BMAD agents can leverage the full power of available tools to maximize their effectiveness and output quality.