BMAD-METHOD/src/modules/bmb/workflows/agent/steps-c/step-08b-metadata-validatio...

4.7 KiB

name description nextStepFile agentMetadata builtYaml advancedElicitationTask partyModeWorkflow
step-07b-metadata-validation Validate agent metadata properties ./step-08c-persona-validation.md ../data/agent-metadata.md {bmb_creations_output_folder}/{agent-name}/{agent-name}.agent.yaml {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml {project-root}/_bmad/core/workflows/party-mode/workflow.md

STEP GOAL

Validate that the agent's metadata properties (name, description, version, tags, category, etc.) are properly formatted, complete, and follow BMAD standards.

MANDATORY EXECUTION RULES

  • NEVER skip validation checks - All metadata fields must be verified
  • ALWAYS load both reference documents - agentMetadata.md AND the builtYaml
  • NEVER modify files without user approval - Report findings first, await menu selection
  • ALWAYS use absolute paths when referencing files
  • CRITICAL: This is a validation step, not an editing step

EXECUTION PROTOCOLS

Protocol 1: Load and Compare

  1. Read the metadata validation reference from {agentMetadata}
  2. Read the built agent YAML from {builtYaml}
  3. Extract the metadata section from the builtYaml
  4. Compare actual metadata against validation rules

Protocol 2: Validation Checks

Perform these checks systematically:

  1. Required Fields Existence

    • name: Present and non-empty
    • description: Present and non-empty
    • category: Present and matches valid category
    • tags: Present as array, not empty
  2. Format Validation

    • name: Uses kebab-case, no spaces
    • description: 50-200 characters (unless intentionally brief)
    • tags: Array of lowercase strings with hyphens
    • category: Matches one of the allowed categories
  3. Content Quality

    • description: Clear and concise, explains what the agent does
    • tags: Relevant to agent's purpose (3-7 tags recommended)
    • category: Most appropriate classification
  4. Standards Compliance

    • No prohibited characters in fields
    • No redundant or conflicting information
    • Consistent formatting with other agents

Protocol 3: Report Findings

Organize your report into three sections:

PASSING CHECKS (List what passed)

✓ Required fields present
✓ Name follows kebab-case convention

WARNINGS (Non-blocking issues)

⚠ Description is brief (45 chars, recommended 50-200)
⚠ Only 2 tags provided, 3-7 recommended

FAILURES (Blocking issues that must be fixed)

✗ Category "custom-type" not in allowed list

Protocol 4: Menu System

5. Present MENU OPTIONS

Display: "Select an Option: [A] Advanced Elicitation [F] Fix Findings [P] Party Mode [C] Continue"

Menu Handling Logic:

  • IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
  • IF F: Apply auto-fixes to {builtYaml} for identified issues, then redisplay the menu
  • IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
  • IF C: Proceed to next validation step, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
  • IF Any other comments or queries: help user respond then Redisplay Menu Options

EXECUTION RULES:

  • ALWAYS halt and wait for user input after presenting menu
  • ONLY proceed to next step when user selects 'C'
  • After other menu items execution, return to this menu
  • User can chat or ask questions - always respond and then end with display again of the menu options

CONTEXT BOUNDARIES

IN SCOPE:

  • Metadata section of agent.yaml (name, description, version, tags, category, author, license, etc.)
  • Referencing the agentMetadata.md validation rules
  • Comparing against BMAD standards

OUT OF SCOPE:

  • Persona fields (handled in step-07c)
  • Menu items (handled in step-07d)
  • System architecture (handled in step-07e)
  • Capability implementation (handled in step-07f)

DO NOT:

  • Validate persona properties in this step
  • Suggest major feature additions
  • Question the agent's core purpose
  • Modify fields beyond metadata

CRITICAL STEP COMPLETION NOTE

ONLY WHEN [C continue option] is selected and [validation complete with any findings addressed], will you then load and read fully {nextStepFile} to execute and begin [persona validation].

SUCCESS METRICS

Complete Success: All checks pass, no failures, warnings are optional ✓ Partial Success: Failures fixed via [F] option, warnings acknowledged ✓ Failure: Blocking failures remain when user selects [C]

CRITICAL: Never proceed to next step if blocking failures exist and user hasn't acknowledged them.