bmad-method 6.1.1-next.9 → 6.2.0
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.
- package/README_CN.md +9 -9
- package/package.json +1 -1
- package/src/bmm/agents/analyst.agent.yaml +3 -3
- package/src/bmm/agents/architect.agent.yaml +1 -1
- package/src/bmm/agents/dev.agent.yaml +1 -1
- package/src/bmm/agents/pm.agent.yaml +6 -6
- package/src/bmm/agents/qa.agent.yaml +1 -1
- package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +2 -2
- package/src/bmm/agents/sm.agent.yaml +3 -3
- package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +1 -1
- package/src/bmm/module-help.csv +16 -16
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md +1 -1
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.md +2 -2
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md +4 -11
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md +0 -3
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md +5 -11
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md +5 -11
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md +5 -11
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md +5 -11
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.md +0 -3
- package/src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md +3 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/SKILL.md +88 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/artifact-analyzer.md +60 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/opportunity-reviewer.md +44 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/skeptic-reviewer.md +44 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/agents/web-researcher.md +49 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/bmad-manifest.json +17 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/contextual-discovery.md +57 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/draft-and-review.md +86 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/finalize.md +75 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/prompts/guided-elicitation.md +70 -0
- package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/resources/brief-template.md +60 -0
- package/src/bmm/workflows/1-analysis/research/bmad-domain-research/SKILL.md +1 -1
- package/src/bmm/workflows/1-analysis/research/bmad-market-research/SKILL.md +6 -0
- package/src/bmm/workflows/1-analysis/research/bmad-market-research/research.template.md +29 -0
- package/src/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-01-init.md +184 -0
- package/src/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +239 -0
- package/src/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +251 -0
- package/src/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +261 -0
- package/src/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +173 -0
- package/src/bmm/workflows/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +478 -0
- package/src/bmm/workflows/1-analysis/research/{workflow-market-research.md → bmad-market-research/workflow.md} +1 -6
- package/src/bmm/workflows/1-analysis/research/bmad-technical-research/SKILL.md +6 -0
- package/src/bmm/workflows/1-analysis/research/bmad-technical-research/research.template.md +29 -0
- package/src/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-01-init.md +2 -2
- package/src/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-02-technical-overview.md +2 -2
- package/src/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-03-integration-patterns.md +2 -2
- package/src/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-04-architectural-patterns.md +2 -2
- package/src/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-05-implementation-research.md +2 -2
- package/src/bmm/workflows/1-analysis/research/{workflow-technical-research.md → bmad-technical-research/workflow.md} +0 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/SKILL.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01-init.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01b-continue.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-02-discovery.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-03-core-experience.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-04-emotional-response.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-05-inspiration.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-06-design-system.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-07-defining-experience.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-08-visual-foundation.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-09-design-directions.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-10-user-journeys.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-11-component-strategy.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-12-ux-patterns.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +5 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/workflow.md +1 -2
- package/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/SKILL.md +6 -0
- package/src/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-01-discovery.md +3 -8
- package/src/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-01b-legacy-conversion.md +1 -5
- package/src/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-02-review.md +5 -9
- package/src/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-03-edit.md +3 -6
- package/src/bmm/workflows/2-plan-workflows/{create-prd → bmad-edit-prd}/steps-e/step-e-04-complete.md +2 -5
- package/src/bmm/workflows/2-plan-workflows/{create-prd/workflow-edit-prd.md → bmad-edit-prd/workflow.md} +2 -4
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/SKILL.md +6 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/domain-complexity.csv +15 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/prd-purpose.md +197 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/project-types.csv +11 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md +221 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
- package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/workflow.md +62 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +2 -4
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +1 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +3 -3
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +2 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +2 -0
- package/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/SKILL.md +6 -0
- package/src/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-01-document-discovery.md +3 -8
- package/src/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-02-prd-analysis.md +1 -5
- package/src/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-03-epic-coverage-validation.md +1 -5
- package/src/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-04-ux-alignment.md +1 -5
- package/src/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-05-epic-quality-review.md +2 -6
- package/src/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/steps/step-06-final-assessment.md +0 -3
- package/src/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/workflow.md +0 -5
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/SKILL.md +1 -1
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-01-init.md +4 -4
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-02-context.md +2 -2
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-03-starter.md +4 -4
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-04-decisions.md +4 -4
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-05-patterns.md +4 -4
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-06-structure.md +4 -4
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-07-validation.md +4 -4
- package/src/bmm/workflows/3-solutioning/bmad-create-architecture/workflow.md +0 -6
- package/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/SKILL.md +6 -0
- package/src/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/steps/step-01-validate-prerequisites.md +7 -29
- package/src/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/steps/step-02-design-epics.md +7 -28
- package/src/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/steps/step-03-create-stories.md +8 -29
- package/src/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/steps/step-04-final-validation.md +2 -20
- package/src/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/workflow.md +1 -6
- package/src/bmm/workflows/4-implementation/bmad-code-review/SKILL.md +6 -0
- package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-01-gather-context.md +61 -0
- package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-02-review.md +41 -0
- package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-03-triage.md +50 -0
- package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-04-present.md +38 -0
- package/src/bmm/workflows/4-implementation/bmad-code-review/workflow.md +54 -0
- package/src/bmm/workflows/4-implementation/bmad-correct-course/SKILL.md +6 -0
- package/src/bmm/workflows/4-implementation/{correct-course → bmad-correct-course}/checklist.md +1 -1
- package/src/bmm/workflows/4-implementation/{correct-course → bmad-correct-course}/workflow.md +3 -10
- package/src/bmm/workflows/4-implementation/bmad-create-story/SKILL.md +1 -1
- package/src/bmm/workflows/4-implementation/bmad-create-story/checklist.md +2 -2
- package/src/bmm/workflows/4-implementation/bmad-create-story/workflow.md +3 -11
- package/src/bmm/workflows/4-implementation/bmad-dev-story/SKILL.md +1 -1
- package/src/bmm/workflows/4-implementation/bmad-dev-story/workflow.md +0 -1
- package/src/bmm/workflows/4-implementation/bmad-retrospective/SKILL.md +6 -0
- package/src/bmm/workflows/4-implementation/{retrospective → bmad-retrospective}/workflow.md +0 -6
- package/src/bmm/workflows/4-implementation/bmad-sprint-planning/SKILL.md +6 -0
- package/src/bmm/workflows/4-implementation/bmad-sprint-planning/bmad-skill-manifest.yaml +1 -0
- package/src/bmm/workflows/4-implementation/{sprint-planning → bmad-sprint-planning}/workflow.md +0 -8
- package/src/bmm/workflows/4-implementation/bmad-sprint-status/SKILL.md +6 -0
- package/src/bmm/workflows/4-implementation/bmad-sprint-status/bmad-skill-manifest.yaml +1 -0
- package/src/bmm/workflows/4-implementation/{sprint-status → bmad-sprint-status}/workflow.md +0 -6
- package/src/bmm/workflows/bmad-document-project/SKILL.md +6 -0
- package/src/bmm/workflows/bmad-document-project/bmad-skill-manifest.yaml +1 -0
- package/src/bmm/workflows/{document-project → bmad-document-project}/instructions.md +6 -6
- package/src/bmm/workflows/bmad-document-project/workflow.md +27 -0
- package/src/bmm/workflows/{document-project → bmad-document-project}/workflows/deep-dive-instructions.md +3 -1
- package/src/bmm/workflows/{document-project → bmad-document-project}/workflows/deep-dive-workflow.md +4 -12
- package/src/bmm/workflows/{document-project → bmad-document-project}/workflows/full-scan-instructions.md +5 -3
- package/src/bmm/workflows/{document-project → bmad-document-project}/workflows/full-scan-workflow.md +4 -12
- package/src/bmm/workflows/bmad-generate-project-context/SKILL.md +6 -0
- package/src/bmm/workflows/bmad-generate-project-context/bmad-skill-manifest.yaml +1 -0
- package/src/bmm/workflows/{generate-project-context → bmad-generate-project-context}/steps/step-01-discover.md +4 -2
- package/src/bmm/workflows/{generate-project-context → bmad-generate-project-context}/steps/step-02-generate.md +8 -5
- package/src/bmm/workflows/{generate-project-context → bmad-generate-project-context}/workflow.md +2 -8
- package/src/bmm/workflows/bmad-qa-generate-e2e-tests/SKILL.md +6 -0
- package/src/bmm/workflows/bmad-qa-generate-e2e-tests/bmad-skill-manifest.yaml +1 -0
- package/src/bmm/workflows/{qa-generate-e2e-tests → bmad-qa-generate-e2e-tests}/workflow.md +2 -9
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/SKILL.md +1 -1
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-01-mode-detection.md +9 -14
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-02-context-gathering.md +1 -5
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-03-execute.md +1 -5
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-04-self-check.md +1 -5
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-05-adversarial-review.md +1 -5
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-06-resolve-findings.md +0 -2
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/workflow.md +0 -6
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/SKILL.md +1 -1
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md +2 -5
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md +2 -6
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md +1 -3
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md +3 -6
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md +0 -2
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md +0 -1
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/SKILL.md +6 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/bmad-skill-manifest.yaml +1 -0
- package/src/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/steps/step-01-understand.md +7 -11
- package/src/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/steps/step-02-investigate.md +3 -6
- package/src/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/steps/step-03-generate.md +1 -4
- package/src/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/steps/step-04-review.md +4 -7
- package/src/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/workflow.md +1 -6
- package/src/core/module-help.csv +1 -0
- package/src/core/skills/bmad-advanced-elicitation/SKILL.md +6 -0
- package/src/core/skills/bmad-advanced-elicitation/bmad-skill-manifest.yaml +1 -0
- package/src/core/{tasks → skills}/bmad-advanced-elicitation/workflow.md +3 -4
- package/src/core/{workflows → skills}/bmad-brainstorming/SKILL.md +1 -1
- package/src/core/skills/bmad-brainstorming/bmad-skill-manifest.yaml +1 -0
- package/src/core/{workflows → skills}/bmad-brainstorming/steps/step-01-session-setup.md +5 -1
- package/src/core/{workflows → skills}/bmad-brainstorming/steps/step-01b-continue.md +3 -1
- package/src/core/{workflows → skills}/bmad-brainstorming/steps/step-02a-user-selected.md +5 -1
- package/src/core/{workflows → skills}/bmad-brainstorming/steps/step-02b-ai-recommended.md +3 -1
- package/src/core/{workflows → skills}/bmad-brainstorming/steps/step-02c-random-selection.md +3 -1
- package/src/core/{workflows → skills}/bmad-brainstorming/steps/step-02d-progressive-flow.md +3 -1
- package/src/core/{workflows → skills}/bmad-brainstorming/steps/step-03-technique-execution.md +4 -2
- package/src/core/{workflows → skills}/bmad-brainstorming/steps/step-04-idea-organization.md +2 -0
- package/src/core/{workflows → skills}/bmad-brainstorming/workflow.md +1 -5
- package/src/core/skills/bmad-distillator/SKILL.md +178 -0
- package/src/core/skills/bmad-distillator/agents/distillate-compressor.md +116 -0
- package/src/core/skills/bmad-distillator/agents/round-trip-reconstructor.md +68 -0
- package/src/core/skills/bmad-distillator/bmad-skill-manifest.yaml +15 -0
- package/src/core/skills/bmad-distillator/resources/compression-rules.md +51 -0
- package/src/core/skills/bmad-distillator/resources/distillate-format-reference.md +227 -0
- package/src/core/skills/bmad-distillator/resources/splitting-strategy.md +78 -0
- package/src/core/skills/bmad-distillator/scripts/analyze_sources.py +300 -0
- package/src/core/skills/bmad-distillator/scripts/tests/test_analyze_sources.py +204 -0
- package/src/core/{tasks → skills}/bmad-editorial-review-prose/SKILL.md +1 -1
- package/src/core/skills/bmad-editorial-review-prose/bmad-skill-manifest.yaml +1 -0
- package/src/core/{tasks → skills}/bmad-editorial-review-structure/SKILL.md +1 -1
- package/src/core/skills/bmad-editorial-review-structure/bmad-skill-manifest.yaml +1 -0
- package/src/core/skills/bmad-help/SKILL.md +6 -0
- package/src/core/skills/bmad-help/bmad-skill-manifest.yaml +1 -0
- package/src/core/{tasks → skills}/bmad-index-docs/SKILL.md +1 -1
- package/src/core/skills/bmad-index-docs/bmad-skill-manifest.yaml +1 -0
- package/src/core/{workflows → skills}/bmad-party-mode/SKILL.md +1 -1
- package/src/core/skills/bmad-party-mode/bmad-skill-manifest.yaml +1 -0
- package/src/core/{tasks → skills}/bmad-review-adversarial-general/SKILL.md +1 -1
- package/src/core/skills/bmad-review-adversarial-general/bmad-skill-manifest.yaml +1 -0
- package/src/core/{tasks → skills}/bmad-review-edge-case-hunter/SKILL.md +2 -2
- package/src/core/skills/bmad-review-edge-case-hunter/bmad-skill-manifest.yaml +1 -0
- package/src/core/{tasks → skills}/bmad-shard-doc/SKILL.md +1 -1
- package/src/core/skills/bmad-shard-doc/bmad-skill-manifest.yaml +1 -0
- package/src/core/tasks/bmad-create-prd/SKILL.md +6 -0
- package/src/core/tasks/bmad-create-prd/bmad-skill-manifest.yaml +1 -0
- package/src/core/tasks/bmad-create-prd/data/domain-complexity.csv +15 -0
- package/src/core/tasks/bmad-create-prd/data/prd-purpose.md +197 -0
- package/src/core/tasks/bmad-create-prd/data/project-types.csv +11 -0
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-01-init.md +7 -20
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-01b-continue.md +29 -20
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-02-discovery.md +7 -23
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-02b-vision.md +5 -17
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-02c-executive-summary.md +5 -17
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-03-success.md +5 -17
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-04-journeys.md +5 -17
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-05-domain.md +7 -20
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-06-innovation.md +8 -23
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-07-project-type.md +6 -21
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-08-scoping.md +5 -17
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-09-functional.md +5 -17
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-10-nonfunctional.md +5 -17
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-11-polish.md +6 -19
- package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/steps-c/step-12-complete.md +3 -12
- package/src/{bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md → core/tasks/bmad-create-prd/workflow.md} +3 -4
- package/tools/cli/external-official-modules.yaml +9 -9
- package/tools/cli/installers/lib/core/manifest.js +4 -2
- package/tools/skill-validator.md +322 -0
- package/src/bmm/workflows/1-analysis/research/bmad-skill-manifest.yaml +0 -9
- package/src/bmm/workflows/2-plan-workflows/create-prd/bmad-skill-manifest.yaml +0 -14
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/4-implementation/code-review/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/4-implementation/code-review/checklist.md +0 -23
- package/src/bmm/workflows/4-implementation/code-review/discover-inputs.md +0 -88
- package/src/bmm/workflows/4-implementation/code-review/workflow.md +0 -268
- package/src/bmm/workflows/4-implementation/correct-course/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/4-implementation/retrospective/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/4-implementation/sprint-planning/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/4-implementation/sprint-status/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/document-project/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/document-project/workflow.md +0 -39
- package/src/bmm/workflows/generate-project-context/bmad-skill-manifest.yaml +0 -3
- package/src/bmm/workflows/qa-generate-e2e-tests/bmad-skill-manifest.yaml +0 -3
- package/src/core/agents/bmad-master.agent.yaml +0 -30
- package/src/core/agents/bmad-skill-manifest.yaml +0 -3
- package/src/core/tasks/bmad-advanced-elicitation/SKILL.md +0 -6
- package/src/core/tasks/bmad-help/SKILL.md +0 -6
- /package/src/{core/tasks/bmad-advanced-elicitation → bmm/workflows/1-analysis/bmad-product-brief-preview}/bmad-skill-manifest.yaml +0 -0
- /package/src/{core/tasks/bmad-editorial-review-prose → bmm/workflows/1-analysis/research/bmad-market-research}/bmad-skill-manifest.yaml +0 -0
- /package/src/{core/tasks/bmad-editorial-review-structure → bmm/workflows/1-analysis/research/bmad-technical-research}/bmad-skill-manifest.yaml +0 -0
- /package/src/bmm/workflows/1-analysis/research/{technical-steps → bmad-technical-research/technical-steps}/step-06-research-synthesis.md +0 -0
- /package/src/{core/tasks/bmad-help → bmm/workflows/2-plan-workflows/bmad-edit-prd}/bmad-skill-manifest.yaml +0 -0
- /package/src/{core/tasks/bmad-index-docs → bmm/workflows/2-plan-workflows/bmad-validate-prd}/bmad-skill-manifest.yaml +0 -0
- /package/src/{core/tasks/bmad-review-adversarial-general → bmm/workflows/3-solutioning/bmad-check-implementation-readiness}/bmad-skill-manifest.yaml +0 -0
- /package/src/bmm/workflows/3-solutioning/{check-implementation-readiness → bmad-check-implementation-readiness}/templates/readiness-report-template.md +0 -0
- /package/src/{core/tasks/bmad-review-edge-case-hunter → bmm/workflows/3-solutioning/bmad-create-epics-and-stories}/bmad-skill-manifest.yaml +0 -0
- /package/src/bmm/workflows/3-solutioning/{create-epics-and-stories → bmad-create-epics-and-stories}/templates/epics-template.md +0 -0
- /package/src/{core/tasks/bmad-shard-doc → bmm/workflows/4-implementation/bmad-code-review}/bmad-skill-manifest.yaml +0 -0
- /package/src/{core/workflows/bmad-brainstorming → bmm/workflows/4-implementation/bmad-correct-course}/bmad-skill-manifest.yaml +0 -0
- /package/src/{core/workflows/bmad-party-mode → bmm/workflows/4-implementation/bmad-retrospective}/bmad-skill-manifest.yaml +0 -0
- /package/src/bmm/workflows/4-implementation/{sprint-planning → bmad-sprint-planning}/checklist.md +0 -0
- /package/src/bmm/workflows/4-implementation/{sprint-planning → bmad-sprint-planning}/sprint-status-template.yaml +0 -0
- /package/src/bmm/workflows/{document-project → bmad-document-project}/checklist.md +0 -0
- /package/src/bmm/workflows/{document-project → bmad-document-project}/documentation-requirements.csv +0 -0
- /package/src/bmm/workflows/{document-project → bmad-document-project}/templates/deep-dive-template.md +0 -0
- /package/src/bmm/workflows/{document-project → bmad-document-project}/templates/index-template.md +0 -0
- /package/src/bmm/workflows/{document-project → bmad-document-project}/templates/project-overview-template.md +0 -0
- /package/src/bmm/workflows/{document-project → bmad-document-project}/templates/project-scan-report-schema.json +0 -0
- /package/src/bmm/workflows/{document-project → bmad-document-project}/templates/source-tree-template.md +0 -0
- /package/src/bmm/workflows/{generate-project-context → bmad-generate-project-context}/project-context-template.md +0 -0
- /package/src/bmm/workflows/{generate-project-context → bmad-generate-project-context}/steps/step-03-complete.md +0 -0
- /package/src/bmm/workflows/{qa-generate-e2e-tests → bmad-qa-generate-e2e-tests}/checklist.md +0 -0
- /package/src/bmm/workflows/bmad-quick-flow/{quick-spec → bmad-quick-spec}/tech-spec-template.md +0 -0
- /package/src/core/{tasks → skills}/bmad-advanced-elicitation/methods.csv +0 -0
- /package/src/core/{workflows → skills}/bmad-brainstorming/brain-methods.csv +0 -0
- /package/src/core/{workflows → skills}/bmad-brainstorming/template.md +0 -0
- /package/src/core/{tasks → skills}/bmad-editorial-review-prose/workflow.md +0 -0
- /package/src/core/{tasks → skills}/bmad-editorial-review-structure/workflow.md +0 -0
- /package/src/core/{tasks → skills}/bmad-help/workflow.md +0 -0
- /package/src/core/{tasks → skills}/bmad-index-docs/workflow.md +0 -0
- /package/src/core/{workflows → skills}/bmad-party-mode/steps/step-01-agent-loading.md +0 -0
- /package/src/core/{workflows → skills}/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -0
- /package/src/core/{workflows → skills}/bmad-party-mode/steps/step-03-graceful-exit.md +0 -0
- /package/src/core/{workflows → skills}/bmad-party-mode/workflow.md +0 -0
- /package/src/core/{tasks → skills}/bmad-review-adversarial-general/workflow.md +0 -0
- /package/src/core/{tasks → skills}/bmad-review-edge-case-hunter/workflow.md +0 -0
- /package/src/core/{tasks → skills}/bmad-shard-doc/workflow.md +0 -0
- /package/src/{bmm/workflows/2-plan-workflows/create-prd → core/tasks/bmad-create-prd}/templates/prd-template.md +0 -0
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-09-functional'
|
|
3
|
-
description: 'Synthesize all discovery into comprehensive functional requirements'
|
|
4
|
-
|
|
5
|
-
# File References
|
|
6
|
-
nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md'
|
|
7
|
-
outputFile: '{planning_artifacts}/prd.md'
|
|
8
|
-
|
|
9
|
-
# Task References
|
|
10
|
-
advancedElicitationTask: 'skill:bmad-advanced-elicitation'
|
|
11
|
-
partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md'
|
|
12
|
-
---
|
|
13
|
-
|
|
14
1
|
# Step 9: Functional Requirements Synthesis
|
|
15
2
|
|
|
16
3
|
**Progress: Step 9 of 11** - Next: Non-Functional Requirements
|
|
@@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow
|
|
|
26
13
|
- 💬 FOCUS on creating comprehensive capability inventory for the product
|
|
27
14
|
- 🎯 CRITICAL: This is THE CAPABILITY CONTRACT for all downstream work
|
|
28
15
|
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
16
|
+
- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
|
|
29
17
|
|
|
30
18
|
## EXECUTION PROTOCOLS:
|
|
31
19
|
|
|
@@ -181,9 +169,9 @@ Present the functional requirements for review, then display menu:
|
|
|
181
169
|
Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Non-Functional Requirements (Step 10 of 11)"
|
|
182
170
|
|
|
183
171
|
#### Menu Handling Logic:
|
|
184
|
-
- IF A:
|
|
185
|
-
- IF P:
|
|
186
|
-
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow:
|
|
172
|
+
- IF A: Invoke the `bmad-advanced-elicitation` skill with the current FR list, process the enhanced capability coverage that comes back, ask user if they accept the additions, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
173
|
+
- IF P: Invoke the `bmad-party-mode` skill with the current FR list, process the collaborative capability validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
174
|
+
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-10-nonfunctional.md
|
|
187
175
|
- IF Any other: help user respond, then redisplay menu
|
|
188
176
|
|
|
189
177
|
#### EXECUTION RULES:
|
|
@@ -226,6 +214,6 @@ Emphasize to user: "This FR list is now binding. Any feature not listed here wil
|
|
|
226
214
|
|
|
227
215
|
## NEXT STEP:
|
|
228
216
|
|
|
229
|
-
After user selects 'C' and content is saved to document, load
|
|
217
|
+
After user selects 'C' and content is saved to document, load ./step-10-nonfunctional.md to define non-functional requirements.
|
|
230
218
|
|
|
231
219
|
Remember: Do NOT proceed to step-10 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-10-nonfunctional'
|
|
3
|
-
description: 'Define quality attributes that matter for this specific product'
|
|
4
|
-
|
|
5
|
-
# File References
|
|
6
|
-
nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md'
|
|
7
|
-
outputFile: '{planning_artifacts}/prd.md'
|
|
8
|
-
|
|
9
|
-
# Task References
|
|
10
|
-
advancedElicitationTask: 'skill:bmad-advanced-elicitation'
|
|
11
|
-
partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md'
|
|
12
|
-
---
|
|
13
|
-
|
|
14
1
|
# Step 10: Non-Functional Requirements
|
|
15
2
|
|
|
16
3
|
**Progress: Step 10 of 12** - Next: Polish Document
|
|
@@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow
|
|
|
26
13
|
- 💬 FOCUS on quality attributes that matter for THIS specific product
|
|
27
14
|
- 🎯 SELECTIVE: Only document NFRs that actually apply to the product
|
|
28
15
|
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
16
|
+
- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
|
|
29
17
|
|
|
30
18
|
## EXECUTION PROTOCOLS:
|
|
31
19
|
|
|
@@ -168,9 +156,9 @@ Present the non-functional requirements for review, then display menu:
|
|
|
168
156
|
Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Polish Document (Step 11 of 12)"
|
|
169
157
|
|
|
170
158
|
#### Menu Handling Logic:
|
|
171
|
-
- IF A:
|
|
172
|
-
- IF P:
|
|
173
|
-
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow:
|
|
159
|
+
- IF A: Invoke the `bmad-advanced-elicitation` skill with the current NFR content, process the enhanced quality attribute insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
160
|
+
- IF P: Invoke the `bmad-party-mode` skill with the current NFR list, process the collaborative technical validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu
|
|
161
|
+
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-11-polish.md
|
|
174
162
|
- IF Any other: help user respond, then redisplay menu
|
|
175
163
|
|
|
176
164
|
#### EXECUTION RULES:
|
|
@@ -237,6 +225,6 @@ When user selects 'C', append the content directly to the document using the str
|
|
|
237
225
|
|
|
238
226
|
## NEXT STEP:
|
|
239
227
|
|
|
240
|
-
After user selects 'C' and content is saved to document, load
|
|
228
|
+
After user selects 'C' and content is saved to document, load ./step-11-polish.md to finalize the PRD and complete the workflow.
|
|
241
229
|
|
|
242
230
|
Remember: Do NOT proceed to step-11 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-11-polish'
|
|
3
|
-
description: 'Optimize and polish the complete PRD document for flow, coherence, and readability'
|
|
4
|
-
|
|
5
|
-
# File References
|
|
6
|
-
nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md'
|
|
7
|
-
outputFile: '{planning_artifacts}/prd.md'
|
|
8
|
-
purposeFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md'
|
|
9
|
-
|
|
10
|
-
# Task References
|
|
11
|
-
advancedElicitationTask: 'skill:bmad-advanced-elicitation'
|
|
12
|
-
partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md'
|
|
13
|
-
---
|
|
14
|
-
|
|
15
1
|
# Step 11: Document Polish
|
|
16
2
|
|
|
17
3
|
**Progress: Step 11 of 12** - Next: Complete PRD
|
|
@@ -26,6 +12,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow
|
|
|
26
12
|
- 💬 PRESERVE user's voice and intent
|
|
27
13
|
- 🎯 MAINTAIN all essential information while improving presentation
|
|
28
14
|
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
15
|
+
- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`
|
|
29
16
|
|
|
30
17
|
## EXECUTION PROTOCOLS:
|
|
31
18
|
|
|
@@ -55,7 +42,7 @@ Optimize the complete PRD document for flow, coherence, and professional present
|
|
|
55
42
|
|
|
56
43
|
**CRITICAL:** Load the PRD purpose document first:
|
|
57
44
|
|
|
58
|
-
- Read `
|
|
45
|
+
- Read `../data/prd-purpose.md` to understand what makes a great BMAD PRD
|
|
59
46
|
- Internalize the philosophy: information density, traceability, measurable requirements
|
|
60
47
|
- Keep the dual-audience nature (humans + LLMs) in mind
|
|
61
48
|
|
|
@@ -185,9 +172,9 @@ Present the polished document for review, then display menu:
|
|
|
185
172
|
Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Complete PRD (Step 12 of 12)"
|
|
186
173
|
|
|
187
174
|
#### Menu Handling Logic:
|
|
188
|
-
- IF A:
|
|
189
|
-
- IF P:
|
|
190
|
-
- IF C: Save the polished document to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow:
|
|
175
|
+
- IF A: Invoke the `bmad-advanced-elicitation` skill with the polished document, process the enhanced refinements that come back, ask user "Accept these polish improvements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu
|
|
176
|
+
- IF P: Invoke the `bmad-party-mode` skill with the polished document, process the collaborative refinements to flow and coherence, ask user "Accept these polish changes? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu
|
|
177
|
+
- IF C: Save the polished document to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-12-complete.md
|
|
191
178
|
- IF Any other: help user respond, then redisplay menu
|
|
192
179
|
|
|
193
180
|
#### EXECUTION RULES:
|
|
@@ -229,6 +216,6 @@ When user selects 'C', replace the entire document content with the polished ver
|
|
|
229
216
|
|
|
230
217
|
## NEXT STEP:
|
|
231
218
|
|
|
232
|
-
After user selects 'C' and polished document is saved, load
|
|
219
|
+
After user selects 'C' and polished document is saved, load `./step-12-complete.md` to complete the workflow.
|
|
233
220
|
|
|
234
221
|
Remember: Do NOT proceed to step-12 until user explicitly selects 'C' from the A/P/C menu and polished document is saved!
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-12-complete'
|
|
3
|
-
description: 'Complete the PRD workflow, update status files, and suggest next steps including validation'
|
|
4
|
-
|
|
5
|
-
# File References
|
|
6
|
-
outputFile: '{planning_artifacts}/prd.md'
|
|
7
|
-
validationFlow: '../steps-v/step-v-01-discovery.md'
|
|
8
|
-
---
|
|
9
|
-
|
|
10
1
|
# Step 12: Workflow Completion
|
|
11
2
|
|
|
12
3
|
**Final Step - Complete the PRD**
|
|
@@ -60,8 +51,8 @@ Inform user that the PRD is complete and polished:
|
|
|
60
51
|
|
|
61
52
|
Update the main workflow status file if there is one:
|
|
62
53
|
|
|
63
|
-
-
|
|
64
|
-
- Update workflow_status["prd"] = "{
|
|
54
|
+
- Check workflow configuration for a status file (if one exists)
|
|
55
|
+
- Update workflow_status["prd"] = "{outputFile}"
|
|
65
56
|
- Save file, preserving all comments and structure
|
|
66
57
|
- Mark current timestamp as completion time
|
|
67
58
|
|
|
@@ -71,7 +62,7 @@ Offer validation workflows to ensure PRD is ready for implementation:
|
|
|
71
62
|
|
|
72
63
|
**Available Validation Workflows:**
|
|
73
64
|
|
|
74
|
-
**Option 1: Check Implementation Readiness** (`
|
|
65
|
+
**Option 1: Check Implementation Readiness** (`skill:bmad-check-implementation-readiness`)
|
|
75
66
|
- Validates PRD has all information needed for development
|
|
76
67
|
- Checks epic coverage completeness
|
|
77
68
|
- Reviews UX alignment with requirements
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: create-prd
|
|
3
|
-
description: 'Create a PRD from scratch. Use when the user says "lets create a product requirements document" or "I want to create a new PRD"'
|
|
4
2
|
main_config: '{project-root}/_bmad/bmm/config.yaml'
|
|
5
|
-
|
|
3
|
+
outputFile: '{planning_artifacts}/prd.md'
|
|
6
4
|
---
|
|
7
5
|
|
|
8
6
|
# PRD Create Workflow
|
|
@@ -55,9 +53,10 @@ Load and read full config from {main_config} and resolve:
|
|
|
55
53
|
- `date` as system-generated current datetime
|
|
56
54
|
|
|
57
55
|
✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
|
|
56
|
+
✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`.
|
|
58
57
|
|
|
59
58
|
### 2. Route to Create Workflow
|
|
60
59
|
|
|
61
60
|
"**Create Mode: Creating a new PRD from scratch.**"
|
|
62
61
|
|
|
63
|
-
Read fully and follow:
|
|
62
|
+
Read fully and follow: `./steps-c/step-01-init.md`
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
# allowing us to keep the source of these projects in separate repos.
|
|
3
3
|
|
|
4
4
|
modules:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
bmad-builder:
|
|
6
|
+
url: https://github.com/bmad-code-org/bmad-builder
|
|
7
|
+
module-definition: src/module.yaml
|
|
8
|
+
code: bmb
|
|
9
|
+
name: "BMad Builder"
|
|
10
|
+
description: "Agent and Builder"
|
|
11
|
+
defaultSelected: false
|
|
12
|
+
type: bmad-org
|
|
13
|
+
npmPackage: bmad-builder
|
|
14
14
|
|
|
15
15
|
bmad-creative-intelligence-suite:
|
|
16
16
|
url: https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
|
|
@@ -267,9 +267,11 @@ class Manifest {
|
|
|
267
267
|
* @param {Object} options - Optional version info
|
|
268
268
|
*/
|
|
269
269
|
async addModule(bmadDir, moduleName, options = {}) {
|
|
270
|
-
|
|
270
|
+
let manifest = await this._readRaw(bmadDir);
|
|
271
271
|
if (!manifest) {
|
|
272
|
-
|
|
272
|
+
// Bootstrap a minimal manifest if it doesn't exist yet
|
|
273
|
+
// (e.g., skill-only modules with no agents to compile)
|
|
274
|
+
manifest = { modules: [] };
|
|
273
275
|
}
|
|
274
276
|
|
|
275
277
|
if (!manifest.modules) {
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
# Skill Validator — Inference-Based
|
|
2
|
+
|
|
3
|
+
An LLM-readable validation prompt for skills following the Agent Skills open standard.
|
|
4
|
+
|
|
5
|
+
## How to Use
|
|
6
|
+
|
|
7
|
+
1. You are given a **skill directory path** to validate.
|
|
8
|
+
2. Read every file in the skill directory recursively.
|
|
9
|
+
3. Apply every rule in the catalog below to every applicable file.
|
|
10
|
+
4. Produce a findings report using the report template at the end.
|
|
11
|
+
|
|
12
|
+
If no findings are generated, the skill passes validation.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Definitions
|
|
17
|
+
|
|
18
|
+
- **Skill directory**: the folder containing `SKILL.md` and all supporting files.
|
|
19
|
+
- **Internal reference**: a file path from one file in the skill to another file in the same skill.
|
|
20
|
+
- **External reference**: a file path from a skill file to a file outside the skill directory.
|
|
21
|
+
- **Originating file**: the file that contains the reference (path resolution is relative to this file's location).
|
|
22
|
+
- **Config variable**: a name-value pair whose value comes from the project config file (e.g., `planning_artifacts`, `implementation_artifacts`, `communication_language`).
|
|
23
|
+
- **Runtime variable**: a name-value pair whose value is set during workflow execution (e.g., `spec_file`, `date`, `status`).
|
|
24
|
+
- **Intra-skill path variable**: a frontmatter variable whose value is a path to another file within the same skill — this is an anti-pattern.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Rule Catalog
|
|
29
|
+
|
|
30
|
+
### SKILL-01 — SKILL.md Must Exist
|
|
31
|
+
|
|
32
|
+
- **Severity:** CRITICAL
|
|
33
|
+
- **Applies to:** skill directory
|
|
34
|
+
- **Rule:** The skill directory must contain a file named `SKILL.md` (exact case).
|
|
35
|
+
- **Detection:** Check for the file's existence.
|
|
36
|
+
- **Fix:** Create `SKILL.md` as the skill entrypoint.
|
|
37
|
+
|
|
38
|
+
### SKILL-02 — SKILL.md Must Have `name` in Frontmatter
|
|
39
|
+
|
|
40
|
+
- **Severity:** CRITICAL
|
|
41
|
+
- **Applies to:** `SKILL.md`
|
|
42
|
+
- **Rule:** The YAML frontmatter must contain a `name` field.
|
|
43
|
+
- **Detection:** Parse the `---` delimited frontmatter block and check for `name:`.
|
|
44
|
+
- **Fix:** Add `name: <skill-name>` to the frontmatter.
|
|
45
|
+
|
|
46
|
+
### SKILL-03 — SKILL.md Must Have `description` in Frontmatter
|
|
47
|
+
|
|
48
|
+
- **Severity:** CRITICAL
|
|
49
|
+
- **Applies to:** `SKILL.md`
|
|
50
|
+
- **Rule:** The YAML frontmatter must contain a `description` field.
|
|
51
|
+
- **Detection:** Parse the `---` delimited frontmatter block and check for `description:`.
|
|
52
|
+
- **Fix:** Add `description: '<what it does and when to use it>'` to the frontmatter.
|
|
53
|
+
|
|
54
|
+
### SKILL-04 — `name` Format
|
|
55
|
+
|
|
56
|
+
- **Severity:** HIGH
|
|
57
|
+
- **Applies to:** `SKILL.md`
|
|
58
|
+
- **Rule:** The `name` value must use only lowercase letters, numbers, and hyphens. Max 64 characters. Must not contain "anthropic" or "claude".
|
|
59
|
+
- **Detection:** Regex test: `^[a-z0-9][a-z0-9-]{0,62}[a-z0-9]$`. String search for forbidden substrings.
|
|
60
|
+
- **Fix:** Rename to comply with the format.
|
|
61
|
+
|
|
62
|
+
### SKILL-05 — `name` Must Match Directory Name
|
|
63
|
+
|
|
64
|
+
- **Severity:** HIGH
|
|
65
|
+
- **Applies to:** `SKILL.md`
|
|
66
|
+
- **Rule:** The `name` value in SKILL.md frontmatter must exactly match the skill directory name. The directory name is the canonical identifier used by installers, manifests, and `skill:` references throughout the project.
|
|
67
|
+
- **Detection:** Compare the `name:` frontmatter value against the basename of the skill directory (i.e., the immediate parent directory of `SKILL.md`).
|
|
68
|
+
- **Fix:** Change the `name:` value to match the directory name, or rename the directory to match — prefer changing `name:` unless other references depend on the current value.
|
|
69
|
+
|
|
70
|
+
### SKILL-06 — `description` Quality
|
|
71
|
+
|
|
72
|
+
- **Severity:** MEDIUM
|
|
73
|
+
- **Applies to:** `SKILL.md`
|
|
74
|
+
- **Rule:** The `description` must state both what the skill does AND when to use it. Max 1024 characters.
|
|
75
|
+
- **Detection:** Check length. Look for trigger phrases like "Use when" or "Use if" — their absence suggests the description only says _what_ but not _when_.
|
|
76
|
+
- **Fix:** Append a "Use when..." clause to the description.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### WF-01 — workflow.md Must NOT Have `name` in Frontmatter
|
|
81
|
+
|
|
82
|
+
- **Severity:** HIGH
|
|
83
|
+
- **Applies to:** `workflow.md` (if it exists)
|
|
84
|
+
- **Rule:** The `name` field belongs only in `SKILL.md`. If `workflow.md` has YAML frontmatter, it must not contain `name:`.
|
|
85
|
+
- **Detection:** Parse frontmatter and check for `name:` key.
|
|
86
|
+
- **Fix:** Remove the `name:` line from workflow.md frontmatter.
|
|
87
|
+
|
|
88
|
+
### WF-02 — workflow.md Must NOT Have `description` in Frontmatter
|
|
89
|
+
|
|
90
|
+
- **Severity:** HIGH
|
|
91
|
+
- **Applies to:** `workflow.md` (if it exists)
|
|
92
|
+
- **Rule:** The `description` field belongs only in `SKILL.md`. If `workflow.md` has YAML frontmatter, it must not contain `description:`.
|
|
93
|
+
- **Detection:** Parse frontmatter and check for `description:` key.
|
|
94
|
+
- **Fix:** Remove the `description:` line from workflow.md frontmatter.
|
|
95
|
+
|
|
96
|
+
### WF-03 — workflow.md Frontmatter Variables Must Be Config or Runtime Only
|
|
97
|
+
|
|
98
|
+
- **Severity:** HIGH
|
|
99
|
+
- **Applies to:** `workflow.md` frontmatter
|
|
100
|
+
- **Rule:** Every variable defined in workflow.md frontmatter must be either:
|
|
101
|
+
- A config variable (value references `{project-root}` or a config-derived variable like `{planning_artifacts}`)
|
|
102
|
+
- A runtime variable (value is empty, a placeholder, or set during execution)
|
|
103
|
+
- A legitimate external path expression (must not violate PATH-05 — no paths into another skill's directory)
|
|
104
|
+
|
|
105
|
+
It must NOT be a path to a file within the skill directory (see PATH-04), nor a path into another skill's directory (see PATH-05).
|
|
106
|
+
- **Detection:** For each frontmatter variable, check if its value resolves to a file inside the skill (e.g., starts with `./`, `{installed_path}`, or is a bare relative path to a sibling file). If so, it is an intra-skill path variable. Also check if the value is a path into another skill's directory — if so, it violates PATH-05 and is not a legitimate external path.
|
|
107
|
+
- **Fix:** Remove the variable. Use a hardcoded relative path inline where the file is referenced.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
### PATH-01 — Internal References Must Be Relative From Originating File
|
|
112
|
+
|
|
113
|
+
- **Severity:** CRITICAL
|
|
114
|
+
- **Applies to:** all files in the skill
|
|
115
|
+
- **Rule:** Any reference from one file in the skill to another file in the same skill must be a relative path resolved from the directory of the originating file. Use `./` prefix for siblings or children, `../` for parent traversal. Bare relative filenames in markdown links (e.g., `[text](sibling.md)`) are also acceptable.
|
|
116
|
+
- **Detection:** Scan for file path references (in markdown links, frontmatter values, inline backtick paths, and prose instructions like "Read fully and follow"). Verify each internal reference uses relative notation (`./`, `../`, or bare filename). Always resolve the path from the originating file's directory — a reference to `./steps/step-01.md` from a file already inside `steps/` would resolve to `steps/steps/step-01.md`, which is wrong.
|
|
117
|
+
- **Examples:**
|
|
118
|
+
- CORRECT: `./steps/step-01-init.md` (from workflow.md at skill root to a step)
|
|
119
|
+
- CORRECT: `./template.md` (from workflow.md to a sibling)
|
|
120
|
+
- CORRECT: `../template.md` (from steps/step-01.md to a skill-root file)
|
|
121
|
+
- CORRECT: `workflow.md` (bare relative filename for sibling)
|
|
122
|
+
- CORRECT: `./step-02-plan.md` (from steps/step-01.md to a sibling step)
|
|
123
|
+
- WRONG: `./steps/step-02-plan.md` (from a file already inside steps/ — resolves to steps/steps/)
|
|
124
|
+
- WRONG: `{installed_path}/template.md`
|
|
125
|
+
- WRONG: `{project-root}/.claude/skills/my-skill/template.md`
|
|
126
|
+
- WRONG: `/Users/someone/.claude/skills/my-skill/steps/step-01.md`
|
|
127
|
+
- WRONG: `~/.claude/skills/my-skill/file.md`
|
|
128
|
+
|
|
129
|
+
### PATH-02 — No `installed_path` Variable
|
|
130
|
+
|
|
131
|
+
- **Severity:** HIGH
|
|
132
|
+
- **Applies to:** all files in the skill
|
|
133
|
+
- **Rule:** The `installed_path` variable is an anti-pattern from the pre-skill workflow era. It must not be defined in any frontmatter, and `{installed_path}` must not appear anywhere in any file.
|
|
134
|
+
- **Detection:** Search all files for:
|
|
135
|
+
- Frontmatter key `installed_path:`
|
|
136
|
+
- String `{installed_path}` anywhere in content
|
|
137
|
+
- Markdown/prose assigning `installed_path` (e.g., `` `installed_path` = `.` ``)
|
|
138
|
+
- **Fix:** Remove all `installed_path` definitions. Replace every `{installed_path}/path` with `./path` (relative from the file that contains the reference). If the reference is in a step file and points to a skill-root file, use `../path` instead.
|
|
139
|
+
|
|
140
|
+
### PATH-03 — External References Must Use `{project-root}` or Config Variables
|
|
141
|
+
|
|
142
|
+
- **Severity:** HIGH
|
|
143
|
+
- **Applies to:** all files in the skill
|
|
144
|
+
- **Rule:** References to files outside the skill directory must use `{project-root}/...` or a config-derived variable path (e.g., `{planning_artifacts}/...`, `{implementation_artifacts}/...`).
|
|
145
|
+
- **Detection:** Identify file references that point outside the skill. Verify they start with `{project-root}` or a known config variable. Flag absolute paths, home-relative paths (`~/`), or bare paths that resolve outside the skill.
|
|
146
|
+
- **Fix:** Replace with `{project-root}/...` or the appropriate config variable.
|
|
147
|
+
|
|
148
|
+
### PATH-05 — No File Path References Into Another Skill
|
|
149
|
+
|
|
150
|
+
- **Severity:** HIGH
|
|
151
|
+
- **Applies to:** all files in the skill
|
|
152
|
+
- **Rule:** A skill must never reference any file inside another skill's directory by file path. Skill directories are encapsulated — their internal files (steps, templates, checklists, data files, workflow.md) are private implementation details. The only valid way to reference another skill is via `skill:skill-name` syntax, which invokes the skill as a unit. Reaching into another skill to cherry-pick an internal file (e.g., a template, a step, or even its workflow.md) breaks encapsulation and creates fragile coupling that breaks when the target skill is moved or reorganized.
|
|
153
|
+
- **Detection:** For each external file reference (frontmatter values, markdown links, inline paths), check whether the resolved path points into a directory that is or contains a skill (has a `SKILL.md`). Patterns to flag:
|
|
154
|
+
- `{project-root}/_bmad/.../other-skill/anything.md`
|
|
155
|
+
- `{project-root}/_bmad/.../other-skill/steps/...`
|
|
156
|
+
- `{project-root}/_bmad/.../other-skill/templates/...`
|
|
157
|
+
- References to old pre-conversion locations that were skill directories (e.g., `core/workflows/skill-name/` when the skill has since moved to `core/skills/skill-name/`)
|
|
158
|
+
- **Fix:**
|
|
159
|
+
- If the intent is to invoke the other skill: replace with `skill:skill-name`.
|
|
160
|
+
- If the intent is to use a shared resource (template, data file): the resource should be extracted to a shared location outside both skills (e.g., `core/data/`, `bmm/data/`, or a config-referenced path) — not reached into from across skill boundaries.
|
|
161
|
+
|
|
162
|
+
### PATH-04 — No Intra-Skill Path Variables
|
|
163
|
+
|
|
164
|
+
- **Severity:** MEDIUM
|
|
165
|
+
- **Applies to:** all files (frontmatter AND body content)
|
|
166
|
+
- **Rule:** Variables must not store paths to files within the same skill. These paths should be hardcoded as relative paths inline where used. This applies to YAML frontmatter variables AND markdown body variable assignments (e.g., `` `template` = `./template.md` `` under a `### Paths` section).
|
|
167
|
+
- **Detection:** For each variable with a path-like value — whether defined in frontmatter or in body text — determine if the target is inside the skill directory. Indicators: value starts with `./`, `../`, `{installed_path}`, or is a bare filename of a file that exists in the skill. Exclude variables whose values are prefixed with a config variable like `{planning_artifacts}`, `{implementation_artifacts}`, `{project-root}`, or other config-derived paths — these are external references and are legitimate.
|
|
168
|
+
- **Fix:** Remove the variable. Replace each `{variable_name}` usage with the direct relative path.
|
|
169
|
+
- **Exception:** If a path variable is used in 4+ locations across multiple files and the path is non-trivial, a variable MAY be acceptable. Flag it as LOW instead and note the exception.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### STEP-01 — Step File Naming
|
|
174
|
+
|
|
175
|
+
- **Severity:** MEDIUM
|
|
176
|
+
- **Applies to:** files in `steps/` directory
|
|
177
|
+
- **Rule:** Step files must be named `step-NN-description.md` where NN is a zero-padded two-digit number. An optional single-letter variant suffix is allowed for branching steps (e.g., `step-01b-continue.md`).
|
|
178
|
+
- **Detection:** Regex: `^step-\d{2}[a-z]?-[a-z0-9-]+\.md$`
|
|
179
|
+
- **Fix:** Rename to match the pattern.
|
|
180
|
+
|
|
181
|
+
### STEP-02 — Step Must Have a Goal Section
|
|
182
|
+
|
|
183
|
+
- **Severity:** HIGH
|
|
184
|
+
- **Applies to:** step files
|
|
185
|
+
- **Rule:** Each step must clearly state its goal. Look for a heading like `## YOUR TASK`, `## STEP GOAL`, `## INSTRUCTIONS`, `## INITIALIZATION`, `## EXECUTION`, `# Step N:`, or a frontmatter `goal:` field.
|
|
186
|
+
- **Detection:** Scan for goal-indicating headings (including `# Step N: Title` as a top-level heading that names the step's purpose) or frontmatter.
|
|
187
|
+
- **Fix:** Add a clear goal section.
|
|
188
|
+
|
|
189
|
+
### STEP-03 — Step Must Reference Next Step
|
|
190
|
+
|
|
191
|
+
- **Severity:** MEDIUM
|
|
192
|
+
- **Applies to:** step files (except the final step)
|
|
193
|
+
- **Rule:** Each non-terminal step must contain a reference to the next step file for sequential execution.
|
|
194
|
+
- **Detection:** Look for `## NEXT` section or inline reference to a next step file. Remember to resolve the reference from the originating file's directory (PATH-01 applies here too).
|
|
195
|
+
- **Fix:** Add a `## NEXT` section with the relative path to the next step.
|
|
196
|
+
- **Note:** A terminal step is one that has no next-step reference and either contains completion/finalization language or is the highest-numbered step. If a workflow branches, there may be multiple terminal steps.
|
|
197
|
+
|
|
198
|
+
### STEP-04 — Halt Before Menu
|
|
199
|
+
|
|
200
|
+
- **Severity:** HIGH
|
|
201
|
+
- **Applies to:** step files
|
|
202
|
+
- **Rule:** Any step that presents a user menu (e.g., `[C] Continue`, `[A] Approve`, `[S] Split`) must explicitly HALT and wait for user response before proceeding.
|
|
203
|
+
- **Detection:** Find menu patterns (bracketed letter options). Check that text within the same section (under the same heading) includes "HALT", "wait", "stop", "FORBIDDEN to proceed", or equivalent.
|
|
204
|
+
- **Fix:** Add an explicit HALT instruction before or after the menu.
|
|
205
|
+
|
|
206
|
+
### STEP-05 — No Forward Loading
|
|
207
|
+
|
|
208
|
+
- **Severity:** HIGH
|
|
209
|
+
- **Applies to:** step files
|
|
210
|
+
- **Rule:** A step must not load or read future step files until the current step is complete. Just-in-time loading only.
|
|
211
|
+
- **Detection:** Look for instructions to read multiple step files simultaneously, or unconditional references to step files with higher numbers than the current step. Exempt locations: `## NEXT` sections, navigation/dispatch sections that list valid resumption targets, and conditional routing branches.
|
|
212
|
+
- **Fix:** Remove premature step loading. Ensure only the current step is active.
|
|
213
|
+
|
|
214
|
+
### STEP-06 — Step File Frontmatter: No `name` or `description`
|
|
215
|
+
|
|
216
|
+
- **Severity:** MEDIUM
|
|
217
|
+
- **Applies to:** step files
|
|
218
|
+
- **Rule:** Step files should not have `name:` or `description:` in their YAML frontmatter. These are metadata noise — the step's purpose is conveyed by its goal section and filename.
|
|
219
|
+
- **Detection:** Parse step file frontmatter for `name:` or `description:` keys.
|
|
220
|
+
- **Fix:** Remove `name:` and `description:` from step file frontmatter.
|
|
221
|
+
|
|
222
|
+
### STEP-07 — Step Count
|
|
223
|
+
|
|
224
|
+
- **Severity:** LOW
|
|
225
|
+
- **Applies to:** workflow as a whole
|
|
226
|
+
- **Rule:** A sharded workflow should have between 2 and 10 step files. More than 10 risks LLM context degradation.
|
|
227
|
+
- **Detection:** Count files matching `step-*.md` in the `steps/` directory.
|
|
228
|
+
- **Fix:** Consider consolidating steps if over 10.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
### SEQ-01 — No Skip Instructions
|
|
233
|
+
|
|
234
|
+
- **Severity:** HIGH
|
|
235
|
+
- **Applies to:** all files
|
|
236
|
+
- **Rule:** No file should instruct the agent to skip steps or optimize step order. Sequential execution is mandatory.
|
|
237
|
+
- **Detection:** Scan for phrases like "skip to step", "jump to step", "skip ahead", "optimize the order", "you may skip". Exclude negation context (e.g., "do NOT skip steps", "NEVER skip") — these are enforcement instructions, not skip instructions.
|
|
238
|
+
- **Exception:** Conditional routing (e.g., "if X, go to step N; otherwise step M") is valid workflow branching, not skipping.
|
|
239
|
+
|
|
240
|
+
### SEQ-02 — No Time Estimates
|
|
241
|
+
|
|
242
|
+
- **Severity:** LOW
|
|
243
|
+
- **Applies to:** all files
|
|
244
|
+
- **Rule:** Workflow files should not include time estimates. AI execution speed varies too much for estimates to be meaningful.
|
|
245
|
+
- **Detection:** Scan for patterns like "takes X minutes", "~N min", "estimated time", "ETA".
|
|
246
|
+
- **Fix:** Remove time estimates.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
### REF-01 — Variable References Must Be Defined
|
|
251
|
+
|
|
252
|
+
- **Severity:** HIGH
|
|
253
|
+
- **Applies to:** all files
|
|
254
|
+
- **Rule:** Every `{variable_name}` reference in any file (body text, frontmatter values, inline instructions) must resolve to a defined source. Valid sources are:
|
|
255
|
+
1. A frontmatter variable in the same file
|
|
256
|
+
2. A frontmatter variable in the skill's `workflow.md` (workflow-level variables are available to all steps)
|
|
257
|
+
3. A known config variable from the project config (e.g., `project-root`, `planning_artifacts`, `implementation_artifacts`, `communication_language`)
|
|
258
|
+
4. A known runtime variable set during execution (e.g., `date`, `status`, `project_name`, user-provided input variables)
|
|
259
|
+
- **Detection:** Collect all `{...}` tokens in the file. For each, check whether it is defined in the file's own frontmatter, in `workflow.md` frontmatter, or is a recognized config/runtime variable. Flag any token that cannot be traced to a source. Use the config variable list from the project's `config.yaml` as the reference for recognized config variables. Runtime variables are those explicitly described as user-provided or set during execution in the workflow instructions.
|
|
260
|
+
- **Exceptions:**
|
|
261
|
+
- Double-curly `{{variable}}` — these are template placeholders intended to survive into generated output (e.g., `{{project_name}}` in a template file). Do not flag these.
|
|
262
|
+
- Variables inside fenced code blocks that are clearly illustrative examples.
|
|
263
|
+
- **Fix:** Either define the variable in the appropriate frontmatter, or replace the reference with a literal value. If the variable is a config variable that was misspelled, correct the spelling.
|
|
264
|
+
|
|
265
|
+
### REF-02 — File References Must Resolve
|
|
266
|
+
|
|
267
|
+
- **Severity:** HIGH
|
|
268
|
+
- **Applies to:** all files
|
|
269
|
+
- **Rule:** All file path references within the skill (markdown links, backtick paths, frontmatter values) should point to files that plausibly exist.
|
|
270
|
+
- **Detection:** For internal references, verify the target file exists in the skill directory. For external references using config variables, verify the path structure is plausible (you cannot resolve config variables, but you can check that the path after the variable looks reasonable — e.g., `{planning_artifacts}/*.md` is plausible, `{planning_artifacts}/../../etc/passwd` is not).
|
|
271
|
+
- **Fix:** Correct the path or remove the dead reference.
|
|
272
|
+
|
|
273
|
+
### REF-03 — Skill Invocation Must Use "Invoke" Language
|
|
274
|
+
|
|
275
|
+
- **Severity:** HIGH
|
|
276
|
+
- **Applies to:** all files
|
|
277
|
+
- **Rule:** When a skill references another skill by name, the surrounding instruction must use the word "invoke". The canonical form is `Invoke the \`skill-name\` skill`. Phrases like "Read fully and follow", "Execute", "Run", "Load", "Open", or "Follow" are invalid — they imply file-level operations on a document, not skill invocation. A skill is a unit that is invoked, not a file that is read.
|
|
278
|
+
- **Detection:** Find all references to other skills by name (typically backtick-quoted skill names like \`bmad-foo\`). Check the surrounding instruction text (same sentence or directive) for file-oriented verbs: "read", "follow", "load", "execute", "run", "open". Flag any that do not use "invoke" (or a close synonym like "activate" or "launch").
|
|
279
|
+
- **Fix:** Replace the instruction with `Invoke the \`skill-name\` skill`. Remove any "read fully and follow" or similar file-oriented phrasing. Do NOT add a `skill:` prefix to the name — use natural language.
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Report Template
|
|
284
|
+
|
|
285
|
+
When reporting findings, use this format:
|
|
286
|
+
|
|
287
|
+
```markdown
|
|
288
|
+
# Skill Validation Report: {skill-name}
|
|
289
|
+
|
|
290
|
+
**Directory:** {path}
|
|
291
|
+
**Date:** {date}
|
|
292
|
+
**Files scanned:** {count}
|
|
293
|
+
|
|
294
|
+
## Summary
|
|
295
|
+
|
|
296
|
+
| Severity | Count |
|
|
297
|
+
|----------|-------|
|
|
298
|
+
| CRITICAL | N |
|
|
299
|
+
| HIGH | N |
|
|
300
|
+
| MEDIUM | N |
|
|
301
|
+
| LOW | N |
|
|
302
|
+
|
|
303
|
+
## Findings
|
|
304
|
+
|
|
305
|
+
### {RULE-ID} — {Rule Title}
|
|
306
|
+
|
|
307
|
+
- **Severity:** {severity}
|
|
308
|
+
- **File:** `{relative-path-within-skill}`
|
|
309
|
+
- **Line:** {line number or range, if identifiable}
|
|
310
|
+
- **Detail:** {what was found}
|
|
311
|
+
- **Fix:** {specific fix for this instance}
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
(repeat for each finding, grouped by rule ID)
|
|
316
|
+
|
|
317
|
+
## Passed Rules
|
|
318
|
+
|
|
319
|
+
(list rule IDs that produced no findings)
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
If zero findings: report "All {N} rules passed. No findings." and list all passed rule IDs.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
workflow-market-research.md:
|
|
2
|
-
canonicalId: bmad-market-research
|
|
3
|
-
type: workflow
|
|
4
|
-
description: "Conduct market research on competition and customers. Use when the user says 'create a market research report about [business idea]'"
|
|
5
|
-
|
|
6
|
-
workflow-technical-research.md:
|
|
7
|
-
canonicalId: bmad-technical-research
|
|
8
|
-
type: workflow
|
|
9
|
-
description: "Conduct technical research on technologies and architecture. Use when the user says 'create a technical research report on [topic]'"
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
workflow-create-prd.md:
|
|
2
|
-
canonicalId: bmad-create-prd
|
|
3
|
-
type: workflow
|
|
4
|
-
description: "Create a PRD from scratch. Use when the user says 'lets create a product requirements document' or 'I want to create a new PRD'"
|
|
5
|
-
|
|
6
|
-
workflow-edit-prd.md:
|
|
7
|
-
canonicalId: bmad-edit-prd
|
|
8
|
-
type: workflow
|
|
9
|
-
description: "Edit an existing PRD. Use when the user says 'edit this PRD'"
|
|
10
|
-
|
|
11
|
-
workflow-validate-prd.md:
|
|
12
|
-
canonicalId: bmad-validate-prd
|
|
13
|
-
type: workflow
|
|
14
|
-
description: "Validate a PRD against standards. Use when the user says 'validate this PRD' or 'run PRD validation'"
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Senior Developer Review - Validation Checklist
|
|
2
|
-
|
|
3
|
-
- [ ] Story file loaded from `{{story_path}}`
|
|
4
|
-
- [ ] Story Status verified as reviewable (review)
|
|
5
|
-
- [ ] Epic and Story IDs resolved ({{epic_num}}.{{story_num}})
|
|
6
|
-
- [ ] Story Context located or warning recorded
|
|
7
|
-
- [ ] Epic Tech Spec located or warning recorded
|
|
8
|
-
- [ ] Architecture/standards docs loaded (as available)
|
|
9
|
-
- [ ] Tech stack detected and documented
|
|
10
|
-
- [ ] MCP doc search performed (or web fallback) and references captured
|
|
11
|
-
- [ ] Acceptance Criteria cross-checked against implementation
|
|
12
|
-
- [ ] File List reviewed and validated for completeness
|
|
13
|
-
- [ ] Tests identified and mapped to ACs; gaps noted
|
|
14
|
-
- [ ] Code quality review performed on changed files
|
|
15
|
-
- [ ] Security review performed on changed files and dependencies
|
|
16
|
-
- [ ] Outcome decided (Approve/Changes Requested/Blocked)
|
|
17
|
-
- [ ] Review notes appended under "Senior Developer Review (AI)"
|
|
18
|
-
- [ ] Change Log updated with review entry
|
|
19
|
-
- [ ] Status updated according to settings (if enabled)
|
|
20
|
-
- [ ] Sprint status synced (if sprint tracking enabled)
|
|
21
|
-
- [ ] Story saved successfully
|
|
22
|
-
|
|
23
|
-
_Reviewer: {{user_name}} on {{date}}_
|