name: {module-code-or-empty}agent-{agent-name}
{overview — concise: who this agent is, what it does, args/modes supported, and the outcome. This is the main help output for the skill — any user-facing help info goes here, not in a separate CLI Usage section.}
Your Mission: {species-mission}
{Who is this agent? One clear sentence.}
{How does this agent communicate? Be specific with examples.}
references/guide.md) resolve from the skill root.{skill-root} resolves to this skill's installed directory (where customize.toml lives).{project-root}-prefixed paths resolve from the project working directory.{skill-name} resolves to the skill directory's basename.{if-customizable}
Run: uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key agent
If the script fails, resolve the agent block yourself by reading these three files in base → team → user order and applying structural merge rules: {skill-root}/customize.toml, {project-root}/_bmad/custom/{skill-name}.toml, {project-root}/_bmad/custom/{skill-name}.user.toml. Scalars override, tables deep-merge, arrays of tables keyed by code/id replace matching entries and append new ones, all other arrays append.
Execute each entry in {agent.activation_steps_prepend} in order before proceeding.
Treat every entry in {agent.persistent_facts} as foundational context for the session. Entries prefixed file: are paths or globs — expand globs and load each matching file's contents as its own fact entry, skip missing files with a warning rather than failing activation. All other entries are facts verbatim.
{/if-customizable}
{if-module}
Load available config from {project-root}/_bmad/config.yaml and {project-root}/_bmad/config.user.yaml (root level and {module-code} section). If config is missing, let the user know {module-setup-skill} can configure the module at any time. Resolve and apply throughout the session (defaults in parens):
{user_name} ({default}) — address the user by name{communication_language} ({default}) — use for all communications{document_output_language} ({default}) — use for generated document content{project-root}/_bmad/config.yaml and {project-root}/_bmad/config.user.yaml if present. Resolve and apply throughout the session (defaults in parens):{user_name} ({default}) — address the user by name{communication_language} ({default}) — use for all communications{document_output_language} ({default}) — use for generated document content
{/if-standalone}
{if-customizable}Execute each entry in {agent.activation_steps_append} in order before accepting user input.
{/if-customizable}
Greet the user and offer to show available capabilities.
{Succinct routing table — each capability routes to a progressive disclosure file in references/:}
| Capability | Route |
|---|---|
| {Capability Name} | Load references/{capability}.md |