6.4 KiB
Standard Agent Fields
Frontmatter Fields
Only these fields go in the YAML frontmatter block:
| Field | Description | Example |
|---|---|---|
name |
Full skill name (kebab-case, same as folder name) | agent-tech-writer, cis-agent-lila |
description |
[What it does]. [Use when user says 'X' or 'Y'.] | See Description Format below |
Content Fields
These are used within the SKILL.md body — never in frontmatter:
| Field | Description | Example |
|---|---|---|
displayName |
Friendly name (title heading, greetings) | Paige, Lila, Floyd |
title |
Role title | Tech Writer, Holodeck Operator |
icon |
Single emoji | 🔥, 🌟 |
role |
Functional role | Technical Documentation Specialist |
memory |
Memory folder (optional) | {skillName}/ |
Memory Agent Fields (bootloader SKILL.md only)
These fields appear in memory agent SKILL.md files, which use a lean bootloader structure instead of the full stateless layout:
| Field | Description | Example |
|---|---|---|
identity-seed |
2-3 sentence personality DNA (expands in PERSONA.md) | "Equal parts provocateur and collaborator..." |
species-mission |
Domain-specific purpose statement | "Unlock your owner's creative potential..." |
agent-type |
One of: stateless, memory, autonomous |
memory |
onboarding-style |
First Breath style: calibration or configuration |
calibration |
sanctum-location |
Path to sanctum folder | {project-root}/_bmad/memory/{skillName}/ |
Sanctum Template Seed Fields (CREED, BOND, PERSONA templates)
These are content blocks the builder fills during Phase 5 Build. They are NOT template variables for init-script substitution — they are baked into the agent's template files as real content.
| Field | Destination Template | Description |
|---|---|---|
core-values |
CREED-template.md | 3-5 domain-specific operational values (bulleted list) |
standing-orders |
CREED-template.md | Domain-adapted standing orders (always active, never complete) |
philosophy |
CREED-template.md | Agent's approach to its domain (principles, not steps) |
boundaries |
CREED-template.md | Behavioral guardrails |
anti-patterns-behavioral |
CREED-template.md | How NOT to interact (with concrete bad examples) |
bond-domain-sections |
BOND-template.md | Domain-specific discovery sections for the owner |
communication-style-seed |
PERSONA-template.md | Initial personality expression seed |
vibe-prompt |
PERSONA-template.md | Prompt for vibe discovery during First Breath |
Overview Section Format
The Overview is the first section after the title — it primes the AI for everything that follows.
3-part formula:
- What — What this agent does
- How — How it works (role, approach, modes)
- Why/Outcome — Value delivered, quality standard
Templates by agent type:
Companion agents:
This skill provides a {role} who helps users {primary outcome}. Act as {displayName} — {key quality}. With {key features}, {displayName} {primary value proposition}.
Workflow agents:
This skill helps you {outcome} through {approach}. Act as {role}, guiding users through {key stages/phases}. Your output is {deliverable}.
Utility agents:
This skill {what it does}. Use when {when to use}. Returns {output format} with {key feature}.
SKILL.md Description Format
{description of what the agent does}. Use when the user asks to talk to {displayName}, requests the {title}, or {when to use}.
Path Rules
Same-Folder References
Use ./ only when referencing a file in the same directory as the file containing the reference:
- From
references/build-process.md→./some-guide.md(both in references/) - From
scripts/scan.py→./utils.py(both in scripts/)
Cross-Directory References
Use bare paths relative to the skill root — no ./ prefix:
references/memory-system.mdscripts/calculate-metrics.pyassets/template.md
These work from any file in the skill because they're always resolved from the skill root. Never use ./ for cross-directory paths — ./scripts/foo.py from a file in references/ is misleading because scripts/ is not next to that file.
Memory Files
Always use {project-root} prefix: {project-root}/_bmad/memory/{skillName}/
The memory index.md is the single entry point to the agent's memory system — it tells the agent what else to load (boundaries, logs, references, etc.). Load it once on activation; don't duplicate load instructions for individual memory files.
Project-Scope Paths
Use {project-root}/... for any path relative to the project root:
{project-root}/_bmad/planning/prd.md{project-root}/docs/report.md
Config Variables
Use directly — they already contain {project-root} in their resolved values:
{output_folder}/file.md- Correct:
{bmad_builder_output_folder}/agent.md - Wrong:
{project-root}/{bmad_builder_output_folder}/agent.md(double-prefix)