From 436845493fe8a0ef3680a4d463f27c3365e859ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Revillard?= Date: Mon, 25 May 2026 16:59:38 +0200 Subject: [PATCH] fix(skills): strengthen activation guardrails to prevent LLM short-circuiting (#2398) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(skills): strengthen activation guardrails for all workflow skills Add explicit "Activation is complete" boundary markers that require confirming activation_steps_prepend and activation_steps_append were fully executed before beginning the main workflow. Previously, the guardrail was either missing (bmad-product-brief, bmad-prd, bmad-investigate) or too weak ("Begin the workflow below"). LLM agents would short-circuit complex activation sequences (INCLUDE → READ → RUN → CHECK → FILTER → CD) by guessing variables instead of executing steps in order, causing append steps and on_complete hooks to be silently skipped. The new guardrail explicitly names both prepend and append steps, requiring confirmation before proceeding. This prevents agents from starting the main workflow in parallel with activation. 23 skills updated: bmad-product-brief, bmad-prd, bmad-prfaq, bmad-investigate, bmad-create-story, bmad-dev-story, bmad-quick-dev, bmad-code-review, bmad-correct-course, bmad-sprint-planning, bmad-sprint-status, bmad-retrospective, bmad-qa-generate-e2e-tests, bmad-checkpoint-preview, bmad-check-implementation-readiness, bmad-create-architecture, bmad-create-epics-and-stories, bmad-generate-project-context, bmad-create-ux-design, bmad-document-project, bmad-market-research, bmad-technical-research, bmad-domain-research. * fix(skills): extend activation gate to agent + new skills, refine placement - bmad-product-brief / bmad-prd: pull activation_steps_append out of the numbered list so the sentinel reads as a paragraph break, not as the next list item. - bmad-investigate: move the sentinel above Step 7 (routing) — Step 7 is workflow routing, not activation; the gate must fire first. - bmad-agent-{analyst,tech-writer,pm,ux-designer,architect,dev}: add the same gate between Step 7 (append) and Step 8 (menu dispatch). Persona skills had the same short-circuit risk but no sentinel. - bmad-ux, bmad-spec: new skills introduced on main after this branch forked; apply the same gate so the pattern stays consistent. - removals.txt: register bmad-create-ux-design as renamed to bmad-ux. --------- Co-authored-by: Brian Madison --- removals.txt | 3 +++ src/bmm-skills/1-analysis/bmad-agent-analyst/SKILL.md | 2 ++ src/bmm-skills/1-analysis/bmad-agent-tech-writer/SKILL.md | 2 ++ src/bmm-skills/1-analysis/bmad-document-project/SKILL.md | 2 +- src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md | 2 +- src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md | 5 ++++- .../1-analysis/research/bmad-domain-research/SKILL.md | 2 +- .../1-analysis/research/bmad-market-research/SKILL.md | 2 +- .../1-analysis/research/bmad-technical-research/SKILL.md | 2 +- src/bmm-skills/2-plan-workflows/bmad-agent-pm/SKILL.md | 2 ++ .../2-plan-workflows/bmad-agent-ux-designer/SKILL.md | 2 ++ src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md | 5 ++++- src/bmm-skills/2-plan-workflows/bmad-ux/SKILL.md | 5 ++++- src/bmm-skills/3-solutioning/bmad-agent-architect/SKILL.md | 2 ++ .../bmad-check-implementation-readiness/SKILL.md | 2 +- .../3-solutioning/bmad-create-architecture/SKILL.md | 2 +- .../3-solutioning/bmad-create-epics-and-stories/SKILL.md | 2 +- .../3-solutioning/bmad-generate-project-context/SKILL.md | 2 +- src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md | 2 ++ .../4-implementation/bmad-checkpoint-preview/SKILL.md | 2 +- src/bmm-skills/4-implementation/bmad-code-review/SKILL.md | 2 +- src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md | 2 +- src/bmm-skills/4-implementation/bmad-create-story/SKILL.md | 2 +- src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md | 2 +- src/bmm-skills/4-implementation/bmad-investigate/SKILL.md | 2 ++ .../4-implementation/bmad-qa-generate-e2e-tests/SKILL.md | 2 +- src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md | 2 +- src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md | 2 +- .../4-implementation/bmad-sprint-planning/SKILL.md | 2 +- src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md | 2 +- src/core-skills/bmad-spec/SKILL.md | 5 ++++- 31 files changed, 52 insertions(+), 23 deletions(-) diff --git a/removals.txt b/removals.txt index a694583e6..968d98180 100644 --- a/removals.txt +++ b/removals.txt @@ -57,3 +57,6 @@ bmad-bmm-validate-prd # bmad-distillator: superseded by bmad-spec (universal intent distiller with # preservation-validated contract for downstream skills). bmad-distillator +# bmad-create-ux-design: renamed to bmad-ux (spine-based skill with separate +# DESIGN.md and EXPERIENCE.md outputs). +bmad-create-ux-design diff --git a/src/bmm-skills/1-analysis/bmad-agent-analyst/SKILL.md b/src/bmm-skills/1-analysis/bmad-agent-analyst/SKILL.md index 4653171df..c672058eb 100644 --- a/src/bmm-skills/1-analysis/bmad-agent-analyst/SKILL.md +++ b/src/bmm-skills/1-analysis/bmad-agent-analyst/SKILL.md @@ -63,6 +63,8 @@ Continue to prefix your messages with `{agent.icon}` throughout the session so t Execute each entry in `{agent.activation_steps_append}` in order. +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. + ### Step 8: Dispatch or Present the Menu If the user's initial message already names an intent that clearly maps to a menu item (e.g. "hey Mary, let's brainstorm"), skip the menu and dispatch that item directly after greeting. diff --git a/src/bmm-skills/1-analysis/bmad-agent-tech-writer/SKILL.md b/src/bmm-skills/1-analysis/bmad-agent-tech-writer/SKILL.md index ff6430d93..1ff9016d2 100644 --- a/src/bmm-skills/1-analysis/bmad-agent-tech-writer/SKILL.md +++ b/src/bmm-skills/1-analysis/bmad-agent-tech-writer/SKILL.md @@ -63,6 +63,8 @@ Continue to prefix your messages with `{agent.icon}` throughout the session so t Execute each entry in `{agent.activation_steps_append}` in order. +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. + ### Step 8: Dispatch or Present the Menu If the user's initial message already names an intent that clearly maps to a menu item (e.g. "hey Paige, let's document this codebase"), skip the menu and dispatch that item directly after greeting. diff --git a/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md b/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md index 112732031..045ffb254 100644 --- a/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md +++ b/src/bmm-skills/1-analysis/bmad-document-project/SKILL.md @@ -55,7 +55,7 @@ Greet `{user_name}` (if you have not already), speaking in `{communication_langu Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Execution diff --git a/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md b/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md index 6ce2d33ed..580d8ec75 100644 --- a/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md +++ b/src/bmm-skills/1-analysis/bmad-prfaq/SKILL.md @@ -65,7 +65,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Be warm but efficie Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Continue below. +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. ## Pre-workflow Setup diff --git a/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md b/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md index ecbc09419..ec06f0a3d 100644 --- a/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +++ b/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md @@ -21,7 +21,10 @@ At the opening greeting, let the user know they can invoke `bmad-party-mode` for 4. `{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 in `## Discovery`, org tools preferred when their directive matches. If a named tool is unavailable at runtime, fall back to standard behavior and note the gap when relevant. 5. Load `{project-root}/_bmad/bmm/config.yaml` (and `config.user.yaml` if present). Resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{planning_artifacts}`, `{project_name}`, `{date}`. 6. Greet `{user_name}` in `{communication_language}` — and stay in `{communication_language}` for every turn for the entire run, not just the greeting. Detect intent (create / update / validate). If interactive and intent is unclear, ask; for headless behavior see `## Headless Mode`. -7. Execute each entry in `{workflow.activation_steps_append}` in order. + +Execute each entry in `{workflow.activation_steps_append}` in order. + +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. ## Intent Operating Modes diff --git a/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md b/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md index be364aa2f..9ea915f08 100644 --- a/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md +++ b/src/bmm-skills/1-analysis/research/bmad-domain-research/SKILL.md @@ -59,7 +59,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## QUICK TOPIC DISCOVERY diff --git a/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md b/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md index 964049085..29fefa4de 100644 --- a/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md +++ b/src/bmm-skills/1-analysis/research/bmad-market-research/SKILL.md @@ -59,7 +59,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## QUICK TOPIC DISCOVERY diff --git a/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md b/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md index 582a05c60..511816415 100644 --- a/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md +++ b/src/bmm-skills/1-analysis/research/bmad-technical-research/SKILL.md @@ -59,7 +59,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## QUICK TOPIC DISCOVERY diff --git a/src/bmm-skills/2-plan-workflows/bmad-agent-pm/SKILL.md b/src/bmm-skills/2-plan-workflows/bmad-agent-pm/SKILL.md index 693072603..accf47d34 100644 --- a/src/bmm-skills/2-plan-workflows/bmad-agent-pm/SKILL.md +++ b/src/bmm-skills/2-plan-workflows/bmad-agent-pm/SKILL.md @@ -63,6 +63,8 @@ Continue to prefix your messages with `{agent.icon}` throughout the session so t Execute each entry in `{agent.activation_steps_append}` in order. +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. + ### Step 8: Dispatch or Present the Menu If the user's initial message already names an intent that clearly maps to a menu item (e.g. "hey John, let's write the PRD"), skip the menu and dispatch that item directly after greeting. diff --git a/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/SKILL.md b/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/SKILL.md index cb261c3fb..f2ee265e8 100644 --- a/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/SKILL.md +++ b/src/bmm-skills/2-plan-workflows/bmad-agent-ux-designer/SKILL.md @@ -63,6 +63,8 @@ Continue to prefix your messages with `{agent.icon}` throughout the session so t Execute each entry in `{agent.activation_steps_append}` in order. +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. + ### Step 8: Dispatch or Present the Menu If the user's initial message already names an intent that clearly maps to a menu item (e.g. "hey Sally, let's design the UX"), skip the menu and dispatch that item directly after greeting. diff --git a/src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md b/src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md index 2f29da936..db005fff7 100644 --- a/src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md +++ b/src/bmm-skills/2-plan-workflows/bmad-prd/SKILL.md @@ -20,7 +20,10 @@ You are a master facilitator and coach helping the user create, edit, or validat 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. 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-quick-dev`; 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. 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. -6. Run `{workflow.activation_steps_append}`. + +Run `{workflow.activation_steps_append}`. + +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. ## Intent Modes diff --git a/src/bmm-skills/2-plan-workflows/bmad-ux/SKILL.md b/src/bmm-skills/2-plan-workflows/bmad-ux/SKILL.md index 37dddbedb..295cdf75e 100644 --- a/src/bmm-skills/2-plan-workflows/bmad-ux/SKILL.md +++ b/src/bmm-skills/2-plan-workflows/bmad-ux/SKILL.md @@ -35,7 +35,10 @@ UX may lead, follow, or stand alone. Inherit `sources:` by reference; the spines 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. 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. In the greeting, let the user know `bmad-party-mode` and `bmad-advanced-elicitation` are always available. Then scan for misroute on the first message: PRD → `bmad-prd`; architecture → `bmad-create-architecture`; game UX → BMad GDS; agent/skill → `bmad-workflow-builder`; brief → `bmad-product-brief`. 5. Detect intent: **Create**, **Update**, **Validate**. For Create, before binding a fresh workspace, scan `{workflow.ux_output_path}` for prior in-progress runs (folders matching `{workflow.run_folder_pattern}` whose `DESIGN.md` frontmatter `status` is not `final`) and offer to resume rather than starting over. -6. Run `{workflow.activation_steps_append}`. + +Run `{workflow.activation_steps_append}`. + +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. ## Modes diff --git a/src/bmm-skills/3-solutioning/bmad-agent-architect/SKILL.md b/src/bmm-skills/3-solutioning/bmad-agent-architect/SKILL.md index 1650aee09..b5807ba6e 100644 --- a/src/bmm-skills/3-solutioning/bmad-agent-architect/SKILL.md +++ b/src/bmm-skills/3-solutioning/bmad-agent-architect/SKILL.md @@ -63,6 +63,8 @@ Continue to prefix your messages with `{agent.icon}` throughout the session so t Execute each entry in `{agent.activation_steps_append}` in order. +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. + ### Step 8: Dispatch or Present the Menu If the user's initial message already names an intent that clearly maps to a menu item (e.g. "hey Winston, let's architect this"), skip the menu and dispatch that item directly after greeting. diff --git a/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md b/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md index 1d5133f90..a34a25a7d 100644 --- a/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md +++ b/src/bmm-skills/3-solutioning/bmad-check-implementation-readiness/SKILL.md @@ -84,7 +84,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Execution diff --git a/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md b/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md index ca89a71cf..e7f024ed2 100644 --- a/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md +++ b/src/bmm-skills/3-solutioning/bmad-create-architecture/SKILL.md @@ -65,7 +65,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Execution diff --git a/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md b/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md index a3f0f61c8..a97bc2404 100644 --- a/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md +++ b/src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/SKILL.md @@ -86,7 +86,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Execution diff --git a/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md b/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md index 42fd2e8fc..b452de5d4 100644 --- a/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md +++ b/src/bmm-skills/3-solutioning/bmad-generate-project-context/SKILL.md @@ -65,7 +65,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Paths diff --git a/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md b/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md index 95a3b9594..22d158bfe 100644 --- a/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md @@ -63,6 +63,8 @@ Continue to prefix your messages with `{agent.icon}` throughout the session so t Execute each entry in `{agent.activation_steps_append}` in order. +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. + ### Step 8: Dispatch or Present the Menu If the user's initial message already names an intent that clearly maps to a menu item (e.g. "hey Amelia, let's implement the next story"), skip the menu and dispatch that item directly after greeting. diff --git a/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md b/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md index 101dcf2bc..e512ab675 100644 --- a/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-checkpoint-preview/SKILL.md @@ -55,7 +55,7 @@ Greet the user, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Global Step Rules (apply to every step) diff --git a/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md b/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md index 44223f11a..b4c88fde3 100644 --- a/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-code-review/SKILL.md @@ -58,7 +58,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## WORKFLOW ARCHITECTURE diff --git a/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md b/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md index adea0bda0..f62b91780 100644 --- a/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-correct-course/SKILL.md @@ -62,7 +62,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Paths diff --git a/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md b/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md index cf14039c1..7d407098b 100644 --- a/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-create-story/SKILL.md @@ -63,7 +63,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Paths diff --git a/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md b/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md index f30835c8c..9944ec8d8 100644 --- a/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-dev-story/SKILL.md @@ -64,7 +64,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Paths diff --git a/src/bmm-skills/4-implementation/bmad-investigate/SKILL.md b/src/bmm-skills/4-implementation/bmad-investigate/SKILL.md index 3e0442809..50e461917 100644 --- a/src/bmm-skills/4-implementation/bmad-investigate/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-investigate/SKILL.md @@ -79,6 +79,8 @@ Greet `{user_name}` in `{communication_language}`. Run each entry in `{workflow.activation_steps_append}` in order. +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. + ### Step 7: Acknowledge and route Acknowledge the input as a reference (record paths and IDs; don't read raw content). Path to an existing case file → diff --git a/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md b/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md index ef9d7e87a..cbf358027 100644 --- a/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-qa-generate-e2e-tests/SKILL.md @@ -56,7 +56,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Paths diff --git a/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md b/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md index f5326fc3f..c62358be6 100644 --- a/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-quick-dev/SKILL.md @@ -79,7 +79,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## WORKFLOW ARCHITECTURE diff --git a/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md b/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md index b6d0c96c6..d885d0d99 100644 --- a/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-retrospective/SKILL.md @@ -73,7 +73,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Paths diff --git a/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md b/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md index 53d0a0c76..dd7bfa55b 100644 --- a/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-sprint-planning/SKILL.md @@ -59,7 +59,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Paths diff --git a/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md b/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md index c75c431f5..cad4f0df0 100644 --- a/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md +++ b/src/bmm-skills/4-implementation/bmad-sprint-status/SKILL.md @@ -57,7 +57,7 @@ Greet `{user_name}`, speaking in `{communication_language}`. Execute each entry in `{workflow.activation_steps_append}` in order. -Activation is complete. Begin the workflow below. +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. ## Paths diff --git a/src/core-skills/bmad-spec/SKILL.md b/src/core-skills/bmad-spec/SKILL.md index d3d437e15..97baefed3 100644 --- a/src/core-skills/bmad-spec/SKILL.md +++ b/src/core-skills/bmad-spec/SKILL.md @@ -22,7 +22,10 @@ Multiple skills may call to update the same spec over time. 2. Run `{workflow.activation_steps_prepend}`. Treat `{workflow.persistent_facts}` as foundational context (`file:` entries are loaded). 3. Load `{project-root}/_bmad/core/config.yaml` (and `config.user.yaml` if present), root level and `bmm` section. Resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{planning_artifacts}`, `{project_name}`, `{date}`. 4. Detect mode. **Headless** when any of: no TTY, programmatic caller (another skill or non-interactive runner), or the first message pre-supplies all inputs and asks for an artifact path back. **Interactive** otherwise. In interactive mode, greet by `{user_name}` in `{communication_language}`, stay in that language, and mention that `bmad-party-mode` and `bmad-advanced-elicitation` are available for deeper exploration on any field. -5. Run `{workflow.activation_steps_append}`. + +Run `{workflow.activation_steps_append}`. + +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. ## Workspace