# Create New BMAD Agent This workflow guides you through creating a new custom agent for the BMAD framework using the BMad Builder (BMB) module. ## Prerequisites - BMB module installed (`bmad/bmb/` exists) - Understanding of desired agent purpose and role - Familiarity with BMAD agent structure ## Workflow Overview This workflow uses the BMB interactive agent creation system. You have two approaches: **Approach A**: Use the built-in creation workflow (recommended) **Approach B**: Manual creation following BMAD v6 standards ## Approach A: Interactive Creation (Recommended) ### 1. Activate BMad Builder Agent In your IDE, activate the BMad Builder agent from your available agents list. ### 2. Start Creation Workflow Execute the agent creation workflow: ``` /workflow create-agent ``` Or navigate through the BMad Builder menu to select "Create New Agent" ### 3. Optional: Brainstorm Agent Concept When prompted, choose whether to brainstorm the agent concept: - **Yes**: Guided brainstorming session using creative techniques - **No**: Proceed directly to agent definition ### 4. Define Agent Core Properties Provide the following information when prompted: **Basic Identity**: - Agent slug (kebab-case, e.g., `data-analyst`) - Display name (e.g., `Data Analyst`) - Agent title/description - Icon emoji (optional, e.g., `📊`) **Agent Type**: - Full module agent (complete persona with workflows) - Hybrid agent (persona + specialized knowledge) - Sidecar agent (focused sub-agent for specific expertise) ### 5. Develop Agent Persona Define the agent's persona: **Role**: What is this agent's primary function? ``` Example: "Senior Data Analyst specializing in business intelligence and insights" ``` **Identity**: Who is this agent? What expertise do they have? ``` Example: "Expert in data analysis, statistical modeling, and data visualization with 10+ years of experience transforming raw data into actionable insights" ``` **Communication Style**: How should the agent communicate? ``` Example: "Analytical and precise, uses data to support recommendations, explains complex concepts clearly, asks clarifying questions about metrics and goals" ``` **Principles**: Core beliefs or approaches? ``` Example: "Data quality first, context matters, visualize insights, validate assumptions with data" ``` ### 6. Design Agent Menu Create menu items for the agent: ```yaml Show menu Analyze Dataset Build Dashboard Exit agent ``` Each menu item needs: - `cmd`: Trigger text (use asterisk prefix) - Display text - Action type: `workflow`, `action`, or `exec` ### 7. Add Activation Instructions Define what happens when the agent activates: ```xml Load persona from current agent file Load project config from bmad/core/config.yaml Greet user by {user_name} in {communication_language} Display menu and wait for input ``` ### 8. Create Associated Workflows (Optional) If your agent references workflows, create them: ```bash read_file("bmad/bmb/workflows/create-workflow/") ``` Follow the workflow creation process for each workflow your agent needs. ### 9. Review and Save The BMB workflow will: - Generate the complete agent file - Save to appropriate location - Validate against BMAD standards - Update manifests ### 10. Test Your Agent 1. Restart your IDE or reload agents 2. Activate your new agent 3. Verify: - Greeting appears correctly - Menu displays properly - Menu items trigger correctly - Workflows execute as expected ## Approach B: Manual Creation ### 1. Create Agent File Create file in appropriate location: - **Module agent**: `src/modules/{module}/agents/{agent-name}.md` - **Core agent**: `bmad/core/agents/{agent-name}.md` - **Custom agent**: `bmad/_cfg/agents/{agent-name}.md` (customization only) ### 2. Add Frontmatter ```yaml --- name: 'agent-name' description: 'Brief description of agent purpose' --- ``` ### 3. Add Agent XML Structure ```xml Primary role Who they are How they communicate Core principles Show menu Exit ``` ### 4. Follow BMAD Conventions Ensure your agent follows: - XML structure standards - Menu handler patterns - Activation step requirements - Variable usage (`{user_name}`, `{communication_language}`, etc.) - Config loading patterns ### 5. Update Manifests Add entry to `bmad/_cfg/agent-manifest.csv`: ```csv agent-slug,Agent Name,path/to/agent.md,Brief description ``` ## Agent Types Explained ### Full Module Agent - Complete persona with personality - Multiple workflows and capabilities - Examples: BMad Master, PM, Architect ### Hybrid Agent - Persona + specialized knowledge base - Knowledge stored in separate files - Examples: Agents with extensive reference materials ### Sidecar Agent - Focused, specialized sub-agent - Works alongside main agents - Examples: Release Chief Sidecar, Doc Keeper Sidecar ## Best Practices 1. **Clear Purpose**: Agent should have focused, well-defined role 2. **Consistent Voice**: Communication style should match persona 3. **User-Centric**: Design menu for user workflow efficiency 4. **Config Integration**: Always load and use user config 5. **Language Support**: Respect `{communication_language}` setting 6. **Error Handling**: Provide helpful messages for issues 7. **Documentation**: Include clear descriptions and usage examples 8. **Testing**: Thoroughly test all menu items and workflows ## Customization vs Extension **Customization** (`bmad/_cfg/agents/`): - Override existing agent properties - Survives framework updates - YAML format **Extension** (new agent file): - Create entirely new agent - Add to source or project directly - Full markdown with XML ## Validation Use the BMB audit workflow to validate your agent: ``` /workflow audit-agent ``` This checks: - XML structure validity - Required fields presence - Menu handler correctness - BMAD v6 compliance - Best practices adherence ## Troubleshooting **Agent doesn't appear**: - Check manifest was updated - Verify file location - Restart IDE **Activation fails**: - Validate XML structure - Check config loading step - Verify file paths in workflows **Menu items don't work**: - Check handler types (workflow, action, exec) - Verify workflow paths exist - Validate action IDs **Persona not working**: - Ensure activation loads persona - Check communication style definition - Verify identity is clear ## Resources - [BMB Documentation](./bmad/bmb/README.md) - [Agent Creation Guide](./bmad/bmb/workflows/create-agent/README.md) - [BMAD Conventions](./docs/bmad-conventions.md) - [Example Agents](./bmad/core/agents/) ## Next Steps After creating your agent: 1. Create associated workflows if needed 2. Test thoroughly in real scenarios 3. Document usage examples 4. Share with team or community 5. Consider packaging as a module for distribution