bmad-method-quarkus 1.0.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/.claude-plugin/marketplace.json +53 -0
- package/AGENTS.md +12 -0
- package/LICENSE +30 -0
- package/README.md +94 -0
- package/README_CN.md +108 -0
- package/README_VN.md +109 -0
- package/bmad-modules.yaml +133 -0
- package/package.json +123 -0
- package/removals.txt +87 -0
- package/src/bmm-skills/agents/bmad-agent-analyst/SKILL.md +76 -0
- package/src/bmm-skills/agents/bmad-agent-analyst/customize.toml +105 -0
- package/src/bmm-skills/agents/bmad-agent-architect/SKILL.md +76 -0
- package/src/bmm-skills/agents/bmad-agent-architect/customize.toml +65 -0
- package/src/bmm-skills/agents/bmad-agent-dev/SKILL.md +76 -0
- package/src/bmm-skills/agents/bmad-agent-dev/customize.toml +83 -0
- package/src/bmm-skills/agents/bmad-agent-pm/SKILL.md +76 -0
- package/src/bmm-skills/agents/bmad-agent-pm/customize.toml +75 -0
- package/src/bmm-skills/agents/bmad-agent-ux-designer/SKILL.md +76 -0
- package/src/bmm-skills/agents/bmad-agent-ux-designer/customize.toml +60 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/.memlog.md +12 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/.memlog.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/SKILL.md +86 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/SKILL.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/customize.toml +37 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/customize.toml:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/references/enrich-stories.md +19 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/references/enrich-stories.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/references/prompt-quality-canon.md +79 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/references/prompt-quality-canon.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/SKILL.md +80 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/SKILL.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/assets/module-help.csv +9 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/assets/module-help.csv:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/assets/module.yaml +16 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/assets/module.yaml:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/scripts/cleanup-legacy.py +287 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/scripts/cleanup-legacy.py:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/scripts/merge-config.py +441 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/scripts/merge-config.py:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/scripts/merge-help-csv.py +246 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/bqa-setup/scripts/merge-help-csv.py:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-error-handling-i18n/SKILL.md +181 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-error-handling-i18n/SKILL.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-grpc-services/SKILL.md +141 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-grpc-services/SKILL.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-hexagonal-core/SKILL.md +392 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-hexagonal-core/SKILL.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-kafka-messaging/SKILL.md +148 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-kafka-messaging/SKILL.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-observability-otel/SKILL.md +180 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-observability-otel/SKILL.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-openapi-tmforum/SKILL.md +128 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-openapi-tmforum/SKILL.md:Zone.Identifier +0 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-sql-jdbc-agroal/SKILL.md +245 -0
- package/src/bmm-skills/agents/bmad-quarkus-architect/skills/quarkus-sql-jdbc-agroal/SKILL.md:Zone.Identifier +0 -0
- package/src/bmm-skills/module-help.csv +19 -0
- package/src/bmm-skills/module.yaml +92 -0
- package/src/bmm-skills/plan/bmad-architecture/SKILL.md +85 -0
- package/src/bmm-skills/plan/bmad-architecture/assets/spine-template.md +79 -0
- package/src/bmm-skills/plan/bmad-architecture/customize.toml +102 -0
- package/src/bmm-skills/plan/bmad-architecture/references/headless.md +26 -0
- package/src/bmm-skills/plan/bmad-architecture/references/reviewer-gate.md +13 -0
- package/src/bmm-skills/plan/bmad-architecture/scripts/lint_spine.py +257 -0
- package/src/bmm-skills/plan/bmad-architecture/scripts/tests/test_lint_spine.py +270 -0
- package/src/bmm-skills/plan/bmad-create-epics-and-stories/SKILL.md +93 -0
- package/src/bmm-skills/plan/bmad-create-epics-and-stories/customize.toml +41 -0
- package/src/bmm-skills/plan/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +263 -0
- package/src/bmm-skills/plan/bmad-create-epics-and-stories/steps/step-02-design-epics.md +242 -0
- package/src/bmm-skills/plan/bmad-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
- package/src/bmm-skills/plan/bmad-create-epics-and-stories/steps/step-04-final-validation.md +143 -0
- package/src/bmm-skills/plan/bmad-create-epics-and-stories/templates/epics-template.md +61 -0
- package/src/bmm-skills/plan/bmad-generate-project-context/SKILL.md +10 -0
- package/src/bmm-skills/plan/bmad-prd/SKILL.md +94 -0
- package/src/bmm-skills/plan/bmad-prd/assets/headless-schemas.md +76 -0
- package/src/bmm-skills/plan/bmad-prd/assets/prd-template.md +165 -0
- package/src/bmm-skills/plan/bmad-prd/assets/prd-validation-checklist.md +135 -0
- package/src/bmm-skills/plan/bmad-prd/assets/validation-report-template.html +325 -0
- package/src/bmm-skills/plan/bmad-prd/customize.toml +149 -0
- package/src/bmm-skills/plan/bmad-prd/references/headless.md +39 -0
- package/src/bmm-skills/plan/bmad-prd/references/validate.md +97 -0
- package/src/bmm-skills/plan/bmad-prfaq/SKILL.md +135 -0
- package/src/bmm-skills/plan/bmad-prfaq/agents/artifact-analyzer.md +60 -0
- package/src/bmm-skills/plan/bmad-prfaq/agents/web-researcher.md +49 -0
- package/src/bmm-skills/plan/bmad-prfaq/assets/prfaq-template.md +62 -0
- package/src/bmm-skills/plan/bmad-prfaq/bmad-manifest.json +16 -0
- package/src/bmm-skills/plan/bmad-prfaq/customize.toml +41 -0
- package/src/bmm-skills/plan/bmad-prfaq/references/customer-faq.md +55 -0
- package/src/bmm-skills/plan/bmad-prfaq/references/internal-faq.md +51 -0
- package/src/bmm-skills/plan/bmad-prfaq/references/press-release.md +60 -0
- package/src/bmm-skills/plan/bmad-prfaq/references/verdict.md +83 -0
- package/src/bmm-skills/plan/bmad-product-brief/SKILL.md +91 -0
- package/src/bmm-skills/plan/bmad-product-brief/assets/brief-template.md +41 -0
- package/src/bmm-skills/plan/bmad-product-brief/customize.toml +101 -0
- package/src/bmm-skills/plan/bmad-project-context/SKILL.md +110 -0
- package/src/bmm-skills/plan/bmad-project-context/customize.toml +24 -0
- package/src/bmm-skills/plan/bmad-project-context/references/best-practices.md +65 -0
- package/src/bmm-skills/plan/bmad-project-context/references/template.md +55 -0
- package/src/bmm-skills/plan/bmad-spec/SKILL.md +160 -0
- package/src/bmm-skills/plan/bmad-spec/assets/headless-schemas.md +33 -0
- package/src/bmm-skills/plan/bmad-spec/assets/spec-template.md +49 -0
- package/src/bmm-skills/plan/bmad-spec/assets/stories-schema.md +44 -0
- package/src/bmm-skills/plan/bmad-spec/customize.toml +52 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/SKILL.md +62 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/customize.toml +41 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/references/fix-sprint-status.md +30 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/references/generate-tracking.md +25 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/references/readiness-gate.md +20 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/references/status-view.md +14 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/references/validate.md +10 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/scripts/__pycache__/sprint_plan.cpython-311.pyc +0 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/scripts/sprint_plan.py +697 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/scripts/tests/__pycache__/test_sprint_plan.cpython-311-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/scripts/tests/test_sprint_plan.py +524 -0
- package/src/bmm-skills/plan/bmad-sprint-planning/sprint-status-template.yaml +71 -0
- package/src/bmm-skills/plan/bmad-ux/SKILL.md +90 -0
- package/src/bmm-skills/plan/bmad-ux/assets/color-themes.md +9 -0
- package/src/bmm-skills/plan/bmad-ux/assets/design-directions.md +9 -0
- package/src/bmm-skills/plan/bmad-ux/assets/design-example-editorial.md +158 -0
- package/src/bmm-skills/plan/bmad-ux/assets/design-example-mobile.md +93 -0
- package/src/bmm-skills/plan/bmad-ux/assets/design-example-shadcn.md +109 -0
- package/src/bmm-skills/plan/bmad-ux/assets/excalidraw-wireframe.md +19 -0
- package/src/bmm-skills/plan/bmad-ux/assets/experience-example-mobile.md +112 -0
- package/src/bmm-skills/plan/bmad-ux/assets/experience-example-shadcn.md +133 -0
- package/src/bmm-skills/plan/bmad-ux/assets/headless-schemas.md +84 -0
- package/src/bmm-skills/plan/bmad-ux/assets/key-screens.md +29 -0
- package/src/bmm-skills/plan/bmad-ux/assets/validation-report-template.html +319 -0
- package/src/bmm-skills/plan/bmad-ux/customize.toml +102 -0
- package/src/bmm-skills/plan/bmad-ux/references/creative-tools.md +19 -0
- package/src/bmm-skills/plan/bmad-ux/references/design-md-spec.md +50 -0
- package/src/bmm-skills/plan/bmad-ux/references/headless.md +37 -0
- package/src/bmm-skills/plan/bmad-ux/references/validate.md +115 -0
- package/src/bmm-skills/ship/bmad-build/SKILL.md +13 -0
- package/src/bmm-skills/ship/bmad-build/compile-epic-context.md +62 -0
- package/src/bmm-skills/ship/bmad-build/customize.toml +164 -0
- package/src/bmm-skills/ship/bmad-build/references/deletion-check.md +14 -0
- package/src/bmm-skills/ship/bmad-build/review-prompts/edge-case-hunter.md +88 -0
- package/src/bmm-skills/ship/bmad-build/review-prompts/verification-gap.md +113 -0
- package/src/bmm-skills/ship/bmad-build/spec-template.md +89 -0
- package/src/bmm-skills/ship/bmad-build/step-01-clarify-and-route.md +105 -0
- package/src/bmm-skills/ship/bmad-build/step-02-plan.md +47 -0
- package/src/bmm-skills/ship/bmad-build/step-03-implement.md +49 -0
- package/src/bmm-skills/ship/bmad-build/step-04-review.md +55 -0
- package/src/bmm-skills/ship/bmad-build/step-05-present.md +75 -0
- package/src/bmm-skills/ship/bmad-build/step-oneshot.md +77 -0
- package/src/bmm-skills/ship/bmad-build/sync-sprint-status.md +19 -0
- package/src/bmm-skills/ship/bmad-build/workflow.md +84 -0
- package/src/bmm-skills/ship/bmad-build-auto/SKILL.md +13 -0
- package/src/bmm-skills/ship/bmad-build-auto/compile-epic-context.md +62 -0
- package/src/bmm-skills/ship/bmad-build-auto/customize.toml +121 -0
- package/src/bmm-skills/ship/bmad-build-auto/references/deletion-check.md +14 -0
- package/src/bmm-skills/ship/bmad-build-auto/review-prompts/edge-case-hunter.md +88 -0
- package/src/bmm-skills/ship/bmad-build-auto/review-prompts/verification-gap.md +113 -0
- package/src/bmm-skills/ship/bmad-build-auto/spec-template.md +99 -0
- package/src/bmm-skills/ship/bmad-build-auto/step-01-clarify-and-route.md +83 -0
- package/src/bmm-skills/ship/bmad-build-auto/step-02-plan.md +27 -0
- package/src/bmm-skills/ship/bmad-build-auto/step-03-implement.md +44 -0
- package/src/bmm-skills/ship/bmad-build-auto/step-04-review.md +96 -0
- package/src/bmm-skills/ship/bmad-build-auto/workflow.md +104 -0
- package/src/bmm-skills/ship/bmad-checkpoint-preview/SKILL.md +68 -0
- package/src/bmm-skills/ship/bmad-checkpoint-preview/customize.toml +41 -0
- package/src/bmm-skills/ship/bmad-checkpoint-preview/generate-trail.md +38 -0
- package/src/bmm-skills/ship/bmad-checkpoint-preview/step-01-orientation.md +105 -0
- package/src/bmm-skills/ship/bmad-checkpoint-preview/step-02-walkthrough.md +89 -0
- package/src/bmm-skills/ship/bmad-checkpoint-preview/step-03-detail-pass.md +106 -0
- package/src/bmm-skills/ship/bmad-checkpoint-preview/step-04-testing.md +74 -0
- package/src/bmm-skills/ship/bmad-checkpoint-preview/step-05-wrapup.md +30 -0
- package/src/bmm-skills/ship/bmad-code-review/SKILL.md +90 -0
- package/src/bmm-skills/ship/bmad-code-review/customize.toml +113 -0
- package/src/bmm-skills/ship/bmad-code-review/references/deletion-check.md +14 -0
- package/src/bmm-skills/ship/bmad-code-review/review-prompts/edge-case-hunter.md +88 -0
- package/src/bmm-skills/ship/bmad-code-review/review-prompts/verification-gap.md +113 -0
- package/src/bmm-skills/ship/bmad-code-review/steps/step-01-gather-context.md +87 -0
- package/src/bmm-skills/ship/bmad-code-review/steps/step-02-review.md +32 -0
- package/src/bmm-skills/ship/bmad-code-review/steps/step-03-triage.md +50 -0
- package/src/bmm-skills/ship/bmad-code-review/steps/step-04-present.md +132 -0
- package/src/bmm-skills/ship/bmad-correct-course/SKILL.md +300 -0
- package/src/bmm-skills/ship/bmad-correct-course/checklist.md +288 -0
- package/src/bmm-skills/ship/bmad-correct-course/customize.toml +41 -0
- package/src/bmm-skills/ship/bmad-qa-generate-e2e-tests/SKILL.md +176 -0
- package/src/bmm-skills/ship/bmad-qa-generate-e2e-tests/checklist.md +33 -0
- package/src/bmm-skills/ship/bmad-qa-generate-e2e-tests/customize.toml +41 -0
- package/src/bmm-skills/ship/bmad-retrospective/SKILL.md +94 -0
- package/src/bmm-skills/ship/bmad-retrospective/customize.toml +41 -0
- package/src/bmm-skills/ship/bmad-retrospective/references/acceptance-verdict.md +55 -0
- package/src/bmm-skills/ship/bmad-retrospective/references/aggregate-views.md +17 -0
- package/src/bmm-skills/ship/bmad-retrospective/references/evidence-gathering.md +30 -0
- package/src/bmm-skills/ship/bmad-retrospective/references/retro-document.md +84 -0
- package/src/bmm-skills/ship/bmad-retrospective/references/team-discussion.md +22 -0
- package/src/bmm-skills/ship/bmad-retrospective/scripts/__pycache__/sprint_status.cpython-311.pyc +0 -0
- package/src/bmm-skills/ship/bmad-retrospective/scripts/git_evidence.py +304 -0
- package/src/bmm-skills/ship/bmad-retrospective/scripts/sprint_status.py +746 -0
- package/src/bmm-skills/ship/bmad-retrospective/scripts/tests/__pycache__/test_git_evidence.cpython-311-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/ship/bmad-retrospective/scripts/tests/__pycache__/test_sprint_status.cpython-311-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/ship/bmad-retrospective/scripts/tests/fixtures/sprint-status-template.yaml +71 -0
- package/src/bmm-skills/ship/bmad-retrospective/scripts/tests/test_git_evidence.py +750 -0
- package/src/bmm-skills/ship/bmad-retrospective/scripts/tests/test_sprint_status.py +1579 -0
- package/src/bmm-skills/v6-shims/README.md +28 -0
- package/src/bmm-skills/v6-shims/bmad-create-architecture/SKILL.md +30 -0
- package/src/bmm-skills/v6-shims/bmad-create-architecture/customize.toml +41 -0
- package/src/bmm-skills/v6-shims/bmad-create-prd/SKILL.md +30 -0
- package/src/bmm-skills/v6-shims/bmad-create-prd/customize.toml +41 -0
- package/src/bmm-skills/v6-shims/bmad-create-story/SKILL.md +434 -0
- package/src/bmm-skills/v6-shims/bmad-create-story/checklist.md +357 -0
- package/src/bmm-skills/v6-shims/bmad-create-story/customize.toml +41 -0
- package/src/bmm-skills/v6-shims/bmad-create-story/discover-inputs.md +88 -0
- package/src/bmm-skills/v6-shims/bmad-create-story/template.md +49 -0
- package/src/bmm-skills/v6-shims/bmad-dev-auto/SKILL.md +19 -0
- package/src/bmm-skills/v6-shims/bmad-dev-story/SKILL.md +502 -0
- package/src/bmm-skills/v6-shims/bmad-dev-story/checklist.md +80 -0
- package/src/bmm-skills/v6-shims/bmad-dev-story/customize.toml +44 -0
- package/src/bmm-skills/v6-shims/bmad-document-project/SKILL.md +14 -0
- package/src/bmm-skills/v6-shims/bmad-domain-research/SKILL.md +14 -0
- package/src/bmm-skills/v6-shims/bmad-edit-prd/SKILL.md +30 -0
- package/src/bmm-skills/v6-shims/bmad-edit-prd/customize.toml +42 -0
- package/src/bmm-skills/v6-shims/bmad-market-research/SKILL.md +14 -0
- package/src/bmm-skills/v6-shims/bmad-quick-dev/SKILL.md +19 -0
- package/src/bmm-skills/v6-shims/bmad-sprint-status/SKILL.md +26 -0
- package/src/bmm-skills/v6-shims/bmad-sprint-status/customize.toml +41 -0
- package/src/bmm-skills/v6-shims/bmad-technical-research/SKILL.md +14 -0
- package/src/bmm-skills/v6-shims/bmad-validate-prd/SKILL.md +30 -0
- package/src/bmm-skills/v6-shims/bmad-validate-prd/customize.toml +42 -0
- package/src/core-skills/bmad-advanced-elicitation/SKILL.md +65 -0
- package/src/core-skills/bmad-advanced-elicitation/assets/methods.csv +72 -0
- package/src/core-skills/bmad-advanced-elicitation/customize.toml +54 -0
- package/src/core-skills/bmad-advanced-elicitation/scripts/pick_methods.py +233 -0
- package/src/core-skills/bmad-advanced-elicitation/scripts/tests/test_pick_methods.py +228 -0
- package/src/core-skills/bmad-brainstorming/SKILL.md +80 -0
- package/src/core-skills/bmad-brainstorming/assets/brain-icons.json +166 -0
- package/src/core-skills/bmad-brainstorming/assets/brain-methods.csv +109 -0
- package/src/core-skills/bmad-brainstorming/assets/brain-selector.html +328 -0
- package/src/core-skills/bmad-brainstorming/customize.toml +84 -0
- package/src/core-skills/bmad-brainstorming/references/converge.md +24 -0
- package/src/core-skills/bmad-brainstorming/references/finalize.md +26 -0
- package/src/core-skills/bmad-brainstorming/references/headless.md +54 -0
- package/src/core-skills/bmad-brainstorming/references/in-chat-techniques.md +18 -0
- package/src/core-skills/bmad-brainstorming/references/mode-autonomous.md +10 -0
- package/src/core-skills/bmad-brainstorming/references/mode-facilitator.md +11 -0
- package/src/core-skills/bmad-brainstorming/references/mode-partner.md +16 -0
- package/src/core-skills/bmad-brainstorming/references/resume.md +5 -0
- package/src/core-skills/bmad-brainstorming/scripts/brain.py +770 -0
- package/src/core-skills/bmad-brainstorming/scripts/tests/test_brain.py +239 -0
- package/src/core-skills/bmad-customize/SKILL.md +111 -0
- package/src/core-skills/bmad-customize/scripts/list_customizable_skills.py +231 -0
- package/src/core-skills/bmad-customize/scripts/tests/test_list_customizable_skills.py +249 -0
- package/src/core-skills/bmad-deep-recon/SKILL.md +82 -0
- package/src/core-skills/bmad-deep-recon/assets/research.template.md +18 -0
- package/src/core-skills/bmad-deep-recon/customize.toml +212 -0
- package/src/core-skills/bmad-deep-recon/references/draft.md +8 -0
- package/src/core-skills/bmad-deep-recon/references/finalize.md +11 -0
- package/src/core-skills/bmad-deep-recon/references/html-briefing.md +16 -0
- package/src/core-skills/bmad-deep-recon/references/lifecycle.md +11 -0
- package/src/core-skills/bmad-deep-recon/references/process.md +10 -0
- package/src/core-skills/bmad-deep-recon/references/run.md +73 -0
- package/src/core-skills/bmad-deep-recon/references/selection.md +13 -0
- package/src/core-skills/bmad-deep-recon/references/synthesis.md +16 -0
- package/src/core-skills/bmad-deep-recon/references/verification.md +29 -0
- package/src/core-skills/bmad-deep-recon/scripts/recon_kit.py +322 -0
- package/src/core-skills/bmad-deep-recon/scripts/tests/test_recon_kit.py +144 -0
- package/src/core-skills/bmad-deep-recon/types/academic-lit.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/competitive.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/domain.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/market.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/technical.md +19 -0
- package/src/core-skills/bmad-deep-recon/types/user-voice.md +19 -0
- package/src/core-skills/bmad-forge-idea/SKILL.md +107 -0
- package/src/core-skills/bmad-forge-idea/customize.toml +42 -0
- package/src/core-skills/bmad-forge-idea/scripts/resolve_personas.py +275 -0
- package/src/core-skills/bmad-forge-idea/scripts/tests/test_resolve_personas.py +138 -0
- package/src/core-skills/bmad-help/SKILL.md +75 -0
- package/src/core-skills/bmad-party-mode/SKILL.md +60 -0
- package/src/core-skills/bmad-party-mode/customize.toml +211 -0
- package/src/core-skills/bmad-party-mode/references/create-party.md +70 -0
- package/src/core-skills/bmad-party-mode/references/mode-agent-team.md +13 -0
- package/src/core-skills/bmad-party-mode/references/mode-auto.md +13 -0
- package/src/core-skills/bmad-party-mode/references/mode-subagent.md +31 -0
- package/src/core-skills/bmad-party-mode/references/party-memory.md +51 -0
- package/src/core-skills/bmad-party-mode/scripts/resolve_party.py +282 -0
- package/src/core-skills/bmad-party-mode/scripts/tests/test_resolve_party.py +146 -0
- package/src/core-skills/bmad-review/SKILL.md +49 -0
- package/src/core-skills/bmad-review/customize.toml +141 -0
- package/src/core-skills/bmad-review/references/editorial-common.md +56 -0
- package/src/core-skills/bmad-review/references/lens-adversarial.md +19 -0
- package/src/core-skills/bmad-review/references/lens-edge-case-hunter.md +54 -0
- package/src/core-skills/bmad-review/references/lens-prose.md +7 -0
- package/src/core-skills/bmad-review/references/lens-structure.md +9 -0
- package/src/core-skills/bmad-review/references/lens-verification-gap.md +92 -0
- package/src/core-skills/bmad-review/references/structure-models.md +44 -0
- package/src/core-skills/bmad-review/scripts/tests/test_word_metrics.py +62 -0
- package/src/core-skills/bmad-review/scripts/word_metrics.py +102 -0
- package/src/core-skills/module-help.csv +10 -0
- package/src/core-skills/module.yaml +38 -0
- package/src/core-skills/v6-shims/README.md +25 -0
- package/src/core-skills/v6-shims/bmad-editorial-review/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-editorial-review/customize.toml +31 -0
- package/src/core-skills/v6-shims/bmad-editorial-review-prose/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-editorial-review-structure/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-review-adversarial-general/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-review-edge-case-hunter/SKILL.md +6 -0
- package/src/core-skills/v6-shims/bmad-review-verification-gap/SKILL.md +6 -0
- package/src/scripts/__pycache__/config_utils.cpython-311.pyc +0 -0
- package/src/scripts/config_utils.py +119 -0
- package/src/scripts/memlog.py +224 -0
- package/src/scripts/render_skill.py +401 -0
- package/src/scripts/resolve_config.py +74 -0
- package/src/scripts/resolve_customization.py +99 -0
- package/src/scripts/tests/__pycache__/test_config_utils.cpython-311.pyc +0 -0
- package/src/scripts/tests/__pycache__/test_resolve_config.cpython-311.pyc +0 -0
- package/src/scripts/tests/__pycache__/test_resolve_customization.cpython-311.pyc +0 -0
- package/src/scripts/tests/test_config_utils.py +85 -0
- package/src/scripts/tests/test_memlog.py +306 -0
- package/src/scripts/tests/test_resolve_config.py +89 -0
- package/src/scripts/tests/test_resolve_customization.py +77 -0
- package/tools/bundle-web-bundles.js +117 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/installer/README.md +60 -0
- package/tools/installer/bmad-cli.js +105 -0
- package/tools/installer/cli-utils.js +57 -0
- package/tools/installer/commands/install.js +149 -0
- package/tools/installer/commands/status.js +65 -0
- package/tools/installer/commands/uninstall.js +167 -0
- package/tools/installer/core/config.js +73 -0
- package/tools/installer/core/existing-install.js +121 -0
- package/tools/installer/core/install-paths.js +132 -0
- package/tools/installer/core/installer.js +1767 -0
- package/tools/installer/core/legacy-warnings.js +151 -0
- package/tools/installer/core/manifest-generator.js +859 -0
- package/tools/installer/core/manifest.js +433 -0
- package/tools/installer/core/uv-check.js +195 -0
- package/tools/installer/core/wsl-node-check.js +109 -0
- package/tools/installer/file-ops.js +204 -0
- package/tools/installer/fs-native.js +116 -0
- package/tools/installer/ide/_config-driven.js +972 -0
- package/tools/installer/ide/manager.js +324 -0
- package/tools/installer/ide/platform-codes.js +80 -0
- package/tools/installer/ide/platform-codes.yaml +343 -0
- package/tools/installer/ide/shared/installed-skills.js +50 -0
- package/tools/installer/ide/shared/path-utils.js +219 -0
- package/tools/installer/ide/shared/skill-manifest.js +57 -0
- package/tools/installer/install-messages.yaml +37 -0
- package/tools/installer/list-options.js +210 -0
- package/tools/installer/message-loader.js +83 -0
- package/tools/installer/modules/channel-plan.js +203 -0
- package/tools/installer/modules/channel-resolver.js +241 -0
- package/tools/installer/modules/custom-module-manager.js +924 -0
- package/tools/installer/modules/external-manager.js +671 -0
- package/tools/installer/modules/git-env.js +47 -0
- package/tools/installer/modules/module-help-schema.js +13 -0
- package/tools/installer/modules/official-modules.js +2257 -0
- package/tools/installer/modules/plugin-resolver.js +398 -0
- package/tools/installer/modules/version-resolver.js +336 -0
- package/tools/installer/project-root.js +224 -0
- package/tools/installer/prompts.js +791 -0
- package/tools/installer/set-overrides.js +330 -0
- package/tools/installer/ui.js +2167 -0
- package/tools/installer/yaml-format.js +245 -0
- package/tools/javascript-conventions.md +5 -0
- package/tools/migrate-custom-module-paths.js +124 -0
- package/tools/skill-validator.md +378 -0
- package/tools/validate-published-implementation-model.mjs +68 -0
- package/tools/validate-sidebar-order.js +388 -0
- package/tools/validate-skills.js +735 -0
- package/tools/validate-svg-changes.sh +356 -0
- package/web-bundles/README.md +46 -0
- package/web-bundles/brainstorming-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/brainstorming-coach/SKILL.md +83 -0
- package/web-bundles/brainstorming-coach/brain-methods.csv +62 -0
- package/web-bundles/bundles.json +139 -0
- package/web-bundles/market-and-industry-research/INSTRUCTIONS.md +88 -0
- package/web-bundles/market-and-industry-research/SKILL.md +59 -0
- package/web-bundles/prd-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/prd-coach/SKILL.md +101 -0
- package/web-bundles/prd-coach/prd-template.md +165 -0
- package/web-bundles/prd-coach/prd-validation-checklist.md +135 -0
- package/web-bundles/prfaq-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/prfaq-coach/SKILL.md +139 -0
- package/web-bundles/product-brief-coach/INSTRUCTIONS.md +86 -0
- package/web-bundles/product-brief-coach/SKILL.md +113 -0
- package/web-bundles/ux-coach/INSTRUCTIONS.md +92 -0
- package/web-bundles/ux-coach/SKILL.md +187 -0
- package/web-bundles/ux-coach/ux-validation.md +100 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# Step 3: Generate Epics and Stories
|
|
2
|
+
|
|
3
|
+
## STEP GOAL:
|
|
4
|
+
|
|
5
|
+
To generate all epics with their stories based on the approved epics_list, following the template structure exactly.
|
|
6
|
+
|
|
7
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
8
|
+
|
|
9
|
+
### Universal Rules:
|
|
10
|
+
|
|
11
|
+
- 🛑 NEVER generate content without user input
|
|
12
|
+
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
13
|
+
- 🔄 CRITICAL: Process epics sequentially
|
|
14
|
+
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
15
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
16
|
+
|
|
17
|
+
### Role Reinforcement:
|
|
18
|
+
|
|
19
|
+
- ✅ You are a product strategist and technical specifications writer
|
|
20
|
+
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
|
21
|
+
- ✅ We engage in collaborative dialogue, not command-response
|
|
22
|
+
- ✅ You bring story creation and acceptance criteria expertise
|
|
23
|
+
- ✅ User brings their implementation priorities and constraints
|
|
24
|
+
|
|
25
|
+
### Step-Specific Rules:
|
|
26
|
+
|
|
27
|
+
- 🎯 Generate stories for each epic following the template exactly
|
|
28
|
+
- 🚫 FORBIDDEN to deviate from template structure
|
|
29
|
+
- 💬 Each story must have clear acceptance criteria
|
|
30
|
+
- 🚪 ENSURE each story is completable by a single dev agent
|
|
31
|
+
- 🔗 **CRITICAL: Stories MUST NOT depend on future stories within the same epic**
|
|
32
|
+
|
|
33
|
+
## EXECUTION PROTOCOLS:
|
|
34
|
+
|
|
35
|
+
- 🎯 Generate stories collaboratively with user input
|
|
36
|
+
- 💾 Append epics and stories to {planning_artifacts}/epics.md following template
|
|
37
|
+
- 📖 Process epics one at a time in sequence
|
|
38
|
+
- 🚫 FORBIDDEN to skip any epic or rush through stories
|
|
39
|
+
|
|
40
|
+
## STORY GENERATION PROCESS:
|
|
41
|
+
|
|
42
|
+
### 1. Load Approved Epic Structure
|
|
43
|
+
|
|
44
|
+
Load {planning_artifacts}/epics.md and review:
|
|
45
|
+
|
|
46
|
+
- Approved epics_list from Step 2
|
|
47
|
+
- FR coverage map
|
|
48
|
+
- All requirements (FRs, NFRs, additional, **UX Design requirements if present**)
|
|
49
|
+
- Template structure at the end of the document
|
|
50
|
+
|
|
51
|
+
**UX Design Integration**: If UX Design Requirements (UX-DRs) were extracted in Step 1, ensure they are visible during story creation. UX-DRs must be covered by stories — either within existing epics (e.g., accessibility fixes for a feature epic) or in a dedicated "Design System / UX Polish" epic.
|
|
52
|
+
|
|
53
|
+
### 2. Explain Story Creation Approach
|
|
54
|
+
|
|
55
|
+
**STORY CREATION GUIDELINES:**
|
|
56
|
+
|
|
57
|
+
For each epic, create stories that:
|
|
58
|
+
|
|
59
|
+
- Follow the exact template structure
|
|
60
|
+
- Are sized for single dev agent completion
|
|
61
|
+
- Have clear user value
|
|
62
|
+
- Include specific acceptance criteria
|
|
63
|
+
- Reference requirements being fulfilled
|
|
64
|
+
|
|
65
|
+
**🚨 DATABASE/ENTITY CREATION PRINCIPLE:**
|
|
66
|
+
Create tables/entities ONLY when needed by the story:
|
|
67
|
+
|
|
68
|
+
- ❌ WRONG: Epic 1 Story 1 creates all 50 database tables
|
|
69
|
+
- ✅ RIGHT: Each story creates/alters ONLY the tables it needs
|
|
70
|
+
|
|
71
|
+
**🔗 STORY DEPENDENCY PRINCIPLE:**
|
|
72
|
+
Stories must be independently completable in sequence:
|
|
73
|
+
|
|
74
|
+
- ❌ WRONG: Story 1.2 requires Story 1.3 to be completed first
|
|
75
|
+
- ✅ RIGHT: Each story can be completed based only on previous stories
|
|
76
|
+
- ❌ WRONG: "Wait for Story 1.4 to be implemented before this works"
|
|
77
|
+
- ✅ RIGHT: "This story works independently and enables future stories"
|
|
78
|
+
|
|
79
|
+
**STORY FORMAT (from template):**
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
### Story {N}.{M}: {story_title}
|
|
83
|
+
|
|
84
|
+
As a {user_type},
|
|
85
|
+
I want {capability},
|
|
86
|
+
So that {value_benefit}.
|
|
87
|
+
|
|
88
|
+
**Acceptance Criteria:**
|
|
89
|
+
|
|
90
|
+
**Given** {precondition}
|
|
91
|
+
**When** {action}
|
|
92
|
+
**Then** {expected_outcome}
|
|
93
|
+
**And** {additional_criteria}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**✅ GOOD STORY EXAMPLES:**
|
|
97
|
+
|
|
98
|
+
_Epic 1: User Authentication_
|
|
99
|
+
|
|
100
|
+
- Story 1.1: User Registration with Email
|
|
101
|
+
- Story 1.2: User Login with Password
|
|
102
|
+
- Story 1.3: Password Reset via Email
|
|
103
|
+
|
|
104
|
+
_Epic 2: Content Creation_
|
|
105
|
+
|
|
106
|
+
- Story 2.1: Create New Blog Post
|
|
107
|
+
- Story 2.2: Edit Existing Blog Post
|
|
108
|
+
- Story 2.3: Publish Blog Post
|
|
109
|
+
|
|
110
|
+
**❌ BAD STORY EXAMPLES:**
|
|
111
|
+
|
|
112
|
+
- Story: "Set up database" (no user value)
|
|
113
|
+
- Story: "Create all models" (too large, no user value)
|
|
114
|
+
- Story: "Build authentication system" (too large)
|
|
115
|
+
- Story: "Login UI (depends on Story 1.3 API endpoint)" (future dependency!)
|
|
116
|
+
- Story: "Edit post (requires Story 1.4 to be implemented first)" (wrong order!)
|
|
117
|
+
|
|
118
|
+
### 3. Process Epics Sequentially
|
|
119
|
+
|
|
120
|
+
For each epic in the approved epics_list:
|
|
121
|
+
|
|
122
|
+
#### A. Epic Overview
|
|
123
|
+
|
|
124
|
+
Display:
|
|
125
|
+
|
|
126
|
+
- Epic number and title
|
|
127
|
+
- Epic goal statement
|
|
128
|
+
- FRs covered by this epic
|
|
129
|
+
- Any NFRs or additional requirements relevant
|
|
130
|
+
- Any UX Design Requirements (UX-DRs) relevant to this epic
|
|
131
|
+
|
|
132
|
+
#### B. Story Breakdown
|
|
133
|
+
|
|
134
|
+
Work with user to break down the epic into stories:
|
|
135
|
+
|
|
136
|
+
- Identify distinct user capabilities
|
|
137
|
+
- Ensure logical flow within the epic
|
|
138
|
+
- Size stories appropriately
|
|
139
|
+
|
|
140
|
+
#### C. Generate Each Story
|
|
141
|
+
|
|
142
|
+
For each story in the epic:
|
|
143
|
+
|
|
144
|
+
1. **Story Title**: Clear, action-oriented
|
|
145
|
+
2. **User Story**: Complete the As a/I want/So that format
|
|
146
|
+
3. **Acceptance Criteria**: Write specific, testable criteria
|
|
147
|
+
|
|
148
|
+
**AC Writing Guidelines:**
|
|
149
|
+
|
|
150
|
+
- Use Given/When/Then format
|
|
151
|
+
- Each AC should be independently testable
|
|
152
|
+
- Include edge cases and error conditions
|
|
153
|
+
- Reference specific requirements when applicable
|
|
154
|
+
|
|
155
|
+
#### D. Collaborative Review
|
|
156
|
+
|
|
157
|
+
After writing each story:
|
|
158
|
+
|
|
159
|
+
- Present the story to user
|
|
160
|
+
- Ask: "Does this story capture the requirement correctly?"
|
|
161
|
+
- "Is the scope appropriate for a single dev session?"
|
|
162
|
+
- "Are the acceptance criteria complete and testable?"
|
|
163
|
+
|
|
164
|
+
#### E. Append to Document
|
|
165
|
+
|
|
166
|
+
When story is approved:
|
|
167
|
+
|
|
168
|
+
- Append it to {planning_artifacts}/epics.md following template structure
|
|
169
|
+
- Use correct numbering (Epic N, Story M)
|
|
170
|
+
- Maintain proper markdown formatting
|
|
171
|
+
|
|
172
|
+
### 4. Epic Completion
|
|
173
|
+
|
|
174
|
+
After all stories for an epic are complete:
|
|
175
|
+
|
|
176
|
+
- Display epic summary
|
|
177
|
+
- Show count of stories created
|
|
178
|
+
- Verify all FRs for the epic are covered
|
|
179
|
+
- Get user confirmation to proceed to next epic
|
|
180
|
+
|
|
181
|
+
### 5. Repeat for All Epics
|
|
182
|
+
|
|
183
|
+
Continue the process for each epic in the approved list, processing them in order (Epic 1, Epic 2, etc.).
|
|
184
|
+
|
|
185
|
+
### 6. Final Document Completion
|
|
186
|
+
|
|
187
|
+
After all epics and stories are generated:
|
|
188
|
+
|
|
189
|
+
- Verify the document follows template structure exactly
|
|
190
|
+
- Ensure all placeholders are replaced
|
|
191
|
+
- Confirm all FRs are covered
|
|
192
|
+
- **Confirm all UX Design Requirements (UX-DRs) are covered by at least one story** (if UX document was an input)
|
|
193
|
+
- Check formatting consistency
|
|
194
|
+
|
|
195
|
+
## TEMPLATE STRUCTURE COMPLIANCE:
|
|
196
|
+
|
|
197
|
+
The final {planning_artifacts}/epics.md must follow this structure exactly:
|
|
198
|
+
|
|
199
|
+
1. **Overview** section with project name
|
|
200
|
+
2. **Requirements Inventory** with all three subsections populated
|
|
201
|
+
3. **FR Coverage Map** showing requirement to epic mapping
|
|
202
|
+
4. **Epic List** with approved epic structure
|
|
203
|
+
5. **Epic sections** for each epic (N = 1, 2, 3...)
|
|
204
|
+
- Epic title and goal
|
|
205
|
+
- All stories for that epic (M = 1, 2, 3...)
|
|
206
|
+
- Story title and user story
|
|
207
|
+
- Acceptance Criteria using Given/When/Then format
|
|
208
|
+
|
|
209
|
+
### 7. Present FINAL MENU OPTIONS
|
|
210
|
+
|
|
211
|
+
After all epics and stories are complete:
|
|
212
|
+
|
|
213
|
+
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
|
|
214
|
+
|
|
215
|
+
#### Menu Handling Logic:
|
|
216
|
+
|
|
217
|
+
- IF A: Invoke the `bmad-advanced-elicitation` skill
|
|
218
|
+
- IF P: Invoke the `bmad-party-mode` skill
|
|
219
|
+
- IF C: Save content to {planning_artifacts}/epics.md, update frontmatter, then read fully and follow: ./step-04-final-validation.md
|
|
220
|
+
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-final-menu-options)
|
|
221
|
+
|
|
222
|
+
#### EXECUTION RULES:
|
|
223
|
+
|
|
224
|
+
- ALWAYS halt and wait for user input after presenting menu
|
|
225
|
+
- ONLY proceed to next step when user selects 'C'
|
|
226
|
+
- After other menu items execution, return to this menu
|
|
227
|
+
- User can chat or ask questions - always respond and then end with display again of the menu options
|
|
228
|
+
|
|
229
|
+
## CRITICAL STEP COMPLETION NOTE
|
|
230
|
+
|
|
231
|
+
ONLY WHEN [C continue option] is selected and [all epics and stories saved to document following the template structure exactly], will you then read fully and follow: `./step-04-final-validation.md` to begin final validation phase.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
236
|
+
|
|
237
|
+
### ✅ SUCCESS:
|
|
238
|
+
|
|
239
|
+
- All epics processed in sequence
|
|
240
|
+
- Stories created for each epic
|
|
241
|
+
- Template structure followed exactly
|
|
242
|
+
- All FRs covered by stories
|
|
243
|
+
- Stories appropriately sized
|
|
244
|
+
- Acceptance criteria are specific and testable
|
|
245
|
+
- Document is complete and ready for development
|
|
246
|
+
|
|
247
|
+
### ❌ SYSTEM FAILURE:
|
|
248
|
+
|
|
249
|
+
- Deviating from template structure
|
|
250
|
+
- Missing epics or stories
|
|
251
|
+
- Stories too large or unclear
|
|
252
|
+
- Missing acceptance criteria
|
|
253
|
+
- Not following proper formatting
|
|
254
|
+
|
|
255
|
+
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Step 4: Final Validation
|
|
2
|
+
|
|
3
|
+
## STEP GOAL:
|
|
4
|
+
|
|
5
|
+
To validate complete coverage of all requirements and ensure stories are ready for development.
|
|
6
|
+
|
|
7
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
8
|
+
|
|
9
|
+
### Universal Rules:
|
|
10
|
+
|
|
11
|
+
- 🛑 NEVER generate content without user input
|
|
12
|
+
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
13
|
+
- 🔄 CRITICAL: Process validation sequentially without skipping
|
|
14
|
+
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
15
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
16
|
+
|
|
17
|
+
### Role Reinforcement:
|
|
18
|
+
|
|
19
|
+
- ✅ You are a product strategist and technical specifications writer
|
|
20
|
+
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
|
21
|
+
- ✅ We engage in collaborative dialogue, not command-response
|
|
22
|
+
- ✅ You bring validation expertise and quality assurance
|
|
23
|
+
- ✅ User brings their implementation priorities and final review
|
|
24
|
+
|
|
25
|
+
### Step-Specific Rules:
|
|
26
|
+
|
|
27
|
+
- 🎯 Focus ONLY on validating complete requirements coverage
|
|
28
|
+
- 🚫 FORBIDDEN to skip any validation checks
|
|
29
|
+
- 💬 Validate FR coverage, story completeness, and dependencies
|
|
30
|
+
- 🚪 ENSURE all stories are ready for development
|
|
31
|
+
|
|
32
|
+
## EXECUTION PROTOCOLS:
|
|
33
|
+
|
|
34
|
+
- 🎯 Validate every requirement has story coverage
|
|
35
|
+
- 💾 Check story dependencies and flow
|
|
36
|
+
- 📖 Verify architecture compliance
|
|
37
|
+
- 🚫 FORBIDDEN to approve incomplete coverage
|
|
38
|
+
|
|
39
|
+
## CONTEXT BOUNDARIES:
|
|
40
|
+
|
|
41
|
+
- Available context: Complete epic and story breakdown from previous steps
|
|
42
|
+
- Focus: Final validation of requirements coverage and story readiness
|
|
43
|
+
- Limits: Validation only, no new content creation
|
|
44
|
+
- Dependencies: Completed story generation from Step 3
|
|
45
|
+
|
|
46
|
+
## VALIDATION PROCESS:
|
|
47
|
+
|
|
48
|
+
### 1. FR Coverage Validation
|
|
49
|
+
|
|
50
|
+
Review the complete epic and story breakdown to ensure EVERY FR is covered:
|
|
51
|
+
|
|
52
|
+
**CRITICAL CHECK:**
|
|
53
|
+
|
|
54
|
+
- Go through each FR from the Requirements Inventory
|
|
55
|
+
- Verify it appears in at least one story
|
|
56
|
+
- Check that acceptance criteria fully address the FR
|
|
57
|
+
- No FRs should be left uncovered
|
|
58
|
+
|
|
59
|
+
### 2. Architecture Implementation Validation
|
|
60
|
+
|
|
61
|
+
**Check for Starter Template Setup:**
|
|
62
|
+
|
|
63
|
+
- Does Architecture document specify a starter template?
|
|
64
|
+
- If YES: Epic 1 Story 1 must be "Set up initial project from starter template"
|
|
65
|
+
- This includes cloning, installing dependencies, initial configuration
|
|
66
|
+
|
|
67
|
+
**Database/Entity Creation Validation:**
|
|
68
|
+
|
|
69
|
+
- Are database tables/entities created ONLY when needed by stories?
|
|
70
|
+
- ❌ WRONG: Epic 1 creates all tables upfront
|
|
71
|
+
- ✅ RIGHT: Tables created as part of the first story that needs them
|
|
72
|
+
- Each story should create/modify ONLY what it needs
|
|
73
|
+
|
|
74
|
+
### 3. Story Quality Validation
|
|
75
|
+
|
|
76
|
+
**Each story must:**
|
|
77
|
+
|
|
78
|
+
- Be completable by a single dev agent
|
|
79
|
+
- Have clear acceptance criteria
|
|
80
|
+
- Reference specific FRs it implements
|
|
81
|
+
- Include necessary technical details
|
|
82
|
+
- **Not have forward dependencies** (can only depend on PREVIOUS stories)
|
|
83
|
+
- Be implementable without waiting for future stories
|
|
84
|
+
|
|
85
|
+
### 4. Epic Structure Validation
|
|
86
|
+
|
|
87
|
+
**Check that:**
|
|
88
|
+
|
|
89
|
+
- Epics deliver user value, not technical milestones
|
|
90
|
+
- Dependencies flow naturally
|
|
91
|
+
- Foundation stories only setup what's needed
|
|
92
|
+
- No big upfront technical work
|
|
93
|
+
- **File Churn Check:** Do multiple epics repeatedly modify the same core files?
|
|
94
|
+
- Assess whether the overlap pattern suggests unnecessary churn or is incidental
|
|
95
|
+
- If overlap is significant: Validate that splitting provides genuine value (risk mitigation, feedback loops, context size limits)
|
|
96
|
+
- If no justification for the split: Recommend consolidation into fewer epics
|
|
97
|
+
- ❌ WRONG: Multiple epics each modify the same core files with no feedback loop between them
|
|
98
|
+
- ✅ RIGHT: Epics target distinct files/components, OR consolidation was explicitly considered and rejected with rationale
|
|
99
|
+
|
|
100
|
+
### 5. Dependency Validation (CRITICAL)
|
|
101
|
+
|
|
102
|
+
**Epic Independence Check:**
|
|
103
|
+
|
|
104
|
+
- Does each epic deliver COMPLETE functionality for its domain?
|
|
105
|
+
- Can Epic 2 function without Epic 3 being implemented?
|
|
106
|
+
- Can Epic 3 function standalone using Epic 1 & 2 outputs?
|
|
107
|
+
- ❌ WRONG: Epic 2 requires Epic 3 features to work
|
|
108
|
+
- ✅ RIGHT: Each epic is independently valuable
|
|
109
|
+
|
|
110
|
+
**Within-Epic Story Dependency Check:**
|
|
111
|
+
For each epic, review stories in order:
|
|
112
|
+
|
|
113
|
+
- Can Story N.1 be completed without Stories N.2, N.3, etc.?
|
|
114
|
+
- Can Story N.2 be completed using only Story N.1 output?
|
|
115
|
+
- Can Story N.3 be completed using only Stories N.1 & N.2 outputs?
|
|
116
|
+
- ❌ WRONG: "This story depends on a future story"
|
|
117
|
+
- ❌ WRONG: Story references features not yet implemented
|
|
118
|
+
- ✅ RIGHT: Each story builds only on previous stories
|
|
119
|
+
|
|
120
|
+
### 6. Complete and Save
|
|
121
|
+
|
|
122
|
+
If all validations pass:
|
|
123
|
+
|
|
124
|
+
- Update any remaining placeholders in the document
|
|
125
|
+
- Ensure proper formatting
|
|
126
|
+
- Save the final epics.md
|
|
127
|
+
|
|
128
|
+
**Present Final Menu:**
|
|
129
|
+
**All validations complete!** [C] Complete Workflow
|
|
130
|
+
|
|
131
|
+
HALT — wait for user input before proceeding.
|
|
132
|
+
|
|
133
|
+
When C is selected, the workflow is complete and the epics.md is ready for development.
|
|
134
|
+
|
|
135
|
+
Epics and Stories complete. Invoke the `bmad-help` skill.
|
|
136
|
+
|
|
137
|
+
Upon Completion of task output: offer to answer any questions about the Epics and Stories.
|
|
138
|
+
|
|
139
|
+
## On Complete
|
|
140
|
+
|
|
141
|
+
Run: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete`
|
|
142
|
+
|
|
143
|
+
If the resolved `workflow.on_complete` is non-empty, follow it as the final terminal instruction before exiting.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
stepsCompleted: []
|
|
3
|
+
inputDocuments: []
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# {{project_name}} - Epic Breakdown
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This document provides the complete epic and story breakdown for {{project_name}}, decomposing the requirements from the PRD, UX Design if it exists, and Architecture requirements into implementable stories.
|
|
11
|
+
|
|
12
|
+
## Requirements Inventory
|
|
13
|
+
|
|
14
|
+
### Functional Requirements
|
|
15
|
+
|
|
16
|
+
{{fr_list}}
|
|
17
|
+
|
|
18
|
+
### NonFunctional Requirements
|
|
19
|
+
|
|
20
|
+
{{nfr_list}}
|
|
21
|
+
|
|
22
|
+
### Additional Requirements
|
|
23
|
+
|
|
24
|
+
{{additional_requirements}}
|
|
25
|
+
|
|
26
|
+
### UX Design Requirements
|
|
27
|
+
|
|
28
|
+
{{ux_design_requirements}}
|
|
29
|
+
|
|
30
|
+
### FR Coverage Map
|
|
31
|
+
|
|
32
|
+
{{requirements_coverage_map}}
|
|
33
|
+
|
|
34
|
+
## Epic List
|
|
35
|
+
|
|
36
|
+
{{epics_list}}
|
|
37
|
+
|
|
38
|
+
<!-- Repeat for each epic in epics_list (N = 1, 2, 3...) -->
|
|
39
|
+
|
|
40
|
+
## Epic {{N}}: {{epic_title_N}}
|
|
41
|
+
|
|
42
|
+
{{epic_goal_N}}
|
|
43
|
+
|
|
44
|
+
<!-- Repeat for each story (M = 1, 2, 3...) within epic N -->
|
|
45
|
+
|
|
46
|
+
### Story {{N}}.{{M}}: {{story_title_N_M}}
|
|
47
|
+
|
|
48
|
+
As a {{user_type}},
|
|
49
|
+
I want {{capability}},
|
|
50
|
+
So that {{value_benefit}}.
|
|
51
|
+
|
|
52
|
+
**Acceptance Criteria:**
|
|
53
|
+
|
|
54
|
+
<!-- for each AC on this story -->
|
|
55
|
+
|
|
56
|
+
**Given** {{precondition}}
|
|
57
|
+
**When** {{action}}
|
|
58
|
+
**Then** {{expected_outcome}}
|
|
59
|
+
**And** {{additional_criteria}}
|
|
60
|
+
|
|
61
|
+
<!-- End story repeat -->
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-generate-project-context
|
|
3
|
+
description: 'Deprecated — forwards to bmad-project-context. Use when the user says "generate project context" or "create project context"'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DEPRECATED — forwards to bmad-project-context
|
|
7
|
+
|
|
8
|
+
Tell the user: this skill is deprecated — `bmad-project-context` now owns this job. Instead of one generated `project-context.md`, it writes a small verified block inside the repo's `AGENTS.md`, and any existing `project-context.md` is offered up for absorption rather than left orphaned. Invoke `bmad-project-context` next time.
|
|
9
|
+
|
|
10
|
+
Then invoke `bmad-project-context` with **setup** intent, forwarding the user's original request and any inputs they supplied (architecture doc, spec, standards, preferences), verbatim. It takes the workflow from here.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-prd
|
|
3
|
+
description: Create, update, or validate a PRD. Use when the user wants help producing, editing, or validating a PRD.
|
|
4
|
+
---
|
|
5
|
+
# BMad PRD
|
|
6
|
+
|
|
7
|
+
You are a master facilitator and coach helping the user create, edit, or validate a high quality PRD scoped to the level and rigor appropriate to their stated needs. Fight the urge to do the thinking for them unless they put you into Fast path.
|
|
8
|
+
|
|
9
|
+
## Conventions
|
|
10
|
+
|
|
11
|
+
- Bare paths resolve from skill root; `{skill-root}` is this skill's install dir; `{project-root}` is the project working dir.
|
|
12
|
+
- `{workflow.<name>}` resolves to fields in `customize.toml`'s `[workflow]` table (overrides win per BMad merge rules).
|
|
13
|
+
- `{doc_workspace}` is the bound run folder.
|
|
14
|
+
- **File roles.** `.memlog.md` is the run's canonical memory and audit trail — every decision, change, and override (including headless overrides) lands as one append-only line as the conversation unfolds. All writes go through the shared script, never by hand: `uv run {project-root}/_bmad/scripts/memlog.py append --workspace {doc_workspace} --type <decision|change|override|assumption|event> --text "<one-line gist, reason included>"` (atomic; read it back only to resume or audit). The PRD is distilled toward it; whatever isn't logged is lost on resume. `addendum.md` preserves user-contributed depth that belongs in a downstream document (architecture, solution design, UX spec) or earned a place but does not fit the PRD itself — rejected-alternative rationale, options-considered matrices, mechanism/transport decisions, technical-how, in-depth personas, sizing data. Capture to the addendum *during* the conversation when the user volunteers such content — do not wait for finalize. Audit and override information never goes in the addendum.
|
|
15
|
+
|
|
16
|
+
## On Activation
|
|
17
|
+
|
|
18
|
+
**Forwarded activation:** if a caller invoked you with a stated intent and pre-resolved customization fields (e.g. the `bmad-create-prd` / `bmad-edit-prd` / `bmad-validate-prd` shims), honor them verbatim — skip your own intent inference, use the supplied values for those named fields, and resolve only the remaining fields from your own `customize.toml`.
|
|
19
|
+
|
|
20
|
+
1. Resolve customization: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. On failure, read `{skill-root}/customize.toml` directly and use defaults.
|
|
21
|
+
2. Run `{workflow.activation_steps_prepend}`. Treat `{workflow.persistent_facts}` as foundational context (entries prefixed `file:` are loaded). `{workflow.external_sources}` is an org-configured registry of internal tools (knowledge bases, MCP tools); consult them alongside generic web research on the same triggers, org tools preferred when their directive matches. Research itself fires during Discovery — see **Research subagents**.
|
|
22
|
+
3. Load `{project-root}/_bmad/bmm/config.yaml` (+ `config.user.yaml` if present). Resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{planning_artifacts}`, `{project_name}`, `{date}`. Missing keys → neutral defaults; never block.
|
|
23
|
+
4. If headless, follow `references/headless.md` for the whole run. Otherwise greet the user **by name** using `{user_name}` and **in their language** using `{communication_language}` — and stay in `{communication_language}` for every turn for the entire run, not just the greeting. In the greeting, let the user know that at any point they can invoke `bmad-party-mode` for multi-agent perspectives or `bmad-advanced-elicitation` for deeper exploration on a specific section. Then scan for misroute on the first message: if the signal points elsewhere (game → BMad GDS; express build → `bmad-build`; one-pager → `bmad-product-brief`; vet product idea → `bmad-prfaq`; agent skill or custom agent → `bmad-workflow-builder`), suggest they might want the other options before continuing.
|
|
24
|
+
5. Detect intent: **Create** (no PRD), **Update** (existing PRD), **Validate** (critique only). If ambiguous, ask. For Create intent, before binding a fresh workspace, scan `{workflow.prd_output_path}` for prior in-progress runs (folders matching `{workflow.run_folder_pattern}` whose `prd.md` frontmatter `status` is not `final`); if any exist, offer to resume rather than starting over.
|
|
25
|
+
|
|
26
|
+
Run `{workflow.activation_steps_append}`.
|
|
27
|
+
|
|
28
|
+
Activation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.
|
|
29
|
+
|
|
30
|
+
## Intent Modes
|
|
31
|
+
|
|
32
|
+
**Create.** Bind `{doc_workspace}` to `{workflow.prd_output_path}/{workflow.run_folder_pattern}/`. Write `prd.md` with YAML frontmatter (title, status, created, updated — initial `status: draft`), and seed the memlog with `uv run {project-root}/_bmad/scripts/memlog.py init --workspace {doc_workspace} --field topic="<PRD/product name>"` so subsequent decisions land in a known file. Tell the user the path. Run `## Discovery`, then `## Finalize`.
|
|
33
|
+
|
|
34
|
+
**Update.** Reconcile the PRD with a change signal. Source-extract against PRD, addendum, `.memlog.md`, and original inputs (extract, don't ingest). If `.memlog.md` is missing, init it with `uv run {project-root}/_bmad/scripts/memlog.py init --workspace {doc_workspace}`, then spawn a one-time bootstrap subagent to reverse-engineer a thin log from the PRD (one `uv run {project-root}/_bmad/scripts/memlog.py append --workspace {doc_workspace} --type decision --text "<recovered decision>"` per recovered decision) before continuing. Surface conflicts with prior decisions before applying. Then `## Finalize`.
|
|
35
|
+
|
|
36
|
+
**Validate** (or *analyze*). Critique without changing. Load `references/validate.md`.
|
|
37
|
+
|
|
38
|
+
## Discovery
|
|
39
|
+
|
|
40
|
+
Order: **Brain dump → Stakes calibration → Working mode → mode-scoped work.** Get to working mode fast — two or three turns, not ten. Users in a hurry must not be held hostage by upstream probing.
|
|
41
|
+
|
|
42
|
+
**Brain dump.** Always the first move, even when the user opens with paragraphs of context (that is intake, not the dump). Ask for verbal context *and* any existing inputs they want you to read — product brief, research, customer transcripts, competitive analysis, prior PRD draft, design docs. Paths or paste; big docs are fine, you will subagent-extract. A simple "anything else?" surfaces what they almost forgot.
|
|
43
|
+
|
|
44
|
+
**Research subagents (default).** During Discovery, spawn web-research subagents to ground the picture: what exists in the space, how comparables position themselves, current landscape. Subagent does the search; parent receives a digest.
|
|
45
|
+
|
|
46
|
+
**Elicitation, not direction.** Discovery pulls the user's vision out; it does not insert yours. Open-ended "tell me about X" beats multiple choice. When you find yourself naming wedges, picking MVP cuts, or proposing phases, stop — you have crossed from elicitation into authoring. Hand the pen back. Infer-and-confirm ("I'm assuming X works like Y — right?") is fine; quizzing the user through a tree of LLM-shaped choices is not.
|
|
47
|
+
|
|
48
|
+
**Stakes calibration.** One short probe before working mode: hobby / internal / launch — enough to calibrate rigor and section depth. Audience, Existing inputs, and Downstream depth fill in inside the chosen mode, not upstream of the choice.
|
|
49
|
+
|
|
50
|
+
**Working mode.** Offer the choice in the user's language:
|
|
51
|
+
|
|
52
|
+
- **Fast path** — I batch remaining gaps into one or two consolidated questions, then draft the full PRD with `[ASSUMPTION]` tags where I inferred. You review and we iterate. The initial quality depends on how much you gave me upfront.
|
|
53
|
+
- **Coaching path** — we walk PM-thinking sections together. Once chosen, I ask which entry point fits: **Vision + Features** (capability-first — for enterprise, dev products, internal tools, anyone who thinks in features), **Journey-led** (user-first — for consumer, UX-heavy, multi-stakeholder products; journeys with named protagonists carry persona context inline, no standalone persona section), or *let me suggest* based on what I heard. The chosen entry sets the section order.
|
|
54
|
+
|
|
55
|
+
The workspace persists; stop and resume freely.
|
|
56
|
+
|
|
57
|
+
**Concern scan.** As you read what the user gave you, name the concerns this product actually carries — compliance, integration density, operational SLAs, hardware constraints, public-API contracts, monetization, data governance, whatever applies. The list is open; recognize what's there, do not classify into a fixed shape. These concerns drive which template sections to pull in from the Adapt-In Menu and which to invent when no cluster names them.
|
|
58
|
+
|
|
59
|
+
**Form-factor.** If not stated in sources, probe — mobile / web / desktop / multi-surface / hardware / API.
|
|
60
|
+
|
|
61
|
+
**User Journeys are captured, not authored.** When UJs are warranted (consumer / multi-stakeholder B2B / meaningful UX — drop or downscale for internal tooling with a single operator role, regulatory-only updates, hobby/solo, pure technical PRDs), prompt the user to narrate a real session with a named protagonist (Mary, mom of three — not "the user") — what the person does, in what order, where it lands — then structure the answer into UJ-N form and confirm. Persona context lives inline at the moments that matter; no standalone persona section.
|
|
62
|
+
|
|
63
|
+
## PRD Discipline
|
|
64
|
+
|
|
65
|
+
**Shape.** Features grouped; FRs nested with globally numbered stable IDs. Cross-cutting NFRs in their own section; skip traceability matrices. Capabilities, not implementation — tech choices live in `addendum.md`. Treat `{workflow.prd_template}` as expert prior knowledge, not a checklist. The **Essential Spine** is the expected default — present it unless the product genuinely doesn't need a section, and when you drop one, do so for a reason a reviewer would agree with. The **Adapt-In Menu** is conditional: pull in the clusters the product's concerns need to best define the requirements. When the product carries a concern the menu doesn't name, invent the section — name it well, decide what belongs in it, place it where it serves the reader or the PRD. Reorder and combine for readability. Never include a section because it appears; never skip a concern because no template section covered it. Counter-metrics named when Success Metrics exist.
|
|
66
|
+
|
|
67
|
+
**Extract, don't ingest.** Source documents go to subagents for extraction; the parent assembles from extracts. Only load source documents into the parent context wholesale when no subagents are available.
|
|
68
|
+
|
|
69
|
+
**Length scales with stakes.** Hobby / solo PRDs aim for about two pages. Internal tools land around five to eight. Launch and chain-top PRDs run as long as their FRs and concerns require. Whatever the length, detail that doesn't earn its place in the PRD's main narrative belongs in `addendum.md` — moving overflow there is correct; padding the PRD to look thorough is not.
|
|
70
|
+
|
|
71
|
+
## Reviewer Gate
|
|
72
|
+
|
|
73
|
+
Used by the Validate intent and at Finalize step 3.
|
|
74
|
+
|
|
75
|
+
Assemble the menu: rubric walker against `{workflow.validation_checklist_template}` (the PRD quality rubric) + each entry in `{workflow.finalize_reviewers}` + any ad-hoc reviewers the artifact warrants. Stakes-calibrated — hobby/solo may run quietly or skip; higher stakes get the explicit all/subset/skip menu.
|
|
76
|
+
|
|
77
|
+
Dispatch entries as parallel subagents against `prd.md` (and `addendum.md` if present) using the standard prefix convention (`skill:` / `file:` / plain text). Each writes its full review to `{doc_workspace}/review-{slug}.md` and returns ONLY a compact summary (verdict, top 2-5 findings, file path) — the parent never holds full review text. The rubric walker uses the prompt and output format in `references/validate.md`. If subagents are unavailable, run sequentially: write the file *before* anything else, then flush the review from working context.
|
|
78
|
+
|
|
79
|
+
Surface findings tiered, never dumped. Lead with a one-sentence gate verdict, then walk critical + high findings; medium/low roll into a single tail ("plus N more in {file}"). Read the full `review-{slug}.md` only when the user drills into a specific finding. Per finding: autofix, discuss, defer to open items, or ignore.
|
|
80
|
+
|
|
81
|
+
Under Validate intent, the parent additionally runs the synthesis pipeline in `references/validate.md` — folding every selected reviewer's output into a single HTML + markdown report and opening the HTML.
|
|
82
|
+
|
|
83
|
+
## Finalize
|
|
84
|
+
|
|
85
|
+
Tell the user the sequence in one sentence, then walk it. Polish goes last so it does not redo work after reviewer fixes.
|
|
86
|
+
|
|
87
|
+
1. **Memlog audit.** Walk `.memlog.md` with the user; each entry captured in PRD, in addendum, or set aside.
|
|
88
|
+
2. **Input reconciliation.** Subagent per user-supplied input against `prd.md` + `addendum.md`. Each writes its extract to `{doc_workspace}/reconcile-{slug}.md` and returns ONLY a compact summary (input name, gaps 2-5, file path). Surface gaps — especially qualitative ideas (tone, voice, feel) the FR structure silently drops. Must happen before polish.
|
|
89
|
+
3. **Reviewer pass.** Run `## Reviewer Gate`. Resolve before polish.
|
|
90
|
+
4. **Triage open items.** All Open Questions, `[ASSUMPTION]` tags, `[NOTE FOR PM]` callouts. Phase-blockers (would make the PRD unsafe for UX/architecture/epics) surfaced one at a time and resolved; non-blockers deferred with owner + revisit condition logged via `memlog.py append`. If phase-blocker count is high, flag it.
|
|
91
|
+
5. **Polish.** Apply `{workflow.doc_standards}` to `prd.md` and `addendum.md` in declared order (structural passes before prose — prose should not polish soon-to-be-cut text). Parallelize across documents, sequential within.
|
|
92
|
+
6. **External handoffs.** Execute `{workflow.external_handoffs}`; surface returned URLs/IDs. Skip and flag unavailable tools.
|
|
93
|
+
7. **Close.** Set `prd.md` frontmatter `status: final` and `updated` to `{date}` so future invocations distinguish this PRD from in-progress drafts. Record finalization via `uv run {project-root}/_bmad/scripts/memlog.py append --workspace {doc_workspace} --type event --text "PRD finalized"`. Share artifact paths. Common next: `bmad-ux`, `bmad-architecture`, `bmad-create-epics-and-stories`; invoke `bmad-help` for authoritative routing.
|
|
94
|
+
8. Run `{workflow.on_complete}` if non-empty.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Headless Mode JSON Schemas
|
|
2
|
+
|
|
3
|
+
Every headless run ends with one of these payloads. Omit keys for artifacts not produced.
|
|
4
|
+
|
|
5
|
+
## Common fields
|
|
6
|
+
|
|
7
|
+
- `status` — `"complete"`, `"blocked"`, or `"partial"`
|
|
8
|
+
- `intent` — `"create"`, `"update"`, or `"validate"` (matches the detected intent)
|
|
9
|
+
- `reason` — required when `status` is `"blocked"`; one-sentence explanation
|
|
10
|
+
- `assumptions` — array of inferred values that were not directly confirmed by inputs
|
|
11
|
+
- `open_questions` — array of items that need a human decision before the artifact can be considered final
|
|
12
|
+
|
|
13
|
+
## Create
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"status": "complete",
|
|
18
|
+
"intent": "create",
|
|
19
|
+
"prd": "{doc_workspace}/prd.md",
|
|
20
|
+
"addendum": "{doc_workspace}/addendum.md",
|
|
21
|
+
"memlog": "{doc_workspace}/.memlog.md",
|
|
22
|
+
"open_questions": [],
|
|
23
|
+
"assumptions": [],
|
|
24
|
+
"external_handoffs": [
|
|
25
|
+
{"directive": "Confluence upload", "tool": "corp:confluence_upload", "url": "https://confluence.corp/PROD/123", "status": "ok"}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Update
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"status": "complete",
|
|
35
|
+
"intent": "update",
|
|
36
|
+
"prd": "{doc_workspace}/prd.md",
|
|
37
|
+
"memlog": "{doc_workspace}/.memlog.md",
|
|
38
|
+
"changes_summary": "1-3 sentences describing what changed and why",
|
|
39
|
+
"conflicts_with_prior_decisions": [],
|
|
40
|
+
"open_questions": [],
|
|
41
|
+
"external_handoffs": [
|
|
42
|
+
{"directive": "Confluence upload", "tool": "corp:confluence_upload", "url": "https://confluence.corp/PROD/123", "status": "ok"}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Validate
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"status": "complete",
|
|
52
|
+
"intent": "validate",
|
|
53
|
+
"validation_report": "{doc_workspace}/validation-report.md",
|
|
54
|
+
"findings_summary": {
|
|
55
|
+
"critical": 0,
|
|
56
|
+
"high": 0,
|
|
57
|
+
"medium": 0,
|
|
58
|
+
"low": 0
|
|
59
|
+
},
|
|
60
|
+
"offer_to_update": true
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`validation_report` is always written for Validate intent — the path here is required, not optional.
|
|
65
|
+
|
|
66
|
+
## Blocked
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"status": "blocked",
|
|
71
|
+
"intent": "update",
|
|
72
|
+
"reason": "Change signal ambiguous — could be a scope expansion or a clarification; no inferred direction"
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Always include the intent (best-guess if not certain) and a one-sentence `reason`.
|