6.2 KiB
| name | description | nextStepFile | personaProperties | principlesCrafting | builtYaml | advancedElicitationTask | partyModeWorkflow |
|---|---|---|---|---|---|---|---|
| step-07c-persona-validation | Validate persona fields and principles | ./step-08d-menu-validation.md | ../data/persona-properties.md | ../data/principles-crafting.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 persona (role, tone, expertise, principles, constraints) is well-defined, consistent, and aligned with its purpose.
MANDATORY EXECUTION RULES
- NEVER skip validation checks - All persona fields must be verified
- ALWAYS load both reference documents - personaProperties.md AND principlesCrafting.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 persona validation reference from
{personaProperties} - Read the principles crafting guide from
{principlesCrafting} - Read the built agent YAML from
{builtYaml} - Extract the persona section from the builtYaml
- Compare actual persona against validation rules
Protocol 2: Validation Checks
Perform these checks systematically:
-
Required Fields Existence
- role: Present, clear, and specific
- tone: Present and appropriate to role
- expertise: Present and relevant to agent's purpose
- principles: Present as array, not empty (if applicable)
- constraints: Present as array, not empty (if applicable)
-
Content Quality - Role
- Role is specific (not generic like "assistant")
- Role aligns with agent's purpose and menu items
- Role is achievable within LLM capabilities
- Role scope is appropriate (not too broad/narrow)
-
Content Quality - Tone
- Tone is clearly defined (professional, friendly, authoritative, etc.)
- Tone matches the role and target users
- Tone is consistent throughout the definition
- Tone examples or guidance provided if nuanced
-
Content Quality - Expertise
- Expertise areas are relevant to role
- Expertise claims are realistic for LLM
- Expertise domains are specific (not just "knowledgeable")
- Expertise supports the menu capabilities
-
Content Quality - Principles
- Principles are actionable (not vague platitudes)
- Principles guide behavior and decisions
- Principles are consistent with role
- 3-7 principles recommended (not overwhelming)
- Each principle is clear and specific
-
Content Quality - Constraints
- Constraints define boundaries clearly
- Constraints are enforceable (measurable/observable)
- Constraints prevent undesirable behaviors
- Constraints don't contradict principles
-
Consistency Checks
- Role, tone, expertise, principles all align
- No contradictions between principles and constraints
- Persona supports the menu items defined
- Language and terminology consistent
Protocol 3: Report Findings
Organize your report into three sections:
PASSING CHECKS (List what passed)
✓ Role is specific and well-defined
✓ Tone clearly articulated and appropriate
✓ Expertise aligns with agent purpose
✓ Principles are actionable and clear
WARNINGS (Non-blocking issues)
⚠ Only 2 principles provided, 3-7 recommended for richer guidance
⚠ No constraints defined - consider adding boundaries
⚠ Expertise areas are broad, could be more specific
FAILURES (Blocking issues that must be fixed)
✗ Role is generic ("assistant") - needs specificity
✗ Tone undefined - creates inconsistent behavior
✗ Principles are vague ("be helpful" - not actionable)
✗ Contradiction: Principle says "be creative", constraint says "follow strict rules"
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:
- Persona section of agent.yaml (role, tone, expertise, principles, constraints)
- Referencing personaProperties.md and principlesCrafting.md
- Evaluating persona clarity, specificity, and consistency
- Checking alignment between persona elements
OUT OF SCOPE:
- Metadata fields (handled in step-07b)
- Menu items (handled in step-07d)
- System architecture (handled in step-07e)
- Technical implementation details
DO NOT:
- Validate metadata properties in this step
- Question the agent's core purpose (that's for earlier steps)
- Suggest additional menu items
- Modify fields beyond persona
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 [menu validation].
SUCCESS METRICS
✓ Complete Success: All checks pass, persona is well-defined and consistent ✓ Partial Success: Failures fixed via [F] option, warnings acknowledged ✓ Failure: Blocking failures remain when user selects [C]
CRITICAL: A weak or generic persona is a blocking issue that should be fixed before proceeding.