---
name: 'step-03-tools-configuration'
description: 'Configure all required tools (core, memory, external) and installation requirements in one comprehensive step'

# Path Definitions
workflow_path: '{project-root}/.bmad/bmb/workflows/create-workflow'

# File References
thisStepFile: '{workflow_path}/steps/step-03-tools-configuration.md'
nextStepFile: '{workflow_path}/steps/step-04-plan-review.md'

targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'

# Documentation References
commonToolsCsv: '{project-root}/.bmad/bmb/docs/workflows/common-workflow-tools.csv'

# Task References
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
# Template References
# No template needed - will append tools configuration directly to workflow plan
---

# Step 3: Tools Configuration

## STEP GOAL:

To comprehensively configure all tools needed for the workflow (core tools, memory, external tools) and determine installation requirements.

## MANDATORY EXECUTION RULES (READ FIRST):

### Universal Rules:

- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator

### Role Reinforcement:

- ✅ You are a workflow architect and integration specialist
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring expertise in BMAD tools and integration patterns
- ✅ User brings their workflow requirements and preferences

### Step-Specific Rules:

- 🎯 Focus ONLY on configuring tools based on workflow requirements
- 🚫 FORBIDDEN to skip tool categories - each affects workflow design
- 💬 Present options clearly, let user make informed choices
- 🚫 DO NOT hardcode tool descriptions - reference CSV

## EXECUTION PROTOCOLS:

- 🎯 Load tools dynamically from CSV, not hardcoded
- 💾 Document all tool choices in workflow plan
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
- 🚫 FORBIDDEN to load next step until user selects 'C'

## CONTEXT BOUNDARIES:

- Requirements from step 2 inform tool selection
- All tool choices affect workflow design
- This is the ONLY tools configuration step
- Installation requirements affect implementation decisions

## TOOLS CONFIGURATION PROCESS:

### 1. Initialize Tools Configuration

"Configuring **Tools and Integrations**

Based on your workflow requirements, let's configure all the tools your workflow will need. This includes core BMAD tools, memory systems, and any external integrations."

### 2. Load and Present Available Tools

Load `{commonToolsCsv}` and present tools by category:

"**Available BMAD Tools and Integrations:**

**Core Tools (Always Available):**

- [List tools from CSV where propose='always', with descriptions]

**Optional Tools (Available When Needed):**

- [List tools from CSV where propose='example', with descriptions]

_Note: I'm loading these dynamically from our tools database to ensure you have the most current options._"

### 3. Configure Core BMAD Tools

"**Core BMAD Tools Configuration:**

These tools significantly enhance workflow quality and user experience:"

For each core tool from CSV (`propose='always'`):

1. **Party-Mode**
   - Use case: [description from CSV]
   - Where to integrate: [ask user for decision points, creative phases]

2. **Advanced Elicitation**
   - Use case: [description from CSV]
   - Where to integrate: [ask user for quality gates, review points]

3. **Brainstorming**
   - Use case: [description from CSV]
   - Where to integrate: [ask user for idea generation, innovation points]

### 4. Configure LLM Features

"**LLM Feature Integration:**

These capabilities enhance what your workflow can do:"

From CSV (`propose='always'` LLM features):

4. **Web-Browsing**
   - Capability: [description from CSV]
   - When needed: [ask user about real-time data needs]

5. **File I/O**
   - Capability: [description from CSV]
   - Operations: [ask user about file operations needed]

6. **Sub-Agents**
   - Capability: [description from CSV]
   - Use cases: [ask user about delegation needs]

7. **Sub-Processes**
   - Capability: [description from CSV]
   - Use cases: [ask user about parallel processing needs]

### 5. Configure Memory Systems

"**Memory and State Management:**

Determine if your workflow needs to maintain state between sessions:"

From CSV memory tools:

8. **Sidecar File**
   - Use case: [description from CSV]
   - Needed when: [ask about session continuity, agent initialization]

### 6. Configure External Tools (Optional)

"**External Integrations (Optional):**

These tools connect your workflow to external systems:"

From CSV (`propose='example'`):

- MCP integrations, database connections, APIs, etc.
- For each relevant tool: present description and ask if needed
- Note any installation requirements

### 7. Installation Requirements Assessment

"**Installation and Dependencies:**

Some tools require additional setup:"

Based on selected tools:

- Identify tools requiring installation
- Assess user's comfort level with installations
- Document installation requirements

### 8. Document Complete Tools Configuration

Append to {workflowPlanFile}:

```markdown
## Tools Configuration

### Core BMAD Tools

- **Party-Mode**: [included/excluded] - Integration points: [specific phases]
- **Advanced Elicitation**: [included/excluded] - Integration points: [specific phases]
- **Brainstorming**: [included/excluded] - Integration points: [specific phases]

### LLM Features

- **Web-Browsing**: [included/excluded] - Use cases: [specific needs]
- **File I/O**: [included/excluded] - Operations: [file management needs]
- **Sub-Agents**: [included/excluded] - Use cases: [delegation needs]
- **Sub-Processes**: [included/excluded] - Use cases: [parallel processing needs]

### Memory Systems

- **Sidecar File**: [included/excluded] - Purpose: [state management needs]

### External Integrations

- [List selected external tools with purposes]

### Installation Requirements

- [List tools requiring installation]
- **User Installation Preference**: [willing/not willing]
- **Alternative Options**: [if not installing certain tools]
```

### 9. Present MENU OPTIONS

Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue

#### EXECUTION RULES:

- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
- After other menu items execution, return to this menu
- User can chat or ask questions - always respond and then end with display again of the menu options
- Use menu handling logic section below

#### Menu Handling Logic:

- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save tools configuration to {workflowPlanFile}, update frontmatter, then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#9-present-menu-options)

## CRITICAL STEP COMPLETION NOTE

ONLY WHEN C is selected and tools configuration is saved will you load {nextStepFile} to review the complete plan.

---

## 🚨 SYSTEM SUCCESS/FAILURE METRICS

### ✅ SUCCESS:

- All tool categories configured based on requirements
- User made informed choices for each tool
- Complete configuration documented in plan
- Installation requirements identified
- Ready to proceed to plan review

### ❌ SYSTEM FAILURE:

- Skipping tool categories
- Hardcoding tool descriptions instead of using CSV
- Not documenting user choices
- Proceeding without user confirmation

**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
