name: ‘step-05-validate-and-complete’ description: ‘Validate ATDD outputs and summarize’
Validate ATDD outputs and provide a completion summary.
{communication_language}CRITICAL: Follow this sequence exactly. Do not skip, reorder, or improvise.
Use checklist.md to validate:
test.skip(){test_artifacts}/ not random locationsFix any gaps before completion.
Before finalizing, review the complete output document for quality:
Report:
dev-story; automate comes after implementation)Save this step’s accumulated work to {outputFile}.
{outputFile} does not exist (first save), create it with YAML frontmatter: ---
stepsCompleted: ['step-05-validate-and-complete']
lastStep: 'step-05-validate-and-complete'
lastSaved: '{date}'
storyId: '{story_id}'
storyKey: '{story_key}'
storyFile: '{story_file}'
atddChecklistPath: '{outputFile}'
generatedTestFiles: []
---
Then write this step’s output below the frontmatter.
{outputFile} already exists, update:
'step-05-validate-and-complete' to stepsCompleted array (only if not already present)lastStep: 'step-05-validate-and-complete'lastSaved: '{date}'storyId, storyKey, storyFile, and atddChecklistPath are present and populatedgeneratedTestFiles remains populated with the deterministic list of present generated test pathsRun: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete
If the resolver succeeds and returns a non-empty workflow.on_complete, execute that value as the final terminal instruction before exiting.
If the resolver fails, returns no output, or resolves an empty value, skip the hook and exit normally.