bmad-method 6.11.1-next.15 → 6.11.1-next.17
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/package.json +1 -1
- 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/tests/__pycache__/test_sprint_plan.cpython-311-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/ship/bmad-build/customize.toml +4 -4
- package/src/bmm-skills/ship/bmad-build/step-04-review.md +1 -1
- package/src/bmm-skills/ship/bmad-build/step-oneshot.md +1 -1
- package/src/bmm-skills/ship/bmad-build-auto/customize.toml +6 -3
- package/src/bmm-skills/ship/bmad-build-auto/step-04-review.md +1 -1
- package/src/bmm-skills/ship/bmad-code-review/customize.toml +6 -3
- package/src/bmm-skills/ship/bmad-code-review/steps/step-02-review.md +1 -1
- package/src/bmm-skills/ship/bmad-retrospective/scripts/__pycache__/sprint_status.cpython-311.pyc +0 -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/core-skills/bmad-review/SKILL.md +2 -2
- package/src/scripts/__pycache__/config_utils.cpython-311.pyc +0 -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/package.json
CHANGED
package/src/bmm-skills/plan/bmad-sprint-planning/scripts/__pycache__/sprint_plan.cpython-311.pyc
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -105,7 +105,7 @@ If you have zero findings, re-check and keep thinking; do not stop with an empty
|
|
|
105
105
|
CONTENT:
|
|
106
106
|
{diff_output}
|
|
107
107
|
|
|
108
|
-
Do not invoke any skill. Return
|
|
108
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
109
109
|
|
|
110
110
|
"""
|
|
111
111
|
|
|
@@ -121,7 +121,7 @@ Review content:
|
|
|
121
121
|
|
|
122
122
|
{diff_output}
|
|
123
123
|
|
|
124
|
-
Do not invoke any skill. If the instruction file is unreadable, report that exact failure and stop. Return
|
|
124
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. If the instruction file is unreadable, report that exact failure and stop. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
125
125
|
|
|
126
126
|
"""
|
|
127
127
|
|
|
@@ -137,7 +137,7 @@ Review content:
|
|
|
137
137
|
|
|
138
138
|
{diff_output}
|
|
139
139
|
|
|
140
|
-
Do not invoke any skill. If the instruction file is unreadable, report that exact failure and stop. Return
|
|
140
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. If the instruction file is unreadable, report that exact failure and stop. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
141
141
|
|
|
142
142
|
"""
|
|
143
143
|
|
|
@@ -159,6 +159,6 @@ If you have zero findings, re-check and keep thinking; do not stop with an empty
|
|
|
159
159
|
CONTENT:
|
|
160
160
|
The changed files in the current worktree. Inspect them directly before reviewing.
|
|
161
161
|
|
|
162
|
-
Do not invoke any skill. Return
|
|
162
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
163
163
|
|
|
164
164
|
"""
|
|
@@ -18,7 +18,7 @@ Do NOT `git add` anything — this is read-only inspection.
|
|
|
18
18
|
|
|
19
19
|
### Review
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Announce skipped layers first, then launch every active layer before handling any layer's result. Try running all active layers simultaneously: substitute the runtime placeholders (e.g. `{diff_output}`) into each layer's instruction. When an instruction launches a reviewer subagent, launch that child with the prompt text after placeholder substitution; do not load the reviewer instruction file yourself. For any other customized instruction, execute it as written. Parallel means several blocking calls awaited together in this turn — never backgrounded or detached, never ending the turn to await results. When running layers as subagents, spawn every reviewer before reading or reacting to any of their output; begin collection and triage only once all are launched.
|
|
22
22
|
|
|
23
23
|
{workflow.review_layers}
|
|
24
24
|
|
|
@@ -17,7 +17,7 @@ Implement the clarified intent directly.
|
|
|
17
17
|
|
|
18
18
|
### Review
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
Announce skipped layers first, then launch every active layer before handling any layer's result. Try running all active layers simultaneously. After substituting runtime placeholders, when an instruction launches a reviewer subagent, launch that child with the prompt text; do not load the reviewer instruction file yourself. For any other customized instruction, execute it as written:
|
|
21
21
|
|
|
22
22
|
{workflow.oneshot_review_layers}
|
|
23
23
|
|
|
@@ -67,7 +67,7 @@ If you have zero findings, re-check and keep thinking; do not stop with an empty
|
|
|
67
67
|
CONTENT:
|
|
68
68
|
{diff_output}
|
|
69
69
|
|
|
70
|
-
Do not invoke any skill. Return
|
|
70
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
71
71
|
|
|
72
72
|
"""
|
|
73
73
|
|
|
@@ -83,7 +83,7 @@ Review content:
|
|
|
83
83
|
|
|
84
84
|
{diff_output}
|
|
85
85
|
|
|
86
|
-
Do not invoke any skill. If the instruction file is unreadable, report that exact failure and stop. Return
|
|
86
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. If the instruction file is unreadable, report that exact failure and stop. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
87
87
|
|
|
88
88
|
"""
|
|
89
89
|
|
|
@@ -99,7 +99,7 @@ Review content:
|
|
|
99
99
|
|
|
100
100
|
{diff_output}
|
|
101
101
|
|
|
102
|
-
Do not invoke any skill. If the instruction file is unreadable, report that exact failure and stop. Return
|
|
102
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. If the instruction file is unreadable, report that exact failure and stop. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
103
103
|
|
|
104
104
|
"""
|
|
105
105
|
|
|
@@ -118,4 +118,7 @@ Here is the diff:
|
|
|
118
118
|
{diff_output}
|
|
119
119
|
|
|
120
120
|
Your task is strictly descriptive — do not prescribe additional work. Report: (1) the defensible readings of the intent, enumerated; (2) which reading this diff implements; (3) where the readings and the diff diverge — specifically, which surface the intent's expectations live at versus which surface the diff's changes and its tests exercise.
|
|
121
|
+
|
|
122
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
123
|
+
|
|
121
124
|
"""
|
|
@@ -20,7 +20,7 @@ Do NOT `git add` anything — this is read-only inspection.
|
|
|
20
20
|
|
|
21
21
|
Runtime placeholders: `{diff_output}` is the diff constructed above. `{verbatim_intent}` is the invocation intent exactly as this run received it at step-01; if the run started from an existing spec file rather than a fresh intent, it is the spec's `<intent-contract>` block instead. Before launching a layer, expand its skill-root placeholder to this skill's absolute installed directory; never leave that placeholder unresolved in a child prompt.
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Announce skipped layers first, then launch every active layer before handling any layer's result. Try running all active layers simultaneously: substitute the runtime placeholders (e.g. `{diff_output}`) into each layer's instruction. When an instruction launches a reviewer subagent, launch that child with the prompt text after placeholder substitution; do not load the reviewer instruction file yourself. For any other customized instruction, execute it as written. Parallel means several blocking calls awaited together in this turn — never backgrounded or detached, never ending the turn to await results (see workflow.md → Subagents). Spawn every reviewer subagent before reading or reacting to any of their output; begin collection and triage only once all are launched.
|
|
24
24
|
|
|
25
25
|
{workflow.review_layers}
|
|
26
26
|
|
|
@@ -62,7 +62,7 @@ If you have zero findings, re-check and keep thinking; do not stop with an empty
|
|
|
62
62
|
CONTENT:
|
|
63
63
|
{diff_output}
|
|
64
64
|
|
|
65
|
-
Do not invoke any skill. Return
|
|
65
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
66
66
|
|
|
67
67
|
"""
|
|
68
68
|
|
|
@@ -78,7 +78,7 @@ Review content:
|
|
|
78
78
|
|
|
79
79
|
{diff_output}
|
|
80
80
|
|
|
81
|
-
Do not invoke any skill. If the instruction file is unreadable, report that exact failure and stop. Return
|
|
81
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. If the instruction file is unreadable, report that exact failure and stop. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
82
82
|
|
|
83
83
|
"""
|
|
84
84
|
|
|
@@ -94,7 +94,7 @@ Review content:
|
|
|
94
94
|
|
|
95
95
|
{diff_output}
|
|
96
96
|
|
|
97
|
-
Do not invoke any skill. If the instruction file is unreadable, report that exact failure and stop. Return
|
|
97
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. If the instruction file is unreadable, report that exact failure and stop. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
98
98
|
|
|
99
99
|
"""
|
|
100
100
|
|
|
@@ -110,4 +110,7 @@ You are an Acceptance Auditor. Review the provided diff against `{spec_file}` an
|
|
|
110
110
|
Diff:
|
|
111
111
|
|
|
112
112
|
{diff_output}
|
|
113
|
+
|
|
114
|
+
Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer.
|
|
115
|
+
|
|
113
116
|
"""
|
|
@@ -21,7 +21,7 @@ failed_layers: '' # set at runtime: comma-separated list of layers that failed o
|
|
|
21
21
|
|
|
22
22
|
If no layer is active, HALT with status `blocked` and blocking condition `no active review layers`.
|
|
23
23
|
|
|
24
|
-
3.
|
|
24
|
+
3. Announce skipped layers first, then launch every active layer before handling any layer's result. Try running all active layers simultaneously: expand `{skill-root}` in each layer's `instruction` to this skill's absolute installed directory, then substitute the runtime placeholders (`{diff_output}`, `{spec_file}`). For an instruction that launches a reviewer subagent, launch that child with the prompt text after placeholder substitution; do not load the reviewer instruction file yourself. For any other customized instruction, execute it as written. Do not leave `{skill-root}` unresolved in a child prompt. If a layer's instruction requires subagents and subagents are not available, for each such layer write under `{implementation_artifacts}` the exact child prompt from that layer's instruction after placeholder substitution (not a path-only pointer), then HALT. Ask the user to run each in a separate session (ideally a different LLM) and paste back the findings. When findings are pasted, treat them as those layers' findings and resume from this point. This is the only allowed parent-side read of a reviewer instruction file.
|
|
25
25
|
|
|
26
26
|
4. **Layer failure handling**: If any layer fails, times out, or returns empty results, append the layer's `name` to `{failed_layers}` (comma-separated) and proceed with findings from the remaining layers.
|
|
27
27
|
|
package/src/bmm-skills/ship/bmad-retrospective/scripts/__pycache__/sprint_status.cpython-311.pyc
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -28,8 +28,8 @@ The lens set is whatever `{workflow.lenses}` resolves to, not a fixed list — o
|
|
|
28
28
|
2. **Load the content.** If it is empty or cannot be decoded as text: when the caller expects the raw findings JSON array (e.g. the legacy edge-case forwarder), return `[{"location":"N/A","trigger_condition":"Input empty or undecodable","guard_snippet":"Provide valid content to review","potential_consequence":"Review skipped — no analysis performed"}]` (no `lens` field) and stop; otherwise say what's wrong and ask for reviewable content. Classify the content — diff, source file, function, or document — and whether it is **code** or **docs**; scope rules and lens applicability both depend on it. A document that defines behavior (spec, requirements, plan, story) is `docs` that a behavioral lens may still apply to; judge by `when`.
|
|
29
29
|
3. **Select lenses** from `{workflow.lenses}`. A lens with an empty `instruction` is disabled. If the user or caller named lenses, run exactly those only — `applies_to` and `when` do not filter an explicit request. Otherwise run every enabled lens whose `applies_to` covers the content class (`any` always covers) and whose `when` applies.
|
|
30
30
|
4. **Announce the plan** in one line before running anything: the content class, the lenses about to run, and — when any lens has `after` set — that it runs on top of the named lens's findings. Skip the announcement entirely when the caller pinned an exact output contract (the legacy forwarders that demand raw JSON or one exact line) — their contract covers everything you emit, not just the findings block. Then execute each `{workflow.activation_steps_append}` entry in order.
|
|
31
|
-
5. **Run the independent lenses** — every selected lens without `after`. Each sees the content and `also_consider`, never another lens's findings. Follow each lens's `instruction`; the shipped lenses load their reference file just-in-time, so load only what runs. When subagents are available, spawn one per lens
|
|
32
|
-
6. **Run the dependent lenses** — every selected lens with `after`, once the lens it names has completed, passing that lens's findings in. A lens whose `after` target was not selected or produced nothing still runs, with no prior findings. Dependent lenses that name different targets are independent of each other and
|
|
31
|
+
5. **Run the independent lenses** — every selected lens without `after`. Each sees the content and `also_consider`, never another lens's findings. Follow each lens's `instruction`; the shipped lenses load their reference file just-in-time, so load only what runs. When subagents are available, launch every independent lens before handling any lens's result. Try running them simultaneously: spawn one per lens; give it the lens `instruction` with `{skill-root}` and paths resolved absolute, the content or where to read it, any `also_consider` areas, the standing review directives, and the constraint "Return ONLY your findings — no other output. Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer." Otherwise run the lenses sequentially yourself, completing one before starting the next.
|
|
32
|
+
6. **Run the dependent lenses** — every selected lens with `after`, once the lens it names has completed, passing that lens's findings in. A lens whose `after` target was not selected or produced nothing still runs, with no prior findings. Dependent lenses that name different targets are independent of each other: launch every ready one before handling any of their results. Try running them simultaneously. When subagents are available, spawn them with the same constraint as independent lenses: "Return ONLY your findings — no other output. Do not invoke any skill, and do not spawn subagents of your own — you are the reviewer. Return your findings as text in your final message; do not route them through any findings-reporting tool the host may offer."
|
|
33
33
|
7. **Assemble and present** per Output below. Keep every lens's findings — overlap between lenses is signal, not duplication; note it in the markdown report rather than deduping. Execute `{workflow.on_complete}` if set.
|
|
34
34
|
|
|
35
35
|
## Output
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|