6.9 KiB
| name | description | nextStepFile | agentMenuPatterns | builtYaml | advancedElicitationTask | partyModeWorkflow |
|---|---|---|---|---|---|---|
| step-07d-menu-validation | Validate menu items and patterns | ./step-08e-structure-validation.md | ../data/agent-menu-patterns.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 menu (commands/tools) follows BMAD patterns, is well-structured, properly documented, and aligns with the agent's persona and purpose.
MANDATORY EXECUTION RULES
- NEVER skip validation checks - All menu items must be verified
- ALWAYS load the reference document - agentMenuPatterns.md
- 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
- Read the menu patterns reference from
{agentMenuPatterns} - Read the built agent YAML from
{builtYaml} - Extract the menu/commands section from the builtYaml
- Compare actual menu against validation rules
Protocol 2: Validation Checks
Perform these checks systematically:
-
Menu Structure
- Menu section exists and is properly formatted
- At least one menu item defined (unless intentionally tool-less)
- Menu items follow proper YAML structure
- Each item has required fields (name, description, pattern)
-
Menu Item Requirements For each menu item:
- name: Present, unique, uses kebab-case
- description: Clear and concise
- pattern: Valid regex pattern or tool reference
- scope: Appropriate scope defined (if applicable)
-
Pattern Quality
- Patterns are valid and testable
- Patterns are specific enough to match intended inputs
- Patterns are not overly restrictive
- Patterns use appropriate regex syntax
-
Description Quality
- Each item has clear description
- Descriptions explain what the item does
- Descriptions are consistent in style
- Descriptions help users understand when to use
-
Alignment Checks
- Menu items align with agent's role/purpose
- Menu items are supported by agent's expertise
- Menu items fit within agent's constraints
- Menu items are appropriate for target users
-
Completeness
- Core capabilities for this role are covered
- No obvious missing functionality
- Menu scope is appropriate (not too sparse/overloaded)
- Related functionality is grouped logically
-
Standards Compliance
- No prohibited patterns or commands
- No security vulnerabilities in patterns
- No ambiguous or conflicting items
- Consistent naming conventions
-
Menu Link Validation (Agent Type Specific)
- Determine agent type: Simple (no sidecar), Expert (hasSidecar: true), or Module agent
- For Expert agents (hasSidecar: true):
- Menu handlers SHOULD reference external sidecar files (e.g.,
./{agent-name}-sidecar/...) - OR have inline prompts defined directly in the handler
- Menu handlers SHOULD reference external sidecar files (e.g.,
- For Module agents (module property is a code like 'bmm', 'bmb', etc.):
- Menu handlers SHOULD reference external module files under the module path
- Exec paths must start with
{project-root}/_bmad/{module}/... - Referenced files must exist under the module directory
- For Simple agents (stand-alone module, no sidecar):
- Menu handlers MUST NOT have external file links
- Menu handlers SHOULD only use relative links within the same file (e.g.,
#section-name) - OR have inline prompts defined directly in the handler
Protocol 3: Report Findings
Organize your report into three sections:
PASSING CHECKS (List what passed)
✓ Menu structure properly formatted
✓ 5 menu items defined, all with required fields
✓ All patterns are valid regex
✓ Menu items align with agent role
WARNINGS (Non-blocking issues)
⚠ Item "analyze-data" description is vague
⚠ No menu item for [common capability X]
⚠ Pattern for "custom-command" very broad, may over-match
FAILURES (Blocking issues that must be fixed)
✗ Duplicate menu item name: "process" appears twice
✗ Invalid regex pattern: "[unclosed bracket"
✗ Menu item "system-admin" violates security guidelines
✗ No menu items defined for agent type that requires tools
✗ Simple agent has external link in menu handler (should be relative # or inline)
✗ Expert agent with sidecar has no external file links or inline prompts defined
✗ Module agent exec path doesn't start with {project-root}/_bmad/{module}/...
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:
- Menu/commands section of agent.yaml
- Referencing agentMenuPatterns.md
- Menu structure, patterns, and alignment
- Individual menu item validation
OUT OF SCOPE:
- Metadata fields (handled in step-07b)
- Persona fields (handled in step-07c)
- System architecture (handled in step-07e)
- Workflow/capability implementation (handled in step-07f)
DO NOT:
- Validate metadata or persona in this step
- Suggest entirely new capabilities (that's for earlier steps)
- Question whether menu items are "good enough" qualitatively beyond standards
- Modify fields beyond menu
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 [structure validation].
SUCCESS METRICS
✓ Complete Success: All checks pass, menu is well-structured and aligned ✓ Partial Success: Failures fixed via [F] option, warnings acknowledged ✓ Failure: Blocking failures remain when user selects [C]
CRITICAL: Invalid regex patterns or security vulnerabilities in menu items are blocking issues.