24 KiB
| title |
|---|
| Create a Custom Agent Using BMAD Method Workflows |
Use the BMAD Method workflows to design, build, and deploy a custom AI agent from initial concept to a delightful interactive persona that users love engaging with. This guide follows the development of a Teacher's Assistant agent to illustrate the concepts, but these same workflows apply to any custom agent project.
When to Use This
- You want to create a specialized AI persona for specific domain expertise
- You need an agent that guides users through multi-step processes in your field
- You want to design custom interactive workflows beyond standard BMAD agents
- You need an agent that embodies specific communication styles and knowledge areas
- You're building agents for educational, professional, or specialized use cases
When to Skip This
- Simple modifications to existing agents (use agent customization instead)
- One-off custom prompts or simple AI interactions
- Complex AI systems requiring custom training (this focuses on persona and workflow design)
:::note[Prerequisites]
- BMAD Core Platform installed with BMM module
- Understanding of your target domain and user needs
- Familiarity with BMAD agent interaction patterns
- Access to Brainstorm Agent and Custom Agent Builder workflows :::
:::tip[Quick Path] Initialize project → Brainstorm agent concepts → Define agent persona and capabilities → Build agent structure → Create workflows and menus → Test and refine → Deploy and document. The entire process typically takes 2-4 focused work sessions to go from idea to working custom agent. :::
Understanding Custom Agent Creation
The BMAD Method approaches custom agent creation through systematic design and implementation workflows that ensure your agent delivers real value and delightful user experiences.
| Phase | Name | What Happens |
|---|---|---|
| 1 | Ideation | Brainstorm agent purpose, capabilities, personality (collaborative) |
| 2 | Design | Define agent persona, communication style, knowledge domains (structured) |
| 3 | Architecture | Plan agent workflows, menu systems, interaction patterns (technical) |
| 4 | Implementation | Build agent files, configure activation sequences (systematic) |
| 5 | Testing | Validate agent behavior, refine personality, test workflows (iterative) |
| 6 | Deployment | Integrate agent into BMAD ecosystem, create documentation (production) |
Single Agent Method
All steps accomplished through one agent:
/bmad:bmb:agents:agent-builder
The Agent Builder is a comprehensive Expert Agent that guides you through all phases of agent creation in a single workflow session. It handles brainstorming, discovery, type classification, persona development, menu structure, activation planning, and agent compilation without needing multiple specialized agents.
Steps
Step 1: Initialize Your Agent Creation Session
General Process: Start the Agent Builder to begin comprehensive agent development using its step-file architecture.
/bmad:bmb:agents:agent-builder
3. [CA] Create a new BMAD agent with best practices and compliance
Teacher's Assistant Example: When prompted for initial agent concept:
- Agent name: "Teacher's Assistant"
- Primary domain: "Education and learning facilitation"
- Target users: "Students seeking homework help and concept understanding"
- Agent scope: "Socratic questioning, scaffolding techniques, progress tracking"
Your Application: Provide these key elements for any agent:
- Clear agent purpose (e.g., "help therapists with session planning", "guide developers through code reviews", "assist writers with story development")
- Target user definition (e.g., "healthcare professionals", "marketing teams", "creative professionals")
- Domain expertise scope (e.g., "financial planning", "project management", "technical documentation")
Step 2: Brainstorm Agent Concepts and Capabilities
General Process: The Agent Builder includes optional brainstorming in Step 1. When you choose to brainstorm, select from 4 specialized technique approaches:
- User-Selected Techniques - Browse the complete technique library
- AI-Recommended Techniques - Customized suggestions based on your goals (includes web research)
- Random Technique Selection - Discover unexpected creative methods
- Progressive Technique Flow - Start broad, then systematically narrow focus
Each approach helps you discover your agent's essence - the living personality AND the utility it provides.
Teacher's Assistant Example: Using AI-Recommended Techniques approach, we discovered:
- Core purpose: "Guide students through understanding using educational best practices without providing direct answers"
- Key capabilities: "Socratic questioning, scaffolding techniques, progress tracking, adaptive teaching methods"
- Personality traits: "Patient mentor, educationally rigorous, never gives up on student learning"
Your Application: Define these elements for any agent:
- Core purpose: What main problem does your agent solve for users?
- Key capabilities: What specific tasks should your agent excel at?
- Personality traits: How should your agent communicate and behave?
Step 2a: Discovery Conversation Phase
General Process: After brainstorming, the workflow includes a comprehensive discovery conversation that establishes your agent's scope, context, target users, and special features. This prevents re-asking questions in later development phases and generates a comprehensive agent plan document.
Teacher's Assistant Example: Discovery conversation explored:
- Target Scope: All educational interactions across grade levels and subjects
- Primary Context: Home tutoring and independent study environments
- Communication Strategy: Age-appropriate language complexity while maintaining concept integrity
- Persistence Philosophy: "No giving up allowed" - always find alternative approaches
- Progress Tracking: Subject-specific learning profiles with technique effectiveness monitoring
- Validation Approaches: Student explanation + pop-quiz verification of understanding
Your Application: The discovery phase will explore for any agent:
- Target Scope: Who specifically will use your agent and in what contexts?
- Primary Context: Where and how will your agent be used most frequently?
- Communication Strategy: How should your agent adapt its communication style?
- Core Philosophy: What principles guide your agent's decision-making?
- Special Features: What unique capabilities set your agent apart?
Step 3: Determine Agent Type and Define Metadata
General Process: The workflow systematically classifies your agent and defines all required metadata properties:
- Simple Agent: Single-purpose, stateless, all-in-one file (~250 lines max)
- Expert Agent: Persistent memory, sidecar folder, domain-specific expertise
- Module Agent: Extends existing BMAD modules or requires multiple interconnected agents
Teacher's Assistant Example:
- Classification: Expert Agent (requires persistent memory for learning profiles)
- Rationale: Student progress tracking, technique effectiveness monitoring, evolving teaching strategies
- Metadata Properties:
- ID:
teachers-assistant - Name:
Sophia Chen - Title:
Educational Learning Facilitator - Icon:
🎓 - Module:
stand-alone - Has Sidecar:
true
- ID:
Your Application: For any agent, the system will determine:
- Agent Type: Based on memory requirements and complexity needs
- Technical Properties: ID (kebab-case), persona name, professional title
- Visual Identity: Appropriate emoji icon for your domain
- Ecosystem Placement: Stand-alone vs integration with existing modules
Step 4: Develop Four-Field Persona System
General Process: The workflow uses a sophisticated four-field persona system that creates distinct, non-overlapping personality dimensions:
- Role: WHAT they do (capabilities, expertise, knowledge areas)
- Identity: WHO they are (background, experience, character)
- Communication Style: HOW they speak (tone, patterns, voice)
- Principles: WHY they act (decision framework, values, constraints)
Teacher's Assistant Example:
persona:
role: >
Educational learning facilitator specializing in Socratic questioning, scaffolding techniques,
and progress-based teaching that guides students to discover answers rather than providing direct instruction.
identity: >
Master educator with deep knowledge of educational psychology, constructivist learning theory,
and adaptive teaching methods. Passionate advocate for authentic learning through struggle and self-discovery.
communication_style: >
Speaks like a patient mentor using strategic questioning, encouraging language, and age-appropriate
complexity while maintaining conceptual integrity.
principles:
- Channel expert educational psychology wisdom: draw upon Zone of Proximal Development, scaffolding techniques, metacognitive strategies, and research-backed methods that facilitate genuine understanding
- Never provide direct answers - guide students to discover solutions through strategic questioning and multiple explanation pathways
- Authentic learning requires productive struggle - frustration signals growth, not failure
- Track what works for each student and adapt techniques accordingly - analogies for some, examples for others
- Academic boundaries are sacred - redirect non-educational conversations back to learning focus
Your Application: For any agent, you'll develop:
- Role: Professional capabilities and expertise your agent provides
- Identity: Background, experience, and character that makes them credible
- Communication Style: How your agent speaks and interacts with users
- Principles: Decision framework and values that guide behavior
The first principle serves as an "expert activator" that tells the AI to access domain-specific knowledge and frameworks.
Step 5: Commands & Menu Structure Design
General Process: Transform discovered capabilities into structured menu commands following BMAD patterns:
- Capability Review: Analyze all capabilities from the discovery phase
- Command Grouping: Organize related capabilities under logical command areas
- Menu Pattern Application: Follow BMAD Expert Agent menu structure requirements
- Trigger Design: Create intuitive 2-letter codes and fuzzy match patterns
- Handler Definition: Map commands to specific prompts or actions
Teacher's Assistant Example: Created 9 educational commands with Expert Agent architecture:
critical_actions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/teachers-assistant-sidecar/learning-profiles.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/teachers-assistant-sidecar/technique-tracking.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/teachers-assistant-sidecar/'
prompts:
- id: socratic-guidance
content: |
<instructions>Guide student through learning using Socratic questioning without giving direct answers</instructions>
<process>1. Ask strategic questions 2. Use student interests for analogies 3. Encourage discovery 4. Validate understanding</process>
menu:
- trigger: LG or fuzzy match on learn-guide
action: '#socratic-guidance'
description: '[LG] Learning guidance through Socratic questioning'
- trigger: QM or fuzzy match on quiz-me
action: 'Generate pop-quiz on recent or struggling concepts from learning profile'
description: '[QM] Quiz me on challenging concepts'
- trigger: SA or fuzzy match on study-aids
action: '#study-aids-generator'
description: '[SA] Generate study aids (flashcards, practice problems, guides)'
Your Application: For any agent, you'll create commands organized by:
- Primary Functions: Core capabilities users access most frequently
- Utility Commands: Support functions like help, settings, progress tracking
- Advanced Features: Specialized tools for power users
- Memory Management: For Expert agents with persistent data needs
Design principles include 2-letter triggers, fuzzy matching, action handlers, and proper sidecar integration for Expert agents.
Step 6: Activation Planning
General Process: Define how your agent behaves when it starts up through critical actions and startup sequences:
- Reference Loading: Understanding critical action patterns
- Routing Decision: Determining build path (Simple/Expert/Module) based on architecture
- Activation Needs Discussion: Deciding autonomous vs responsive behavior patterns
- Critical Actions Definition: Specifying startup commands for memory loading and boundaries
Teacher's Assistant Example:
activation:
hasCriticalActions: true
rationale: "Agent needs to auto-load student learning context to provide personalized educational guidance"
criticalActions:
- 'Load COMPLETE file {project-root}/_bmad/_memory/teachers-assistant-sidecar/learning-profiles.md'
- 'Load COMPLETE file {project-root}/_bmad/_memory/teachers-assistant-sidecar/technique-tracking.md'
- 'ONLY read/write files in {project-root}/_bmad/_memory/teachers-assistant-sidecar/'
routing:
destinationBuild: "step-07b-build-expert.md"
rationale: "Expert agent requires sidecar memory for persistent learning profiles"
Your Application: For any agent, consider:
- Startup Needs: What must your agent load or initialize when it starts?
- Memory Requirements: Does your agent need persistent data between sessions?
- Security Boundaries: What file access restrictions should be enforced?
- Operational Philosophy: Responsive to prompts vs autonomous background tasks?
Routing logic determines the build path based on your agent's architecture needs.
Step 7: Expert Agent Build and Compilation
General Process: The Agent Builder automatically compiles all phases into the final .agent.yaml file:
- Generates Agent YAML: Combines persona, menu, activation, and metadata
- Creates Sidecar Structure: Sets up memory folders for Expert agents
- Validates Configuration: Ensures BMAD compliance and proper structure
- Provides Installation: Generates installation guidance
Teacher's Assistant Example: Generated complete Expert agent with this structure:
agents/
└── teachers-assistant/
├── teachers-assistant.agent.yaml # Complete agent definition
└── teachers-assistant-sidecar/ # Expert agent memory (build location)
├── learning-profiles.md # Student progress and preferences
├── technique-tracking.md # Teaching method effectiveness data
└── README.md # Sidecar documentation
Critical actions use proper path variables: {project-root}/_bmad/_memory/{sidecar-folder}/ for runtime operation.
Your Application: For any agent, this step produces:
- Agent YAML: Complete agent definition with proper BMAD compliance
- Sidecar Structure: Memory folders and files for Expert agents
- Path Configuration: Proper variable usage for portability
- Documentation: README files and installation guidance
Step 8: Celebration and Installation Guidance
General Process: The Agent Builder provides comprehensive installation instructions and celebrates completion. To make any agent installable, create a standalone BMAD content module with:
- Module directory with
module.yamlcontainingunitary: true - Agent files in
agents/agent-name/structure - Sidecar folder in
_memory/for Expert agents
Teacher's Assistant Example: Created this installable module structure:
my-educational-agents/
├── module.yaml # Contains: unitary: true
├── agents/
│ └── teachers-assistant/
│ ├── teachers-assistant.agent.yaml # Main agent definition
│ └── _memory/ # Expert agent memory
│ └── teachers-assistant-sidecar/
│ ├── learning-profiles.md
│ ├── technique-tracking.md
│ └── README.md
Installation methods include new project setup or adding to existing BMAD installations.
Your Application: For any agent, follow these installation principles:
- Module Structure: Use
unitary: truefor standalone agent modules - File Organization: Place agent files in proper directory hierarchy
- Memory Management: Include
_memory/structure for Expert agents - Distribution: Package entire module directory for sharing
Installing and Using Your Custom Agent
After completing agent creation, follow these steps to install and start using your new agent:
Step 1: Create Module Directory Structure
General Process: Transform your agent output into a BMAD-installable module:
# Navigate to your project root
cd /your/project/root
# Create module directory
mkdir -p my-custom-agents
# Create module configuration
echo "unitary: true" > my-custom-agents/module.yaml
# Create agents directory structure
mkdir -p my-custom-agents/agents
Step 2: Organize Agent Files
General Process: Move your completed agent files into the proper module structure:
# Copy agent directory from bmb-creations output
cp -r /path/to/_bmad-output/bmb-creations/your-agent my-custom-agents/agents/
# For Expert agents, organize sidecar structure
mkdir -p my-custom-agents/agents/your-agent/_memory
mv my-custom-agents/agents/your-agent/your-agent-sidecar my-custom-agents/agents/your-agent/_memory/
Teacher's Assistant Example:
my-educational-agents/
├── module.yaml # Contains: unitary: true
├── agents/
│ └── teachers-assistant/
│ ├── teachers-assistant.agent.yaml # Main agent definition
│ └── _memory/ # Expert agent memory
│ └── teachers-assistant-sidecar/
│ ├── learning-profiles.md
│ ├── technique-tracking.md
│ └── README.md
Step 3: Install Module in BMAD
General Process: Add your custom module to an existing or new BMAD project:
For New Projects:
- Run BMAD installer:
npx @bmad-method/cli init - When prompted for local modules, provide the path to your module
- Installer will automatically integrate your agent
For Existing Projects:
- Run:
npx @bmad-method/cli modify - Select "Add local custom module"
- Provide path to your module directory
- Confirm installation
Step 4: Activate Your Agent
General Process: Once installed, your agent becomes available through BMAD's command system:
# List available agents (verify your agent appears)
/agents
# Activate your agent using its module path
/bmad:your-module:agents:your-agent
Teacher's Assistant Example:
/bmad:my-educational-agents:agents:teachers-assistant
Step 5: Test Agent Functionality
General Process: Start with basic interactions to verify your agent works correctly:
Initial Activation Test:
/bmad:your-module:agents:your-agent
Basic Conversation Examples:
- "Hi [Agent Name], what can you help me with?"
- "Show me your available commands"
- "Tell me about your capabilities"
Teacher's Assistant Example: Specific conversation starters that test educational capabilities:
- "Help me understand fractions without giving me the answer"
- "LG" (Learning Guidance command)
- "QM" (Quiz Me command)
- "SA" (Study Aids command)
Step 6: Verify Expert Agent Memory (If Applicable)
General Process: For Expert agents with sidecar folders, confirm memory persistence:
- Start agent and interact with memory commands
- Update profiles or tracking data
- Restart agent and verify data persists
Teacher's Assistant Example:
UP (Update Profile command)
LP (Learning Progress command)
Troubleshooting Common Installation Issues
Agent Not Found:
- Verify
module.yamlexists withunitary: true - Check agent file is in
agents/agent-name/agent-name.agent.yaml - Confirm BMAD installation included your module
Sidecar Memory Issues (Expert Agents):
- Ensure
_memory/agent-sidecar/structure exists - Verify critical_actions reference correct file paths
- Check file permissions for read/write access
Command Not Working:
- Test basic interaction first before specialized commands
- Verify agent activation completed successfully
- Check for any startup errors in agent logs
Sharing Your Agent
To share your agent with others:
- Package entire module directory:
my-custom-agents/ - Include installation instructions: Reference this guide
- Provide example interactions: Show how to use key features
- Document dependencies: Any special requirements or modules
Distribution Options:
- Git Repository: Push module directory to version control
- Archive File: Zip module directory for direct sharing
- BMAD Community: Submit to community agent library (if available)
Your custom agent is now ready for production use and can be shared across BMAD installations!
Summary
The BMAD Agent Builder provides a comprehensive, single-agent solution for creating production-ready BMAD agents. Through its step-file architecture, it guides you through the complete end-to-end process:
- Brainstorming (optional) - Creative exploration using 4 specialized technique approaches
- Discovery - Comprehensive capability and context definition with agent-plan documentation
- Type Classification - Automatic Simple/Expert/Module architecture determination
- Four-Field Persona - Role, identity, communication style, and principles development
- Commands & Menu - Structured command interface with BMAD compliance
- Activation Planning - Critical actions definition and routing determination
- Agent Build - Complete YAML file generation with sidecar structure
- Installation Guidance - Module packaging instructions and testing recommendations
Complete Agent Creation in One Session:
/bmad:bmb:agents:agent-builder → [CA] Create a new BMAD agent → Continue through all steps
Process Results:
- Production-Ready Files: Complete
.agent.yamlwith proper BMAD compliance - Expert Architecture: Sidecar folder structure with memory files and security boundaries
- Installation Package: Module structure with
module.yamlfor BMAD integration - Testing Guidelines: Conversation starters and command validation approaches
- Documentation: Comprehensive agent plan and sidecar README for maintenance
Key Advantages:
- Single Agent Workflow: Complete process without switching between multiple agents
- BMAD Compliance: Automatic adherence to all standards, patterns, and architectural requirements
- Expert Memory Management: Proper sidecar setup with runtime path variables and file boundaries
- Specialized Domain Integration: Research-backed methodology incorporation
- Production Installation: Ready-to-install module structure with proper configuration
Teacher's Assistant Case Study Achievement:
- Expert Agent: 9 educational commands with persistent memory architecture
- Educational Psychology Integration: Socratic method, scaffolding techniques, ZPD assessment
- Complete Workflow: From concept to installable module in single session
- Memory Architecture: Student learning profiles and technique effectiveness tracking
- BMAD Compliance: Full validation and proper sidecar configuration
Time Investment: Typically 2-4 focused work sessions to go from initial idea to production-ready, installable custom agent with comprehensive capabilities and professional-quality implementation.
The BMAD Agent Creation Method transforms agent concepts into production-ready implementations efficiently and systematically, handling all technical complexity while maintaining focus on agent personality and user value delivery.