11 KiB
Audit Workflow - Workflow Quality Audit Instructions
The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/audit-workflow/workflow.yaml
What is the path to the workflow you want to audit? (provide path to workflow.yaml or workflow folder)Load the workflow.yaml file from the provided path Identify the workflow type (document, action, interactive, autonomous, meta) List all associated files:
- instructions.md (required for most workflows)
- template.md (if document workflow)
- checklist.md (if validation exists)
- Any data files referenced in yaml
Load all discovered files
Display summary:
- Workflow name and description
- Type of workflow
- Files present
- Module assignment
Required variables:
config_source: "{project-root}/bmad/[module]/config.yaml"output_folder: "{config_source}:output_folder"user_name: "{config_source}:user_name"communication_language: "{config_source}:communication_language"date: system-generated
Validate each variable:
Config Source Check:
config_sourceis defined- Points to correct module config path
- Uses {project-root} variable
Standard Variables Check:
output_folderpulls from config_sourceuser_namepulls from config_sourcecommunication_languagepulls from config_sourcedateis set to system-generated
Record any missing or incorrect config variables config_issues
If config issues found: Add to issues list with severity: CRITICAL
Extract all variables defined in workflow.yaml (excluding standard config block) Scan instructions.md for variable usage: {variable_name} pattern Scan template.md for variable usage: {{variable_name}} pattern (if exists)Cross-reference analysis:
For each yaml variable:
- Is it used in instructions.md? (mark as INSTRUCTION_USED)
- Is it used in template.md? (mark as TEMPLATE_USED)
- Is it neither? (mark as UNUSED_BLOAT)
Special cases to ignore:
- Standard config variables (config_source, output_folder, user_name, communication_language, date)
- Workflow metadata (name, description, author)
- Path variables (installed_path, template, instructions, validation)
- Web bundle configuration (web_bundle block itself)
Identify unused yaml fields (bloat) Identify hardcoded values in instructions that should be variables alignment_issues
If unused variables found: Add to issues list with severity: BLOAT
Analyze instructions.md for proper config variable usage:Communication Language Check:
- Search for phrases like "communicate in {communication_language}"
- Check if greetings/responses use language-aware patterns
- Verify NO usage of {{communication_language}} in template headers
User Name Check:
- Look for user addressing patterns using {user_name}
- Check if summaries or greetings personalize with {user_name}
- Verify optional usage in template metadata (not required)
Output Folder Check:
- Search for file write operations
- Verify all outputs go to {output_folder} or subdirectories
- Check for hardcoded paths like "/output/" or "/generated/"
Date Usage Check:
- Verify date is available for agent date awareness
- Check optional usage in template metadata
- Ensure no confusion between date and model training cutoff
Record any improper config variable usage config_usage_issues
If config usage issues found: Add to issues list with severity: IMPORTANT
If workflow.yaml contains web_bundle section:Validate web_bundle structure:
Path Validation:
- All paths use bmad/-relative format (NOT {project-root})
- No {config_source} variables in web_bundle section
- Paths match actual file locations
Completeness Check:
- instructions file listed in web_bundle_files
- template file listed (if document workflow)
- validation/checklist file listed (if exists)
- All data files referenced in yaml listed
- All files referenced in instructions listed
Workflow Dependency Scan: Scan instructions.md for tags Extract workflow paths from invocations Verify each called workflow.yaml is in web_bundle_files CRITICAL: Check if existing_workflows field is present when workflows are invoked If calls exist, existing_workflows MUST map workflow variables to paths Example: If instructions use {core_brainstorming}, web_bundle needs: existing_workflows: - core_brainstorming: "bmad/core/workflows/brainstorming/workflow.yaml"
File Reference Scan: Scan instructions.md for file references in tags Check for CSV, JSON, YAML, MD files referenced Verify all referenced files are in web_bundle_files
Record any missing files or incorrect paths web_bundle_issues
If web_bundle issues found: Add to issues list with severity: CRITICAL
If no web_bundle section exists: Note: "No web_bundle configured (may be intentional for local-only workflows)"
Identify bloat patterns:Unused YAML Fields:
- Variables defined but not used in instructions OR template
- Duplicate fields between top-level and web_bundle section
- Commented-out variables that should be removed
Hardcoded Values:
- File paths that should use {output_folder}
- Generic greetings that should use {user_name}
- Language-specific text that should use {communication_language}
- Static dates that should use {date}
Redundant Configuration:
- Variables that duplicate web_bundle fields
- Metadata repeated across sections
Calculate bloat metrics:
- Total yaml fields: {{total_yaml_fields}}
- Used fields: {{used_fields}}
- Unused fields: {{unused_fields}}
- Bloat percentage: {{bloat_percentage}}%
Record all bloat items with recommendations bloat_items
If bloat detected: Add to issues list with severity: CLEANUP
Extract all template variables from template.md: {{variable_name}} pattern Scan instructions.md for corresponding variable_name tagsCross-reference mapping:
For each template variable:
- Is there a matching tag? (mark as MAPPED)
- Is it a standard config variable? (mark as CONFIG_VAR - optional)
- Is it unmapped? (mark as MISSING_OUTPUT)
For each tag:
- Is there a matching template variable? (mark as USED)
- Is it orphaned? (mark as UNUSED_OUTPUT)
Verify variable naming conventions:
- All template variables use snake_case
- Variable names are descriptive (not abbreviated)
- Standard config variables properly formatted
Record any mapping issues template_issues
If template issues found: Add to issues list with severity: IMPORTANT
Compile all findings into a structured reportWrite audit report to {output_folder}/audit-report-{{workflow_name}}-{{date}}.md
Report Structure:
# Workflow Audit Report
**Workflow:** {{workflow_name}}
**Audit Date:** {{date}}
**Auditor:** Audit Workflow (BMAD v6)
**Workflow Type:** {{workflow_type}}
---
## Executive Summary
**Overall Status:** {{overall_status}}
- Critical Issues: {{critical_count}}
- Important Issues: {{important_count}}
- Cleanup Recommendations: {{cleanup_count}}
---
## 1. Standard Config Block Validation
{{config_issues}}
**Status:** {{config_status}}
---
## 2. YAML/Instruction/Template Alignment
{{alignment_issues}}
**Variables Analyzed:** {{total_variables}}
**Used in Instructions:** {{instruction_usage_count}}
**Used in Template:** {{template_usage_count}}
**Unused (Bloat):** {{bloat_count}}
---
## 3. Config Variable Usage
{{config_usage_issues}}
**Communication Language:** {{comm_lang_status}}
**User Name:** {{user_name_status}}
**Output Folder:** {{output_folder_status}}
**Date:** {{date_status}}
---
## 4. Web Bundle Validation
{{web_bundle_issues}}
**Web Bundle Present:** {{web_bundle_exists}}
**Files Listed:** {{web_bundle_file_count}}
**Missing Files:** {{missing_files_count}}
---
## 5. Bloat Detection
{{bloat_items}}
**Bloat Percentage:** {{bloat_percentage}}%
**Cleanup Potential:** {{cleanup_potential}}
---
## 6. Template Variable Mapping
{{template_issues}}
**Template Variables:** {{template_var_count}}
**Mapped Correctly:** {{mapped_count}}
**Missing Mappings:** {{missing_mapping_count}}
---
## Recommendations
### Critical (Fix Immediately)
{{critical_recommendations}}
### Important (Address Soon)
{{important_recommendations}}
### Cleanup (Nice to Have)
{{cleanup_recommendations}}
---
## Validation Checklist
Use this checklist to verify fixes:
- [ ] All standard config variables present and correct
- [ ] No unused yaml fields (bloat removed)
- [ ] Config variables used appropriately in instructions
- [ ] Web bundle includes all dependencies
- [ ] Template variables properly mapped
- [ ] File structure follows v6 conventions
---
## Next Steps
1. Review critical issues and fix immediately
2. Address important issues in next iteration
3. Consider cleanup recommendations for optimization
4. Re-run audit after fixes to verify improvements
---
**Audit Complete** - Generated by audit-workflow v1.0
Display summary to {user_name} in {communication_language} Provide path to full audit report
Would you like to:
- View the full audit report
- Fix issues automatically (invoke edit-workflow)
- Audit another workflow
- Exit
audit_report_path