Skip to content
🤖 Consolidated, AI-optimized BMAD docs: llms-full.txt. Fetch this plain text file for complete context.

Create a Custom Agent

Build your own AI agent with a unique personality, specialized commands, and optional persistent memory using the BMad Builder workflow.

  • How to run the create-agent workflow
  • Choose between Simple, Expert, and Module agent types
  • Define your agent’s persona (role, identity, communication style, principles)
  • Package and install your custom agent
  • Test and iterate on your agent’s behavior

Before creating your agent, understand the three types available:

TypeBest ForMemoryComplexity
SimpleFocused tasks, quick setupNoneLow
ExpertSpecialized domains, ongoing projectsPersistentMedium
ModuleBuilding other agents/workflowsPersistentHigh

Simple Agent - Use when your task is well-defined and focused. Perfect for single-purpose assistants like commit message generators or code reviewers.

Expert Agent - Use when your domain requires specialized knowledge or you need memory across sessions. Great for roles like Security Architect or Documentation Lead.

Module Agent - Use when your agent builds other agents or needs deep integration with the module system.

In your IDE (Claude Code, Cursor, etc.), invoke the create-agent workflow with the agent-builder agent.

The workflow guides you through eight steps:

StepWhat You’ll Do
Brainstorm (optional)Explore ideas with creative techniques
DiscoveryDefine the agent’s purpose and goals
Type & MetadataChoose Simple or Expert, name your agent
PersonaCraft the agent’s personality and principles
CommandsDefine what the agent can do
ActivationSet up autonomous behaviors (optional)
BuildGenerate the agent file
ValidationReview and verify everything works

Your agent’s personality is defined by four fields:

FieldPurposeExample
RoleWhat they do”Senior code reviewer who catches bugs and suggests improvements”
IdentityWho they are”Friendly but exacting, believes clean code is a craft”
Communication StyleHow they speak”Direct, constructive, explains the ‘why’ behind suggestions”
PrinciplesWhy they act”Security first, clarity over cleverness, test what you fix”

Keep each field focused on its purpose. The role isn’t personality; the identity isn’t job description.

Once created, package your agent for installation:

my-custom-stuff/
├── module.yaml # Contains: unitary: true
├── agents/
│ └── {agent-name}/
│ ├── {agent-name}.agent.yaml
│ └── _memory/ # Expert agents only
│ └── {sidecar-folder}/
└── workflows/ # Optional: custom workflows

Install using the BMad installer, then invoke your new agent in your IDE.

You’ve created a custom AI agent with:

  • A defined purpose and role in your workflow
  • A unique persona with communication style and principles
  • Custom menu commands for your specific tasks
  • Optional persistent memory for ongoing context

Your project now includes:

_bmad/
├── _config/
│ └── agents/
│ └── {your-agent}/ # Your agent customizations
└── {module}/
└── agents/
└── {your-agent}/
└── {your-agent}.agent.yaml
ActionHow
Start workflow"Run the BMad Builder create-agent workflow"
Edit agent directlyModify {agent-name}.agent.yaml
Edit customizationModify _bmad/_config/agents/{agent-name}
Rebuild agentnpx bmad-method build <agent-name>
Study examplesCheck src/modules/bmb/reference/agents/

Should I start with Simple or Expert? Start with Simple for your first agent. You can always upgrade to Expert later if you need persistent memory.

How do I add more commands later? Edit the agent YAML directly or use the customization file in _bmad/_config/agents/. Then rebuild.

Can I share my agent with others? Yes. Package your agent as a standalone module and share it with your team or the community.

Where can I see example agents? Study the reference agents in src/modules/bmb/reference/agents/: