bmad-plus 0.12.0 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/CHANGELOG.md +612 -554
  2. package/README.md +557 -577
  3. package/osint-agent-package/agents/osint-investigator.md +12 -0
  4. package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +491 -482
  5. package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +126 -126
  6. package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/lawful-basis-record.md +48 -48
  7. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -100
  8. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/gdpr-osint.md +48 -48
  9. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -130
  10. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -69
  11. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -281
  12. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -136
  13. package/package.json +104 -91
  14. package/readme-international/README.de.md +596 -589
  15. package/readme-international/README.es.md +613 -606
  16. package/readme-international/README.fr.md +611 -604
  17. package/src/bmad-plus/agents/agent-shadow/SKILL.md +18 -0
  18. package/src/bmad-plus/data/role-triggers.yaml +52 -0
  19. package/src/bmad-plus/module.yaml +283 -283
  20. package/src/bmad-plus/packs/pack-animated/animated-website-agent.md +325 -325
  21. package/src/bmad-plus/packs/pack-animated/templates/animated-website-workflow.md +55 -55
  22. package/src/bmad-plus/packs/pack-backup/backup-agent.md +71 -71
  23. package/src/bmad-plus/packs/pack-backup/templates/backup-workflow.md +51 -51
  24. package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -162
  25. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +73 -73
  26. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +61 -61
  27. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +95 -95
  28. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +95 -95
  29. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +134 -134
  30. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +80 -80
  31. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +73 -73
  32. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +95 -95
  33. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +73 -73
  34. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +73 -73
  35. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +92 -92
  36. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +80 -80
  37. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +90 -90
  38. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -153
  39. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -173
  40. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -224
  41. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -329
  42. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -318
  43. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -359
  44. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -379
  45. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -361
  46. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +81 -81
  47. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +67 -67
  48. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -85
  49. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -35
  50. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -49
  51. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +131 -131
  52. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +89 -89
  53. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +300 -300
  54. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +428 -428
  55. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +73 -73
  56. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -80
  57. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +484 -484
  58. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +193 -193
  59. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +175 -175
  60. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +110 -110
  61. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1511 -1511
  62. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +298 -298
  63. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +296 -296
  64. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +29 -29
  65. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +74 -74
  66. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +29 -29
  67. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +73 -73
  68. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +89 -89
  69. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +73 -73
  70. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +29 -29
  71. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +141 -141
  72. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -37
  73. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -75
  74. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -6
  75. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +110 -110
  76. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +176 -176
  77. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -67
  78. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -86
  79. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -179
  80. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -66
  81. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +127 -127
  82. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -105
  83. package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -120
  84. package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -12
  85. package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -328
  86. package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -32
  87. package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -81
  88. package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +14 -0
  89. package/src/bmad-plus/packs/pack-seo/SKILL.md +171 -171
  90. package/src/bmad-plus/packs/pack-seo/checklist.md +140 -140
  91. package/src/bmad-plus/packs/pack-seo/pagespeed-playbook.md +320 -320
  92. package/src/bmad-plus/packs/pack-seo/ref/audit-schema.json +187 -187
  93. package/src/bmad-plus/packs/pack-seo/ref/cwv-thresholds.md +87 -87
  94. package/src/bmad-plus/packs/pack-seo/ref/eeat-criteria.md +123 -123
  95. package/src/bmad-plus/packs/pack-seo/ref/geo-signals.md +167 -167
  96. package/src/bmad-plus/packs/pack-seo/ref/hreflang-rules.md +153 -153
  97. package/src/bmad-plus/packs/pack-seo/ref/quality-gates.md +133 -133
  98. package/src/bmad-plus/packs/pack-seo/ref/schema-catalog.md +91 -91
  99. package/src/bmad-plus/packs/pack-seo/ref/schema-templates.json +356 -356
  100. package/src/bmad-plus/packs/pack-seo/requirements.txt +17 -0
  101. package/src/bmad-plus/packs/pack-seo/scripts/seo_apis.py +456 -0
  102. package/src/bmad-plus/packs/pack-seo/scripts/seo_crawl.py +359 -0
  103. package/src/bmad-plus/packs/pack-seo/scripts/seo_fetch.py +304 -0
  104. package/src/bmad-plus/packs/pack-seo/scripts/seo_parse.py +255 -0
  105. package/src/bmad-plus/packs/pack-seo/scripts/seo_report.py +410 -0
  106. package/src/bmad-plus/packs/pack-seo/scripts/seo_screenshot.py +202 -0
  107. package/src/bmad-plus/packs/pack-seo/seo-chief.md +294 -294
  108. package/src/bmad-plus/packs/pack-seo/seo-judge.md +241 -241
  109. package/src/bmad-plus/packs/pack-seo/seo-scout.md +171 -171
  110. package/src/bmad-plus/packs/pack-seo/templates/seo-audit-workflow.md +241 -241
  111. package/src/bmad-plus/packs/pack-shield/README.md +6 -6
  112. package/src/bmad-plus/packs/pack-shield/SKILL.md +2 -2
  113. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +11 -11
  114. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +11 -11
  115. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +11 -11
  116. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +11 -11
  117. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +11 -11
  118. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +11 -11
  119. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +11 -11
  120. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +11 -11
  121. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +11 -11
  122. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +11 -11
  123. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +11 -11
  124. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +11 -11
  125. package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +11 -11
  126. package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +11 -11
  127. package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +11 -11
  128. package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +11 -11
  129. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +11 -11
  130. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +11 -11
  131. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +11 -11
  132. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +11 -11
  133. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +11 -11
  134. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +11 -11
  135. package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +1 -1
  136. package/tools/build/check-counts.js +628 -0
  137. package/tools/build/generated-adapters/.codex/AGENTS.md +1 -1
  138. package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +1 -1
  139. package/tools/build/generated-adapters/.opencode/AGENTS.md +1 -1
  140. package/tools/build/generated-adapters/AGENTS.md +1 -1
  141. package/tools/build/generated-adapters/CLAUDE.md +1 -1
  142. package/tools/build/generated-adapters/CONVENTIONS.md +1 -1
  143. package/tools/build/generated-adapters/GEMINI.md +1 -1
  144. package/tools/cli/commands/autoconfig.js +470 -472
  145. package/tools/cli/commands/doctor.js +233 -233
  146. package/tools/cli/commands/install.js +598 -495
  147. package/tools/cli/commands/memory-journal-cmd.js +311 -311
  148. package/tools/cli/commands/memory.js +195 -195
  149. package/tools/cli/commands/scan.js +348 -364
  150. package/tools/cli/commands/uninstall.js +101 -101
  151. package/tools/cli/commands/update.js +134 -134
  152. package/tools/cli/i18n.js +845 -845
  153. package/tools/cli/lib/README-memory-journal.md +125 -125
  154. package/tools/cli/lib/ide-config.js +267 -259
  155. package/tools/cli/lib/memory-init.js +204 -113
  156. package/tools/cli/lib/packs.js +209 -209
  157. package/tools/cli/lib/path-hash.js +39 -0
  158. package/tools/cli/lib/python-provision.js +508 -508
  159. package/tools/cli/lib/stack-detect.js +102 -102
  160. package/tools/cli/lib/validate.js +50 -50
