bmad-method 6.0.3 → 6.0.5-next.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/.augment/code_review_guidelines.yaml +2 -42
- package/.claude/skills/bmad-os-findings-triage/SKILL.md +6 -0
- package/.claude/skills/bmad-os-findings-triage/prompts/agent-prompt.md +104 -0
- package/.claude/skills/bmad-os-findings-triage/prompts/instructions.md +286 -0
- package/.claude/skills/bmad-os-review-pr/SKILL.md +1 -1
- package/.claude/skills/bmad-os-review-pr/prompts/instructions.md +63 -6
- package/.claude/skills/bmad-os-review-prompt/SKILL.md +177 -0
- package/.claude/skills/bmad-os-root-cause-analysis/SKILL.md +12 -0
- package/.claude/skills/bmad-os-root-cause-analysis/prompts/instructions.md +74 -0
- package/.github/ISSUE_TEMPLATE/config.yaml +1 -1
- package/.github/ISSUE_TEMPLATE/documentation.yaml +1 -1
- package/.github/workflows/publish.yaml +243 -0
- package/CHANGELOG.md +32 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +8 -8
- package/README_CN.md +121 -0
- package/docs/_STYLE_GUIDE.md +10 -10
- package/docs/explanation/brainstorming.md +1 -1
- package/docs/explanation/party-mode.md +1 -1
- package/docs/explanation/preventing-agent-conflicts.md +1 -1
- package/docs/explanation/project-context.md +15 -15
- package/docs/explanation/quick-flow.md +9 -9
- package/docs/how-to/established-projects.md +7 -7
- package/docs/how-to/get-answers-about-bmad.md +2 -2
- package/docs/how-to/install-bmad.md +16 -6
- package/docs/how-to/project-context.md +2 -2
- package/docs/how-to/quick-fixes.md +5 -5
- package/docs/how-to/shard-large-documents.md +1 -1
- package/docs/how-to/upgrade-to-v6.md +8 -5
- package/docs/index.md +2 -2
- package/docs/reference/agents.md +14 -14
- package/docs/reference/commands.md +64 -70
- package/docs/reference/testing.md +1 -1
- package/docs/reference/workflow-map.md +19 -19
- package/docs/tutorials/getting-started.md +34 -34
- package/docs/zh-cn/404.md +9 -0
- package/docs/zh-cn/_STYLE_GUIDE.md +370 -0
- package/docs/zh-cn/explanation/advanced-elicitation.md +62 -0
- package/docs/zh-cn/explanation/adversarial-review.md +71 -0
- package/docs/zh-cn/explanation/brainstorming.md +43 -0
- package/docs/zh-cn/explanation/established-projects-faq.md +60 -0
- package/docs/zh-cn/explanation/party-mode.md +79 -0
- package/docs/zh-cn/explanation/preventing-agent-conflicts.md +137 -0
- package/docs/zh-cn/explanation/project-context.md +176 -0
- package/docs/zh-cn/explanation/quick-flow.md +93 -0
- package/docs/zh-cn/explanation/why-solutioning-matters.md +90 -0
- package/docs/zh-cn/how-to/customize-bmad.md +182 -0
- package/docs/zh-cn/how-to/established-projects.md +134 -0
- package/docs/zh-cn/how-to/get-answers-about-bmad.md +144 -0
- package/docs/zh-cn/how-to/install-bmad.md +105 -0
- package/docs/zh-cn/how-to/non-interactive-installation.md +181 -0
- package/docs/zh-cn/how-to/project-context.md +152 -0
- package/docs/zh-cn/how-to/quick-fixes.md +140 -0
- package/docs/zh-cn/how-to/shard-large-documents.md +86 -0
- package/docs/zh-cn/how-to/upgrade-to-v6.md +120 -0
- package/docs/zh-cn/index.md +69 -0
- package/docs/zh-cn/reference/agents.md +41 -0
- package/docs/zh-cn/reference/commands.md +166 -0
- package/docs/zh-cn/reference/modules.md +94 -0
- package/docs/zh-cn/reference/testing.md +122 -0
- package/docs/zh-cn/reference/workflow-map.md +104 -0
- package/docs/zh-cn/roadmap.mdx +152 -0
- package/docs/zh-cn/tutorials/getting-started.md +300 -0
- package/package.json +1 -1
- package/src/bmm/agents/analyst.agent.yaml +1 -1
- package/src/bmm/agents/bmad-skill-manifest.yaml +39 -0
- package/src/bmm/agents/dev.agent.yaml +2 -2
- package/src/bmm/agents/pm.agent.yaml +1 -1
- package/src/bmm/agents/qa.agent.yaml +1 -1
- package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +6 -2
- package/src/bmm/agents/sm.agent.yaml +4 -4
- package/src/bmm/agents/tech-writer/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +1 -1
- package/src/bmm/module-help.csv +11 -10
- package/src/bmm/workflows/1-analysis/create-product-brief/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +1 -1
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +1 -1
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +1 -1
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +1 -1
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +1 -1
- package/src/bmm/workflows/1-analysis/research/bmad-skill-manifest.yaml +14 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/bmad-skill-manifest.yaml +14 -0
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +1 -1
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +2 -2
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +1 -1
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +1 -1
- package/src/bmm/workflows/3-solutioning/create-architecture/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +2 -2
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +1 -1
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +1 -1
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +1 -1
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +1 -1
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +2 -2
- package/src/bmm/workflows/4-implementation/code-review/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/code-review/discover-inputs.md +88 -0
- package/src/bmm/workflows/4-implementation/code-review/workflow.md +271 -0
- package/src/bmm/workflows/4-implementation/correct-course/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
- package/src/bmm/workflows/4-implementation/correct-course/{instructions.md → workflow.md} +79 -12
- package/src/bmm/workflows/4-implementation/create-story/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/create-story/checklist.md +9 -10
- package/src/bmm/workflows/4-implementation/create-story/discover-inputs.md +88 -0
- package/src/bmm/workflows/4-implementation/create-story/workflow.md +388 -0
- package/src/bmm/workflows/4-implementation/dev-story/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/dev-story/{instructions.xml → workflow.md} +49 -2
- package/src/bmm/workflows/4-implementation/retrospective/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/retrospective/{instructions.md → workflow.md} +64 -23
- package/src/bmm/workflows/4-implementation/sprint-planning/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +1 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/{instructions.md → workflow.md} +55 -10
- package/src/bmm/workflows/4-implementation/sprint-status/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/4-implementation/sprint-status/{instructions.md → workflow.md} +45 -8
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/SKILL.md +6 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/bmad-skill-manifest.yaml +1 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md +54 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md +39 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md +35 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md +55 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md +19 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/tech-spec-template.md +90 -0
- package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md +84 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +8 -14
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +1 -1
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +4 -6
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +1 -1
- package/src/bmm/workflows/document-project/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/document-project/instructions.md +5 -7
- package/src/bmm/workflows/document-project/workflow.md +39 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -1
- package/src/bmm/workflows/document-project/workflows/deep-dive-workflow.md +42 -0
- package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1
- package/src/bmm/workflows/document-project/workflows/full-scan-workflow.md +42 -0
- package/src/bmm/workflows/generate-project-context/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +2 -2
- package/src/bmm/workflows/qa-generate-e2e-tests/bmad-skill-manifest.yaml +3 -0
- package/src/bmm/workflows/qa-generate-e2e-tests/checklist.md +1 -1
- package/src/bmm/workflows/qa-generate-e2e-tests/{instructions.md → workflow.md} +40 -7
- package/src/core/agents/bmad-master.agent.yaml +1 -1
- package/src/core/agents/bmad-skill-manifest.yaml +3 -0
- package/src/core/module-help.csv +3 -2
- package/src/core/module.yaml +1 -1
- package/src/core/tasks/bmad-help/SKILL.md +6 -0
- package/src/core/tasks/bmad-help/bmad-skill-manifest.yaml +1 -0
- package/src/core/tasks/{help.md → bmad-help/workflow.md} +6 -4
- package/src/core/tasks/bmad-review-adversarial-general/SKILL.md +6 -0
- package/src/core/tasks/bmad-review-adversarial-general/bmad-skill-manifest.yaml +1 -0
- package/src/core/tasks/bmad-review-adversarial-general/workflow.md +32 -0
- package/src/core/tasks/bmad-review-edge-case-hunter/SKILL.md +6 -0
- package/src/core/tasks/bmad-review-edge-case-hunter/bmad-skill-manifest.yaml +1 -0
- package/src/core/tasks/bmad-review-edge-case-hunter/workflow.md +62 -0
- package/src/core/tasks/bmad-skill-manifest.yaml +19 -0
- package/src/core/workflows/advanced-elicitation/bmad-skill-manifest.yaml +3 -0
- package/src/core/workflows/advanced-elicitation/workflow.md +138 -0
- package/src/core/workflows/brainstorming/bmad-skill-manifest.yaml +3 -0
- package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +31 -18
- package/src/core/workflows/brainstorming/steps/step-01b-continue.md +1 -1
- package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +3 -3
- package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +2 -2
- package/src/core/workflows/brainstorming/workflow.md +5 -3
- package/src/core/workflows/party-mode/bmad-skill-manifest.yaml +3 -0
- package/src/core/workflows/party-mode/workflow.md +1 -1
- package/src/utility/agent-components/activation-steps.txt +2 -2
- package/src/utility/agent-components/handler-multi.txt +1 -2
- package/test/adversarial-review-tests/README.md +3 -3
- package/test/adversarial-review-tests/test-cases.yaml +2 -2
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +1 -1
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -1
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +1 -2
- package/test/fixtures/file-refs-csv/valid/bmm-style.csv +1 -1
- package/test/test-file-refs-csv.js +1 -1
- package/test/test-install-to-bmad.js +154 -0
- package/test/test-installation-components.js +1586 -2
- package/test/test-workflow-path-regex.js +88 -0
- package/tools/cli/installers/install-messages.yaml +1 -1
- package/tools/cli/installers/lib/core/installer.js +34 -1
- package/tools/cli/installers/lib/core/manifest-generator.js +332 -41
- package/tools/cli/installers/lib/ide/_base-ide.js +24 -15
- package/tools/cli/installers/lib/ide/_config-driven.js +547 -53
- package/tools/cli/installers/lib/ide/manager.js +26 -62
- package/tools/cli/installers/lib/ide/platform-codes.yaml +116 -29
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +1 -0
- package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +7 -0
- package/tools/cli/installers/lib/ide/shared/path-utils.js +68 -3
- package/tools/cli/installers/lib/ide/shared/skill-manifest.js +90 -0
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +2 -0
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +6 -145
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +1 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +0 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +0 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +0 -1
- package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +0 -1
- package/tools/cli/installers/lib/modules/manager.js +9 -132
- package/tools/cli/lib/agent/compiler.js +1 -10
- package/tools/cli/lib/agent-analyzer.js +2 -14
- package/tools/cli/lib/yaml-xml-builder.js +1 -18
- package/tools/docs/native-skills-migration-checklist.md +281 -0
- package/tools/platform-codes.yaml +1 -1
- package/tools/schema/agent.js +1 -3
- package/tools/validate-file-refs.js +2 -0
- package/website/astro.config.mjs +24 -3
- package/website/src/content/config.ts +2 -1
- package/website/src/content/i18n/zh-CN.json +28 -0
- package/src/bmm/workflows/4-implementation/code-review/instructions.xml +0 -227
- package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +0 -43
- package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -53
- package/src/bmm/workflows/4-implementation/create-story/instructions.xml +0 -346
- package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +0 -52
- package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +0 -20
- package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -52
- package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -47
- package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +0 -25
- package/src/bmm/workflows/document-project/workflow.yaml +0 -22
- package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
- package/src/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
- package/src/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +0 -42
- package/src/core/tasks/review-adversarial-general.xml +0 -49
- package/src/core/tasks/workflow.xml +0 -235
- package/src/core/workflows/advanced-elicitation/workflow.xml +0 -118
- package/src/utility/agent-components/handler-validate-workflow.txt +0 -7
- package/src/utility/agent-components/handler-workflow.txt +0 -10
- package/tools/cli/installers/lib/ide/codex.js +0 -440
- package/tools/cli/installers/lib/ide/github-copilot.js +0 -699
- package/tools/cli/installers/lib/ide/kilo.js +0 -269
- package/tools/cli/installers/lib/ide/rovodev.js +0 -257
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +0 -14
- package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +0 -15
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +0 -13
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +0 -5
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-os-review-prompt
|
|
3
|
+
description: Review LLM workflow step prompts for known failure modes (silent ignoring, negation fragility, scope creep, etc). Use when user asks to "review a prompt" or "audit a workflow step".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Prompt Review Skill: PromptSentinel v1.2
|
|
7
|
+
|
|
8
|
+
**Version:** v1.2
|
|
9
|
+
**Date:** March 2026
|
|
10
|
+
**Target Models:** Frontier LLMs (Claude 4.6, GPT-5.3, Gemini 3.1 Pro and equivalents) executing autonomous multi-step workflows at million-executions-per-day scale
|
|
11
|
+
**Purpose:** Detect and eliminate LLM-specific failure modes that survive generic editing, few-shot examples, and even multi-layer prompting. Output is always actionable, quoted, risk-quantified, and mitigation-ready.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
### System Role (copy verbatim into reviewer agent)
|
|
16
|
+
|
|
17
|
+
You are **PromptSentinel v1.2**, a Prompt Auditor for production-grade LLM agent systems.
|
|
18
|
+
|
|
19
|
+
Your sole objective is to prevent silent, non-deterministic, or cascading failures in prompts that will be executed millions of times daily across heterogeneous models, tool stacks, and sub-agent contexts.
|
|
20
|
+
|
|
21
|
+
**Core Principles (required for every finding)**
|
|
22
|
+
- Every finding must populate all columns of the output table defined in the Strict Output Format section.
|
|
23
|
+
- Every finding must include: exact quote/location, failure mode ID or "ADV" (adversarial) / "PATH" (path-trace), production-calibrated risk, and a concrete mitigation with positive, deterministic rewritten example.
|
|
24
|
+
- Assume independent sub-agent contexts, variable context-window pressure, and model variance.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
### Mandatory Review Procedure
|
|
29
|
+
|
|
30
|
+
Execute steps in order. Steps 0-1 run sequentially. Steps 2A/2B/2C run in parallel. Steps 3-4 run sequentially after all parallel tracks complete.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
**Step 0: Input Validation**
|
|
35
|
+
If the input is not a clear LLM instruction prompt (raw code, data table, empty, or fewer than 50 tokens), output exactly:
|
|
36
|
+
`INPUT_NOT_A_PROMPT: [one-sentence reason]. Review aborted.`
|
|
37
|
+
and stop.
|
|
38
|
+
|
|
39
|
+
**Step 1: Context & Dependency Inventory**
|
|
40
|
+
Parse the entire prompt. Derive the **Prompt Title** as follows:
|
|
41
|
+
- First # or ## heading if present, OR
|
|
42
|
+
- Filename if provided, OR
|
|
43
|
+
- First complete sentence (truncated to 80 characters).
|
|
44
|
+
|
|
45
|
+
Build an explicit inventory table listing:
|
|
46
|
+
- All numbered/bulleted steps
|
|
47
|
+
- All variables, placeholders, file references, prior-step outputs
|
|
48
|
+
- All conditionals, loops, halts, tool calls
|
|
49
|
+
- All assumptions about persistent memory or ordering
|
|
50
|
+
|
|
51
|
+
Flag any unresolved dependencies.
|
|
52
|
+
Step 1 is complete when the full inventory table is populated.
|
|
53
|
+
|
|
54
|
+
This inventory is shared context for all three parallel tracks below.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### Step 2: Three Parallel Review Tracks
|
|
59
|
+
|
|
60
|
+
Launch all three tracks concurrently. Each track produces findings in the same table format. Tracks are independent — no track reads another track's output.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
**Track A: Adversarial Review (sub-agent)**
|
|
65
|
+
|
|
66
|
+
Spawn a sub-agent with the following brief and the full prompt text. Give it the Step 1 inventory for reference. Give it NO catalog, NO checklist, and NO further instructions beyond this brief:
|
|
67
|
+
|
|
68
|
+
> You are reviewing an LLM prompt that will execute millions of times daily across different models. Find every way this prompt could fail, produce wrong results, or behave inconsistently. For each issue found, provide: exact quote or location, what goes wrong at scale, and a concrete fix. Use only training knowledge — rely on your own judgment, not any external checklist.
|
|
69
|
+
|
|
70
|
+
Track A is complete when the sub-agent returns its findings.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
**Track B: Catalog Scan + Execution Simulation (main agent)**
|
|
75
|
+
|
|
76
|
+
**B.1 — Failure Mode Audit**
|
|
77
|
+
Scan the prompt against all 17 failure modes in the catalog below. Quote every relevant instance. For modes with zero findings, list them in a single summary line (e.g., "Modes 3, 7, 10, 12: no instances found").
|
|
78
|
+
B.1 is complete when every mode has been explicitly checked.
|
|
79
|
+
|
|
80
|
+
**B.2 — Execution Simulation**
|
|
81
|
+
Simulate the prompt under 3 scenarios:
|
|
82
|
+
- Scenario A: Small-context model (32k window) under load
|
|
83
|
+
- Scenario B: Large-context model (200k window), fresh session
|
|
84
|
+
- Scenario C: Different model vendor with weaker instruction-following
|
|
85
|
+
|
|
86
|
+
For each scenario, produce one row in this table:
|
|
87
|
+
|
|
88
|
+
| Scenario | Likely Failure Location | Failure Mode | Expected Symptom |
|
|
89
|
+
|----------|-------------------------|--------------|------------------|
|
|
90
|
+
|
|
91
|
+
B.2 is complete when the table contains 3 fully populated rows.
|
|
92
|
+
|
|
93
|
+
Track B is complete when both B.1 and B.2 are finished.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
**Track C: Prompt Path Tracer (sub-agent)**
|
|
98
|
+
|
|
99
|
+
Spawn a sub-agent with the following brief, the full prompt text, and the Step 1 inventory:
|
|
100
|
+
|
|
101
|
+
> You are a mechanical path tracer for LLM prompts. Walk every execution path through this prompt — every conditional, branch, loop, halt, optional step, tool call, and error path. For each path, determine: is the entry condition unambiguous? Is there a defined done-state? Are all required inputs guaranteed to be available? Report only paths with gaps — discard clean paths silently.
|
|
102
|
+
>
|
|
103
|
+
> For each finding, provide:
|
|
104
|
+
> - **Location**: step/section reference
|
|
105
|
+
> - **Path**: the specific conditional or branch
|
|
106
|
+
> - **Gap**: what is missing (unclear entry, no done-state, unresolved input)
|
|
107
|
+
> - **Fix**: concrete rewrite that closes the gap
|
|
108
|
+
|
|
109
|
+
Track C is complete when the sub-agent returns its findings.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
**Step 3: Merge & Deduplicate**
|
|
114
|
+
|
|
115
|
+
Collect all findings from Tracks A, B, and C. Tag each finding with its source (ADV, catalog mode number, or PATH). Deduplicate by exact quote — when multiple tracks flag the same issue, keep the finding with the most specific mitigation and note all sources.
|
|
116
|
+
|
|
117
|
+
Assign severity to each finding: Critical / High / Medium / Low.
|
|
118
|
+
|
|
119
|
+
Step 3 is complete when the merged, deduplicated, severity-scored findings table is populated.
|
|
120
|
+
|
|
121
|
+
**Step 4: Final Synthesis**
|
|
122
|
+
|
|
123
|
+
Format the entire review using the Strict Output Format below. Emit the complete review only after Step 3 is finished.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
### Complete Failure Mode Catalog (Track B — scan all 17)
|
|
128
|
+
|
|
129
|
+
1. **Silent Ignoring** — Instructions buried mid-paragraph, nested >2-deep conditionals, parentheticals, or "also remember to..." after long text.
|
|
130
|
+
2. **Ambiguous Completion** — Steps with no observable done-state or verification criterion ("think about it", "finalize").
|
|
131
|
+
3. **Context Window Assumptions** — References to "previous step output", "the file we created earlier", or variables not re-passed.
|
|
132
|
+
4. **Over-specification vs Under-specification** — Wall-of-text detail causing selective attention OR vague verbs inviting hallucination.
|
|
133
|
+
5. **Non-deterministic Phrasing** — "Consider", "you may", "if appropriate", "best way", "optionally", "try to".
|
|
134
|
+
6. **Negation Fragility** — "Do NOT", "avoid", "never" (especially multiple or under load).
|
|
135
|
+
7. **Implicit Ordering** — Step B assumes Step A completed without explicit sequencing or guardrails.
|
|
136
|
+
8. **Variable Resolution Gaps** — `{{VAR}}` or "the result from tool X" never initialized upstream.
|
|
137
|
+
9. **Scope Creep Invitation** — "Explore", "improve", "make it better", open-ended goals without hard boundaries.
|
|
138
|
+
10. **Halt / Checkpoint Gaps** — Human-in-loop required but no explicit `STOP_AND_WAIT_FOR_HUMAN` or output format that forces pause.
|
|
139
|
+
11. **Teaching Known Knowledge** — Re-explaining basic facts, tool usage, or reasoning patterns frontier models already know (2026 cutoff).
|
|
140
|
+
12. **Obsolete Prompting Techniques** — Outdated patterns (vanilla "think step by step" without modern scaffolding, deprecated few-shot styles).
|
|
141
|
+
13. **Missing Strict Output Schema** — No enforced JSON mode or structured output format.
|
|
142
|
+
14. **Missing Error Handling** — No recovery instructions for tool failures, timeouts, or malformed inputs.
|
|
143
|
+
15. **Missing Success Criteria** — No quality gates or measurable completion standards.
|
|
144
|
+
16. **Monolithic Prompt Anti-pattern** — Single large prompt that should be split into specialized sub-agents.
|
|
145
|
+
17. **Missing Grounding Instructions** — Factual claims required without explicit requirement to base them on retrieved evidence.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Strict Output Format (use this template exactly as shown)
|
|
150
|
+
|
|
151
|
+
```markdown
|
|
152
|
+
# PromptSentinel Review: [Derived Prompt Title]
|
|
153
|
+
|
|
154
|
+
**Overall Risk Level:** Critical / High / Medium / Low
|
|
155
|
+
**Critical Issues:** X | **High:** Y | **Medium:** Z | **Low:** W
|
|
156
|
+
**Estimated Production Failure Rate if Unfixed:** ~XX% of runs
|
|
157
|
+
|
|
158
|
+
## Critical & High Findings
|
|
159
|
+
| # | Source | Failure Mode | Exact Quote / Location | Risk (High-Volume) | Mitigation & Rewritten Example |
|
|
160
|
+
|---|--------|--------------|------------------------|--------------------|-------------------------------|
|
|
161
|
+
| | | | | | |
|
|
162
|
+
|
|
163
|
+
## Medium & Low Findings
|
|
164
|
+
(same table format)
|
|
165
|
+
|
|
166
|
+
## Positive Observations
|
|
167
|
+
(only practices that actively mitigate known failure modes)
|
|
168
|
+
|
|
169
|
+
## Recommended Refactor Summary
|
|
170
|
+
- Highest-leverage changes (bullets)
|
|
171
|
+
|
|
172
|
+
## Revised Prompt Sections (Critical/High items only)
|
|
173
|
+
Provide full rewritten paragraphs/sections with changes clearly marked.
|
|
174
|
+
|
|
175
|
+
**Reviewer Confidence:** XX/100
|
|
176
|
+
**Review Complete** – ready for re-submission or automated patching.
|
|
177
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-os-root-cause-analysis
|
|
3
|
+
description: Analyzes a bug-fix commit or PR and produces a structured Root Cause Analysis report covering what went wrong, why, and what guardrails failed.
|
|
4
|
+
license: MIT
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
metadata:
|
|
7
|
+
author: bmad-code-org
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
compatibility: Requires gh CLI and git repository
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Read `prompts/instructions.md` and execute.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Bug-Fix Root Cause Analysis
|
|
2
|
+
|
|
3
|
+
Analyze a bug-fix commit or PR and produce a structured Root Cause Analysis report.
|
|
4
|
+
|
|
5
|
+
## Principles
|
|
6
|
+
|
|
7
|
+
- **Direct attribution.** This report names the individual who introduced the defect. Industry convention advocates blameless postmortems. This skill deliberately deviates: naming the individual and trusting them to own it is more respectful than diffusing accountability into systemic abstraction. Direct, factual, not accusatory. If authorship can't be determined confidently, say so.
|
|
8
|
+
- **Pyramid communication.** The executive summary must convey the full picture. A reader who stops after the first paragraph gets the gist. Everything else is supporting evidence.
|
|
9
|
+
|
|
10
|
+
## Preflight
|
|
11
|
+
|
|
12
|
+
Verify `gh auth status` and that you're in a git repository. Stop with a clear message if either fails.
|
|
13
|
+
|
|
14
|
+
## Execution
|
|
15
|
+
|
|
16
|
+
1. **Identify the fix.** Accept whatever the user provides — commit SHA, PR, issue, description. Resolve to the specific fix commit/PR using `gh` and `git`. If ambiguous, ask. Confirm the change is actually a bug fix before proceeding.
|
|
17
|
+
2. **Gather evidence.** Read the fix diff, PR/issue discussion, and use blame/log to identify the commit that introduced the bug. Collect timeline data.
|
|
18
|
+
3. **Analyze.** Apply 5 Whys. Classify the root cause. Identify contributing factors.
|
|
19
|
+
4. **Evaluate guardrails.** Inspect the actual repo configuration (CI workflows, linter configs, test setup) — don't assume. For each applicable guardrail, explain specifically why it missed this bug.
|
|
20
|
+
5. **Write the report** to `_bmad-output/rca-reports/rca-{YYYY-MM-DD}-{slug}.md`. Present the executive summary in chat.
|
|
21
|
+
|
|
22
|
+
## Report Structure
|
|
23
|
+
|
|
24
|
+
```markdown
|
|
25
|
+
# Root Cause Analysis: {Bug Title}
|
|
26
|
+
|
|
27
|
+
**Date:** {today}
|
|
28
|
+
**Fix:** {PR link or commit SHA}
|
|
29
|
+
**Severity:** {Critical | High | Medium | Low}
|
|
30
|
+
**Root Cause Category:** {Requirements | Design | Code Logic | Test Gap | Process | Environment/Config}
|
|
31
|
+
|
|
32
|
+
## Executive Summary
|
|
33
|
+
|
|
34
|
+
{One paragraph. What the bug was, root cause, who introduced it and when, detection
|
|
35
|
+
latency (introduced → detected), severity, and the key preventive recommendation.}
|
|
36
|
+
|
|
37
|
+
## What Was the Problem?
|
|
38
|
+
|
|
39
|
+
## When Did It Happen?
|
|
40
|
+
|
|
41
|
+
| Event | Date | Reference |
|
|
42
|
+
|-------|------|-----------|
|
|
43
|
+
| Introduced | | |
|
|
44
|
+
| Detected | | |
|
|
45
|
+
| Fixed | | |
|
|
46
|
+
| **Detection Latency** | **{introduced → detected}** | |
|
|
47
|
+
|
|
48
|
+
## Who Caused It?
|
|
49
|
+
|
|
50
|
+
{Author, commit/PR that introduced the defect, and the context — what were they
|
|
51
|
+
trying to do?}
|
|
52
|
+
|
|
53
|
+
## How Did It Happen?
|
|
54
|
+
|
|
55
|
+
## Why Did It Happen?
|
|
56
|
+
|
|
57
|
+
{5 Whys analysis. Root cause category. Contributing factors.}
|
|
58
|
+
|
|
59
|
+
## Failed Guardrails Analysis
|
|
60
|
+
|
|
61
|
+
| Guardrail | In Place? | Why It Failed |
|
|
62
|
+
|-----------|-----------|---------------|
|
|
63
|
+
| | | |
|
|
64
|
+
|
|
65
|
+
**Most Critical Failure:** {Which one mattered most and why.}
|
|
66
|
+
|
|
67
|
+
## Resolution
|
|
68
|
+
|
|
69
|
+
## Corrective & Preventive Actions
|
|
70
|
+
|
|
71
|
+
| # | Action | Type | Priority |
|
|
72
|
+
|---|--------|------|----------|
|
|
73
|
+
| | | {Prevent/Detect/Mitigate} | |
|
|
74
|
+
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
blank_issues_enabled: false
|
|
2
2
|
contact_links:
|
|
3
3
|
- name: 📚 Documentation
|
|
4
|
-
url:
|
|
4
|
+
url: https://docs.bmad-method.org
|
|
5
5
|
about: Check the docs first — tutorials, guides, and reference
|
|
6
6
|
- name: 💬 Discord Community
|
|
7
7
|
url: https://discord.gg/gk8jAdXWmj
|
|
@@ -28,7 +28,7 @@ body:
|
|
|
28
28
|
attributes:
|
|
29
29
|
label: Documentation location
|
|
30
30
|
description: Where is the documentation that needs improvement?
|
|
31
|
-
placeholder: e.g.,
|
|
31
|
+
placeholder: e.g., https://docs.bmad-method.org/tutorials/getting-started/ or "In the README"
|
|
32
32
|
validations:
|
|
33
33
|
required: true
|
|
34
34
|
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
paths:
|
|
7
|
+
- "src/**"
|
|
8
|
+
- "tools/cli/**"
|
|
9
|
+
- "package.json"
|
|
10
|
+
workflow_dispatch:
|
|
11
|
+
inputs:
|
|
12
|
+
channel:
|
|
13
|
+
description: "Publish channel"
|
|
14
|
+
required: true
|
|
15
|
+
default: "latest"
|
|
16
|
+
type: choice
|
|
17
|
+
options:
|
|
18
|
+
- latest
|
|
19
|
+
- next
|
|
20
|
+
bump:
|
|
21
|
+
description: "Version bump type (latest channel only)"
|
|
22
|
+
required: false
|
|
23
|
+
default: "patch"
|
|
24
|
+
type: choice
|
|
25
|
+
options:
|
|
26
|
+
- patch
|
|
27
|
+
- minor
|
|
28
|
+
- major
|
|
29
|
+
|
|
30
|
+
concurrency:
|
|
31
|
+
group: publish
|
|
32
|
+
cancel-in-progress: ${{ github.event_name == 'push' }}
|
|
33
|
+
|
|
34
|
+
permissions:
|
|
35
|
+
id-token: write
|
|
36
|
+
contents: write
|
|
37
|
+
|
|
38
|
+
jobs:
|
|
39
|
+
publish:
|
|
40
|
+
if: github.event_name != 'workflow_dispatch' || github.ref == 'refs/heads/main'
|
|
41
|
+
runs-on: ubuntu-latest
|
|
42
|
+
steps:
|
|
43
|
+
- name: Checkout
|
|
44
|
+
uses: actions/checkout@v4
|
|
45
|
+
with:
|
|
46
|
+
fetch-depth: 0
|
|
47
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
48
|
+
|
|
49
|
+
- name: Setup Node
|
|
50
|
+
uses: actions/setup-node@v4
|
|
51
|
+
with:
|
|
52
|
+
node-version-file: ".nvmrc"
|
|
53
|
+
cache: "npm"
|
|
54
|
+
|
|
55
|
+
- name: Ensure trusted publishing toolchain
|
|
56
|
+
run: |
|
|
57
|
+
# npm trusted publishing requires Node >= 22.14.0 and npm >= 11.5.1.
|
|
58
|
+
npm install --global npm@11.6.2
|
|
59
|
+
echo "Node: $(node --version)"
|
|
60
|
+
echo "npm: $(npm --version)"
|
|
61
|
+
|
|
62
|
+
- name: Debug npm auth config surface
|
|
63
|
+
run: |
|
|
64
|
+
USERCONFIG=$(npm config get userconfig)
|
|
65
|
+
echo "npm userconfig: $USERCONFIG"
|
|
66
|
+
if [ -f "$USERCONFIG" ]; then
|
|
67
|
+
if rg -n "_authToken|always-auth|registry.npmjs.org" "$USERCONFIG" >/dev/null 2>&1; then
|
|
68
|
+
echo "npm userconfig contains registry auth-related entries"
|
|
69
|
+
rg -n "_authToken|always-auth|registry.npmjs.org" "$USERCONFIG" | sed -E 's/(_authToken=).*/\1***MASKED***/'
|
|
70
|
+
else
|
|
71
|
+
echo "npm userconfig has no registry auth-related entries"
|
|
72
|
+
fi
|
|
73
|
+
else
|
|
74
|
+
echo "npm userconfig file not found"
|
|
75
|
+
fi
|
|
76
|
+
|
|
77
|
+
- name: Debug trusted publishing identity
|
|
78
|
+
run: |
|
|
79
|
+
echo "GitHub workflow context:"
|
|
80
|
+
echo " repository: ${{ github.repository }}"
|
|
81
|
+
echo " repository_owner: ${{ github.repository_owner }}"
|
|
82
|
+
echo " ref: ${{ github.ref }}"
|
|
83
|
+
echo " event_name: ${{ github.event_name }}"
|
|
84
|
+
echo " workflow: ${{ github.workflow }}"
|
|
85
|
+
echo " workflow_ref: ${{ github.workflow_ref }}"
|
|
86
|
+
echo " actor: ${{ github.actor }}"
|
|
87
|
+
echo " selected_channel: ${{ inputs.channel || 'n/a' }}"
|
|
88
|
+
echo " selected_bump: ${{ inputs.bump || 'n/a' }}"
|
|
89
|
+
if [ "${NODE_AUTH_TOKEN+x}" = "x" ]; then
|
|
90
|
+
if [ -n "$NODE_AUTH_TOKEN" ]; then
|
|
91
|
+
echo " node_auth_token_state: set-nonempty"
|
|
92
|
+
else
|
|
93
|
+
echo " node_auth_token_state: set-empty"
|
|
94
|
+
fi
|
|
95
|
+
else
|
|
96
|
+
echo " node_auth_token_state: unset"
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
WORKFLOW_FILE=$(node -e "
|
|
100
|
+
const ref = process.argv[1] || '';
|
|
101
|
+
const match = ref.match(/\.github\/workflows\/([^@]+)@/);
|
|
102
|
+
process.stdout.write(match ? match[1] : '');
|
|
103
|
+
" "${{ github.workflow_ref }}")
|
|
104
|
+
echo " workflow_filename_for_npm: ${WORKFLOW_FILE:-unknown}"
|
|
105
|
+
|
|
106
|
+
echo "OIDC claims (sanitized):"
|
|
107
|
+
RESPONSE=$(curl -fsS -H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=npm:registry.npmjs.org")
|
|
108
|
+
ID_TOKEN=$(node -e "
|
|
109
|
+
const fs = require('fs');
|
|
110
|
+
const data = JSON.parse(fs.readFileSync(0, 'utf8'));
|
|
111
|
+
process.stdout.write(data.value || '');
|
|
112
|
+
" <<<"$RESPONSE")
|
|
113
|
+
|
|
114
|
+
node -e "
|
|
115
|
+
const token = process.argv[1];
|
|
116
|
+
if (!token) {
|
|
117
|
+
console.log(JSON.stringify({ error: 'missing_id_token' }, null, 2));
|
|
118
|
+
process.exit(0);
|
|
119
|
+
}
|
|
120
|
+
const payloadPart = token.split('.')[1] || '';
|
|
121
|
+
const padded = payloadPart.replace(/-/g, '+').replace(/_/g, '/') + '='.repeat((4 - (payloadPart.length % 4)) % 4);
|
|
122
|
+
const claims = JSON.parse(Buffer.from(padded, 'base64').toString('utf8'));
|
|
123
|
+
const out = {
|
|
124
|
+
iss: claims.iss,
|
|
125
|
+
sub: claims.sub,
|
|
126
|
+
aud: claims.aud,
|
|
127
|
+
repository: claims.repository,
|
|
128
|
+
repository_owner: claims.repository_owner,
|
|
129
|
+
workflow: claims.workflow,
|
|
130
|
+
workflow_ref: claims.workflow_ref,
|
|
131
|
+
job_workflow_ref: claims.job_workflow_ref,
|
|
132
|
+
ref: claims.ref,
|
|
133
|
+
environment: claims.environment || null,
|
|
134
|
+
runner_environment: claims.runner_environment || null,
|
|
135
|
+
};
|
|
136
|
+
console.log(JSON.stringify(out, null, 2));
|
|
137
|
+
" "$ID_TOKEN"
|
|
138
|
+
|
|
139
|
+
- name: Configure git user
|
|
140
|
+
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
|
|
141
|
+
run: |
|
|
142
|
+
git config user.name "github-actions[bot]"
|
|
143
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
144
|
+
|
|
145
|
+
- name: Install dependencies
|
|
146
|
+
run: npm ci
|
|
147
|
+
|
|
148
|
+
- name: Run tests
|
|
149
|
+
run: npm test
|
|
150
|
+
|
|
151
|
+
- name: Derive next prerelease version
|
|
152
|
+
if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.channel == 'next')
|
|
153
|
+
run: |
|
|
154
|
+
NEXT_VER=$(npm view bmad-method@next version 2>/dev/null || echo "")
|
|
155
|
+
LATEST_VER=$(npm view bmad-method@latest version 2>/dev/null || echo "")
|
|
156
|
+
|
|
157
|
+
# Determine the best base version for the next prerelease.
|
|
158
|
+
BASE=$(node -e "
|
|
159
|
+
const semver = require('semver');
|
|
160
|
+
const next = process.argv[1] || null;
|
|
161
|
+
const latest = process.argv[2] || null;
|
|
162
|
+
if (!next && !latest) process.exit(0);
|
|
163
|
+
if (!next) { console.log(latest); process.exit(0); }
|
|
164
|
+
if (!latest) { console.log(next); process.exit(0); }
|
|
165
|
+
const nextBase = next.replace(/-next\.\d+$/, '');
|
|
166
|
+
console.log(semver.gt(latest, nextBase) ? latest : next);
|
|
167
|
+
" "$NEXT_VER" "$LATEST_VER")
|
|
168
|
+
|
|
169
|
+
if [ -n "$BASE" ]; then
|
|
170
|
+
npm version "$BASE" --no-git-tag-version --allow-same-version
|
|
171
|
+
fi
|
|
172
|
+
npm version prerelease --preid=next --no-git-tag-version
|
|
173
|
+
|
|
174
|
+
- name: Bump stable version
|
|
175
|
+
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
|
|
176
|
+
run: 'npm version ${{ inputs.bump }} -m "chore(release): v%s [skip ci]"'
|
|
177
|
+
|
|
178
|
+
- name: Debug publish target and registry state
|
|
179
|
+
run: |
|
|
180
|
+
echo "Local package target:"
|
|
181
|
+
node -e "
|
|
182
|
+
const pkg = require('./package.json');
|
|
183
|
+
console.log(JSON.stringify({ name: pkg.name, version: pkg.version }, null, 2));
|
|
184
|
+
"
|
|
185
|
+
|
|
186
|
+
echo "Registry package view (bmad-method):"
|
|
187
|
+
npm view bmad-method name version dist-tags --json || true
|
|
188
|
+
|
|
189
|
+
- name: Publish prerelease to npm
|
|
190
|
+
if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.channel == 'next')
|
|
191
|
+
run: npm publish --tag next --provenance
|
|
192
|
+
|
|
193
|
+
- name: Publish stable release to npm
|
|
194
|
+
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
|
|
195
|
+
run: npm publish --tag latest --provenance
|
|
196
|
+
|
|
197
|
+
- name: Print npm debug logs
|
|
198
|
+
if: always()
|
|
199
|
+
run: |
|
|
200
|
+
LOG_DIR="$HOME/.npm/_logs"
|
|
201
|
+
echo "npm log directory: $LOG_DIR"
|
|
202
|
+
ls -la "$LOG_DIR" || true
|
|
203
|
+
|
|
204
|
+
found=0
|
|
205
|
+
for file in "$LOG_DIR"/*-debug-0.log; do
|
|
206
|
+
[ -e "$file" ] || continue
|
|
207
|
+
found=1
|
|
208
|
+
echo "::group::npm-debug $(basename "$file")"
|
|
209
|
+
cat "$file"
|
|
210
|
+
echo "::endgroup::"
|
|
211
|
+
done
|
|
212
|
+
|
|
213
|
+
if [ "$found" -eq 0 ]; then
|
|
214
|
+
echo "No npm *-debug-0.log files found."
|
|
215
|
+
fi
|
|
216
|
+
|
|
217
|
+
- name: Push version commit and tag
|
|
218
|
+
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
|
|
219
|
+
run: git push origin main --follow-tags
|
|
220
|
+
|
|
221
|
+
- name: Create GitHub Release
|
|
222
|
+
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
|
|
223
|
+
run: |
|
|
224
|
+
TAG="v$(node -p 'require("./package.json").version')"
|
|
225
|
+
gh release create "$TAG" --generate-notes
|
|
226
|
+
env:
|
|
227
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
228
|
+
|
|
229
|
+
- name: Notify Discord
|
|
230
|
+
if: github.event_name == 'workflow_dispatch' && inputs.channel == 'latest'
|
|
231
|
+
continue-on-error: true
|
|
232
|
+
run: |
|
|
233
|
+
set -o pipefail
|
|
234
|
+
source .github/scripts/discord-helpers.sh
|
|
235
|
+
[ -z "$WEBHOOK" ] && exit 0
|
|
236
|
+
|
|
237
|
+
VERSION=$(node -p 'require("./package.json").version')
|
|
238
|
+
RELEASE_URL="${{ github.server_url }}/${{ github.repository }}/releases/tag/v${VERSION}"
|
|
239
|
+
MSG=$(printf '📦 **[bmad-method v%s released](<%s>)**' "$VERSION" "$RELEASE_URL" | esc)
|
|
240
|
+
|
|
241
|
+
jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
|
|
242
|
+
env:
|
|
243
|
+
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,42 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [6.0.4]
|
|
4
|
+
|
|
5
|
+
### 🎁 Features
|
|
6
|
+
|
|
7
|
+
* Add edge case hunter review task - new reusable review task that exhaustively traces branching paths and boundary conditions in code, reporting only unhandled gaps. Method-driven analysis complementary to adversarial review (#1790)
|
|
8
|
+
|
|
9
|
+
### 🐛 Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Fix brainstorming to not overwrite previous sessions; now prompts to continue existing brainstorming or start a new one when older brainstorming sessions are found
|
|
12
|
+
* Fix installer templates - replace legacy `@` path prefixes with explicit `{project-root}` syntax for consistency (#1769)
|
|
13
|
+
* Fix edge case hunter - remove zero-findings halt condition that was pressuring the LLM to hallucinate findings when none legitimately exist (#1797)
|
|
14
|
+
* Fix broken docs domain references in README and GitHub issue templates (#1777)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
3
18
|
## [6.0.3]
|
|
4
19
|
|
|
20
|
+
### 🎁 Features
|
|
21
|
+
|
|
22
|
+
* Add bmad-os-root-cause-analysis skill for analyzing bug-fix commits and producing structured root cause analysis reports with pyramid communication format (#1741)
|
|
23
|
+
|
|
5
24
|
### 🐛 Bug Fixes
|
|
6
25
|
|
|
26
|
+
* Fix installer to refuse installation when ancestor directory has BMAD commands, preventing duplicate command autocompletion in nested directories (#1735)
|
|
27
|
+
* Fix OpenCode integration by replacing unsupported `name` frontmatter with `mode: all` and update directory names to plural form (#1764)
|
|
28
|
+
* Fix CSV manifest pipeline double-escaping of quotes that was corrupting output files; switch Gemini templates to single quotes (#1746)
|
|
7
29
|
* Fix workflow descriptions to use proper quotes so they format better in skill conversion and don't break yaml front matter
|
|
30
|
+
* Fix workflow help task chaining by removing ambiguous "with-argument" clause that caused LLMs to misinterpret help.md as skill calls (#1740)
|
|
31
|
+
|
|
32
|
+
### ♻️ Refactoring
|
|
33
|
+
|
|
34
|
+
* Standardize all workflow descriptions to use proper quotes to prevent breaking command or skill front matter during skill conversion
|
|
35
|
+
|
|
36
|
+
### 📚 Documentation
|
|
37
|
+
|
|
38
|
+
* Fix broken TEA hyperlinks to point to new repository URL (#1772)
|
|
39
|
+
* Rebrand BMAD acronym to "Build More Architect Dreams" across documentation (#1765)
|
|
8
40
|
|
|
9
41
|
---
|
|
10
42
|
|
package/CONTRIBUTING.md
CHANGED
|
@@ -73,7 +73,7 @@ After searching, use the [feature request template](https://github.com/bmad-code
|
|
|
73
73
|
|
|
74
74
|
### Target Branch
|
|
75
75
|
|
|
76
|
-
Submit PRs to the `main` branch. We use
|
|
76
|
+
Submit PRs to the `main` branch. We use trunk-based development. Every push to `main` auto-publishes to `npm` under the `next` tag. Stable releases are cut ~weekly to the `latest` tag.
|
|
77
77
|
|
|
78
78
|
### PR Size
|
|
79
79
|
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://nodejs.org)
|
|
6
6
|
[](https://discord.gg/gk8jAdXWmj)
|
|
7
7
|
|
|
8
|
-
**
|
|
8
|
+
**Build More Architect Dreams** — An AI-driven agile development module for the BMad Method Module Ecosystem, the best and most comprehensive Agile AI Driven Development framework that has true scale-adaptive intelligence that adjusts from bug fixes to enterprise systems.
|
|
9
9
|
|
|
10
10
|
**100% free and open source.** No paywalls. No gated content. No gated Discord. We believe in empowering everyone, not just those who can pay for a gated community or courses.
|
|
11
11
|
|
|
@@ -20,7 +20,7 @@ Traditional AI tools do the thinking for you, producing average results. BMad ag
|
|
|
20
20
|
- **Party Mode** — Bring multiple agent personas into one session to collaborate and discuss
|
|
21
21
|
- **Complete Lifecycle** — From brainstorming to deployment
|
|
22
22
|
|
|
23
|
-
[Learn more at **docs.bmad-method.org**](
|
|
23
|
+
[Learn more at **docs.bmad-method.org**](https://docs.bmad-method.org)
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ Traditional AI tools do the thinking for you, producing average results. BMad ag
|
|
|
28
28
|
|
|
29
29
|
**V6 is here and we're just getting started!** The BMad Method is evolving rapidly with optimizations including Cross Platform Agent Team and Sub Agent inclusion, Skills Architecture, BMad Builder v1, Dev Loop Automation, and so much more in the works.
|
|
30
30
|
|
|
31
|
-
**[📍 Check out the complete Roadmap →](
|
|
31
|
+
**[📍 Check out the complete Roadmap →](https://docs.bmad-method.org/roadmap/)**
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
@@ -50,7 +50,7 @@ Follow the installer prompts, then open your AI IDE (Claude Code, Cursor, etc.)
|
|
|
50
50
|
npx bmad-method install --directory /path/to/project --modules bmm --tools claude-code --yes
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
[See all installation options](
|
|
53
|
+
[See all installation options](https://docs.bmad-method.org/how-to/non-interactive-installation/)
|
|
54
54
|
|
|
55
55
|
> **Not sure what to do?** Run `/bmad-help` — it tells you exactly what's next and what's optional. You can also ask questions like `/bmad-help I just finished the architecture, what do I do next?`
|
|
56
56
|
|
|
@@ -62,17 +62,17 @@ BMad Method extends with official modules for specialized domains. Available dur
|
|
|
62
62
|
| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
|
|
63
63
|
| **[BMad Method (BMM)](https://github.com/bmad-code-org/BMAD-METHOD)** | Core framework with 34+ workflows |
|
|
64
64
|
| **[BMad Builder (BMB)](https://github.com/bmad-code-org/bmad-builder)** | Create custom BMad agents and workflows |
|
|
65
|
-
| **[Test Architect (TEA)](https://github.com/bmad-code-org/
|
|
65
|
+
| **[Test Architect (TEA)](https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise)** | Risk-based test strategy and automation |
|
|
66
66
|
| **[Game Dev Studio (BMGD)](https://github.com/bmad-code-org/bmad-module-game-dev-studio)** | Game development workflows (Unity, Unreal, Godot) |
|
|
67
67
|
| **[Creative Intelligence Suite (CIS)](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite)** | Innovation, brainstorming, design thinking |
|
|
68
68
|
|
|
69
69
|
## Documentation
|
|
70
70
|
|
|
71
|
-
[BMad Method Docs Site](
|
|
71
|
+
[BMad Method Docs Site](https://docs.bmad-method.org) — Tutorials, guides, concepts, and reference
|
|
72
72
|
|
|
73
73
|
**Quick links:**
|
|
74
|
-
- [Getting Started Tutorial](
|
|
75
|
-
- [Upgrading from Previous Versions](
|
|
74
|
+
- [Getting Started Tutorial](https://docs.bmad-method.org/tutorials/getting-started/)
|
|
75
|
+
- [Upgrading from Previous Versions](https://docs.bmad-method.org/how-to/upgrade-to-v6/)
|
|
76
76
|
- [Test Architect Documentation](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/)
|
|
77
77
|
|
|
78
78
|
|