Remove hardcoded .bmad folder references throughout documentation and source files, replacing them with the configurable {bmad_folder} placeholder. This change enables users to customize the BMAD installation folder name via configuration, improving flexibility and reducing coupling to a specific directory structure.
Changes include:
- Update all documentation to reference {bmad_folder} instead of .bmad
- Remove legacy configuration files from .bmad and .claude directories
- Update workflow.xml and CLI documentation with new placeholder syntax
5.3 KiB
Agent Customization Guide
Customize BMad agents without modifying core files. All customizations persist through updates.
Quick Start
1. Locate Customization Files
After installation, find agent customization files in:
{bmad_folder}/_cfg/agents/
├── core-bmad-master.customize.yaml
├── bmm-dev.customize.yaml
├── bmm-pm.customize.yaml
└── ... (one file per installed agent)
2. Edit Any Agent
Open the .customize.yaml file for the agent you want to modify. All sections are optional - customize only what you need.
3. Rebuild the Agent
After editing, IT IS CRITICAL to rebuild the agent to apply changes:
npx bmad-method@alpha install # and then select option to compile all agents
# OR for individual agent only
npx bmad-method@alpha build <agent-name>
# Examples:
npx bmad-method@alpha build bmm-dev
npx bmad-method@alpha build core-bmad-master
npx bmad-method@alpha build bmm-pm
What You Can Customize
Agent Name
Change how the agent introduces itself:
agent:
metadata:
name: 'Spongebob' # Default: "Amelia"
Persona
Replace the agent's personality, role, and communication style:
persona:
role: 'Senior Full-Stack Engineer'
identity: 'Lives in a pineapple (under the sea)'
communication_style: 'Spongebob'
principles:
- 'Never Nester, Spongebob Devs hate nesting more than 2 levels deep'
- 'Favor composition over inheritance'
Note: The persona section replaces the entire default persona (not merged).
Memories
Add persistent context the agent will always remember:
memories:
- 'Works at Krusty Krab'
- 'Favorite Celebrity: David Hasslehoff'
- 'Learned in Epic 1 that its not cool to just pretend that tests have passed'
Custom Menu Items
Add your own workflows to the agent's menu:
menu:
- trigger: my-workflow
workflow: '{project-root}/custom/my-workflow.yaml'
description: My custom workflow
- trigger: deploy
action: '#deploy-prompt'
description: Deploy to production
Don't include: * prefix or help/exit items - these are auto-injected.
Critical Actions
Add instructions that execute before the agent starts:
critical_actions:
- 'Always check git status before making changes'
- 'Use conventional commit messages'
Custom Prompts
Define reusable prompts for action="#id" menu handlers:
prompts:
- id: deploy-prompt
content: |
Deploy the current branch to production:
1. Run all tests
2. Build the project
3. Execute deployment script
Real-World Examples
Example 1: Customize Developer Agent for TDD
# {bmad_folder}/_cfg/agents/bmm-dev.customize.yaml
agent:
metadata:
name: 'TDD Developer'
memories:
- 'Always write tests before implementation'
- 'Project uses Jest and React Testing Library'
critical_actions:
- 'Review test coverage before committing'
Example 2: Add Custom Deployment Workflow
# {bmad_folder}/_cfg/agents/bmm-dev.customize.yaml
menu:
- trigger: deploy-staging
workflow: '{project-root}/.bmad-custom/deploy-staging.yaml'
description: Deploy to staging environment
- trigger: deploy-prod
workflow: '{project-root}/.bmad-custom/deploy-prod.yaml'
description: Deploy to production (with approval)
Example 3: Multilingual Product Manager
# {bmad_folder}/_cfg/agents/bmm-pm.customize.yaml
persona:
role: 'Bilingual Product Manager'
identity: 'Expert in US and LATAM markets'
communication_style: 'Clear, strategic, with cultural awareness'
principles:
- 'Consider localization from day one'
- 'Balance business goals with user needs'
memories:
- 'User speaks English and Spanish'
- 'Target markets: US and Latin America'
Tips
- Start Small: Customize one section at a time and rebuild to test
- Backup: Copy customization files before major changes
- Update-Safe: Your customizations in
_cfg/survive all BMad updates - Per-Project: Customization files are per-project, not global
- Version Control: Consider committing
_cfg/to share customizations with your team
Module vs. Global Config
Module-Level (Recommended):
- Customize agents per-project in
{bmad_folder}/_cfg/agents/ - Different projects can have different agent behaviors
Global Config (Coming Soon):
- Set defaults that apply across all projects
- Override with project-specific customizations
Troubleshooting
Changes not appearing?
- Make sure you ran
npx bmad-method build <agent-name>after editing - Check YAML syntax is valid (indentation matters!)
- Verify the agent name matches the file name pattern
Agent not loading?
- Check for YAML syntax errors
- Ensure required fields aren't left empty if you uncommented them
- Try reverting to the template and rebuilding
Need to reset?
- Delete the
.customize.yamlfile - Run
npx bmad-method build <agent-name>to regenerate defaults
Next Steps
- BMM Agents Guide - Learn about all 12 BMad Method agents
- BMB Create Agent Workflow - Build completely custom agents
- BMM Complete Documentation - Full BMad Method reference