Files
BMAD-METHOD/bmad-core/schemas

BMAD Schemas

This directory contains YAML schema definitions for BMAD Method configuration files.

Agent Schema

The agent-schema.yml defines the EXACT structure required for agent configuration files in the BMAD Method, based on the standard pm.yml structure.

Required Structure

Every agent configuration file MUST have exactly these fields:

agent:
  name: string        # Human-friendly name (e.g., "John")
  id: string         # Unique identifier (e.g., "pm")
  title: string      # Professional title (e.g., "Product Manager")
  description: string # Main goal and purpose of the agent
  persona: string    # Reference to persona file in bmad-core/personas/
  customize: string  # Customization instructions (use "" if none)

dependencies:
  tasks: []          # Array of task files from bmad-core/tasks/
  templates: []      # Array of template files from bmad-core/templates/
  checklists: []     # Array of checklist files from bmad-core/checklists/
  data: []           # Array of data files from bmad-core/data/
  utils: []          # Array of utility files from bmad-core/utils/

Important Notes

  1. ALL fields are required - Even if empty, include all fields with empty arrays [] or empty strings ""
  2. No additional fields allowed - The schema enforces exactly this structure
  3. No environments section - Environment-specific configurations are not part of the standard
  4. Customize field - Must be present even if empty (use "")

Example (pm.yml)

agent:
  name: John
  id: pm
  title: Product Manager
  description: >-
    Main goal is to help produce or maintain the best possible PRD and represent the end user the
    product will serve.
  persona: pm
  customize: ""

dependencies:
  tasks:
    - create-doc-from-template
    - correct-course
    - create-deep-research-prompt
    - brownfield-create-epic
    - brownfield-create-story
    - execute-checklist
  templates:
    - prd-tmpl
    - brownfield-prd-tmpl
  checklists:
    - pm-checklist
    - change-checklist
  data:
    - technical-preferences
  utils:
    - template-format

Agent Team Schema

The agent-team-schema.yml defines the structure for agent team configuration files in the BMAD Method.

Required Structure

Every team configuration file MUST have exactly these fields:

bundle:
  name: string        # Team name (e.g., "Team Fullstack")
  description: string # Team purpose and capabilities

agents: []           # Array of agent IDs or "*" for all agents

workflows: []        # Array of workflow names from bmad-core/workflows/

Important Notes

  1. ALL fields are required - Include all fields even if arrays are empty
  2. No additional fields allowed - The schema enforces exactly this structure
  3. Agent wildcard - Use "*" to include all available agents
  4. Workflows - Reference workflow files from bmad-core/workflows/ (without extension)

Example (team-fullstack.yml)

bundle:
  name: Team Fullstack
  description: >-
    Comprehensive full-stack development team capable of handling both greenfield 
    application development and brownfield enhancement projects. This team combines 
    strategic planning, user experience design, and holistic system architecture 
    to deliver complete solutions from concept to deployment.

agents:
  - bmad
  - analyst
  - pm
  - ux-expert
  - architect
  - po

workflows:
  - brownfield-fullstack
  - brownfield-service
  - brownfield-ui
  - greenfield-fullstack
  - greenfield-service
  - greenfield-ui

Special Cases

Using Wildcards - The team-all.yml example shows using both specific agents and wildcards:

agents:
  - bmad
  - "*"    # Includes all other agents

File References

All references in schemas should be file names WITHOUT extensions:

  • prd-tmpl (not prd-tmpl.md)
  • pm-checklist (not pm-checklist.md)
  • greenfield-fullstack (not greenfield-fullstack.yml)