@@ -1,82 +1,82 @@
1
- # Step 8: Architecture Completion & Handoff
2
-
3
- ## MANDATORY EXECUTION RULES (READ FIRST):
4
-
5
- - 🛑 NEVER generate content without user input
6
-
7
- - 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
8
- - ✅ ALWAYS treat this as collaborative completion between architectural peers
9
- - 📋 YOU ARE A FACILITATOR, not a content generator
10
- - 💬 FOCUS on successful workflow completion and implementation handoff
11
- - 🎯 PROVIDE clear next steps for implementation phase
12
- - ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
13
- - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
14
-
15
- ## EXECUTION PROTOCOLS:
16
-
17
- - 🎯 Show your analysis before taking any action
18
- - 🎯 Present completion summary and implementation guidance
19
- - 📖 Update frontmatter with final workflow state
20
- - 🚫 THIS IS THE FINAL STEP IN THIS WORKFLOW
21
-
22
- ## YOUR TASK:
23
-
24
- Complete the architecture workflow, provide a comprehensive completion summary, and guide the user to the next phase of their project development.
25
-
26
- ## COMPLETION SEQUENCE:
27
-
28
- ### 1. Congratulate the User on Completion
29
-
30
- Both you and the User completed something amazing here - give a summary of what you achieved together and really congratulate the user on a job well done.
31
-
32
- ### 2. Update the created document's frontmatter
33
-
34
- ```yaml
35
- stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]
36
- workflowType: 'architecture'
37
- lastStep: 8
38
- status: 'complete'
39
- completedAt: '{{current_date}}'
40
- ```
41
-
42
- ### 3. Next Steps Guidance
43
-
44
- Architecture complete. Invoke the `bmad-help` skill.
45
-
46
- Upon Completion of task output: offer to answer any questions about the Architecture Document.
47
-
48
-
49
- ## SUCCESS METRICS:
50
-
51
- ✅ Complete architecture document delivered with all sections
52
- ✅ All architectural decisions documented and validated
53
- ✅ Implementation patterns and consistency rules finalized
54
- ✅ Project structure complete with all files and directories
55
- ✅ User provided with clear next steps and implementation guidance
56
- ✅ Workflow status properly updated
57
- ✅ User collaboration maintained throughout completion process
58
-
59
- ## FAILURE MODES:
60
-
61
- ❌ Not providing clear implementation guidance
62
- ❌ Missing final validation of document completeness
63
- ❌ Not updating workflow status appropriately
64
- ❌ Failing to celebrate the successful completion
65
- ❌ Not providing specific next steps for the user
66
- ❌ Rushing completion without proper summary
67
-
68
- ❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
69
- ❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
70
- ❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
71
-
72
- ## WORKFLOW COMPLETE:
73
-
74
- This is the final step of the Architecture workflow. The user now has a complete, validated architecture document ready for AI agent implementation.
75
-
76
- The architecture will serve as the single source of truth for all technical decisions, ensuring consistent implementation across the entire project development lifecycle.
77
-
78
- ## On Complete
79
-
80
- <!-- Adapted for BMAD+: original script dependency removed -->
81
-
1
+ # Step 8: Architecture Completion & Handoff
2
+
3
+ ## MANDATORY EXECUTION RULES (READ FIRST):
4
+
5
+ - 🛑 NEVER generate content without user input
6
+
7
+ - 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
8
+ - ✅ ALWAYS treat this as collaborative completion between architectural peers
9
+ - 📋 YOU ARE A FACILITATOR, not a content generator
10
+ - 💬 FOCUS on successful workflow completion and implementation handoff
11
+ - 🎯 PROVIDE clear next steps for implementation phase
12
+ - ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
13
+ - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
14
+
15
+ ## EXECUTION PROTOCOLS:
16
+
17
+ - 🎯 Show your analysis before taking any action
18
+ - 🎯 Present completion summary and implementation guidance
19
+ - 📖 Update frontmatter with final workflow state
20
+ - 🚫 THIS IS THE FINAL STEP IN THIS WORKFLOW
21
+
22
+ ## YOUR TASK:
23
+
24
+ Complete the architecture workflow, provide a comprehensive completion summary, and guide the user to the next phase of their project development.
25
+
26
+ ## COMPLETION SEQUENCE:
27
+
28
+ ### 1. Congratulate the User on Completion
29
+
30
+ Both you and the User completed something amazing here - give a summary of what you achieved together and really congratulate the user on a job well done.
31
+
32
+ ### 2. Update the created document's frontmatter
33
+
34
+ ```yaml
35
+ stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]
36
+ workflowType: 'architecture'
37
+ lastStep: 8
38
+ status: 'complete'
39
+ completedAt: '{{current_date}}'
40
+ ```
41
+
42
+ ### 3. Next Steps Guidance
43
+
44
+ Architecture complete. Invoke the `bmad-help` skill.
45
+
46
+ Upon Completion of task output: offer to answer any questions about the Architecture Document.
47
+
48
+
49
+ ## SUCCESS METRICS:
50
+
51
+ ✅ Complete architecture document delivered with all sections
52
+ ✅ All architectural decisions documented and validated
53
+ ✅ Implementation patterns and consistency rules finalized
54
+ ✅ Project structure complete with all files and directories
55
+ ✅ User provided with clear next steps and implementation guidance
56
+ ✅ Workflow status properly updated
57
+ ✅ User collaboration maintained throughout completion process
58
+
59
+ ## FAILURE MODES:
60
+
61
+ ❌ Not providing clear implementation guidance
62
+ ❌ Missing final validation of document completeness
63
+ ❌ Not updating workflow status appropriately
64
+ ❌ Failing to celebrate the successful completion
65
+ ❌ Not providing specific next steps for the user
66
+ ❌ Rushing completion without proper summary
67
+
68
+ ❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
69
+ ❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
70
+ ❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
71
+
72
+ ## WORKFLOW COMPLETE:
73
+
74
+ This is the final step of the Architecture workflow. The user now has a complete, validated architecture document ready for AI agent implementation.
75
+
76
+ The architecture will serve as the single source of truth for all technical decisions, ensuring consistent implementation across the entire project development lifecycle.
77
+
78
+ ## On Complete
79
+
80
+ <!-- Adapted for BMAD+: original script dependency removed -->
81
+
82
82
  If the resolved `workflow.on_complete` is non-empty, follow it as the final terminal instruction before exiting.
@@ -1,68 +1,68 @@
1
- ---
2
- name: bmad-checkpoint-preview
3
- description: 'LLM-assisted human-in-the-loop review. Make sense of a change, focus attention where it matters, test. Use when the user says "checkpoint", "human review", or "walk me through this change".'
4
- ---
5
-
6
- # Checkpoint Review Workflow
7
-
8
- **Goal:** Guide a human through reviewing a change — from purpose and context into details.
9
-
10
- **Your Role:** You are assisting the user in reviewing a change.
11
-
12
- ## Conventions
13
-
14
- - Bare paths (e.g. `step-01-orientation.md`) resolve from the skill root.
15
- - `this skill directory` resolves to this skill's installed directory (where `agent configuration` lives).
16
- - `{project-root}`-prefixed paths resolve from the project working directory.
17
- - `{skill-name}` resolves to the skill directory's basename.
18
-
19
- ## On Activation
20
-
21
- ### Step 1: Resolve the Workflow Block
22
-
23
- <!-- Adapted for BMAD+: original script dependency removed -->
24
-
25
- **If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
26
-
27
- 1. `this skill file` — defaults
28
- 2. `{project-root}/custom/{skill-name}.toml` — team overrides
29
- 3. `{project-root}/custom/{skill-name}.user.toml` — personal overrides
30
-
31
- Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
32
-
33
- ### Step 2: Execute Prepend Steps
34
-
35
- Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
36
-
37
- ### Step 3: Load Persistent Facts
38
-
39
- Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
40
-
41
- ### Step 4: Load Config
42
-
43
- Load config from `{project-root}/project config` and resolve:
44
-
45
- - `implementation_artifacts`
46
- - `planning_artifacts`
47
- - `communication_language`
48
- - `document_output_language`
49
-
50
- ### Step 5: Greet the User
51
-
52
- Greet the user, speaking in `{communication_language}`.
53
-
54
- ### Step 6: Execute Append Steps
55
-
56
- Execute each entry in `{workflow.activation_steps_append}` in order.
57
-
58
- Activation is complete. Begin the workflow below.
59
-
60
- ## Global Step Rules (apply to every step)
61
-
62
- - **Path:line format** — Every code reference must use CWD-relative `path:line` format (no leading `/`) so it is clickable in IDE-embedded terminals (e.g., `src/auth/middleware.ts:42`).
63
- - **Front-load then shut up** — Present the entire output for the current step in a single coherent message. Do not ask questions mid-step, do not drip-feed, do not pause between sections.
64
- - **Language** — Speak in `{communication_language}`. Write any file output in `{document_output_language}`.
65
-
66
- ## FIRST STEP
67
-
1
+ ---
2
+ name: bmad-checkpoint-preview
3
+ description: 'LLM-assisted human-in-the-loop review. Make sense of a change, focus attention where it matters, test. Use when the user says "checkpoint", "human review", or "walk me through this change".'
4
+ ---
5
+
6
+ # Checkpoint Review Workflow
7
+
8
+ **Goal:** Guide a human through reviewing a change — from purpose and context into details.
9
+
10
+ **Your Role:** You are assisting the user in reviewing a change.
11
+
12
+ ## Conventions
13
+
14
+ - Bare paths (e.g. `step-01-orientation.md`) resolve from the skill root.
15
+ - `this skill directory` resolves to this skill's installed directory (where `agent configuration` lives).
16
+ - `{project-root}`-prefixed paths resolve from the project working directory.
17
+ - `{skill-name}` resolves to the skill directory's basename.
18
+
19
+ ## On Activation
20
+
21
+ ### Step 1: Resolve the Workflow Block
22
+
23
+ <!-- Adapted for BMAD+: original script dependency removed -->
24
+
25
+ **If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
26
+
27
+ 1. `this skill file` — defaults
28
+ 2. `{project-root}/custom/{skill-name}.toml` — team overrides
29
+ 3. `{project-root}/custom/{skill-name}.user.toml` — personal overrides
30
+
31
+ Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
32
+
33
+ ### Step 2: Execute Prepend Steps
34
+
35
+ Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
36
+
37
+ ### Step 3: Load Persistent Facts
38
+
39
+ Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
40
+
41
+ ### Step 4: Load Config
42
+
43
+ Load config from `{project-root}/project config` and resolve:
44
+
45
+ - `implementation_artifacts`
46
+ - `planning_artifacts`
47
+ - `communication_language`
48
+ - `document_output_language`
49
+
50
+ ### Step 5: Greet the User
51
+
52
+ Greet the user, speaking in `{communication_language}`.
53
+
54
+ ### Step 6: Execute Append Steps
55
+
56
+ Execute each entry in `{workflow.activation_steps_append}` in order.
57
+
58
+ Activation is complete. Begin the workflow below.
59
+
60
+ ## Global Step Rules (apply to every step)
61
+
62
+ - **Path:line format** — Every code reference must use CWD-relative `path:line` format (no leading `/`) so it is clickable in IDE-embedded terminals (e.g., `src/auth/middleware.ts:42`).
63
+ - **Front-load then shut up** — Present the entire output for the current step in a single coherent message. Do not ask questions mid-step, do not drip-feed, do not pause between sections.
64
+ - **Language** — Speak in `{communication_language}`. Write any file output in `{document_output_language}`.
65
+
66
+ ## FIRST STEP
67
+
68
68
  Read fully and follow `./step-01-orientation.md` to begin.
@@ -1,85 +1,85 @@
1
- ---
2
- diff_output: '' # set at runtime
3
- spec_file: '' # set at runtime (path or empty)
4
- review_mode: '' # set at runtime: "full" or "no-spec"
5
- story_key: '' # set at runtime when discovered from sprint status
6
- ---
7
-
8
- # Step 1: Gather Context
9
-
10
- ## RULES
11
-
12
- - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
13
- - The prompt that triggered this workflow IS the intent — not a hint.
14
- - Do not modify any files. This step is read-only.
15
-
16
- ## INSTRUCTIONS
17
-
18
- 1. **Find the review target.** The conversation context before this skill was triggered IS your starting point — not a blank slate. Check in this order — stop as soon as the review target is identified:
19
-
20
- **Tier 1 — Explicit argument.**
21
- Did the user pass a PR, commit SHA, branch, spec file, or diff source this message?
22
- - PR reference → resolve to branch/commit via `gh pr view`. If resolution fails, ask for a SHA or branch.
23
- - Commit or branch → use directly.
24
- - Spec file → set `{spec_file}` to the provided path. Check its frontmatter for `baseline_commit`. If found, use as diff baseline. If not found, continue the cascade (a spec alone does not identify a diff source).
25
- - Also scan the argument for diff-mode keywords that narrow the scope:
26
- - "staged" / "staged changes" → Staged changes only
27
- - "uncommitted" / "working tree" / "all changes" → Uncommitted changes (staged + unstaged)
28
- - "branch diff" / "vs main" / "against main" / "compared to <branch>" → Branch diff (extract base branch if mentioned)
29
- - "commit range" / "last N commits" / "<from-sha>..<to-sha>" → Specific commit range
30
- - "this diff" / "provided diff" / "paste" → User-provided diff (do not match bare "diff" — it appears in other modes)
31
- - When multiple keywords match, prefer the most specific (e.g., "branch diff" over bare "diff").
32
-
33
- **Tier 2 — Recent conversation.**
34
- Do the last few messages reveal what the user wants to be reviewed? Look for spec paths, commit refs, branches, PRs, or descriptions of a change. Apply the same diff-mode keyword scan and routing as Tier 1.
35
-
36
- **Tier 3 — Sprint tracking.**
37
- Look for a sprint status file (`*sprint-status*`) in `{implementation_artifacts}` or `{planning_artifacts}`. If found, scan for stories with status `review`:
38
- - **Exactly one `review` story:** Set `{story_key}` to the story's key (e.g., `1-2-user-auth`). Suggest it: "I found story <story-id> in `review` status. Would you like to review its changes? [Y] Yes / [N] No, let me choose". If confirmed, use the story context to determine the diff source (branch name derived from story slug, or uncommitted changes). If declined, clear `{story_key}` and fall through.
39
- - **Multiple `review` stories:** Present them as numbered options alongside a manual choice option. Wait for user selection. If a story is selected, set `{story_key}` and use its context to determine the diff source. If manual choice is selected, clear `{story_key}` and fall through.
40
- - **None:** Fall through.
41
-
42
- **Tier 4 — Current git state.**
43
- If version control is unavailable, skip to Tier 5. Otherwise, check the current branch and HEAD. If the branch is not `main` (or the default branch), confirm: "I see HEAD is `<short-sha>` on `<branch>` — do you want to review this branch's changes?" If confirmed, treat as a branch diff against `main`. If declined, fall through.
44
-
45
- **Tier 5 — Ask.**
46
- Fall through to instruction 2.
47
-
48
- Never ask extra questions beyond what the cascade prescribes. If a tier above already identified the target, skip the remaining tiers and proceed to instruction 3 (construct diff).
49
-
50
- 2. HALT. Ask the user: **What do you want to review?** Present these options:
51
- - **Uncommitted changes** (staged + unstaged)
52
- - **Staged changes only**
53
- - **Branch diff** vs a base branch (ask which base branch)
54
- - **Specific commit range** (ask for the range)
55
- - **Provided diff or file list** (user pastes or provides a path)
56
-
57
- 3. Construct `{diff_output}` from the chosen source.
58
- - For **staged changes only**: run `git diff --cached`.
59
- - For **uncommitted changes** (staged + unstaged): run `git diff HEAD`.
60
- - For **branch diff**: verify the base branch exists before running `git diff`. If it does not exist, HALT and ask the user for a valid branch.
61
- - For **commit range**: verify the range resolves. If it does not, HALT and ask the user for a valid range.
62
- - For **provided diff**: validate the content is non-empty and parseable as a unified diff. If it is not parseable, HALT and ask the user to provide a valid diff.
63
- - For **file list**: validate each path exists in the working tree. Construct `{diff_output}` by running `git diff HEAD -- <path1> <path2> ...`. If any paths are untracked (new files not yet staged), use `git diff --no-index /dev/null <path>` to include them. If the diff is empty (files have no uncommitted changes and are not untracked), ask the user whether to review the full file contents or to specify a different baseline.
64
- - After constructing `{diff_output}`, verify it is non-empty regardless of source type. If empty, HALT and tell the user there is nothing to review.
65
-
66
- 4. **Set the spec context.**
67
- - If `{spec_file}` is already set (from Tier 1 or Tier 2): verify the file exists and is readable, then set `{review_mode}` = `"full"`.
68
- - Otherwise, ask the user: **Is there a spec or story file that provides context for these changes?**
69
- - If yes: set `{spec_file}` to the path provided, verify the file exists and is readable, then set `{review_mode}` = `"full"`.
70
- - If no: set `{review_mode}` = `"no-spec"`.
71
-
72
- 5. If `{review_mode}` = `"full"` and the file at `{spec_file}` has a `context` field in its frontmatter listing additional docs, load each referenced document. Warn the user about any docs that cannot be found.
73
-
74
- 6. Sanity check: if `{diff_output}` exceeds approximately 3000 lines, warn the user and offer to chunk the review by file group.
75
- - If the user opts to chunk: agree on the first group, narrow `{diff_output}` accordingly, and list the remaining groups for the user to note for follow-up runs.
76
- - If the user declines: proceed as-is with the full diff.
77
-
78
- ### CHECKPOINT
79
-
80
- Present a summary before proceeding: diff stats (files changed, lines added/removed), `{review_mode}`, and loaded spec/context docs (if any). HALT and wait for user confirmation to proceed.
81
-
82
-
83
- ## NEXT
84
-
85
- Read fully and follow `./step-02-review.md`
1
+ ---
2
+ diff_output: '' # set at runtime
3
+ spec_file: '' # set at runtime (path or empty)
4
+ review_mode: '' # set at runtime: "full" or "no-spec"
5
+ story_key: '' # set at runtime when discovered from sprint status
6
+ ---
7
+
8
+ # Step 1: Gather Context
9
+
10
+ ## RULES
11
+
12
+ - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
13
+ - The prompt that triggered this workflow IS the intent — not a hint.
14
+ - Do not modify any files. This step is read-only.
15
+
16
+ ## INSTRUCTIONS
17
+
18
+ 1. **Find the review target.** The conversation context before this skill was triggered IS your starting point — not a blank slate. Check in this order — stop as soon as the review target is identified:
19
+
20
+ **Tier 1 — Explicit argument.**
21
+ Did the user pass a PR, commit SHA, branch, spec file, or diff source this message?
22
+ - PR reference → resolve to branch/commit via `gh pr view`. If resolution fails, ask for a SHA or branch.
23
+ - Commit or branch → use directly.
24
+ - Spec file → set `{spec_file}` to the provided path. Check its frontmatter for `baseline_commit`. If found, use as diff baseline. If not found, continue the cascade (a spec alone does not identify a diff source).
25
+ - Also scan the argument for diff-mode keywords that narrow the scope:
26
+ - "staged" / "staged changes" → Staged changes only
27
+ - "uncommitted" / "working tree" / "all changes" → Uncommitted changes (staged + unstaged)
28
+ - "branch diff" / "vs main" / "against main" / "compared to <branch>" → Branch diff (extract base branch if mentioned)
29
+ - "commit range" / "last N commits" / "<from-sha>..<to-sha>" → Specific commit range
30
+ - "this diff" / "provided diff" / "paste" → User-provided diff (do not match bare "diff" — it appears in other modes)
31
+ - When multiple keywords match, prefer the most specific (e.g., "branch diff" over bare "diff").
32
+
33
+ **Tier 2 — Recent conversation.**
34
+ Do the last few messages reveal what the user wants to be reviewed? Look for spec paths, commit refs, branches, PRs, or descriptions of a change. Apply the same diff-mode keyword scan and routing as Tier 1.
35
+
36
+ **Tier 3 — Sprint tracking.**
37
+ Look for a sprint status file (`*sprint-status*`) in `{implementation_artifacts}` or `{planning_artifacts}`. If found, scan for stories with status `review`:
38
+ - **Exactly one `review` story:** Set `{story_key}` to the story's key (e.g., `1-2-user-auth`). Suggest it: "I found story <story-id> in `review` status. Would you like to review its changes? [Y] Yes / [N] No, let me choose". If confirmed, use the story context to determine the diff source (branch name derived from story slug, or uncommitted changes). If declined, clear `{story_key}` and fall through.
39
+ - **Multiple `review` stories:** Present them as numbered options alongside a manual choice option. Wait for user selection. If a story is selected, set `{story_key}` and use its context to determine the diff source. If manual choice is selected, clear `{story_key}` and fall through.
40
+ - **None:** Fall through.
41
+
42
+ **Tier 4 — Current git state.**
43
+ If version control is unavailable, skip to Tier 5. Otherwise, check the current branch and HEAD. If the branch is not `main` (or the default branch), confirm: "I see HEAD is `<short-sha>` on `<branch>` — do you want to review this branch's changes?" If confirmed, treat as a branch diff against `main`. If declined, fall through.
44
+
45
+ **Tier 5 — Ask.**
46
+ Fall through to instruction 2.
47
+
48
+ Never ask extra questions beyond what the cascade prescribes. If a tier above already identified the target, skip the remaining tiers and proceed to instruction 3 (construct diff).
49
+
50
+ 2. HALT. Ask the user: **What do you want to review?** Present these options:
51
+ - **Uncommitted changes** (staged + unstaged)
52
+ - **Staged changes only**
53
+ - **Branch diff** vs a base branch (ask which base branch)
54
+ - **Specific commit range** (ask for the range)
55
+ - **Provided diff or file list** (user pastes or provides a path)
56
+
57
+ 3. Construct `{diff_output}` from the chosen source.
58
+ - For **staged changes only**: run `git diff --cached`.
59
+ - For **uncommitted changes** (staged + unstaged): run `git diff HEAD`.
60
+ - For **branch diff**: verify the base branch exists before running `git diff`. If it does not exist, HALT and ask the user for a valid branch.
61
+ - For **commit range**: verify the range resolves. If it does not, HALT and ask the user for a valid range.
62
+ - For **provided diff**: validate the content is non-empty and parseable as a unified diff. If it is not parseable, HALT and ask the user to provide a valid diff.
63
+ - For **file list**: validate each path exists in the working tree. Construct `{diff_output}` by running `git diff HEAD -- <path1> <path2> ...`. If any paths are untracked (new files not yet staged), use `git diff --no-index /dev/null <path>` to include them. If the diff is empty (files have no uncommitted changes and are not untracked), ask the user whether to review the full file contents or to specify a different baseline.
64
+ - After constructing `{diff_output}`, verify it is non-empty regardless of source type. If empty, HALT and tell the user there is nothing to review.
65
+
66
+ 4. **Set the spec context.**
67
+ - If `{spec_file}` is already set (from Tier 1 or Tier 2): verify the file exists and is readable, then set `{review_mode}` = `"full"`.
68
+ - Otherwise, ask the user: **Is there a spec or story file that provides context for these changes?**
69
+ - If yes: set `{spec_file}` to the path provided, verify the file exists and is readable, then set `{review_mode}` = `"full"`.
70
+ - If no: set `{review_mode}` = `"no-spec"`.
71
+
72
+ 5. If `{review_mode}` = `"full"` and the file at `{spec_file}` has a `context` field in its frontmatter listing additional docs, load each referenced document. Warn the user about any docs that cannot be found.
73
+
74
+ 6. Sanity check: if `{diff_output}` exceeds approximately 3000 lines, warn the user and offer to chunk the review by file group.
75
+ - If the user opts to chunk: agree on the first group, narrow `{diff_output}` accordingly, and list the remaining groups for the user to note for follow-up runs.
76
+ - If the user declines: proceed as-is with the full diff.
77
+
78
+ ### CHECKPOINT
79
+
80
+ Present a summary before proceeding: diff stats (files changed, lines added/removed), `{review_mode}`, and loaded spec/context docs (if any). HALT and wait for user confirmation to proceed.
81
+
82
+
83
+ ## NEXT
84
+
85
+ Read fully and follow `./step-02-review.md`
@@ -1,35 +1,35 @@
1
- ---
2
- failed_layers: '' # set at runtime: comma-separated list of layers that failed or returned empty
3
- ---
4
-
5
- # Step 2: Review
6
-
7
- ## RULES
8
-
9
- - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
10
- - The Blind Hunter subagent receives NO project context — diff only.
11
- - The Edge Case Hunter subagent receives diff and project read access.
12
- - The Acceptance Auditor subagent receives diff, spec, and context docs.
13
- - All review subagents must run at the same model capability as the current session.
14
-
15
- ## INSTRUCTIONS
16
-
17
- 1. If `{review_mode}` = `"no-spec"`, note to the user: "Acceptance Auditor skipped — no spec file provided."
18
-
19
- 2. Launch parallel subagents without conversation context. If subagents are not available, generate prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the user to run each in a separate session (ideally a different LLM) and paste back the findings. When findings are pasted, resume from this point and proceed to step 3.
20
-
21
- - **Blind Hunter** — receives `{diff_output}` only. No spec, no context docs, no project access. Invoke via the `bmad-review-adversarial-general` skill.
22
-
23
- - **Edge Case Hunter** — receives `{diff_output}` and read access to the project. Invoke via the `bmad-review-edge-case-hunter` skill.
24
-
25
- - **Acceptance Auditor** (only if `{review_mode}` = `"full"`) — receives `{diff_output}`, the content of the file at `{spec_file}`, and any loaded context docs. Its prompt:
26
- > You are an Acceptance Auditor. Review this diff against the spec and context docs. Check for: violations of acceptance criteria, deviations from spec intent, missing implementation of specified behavior, contradictions between spec constraints and actual code. Output findings as a Markdown list. Each finding: one-line title, which AC/constraint it violates, and evidence from the diff.
27
-
28
- 3. **Subagent failure handling**: If any subagent fails, times out, or returns empty results, append the layer name to `{failed_layers}` (comma-separated) and proceed with findings from the remaining layers.
29
-
30
- 4. Collect all findings from the completed layers.
31
-
32
-
33
- ## NEXT
34
-
35
- Read fully and follow `./step-03-triage.md`
1
+ ---
2
+ failed_layers: '' # set at runtime: comma-separated list of layers that failed or returned empty
3
+ ---
4
+
5
+ # Step 2: Review
6
+
7
+ ## RULES
8
+
9
+ - YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
10
+ - The Blind Hunter subagent receives NO project context — diff only.
11
+ - The Edge Case Hunter subagent receives diff and project read access.
12
+ - The Acceptance Auditor subagent receives diff, spec, and context docs.
13
+ - All review subagents must run at the same model capability as the current session.
14
+
15
+ ## INSTRUCTIONS
16
+
17
+ 1. If `{review_mode}` = `"no-spec"`, note to the user: "Acceptance Auditor skipped — no spec file provided."
18
+
19
+ 2. Launch parallel subagents without conversation context. If subagents are not available, generate prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the user to run each in a separate session (ideally a different LLM) and paste back the findings. When findings are pasted, resume from this point and proceed to step 3.
20
+
21
+ - **Blind Hunter** — receives `{diff_output}` only. No spec, no context docs, no project access. Invoke via the `bmad-review-adversarial-general` skill.
22
+
23
+ - **Edge Case Hunter** — receives `{diff_output}` and read access to the project. Invoke via the `bmad-review-edge-case-hunter` skill.
24
+
25
+ - **Acceptance Auditor** (only if `{review_mode}` = `"full"`) — receives `{diff_output}`, the content of the file at `{spec_file}`, and any loaded context docs. Its prompt:
26
+ > You are an Acceptance Auditor. Review this diff against the spec and context docs. Check for: violations of acceptance criteria, deviations from spec intent, missing implementation of specified behavior, contradictions between spec constraints and actual code. Output findings as a Markdown list. Each finding: one-line title, which AC/constraint it violates, and evidence from the diff.
27
+
28
+ 3. **Subagent failure handling**: If any subagent fails, times out, or returns empty results, append the layer name to `{failed_layers}` (comma-separated) and proceed with findings from the remaining layers.
29
+
30
+ 4. Collect all findings from the completed layers.
31
+
32
+
33
+ ## NEXT
34
+
35
+ Read fully and follow `./step-03-triage.md`