fix(skills): validation pass 2 — fix path, variable, and sequence issues across 32 files

Run skill-validator against all 36 skills on HEAD (42b1d0f6). Fixes:

- PATH-01: relative path corrections in product-brief-preview, brainstorming,
  distillator, generate-project-context, edit-prd, quick-dev-new-preview
- PATH-04: remove 5 intra-skill path variables from edit-prd
- REF-01: single-curly template vars → double-curly in create-architecture,
  create-epics-and-stories, create-story
- REF-02: fix dangling file refs in advanced-elicitation, validate-prd, edit-prd
- REF-03: update rule to prefer natural language `Invoke the skill` form;
  fix stale persona ref in qa-generate-e2e-tests
- SEQ-01: "skip to" → "proceed to" in quick-dev-new-preview
- SEQ-02: remove time estimates from document-project, quick-spec
- SKILL-06: add "Use when" trigger to review-edge-case-hunter
- STEP numbering: renumber step n="0.5" to integer sequence in retrospective

Also updates REF-03 rule in tools/skill-validator.md to clarify that
natural language invocation is canonical — no skill: prefix required.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alex Verkhovsky 2026-03-15 10:38:43 -06:00
parent 42b1d0f657
commit 098c96740c
33 changed files with 91 additions and 101 deletions

View File

@ -84,5 +84,5 @@ Check activation context immediately:
## External Skills
This workflow uses:
- `bmad-init`Configuration loading (module: bmm)
This workflow may invoke:
- `bmad-init`Invoke for configuration loading (module: bmm)

View File

@ -12,9 +12,9 @@ Now that you know what the brief is about, fan out subagents in parallel to gath
**Launch in parallel:**
1. **Artifact Analyzer** (`agents/artifact-analyzer.md`) — Scans `{planning_artifacts}` and `{project_knowledge}` for relevant documents. Also scans any specific paths the user provided. Returns structured synthesis of what it found.
1. **Artifact Analyzer** (`../agents/artifact-analyzer.md`) — Scans `{planning_artifacts}` and `{project_knowledge}` for relevant documents. Also scans any specific paths the user provided. Returns structured synthesis of what it found.
2. **Web Researcher** (`agents/web-researcher.md`) — Searches for competitive landscape, market context, trends, and relevant industry data. Returns structured findings scoped to the product domain.
2. **Web Researcher** (`../agents/web-researcher.md`) — Searches for competitive landscape, market context, trends, and relevant industry data. Returns structured findings scoped to the product domain.
### Graceful Degradation
@ -38,20 +38,20 @@ Once subagent results return (or inline scanning completes):
- Highlight anything surprising or worth discussing
- Share the gaps you've identified
- Ask: "Anything else you'd like to add, or shall we move on to filling in the details?"
- Route to `prompts/guided-elicitation.md`
- Route to `guided-elicitation.md`
**Yolo mode:**
- Absorb all findings silently
- Skip directly to `prompts/draft-and-review.md` — you have enough to draft
- Skip directly to `draft-and-review.md` — you have enough to draft
- The user will refine later
**Headless mode:**
- Absorb all findings
- Skip directly to `prompts/draft-and-review.md`
- Skip directly to `draft-and-review.md`
- No interaction
## Stage Complete
This stage is complete when subagent results (or inline scanning fallback) have returned and findings are merged with user context. Route per mode:
- **Guided**`prompts/guided-elicitation.md`
- **Yolo / Headless**`prompts/draft-and-review.md`
- **Guided**`guided-elicitation.md`
- **Yolo / Headless**`draft-and-review.md`

View File

@ -8,7 +8,7 @@
## Step 1: Draft the Executive Brief
Use `resources/brief-template.md` as a guide — adapt structure to fit the product's story.
Use `../resources/brief-template.md` as a guide — adapt structure to fit the product's story.
**Writing principles:**
- **Executive audience** — persuasive, clear, concise. 1-2 pages.
@ -36,9 +36,9 @@ Before showing the draft to the user, run it through multiple review lenses in p
**Launch in parallel:**
1. **Skeptic Reviewer** (`agents/skeptic-reviewer.md`) — "What's missing? What assumptions are untested? What could go wrong? Where is the brief vague or hand-wavy?"
1. **Skeptic Reviewer** (`../agents/skeptic-reviewer.md`) — "What's missing? What assumptions are untested? What could go wrong? Where is the brief vague or hand-wavy?"
2. **Opportunity Reviewer** (`agents/opportunity-reviewer.md`) — "What adjacent value propositions are being missed? What market angles or partnerships could strengthen this? What's underemphasized?"
2. **Opportunity Reviewer** (`../agents/opportunity-reviewer.md`) — "What adjacent value propositions are being missed? What market angles or partnerships could strengthen this? What's underemphasized?"
3. **Contextual Reviewer** — You (the main agent) pick the most useful third lens based on THIS specific product. Choose the lens that addresses the SINGLE BIGGEST RISK that the skeptic and opportunity reviewers won't naturally catch. Examples:
- For healthtech: "Regulatory and compliance risk reviewer"
@ -65,7 +65,7 @@ After all reviews complete:
## Step 4: Present to User
**Headless mode:** Skip to `prompts/finalize.md` — no user interaction. Save the improved draft directly.
**Headless mode:** Skip to `finalize.md` — no user interaction. Save the improved draft directly.
**Yolo and Guided modes:**
@ -83,4 +83,4 @@ Present reviewer findings with brief rationale, then offer: "Want me to dig into
## Stage Complete
This stage is complete when: (a) the draft has been reviewed by all three lenses and improvements integrated, AND either (autonomous) save and route directly, or (guided/yolo) the user is satisfied. Route to `prompts/finalize.md`.
This stage is complete when: (a) the draft has been reviewed by all three lenses and improvements integrated, AND either (autonomous) save and route directly, or (guided/yolo) the user is satisfied. Route to `finalize.md`.

View File

@ -72,4 +72,4 @@ purpose: "Token-efficient context for downstream PRD creation"
## Stage Complete
This is the terminal stage. After delivering the completion message and file paths, the workflow is done. If the user requests further revisions, loop back to `prompts/draft-and-review.md`. Otherwise, exit.
This is the terminal stage. After delivering the completion message and file paths, the workflow is done. If the user requests further revisions, loop back to `draft-and-review.md`. Otherwise, exit.

View File

@ -5,7 +5,7 @@
**Goal:** Fill the gaps in what you know. By now you have the user's brain dump, artifact analysis, and web research. This stage is about smart, targeted questioning — not rote section-by-section interrogation.
**Skip this stage entirely in Yolo and Autonomous modes** — go directly to `prompts/draft-and-review.md`.
**Skip this stage entirely in Yolo and Autonomous modes** — go directly to `draft-and-review.md`.
## Approach
@ -67,4 +67,4 @@ If the user is providing complete, confident answers and you have solid coverage
## Stage Complete
This stage is complete when sufficient substance exists to draft a compelling brief and the user confirms readiness. Route to `prompts/draft-and-review.md`.
This stage is complete when sufficient substance exists to draft a compelling brief and the user confirms readiness. Route to `draft-and-review.md`.

View File

@ -3,7 +3,6 @@ name: 'step-e-01-discovery'
description: 'Discovery & Understanding - Understand what user wants to edit and detect PRD format'
# File references (ONLY variables used in this step)
altStepFile: './step-e-01b-legacy-conversion.md'
prdPurpose: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md'
---
@ -188,7 +187,7 @@ Display: "**Edit Requirements Understood**
**Proceeding to deep review and analysis...**"
Read fully and follow: next step (step-e-02-review.md)
Read fully and follow: [step-e-02-review.md](step-e-02-review.md)
**IF PRD is Legacy (Non-Standard) AND no validation report:**
@ -215,7 +214,7 @@ Present MENU OPTIONS below for user selection
#### Menu Handling Logic:
- IF C (Convert): Read fully and follow: {altStepFile} (step-e-01b-legacy-conversion.md)
- IF C (Convert): Read fully and follow: [step-e-01b-legacy-conversion.md](step-e-01b-legacy-conversion.md)
- IF E (Edit As-Is): Display "Proceeding with edits..." then load next step
- IF X (Exit): Display summary and exit
- IF Any other: help user, then redisplay menu

View File

@ -3,7 +3,6 @@ name: 'step-e-01b-legacy-conversion'
description: 'Legacy PRD Conversion Assessment - Analyze legacy PRD and propose conversion strategy'
# File references (ONLY variables used in this step)
nextStepFile: './step-e-02-review.md'
prdFile: '{prd_file_path}'
prdPurpose: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md'
---
@ -182,7 +181,7 @@ Edit goals: {summary}
**Proceeding to deep review...**"
Read fully and follow: {nextStepFile} (step-e-02-review.md)
Read fully and follow: [step-e-02-review.md](step-e-02-review.md)
---

View File

@ -3,7 +3,6 @@ name: 'step-e-02-review'
description: 'Deep Review & Analysis - Thoroughly review existing PRD and prepare detailed change plan'
# File references (ONLY variables used in this step)
nextStepFile: './step-e-03-edit.md'
prdFile: '{prd_file_path}'
validationReport: '{validation_report_path}' # If provided
prdPurpose: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md'
@ -204,7 +203,7 @@ Display: "**Change Plan Approved**
**Proceeding to edit step...**"
Read fully and follow: {nextStepFile} (step-e-03-edit.md)
Read fully and follow: [step-e-03-edit.md](step-e-03-edit.md)
### 7. Present MENU OPTIONS (If User Wants Discussion)
@ -221,7 +220,7 @@ Read fully and follow: {nextStepFile} (step-e-03-edit.md)
- IF A: Invoke the `bmad-advanced-elicitation` skill, then return to discussion
- IF P: Invoke the `bmad-party-mode` skill, then return to discussion
- IF C: Document approval, then load {nextStepFile}
- IF C: Document approval, then load [step-e-03-edit.md](step-e-03-edit.md)
- IF Any other: discuss, then redisplay menu
---

View File

@ -3,7 +3,6 @@ name: 'step-e-03-edit'
description: 'Edit & Update - Apply changes to PRD following approved change plan'
# File references (ONLY variables used in this step)
nextStepFile: './step-e-04-complete.md'
prdFile: '{prd_file_path}'
prdPurpose: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md'
---
@ -211,10 +210,8 @@ Display:
### 8. Present MENU OPTIONS
**[V] Run Validation** - Execute full validation workflow (steps-v/step-v-01-discovery.md)
**[S] Summary Only** - End with summary of changes (no validation)
**[C] Continue** - Proceed to completion and next steps
**[A] Adjust** - Make additional edits
**[X] Exit** - Exit edit workflow
#### EXECUTION RULES:
@ -223,10 +220,8 @@ Display:
#### Menu Handling Logic:
- IF V (Validate): Display "Starting validation workflow..." then read fully and follow: steps-v/step-v-01-discovery.md
- IF S (Summary): Present edit summary and exit
- IF C (Continue): Read fully and follow: [step-e-04-complete.md](step-e-04-complete.md)
- IF A (Adjust): Accept additional requirements, loop back to editing
- IF X (Exit): Display summary and exit
---
@ -239,8 +234,7 @@ Display:
- Restructuring completed (if needed)
- Frontmatter updated accurately
- Final verification confirms changes
- User can proceed to validation or exit with summary
- Option to run validation seamlessly integrates edit and validate modes
- User can proceed to completion step or adjust edits
### ❌ SYSTEM FAILURE:
@ -251,4 +245,4 @@ Display:
- No final verification
- Not saving updated PRD
**Master Rule:** Execute the plan exactly as approved. PRD is now ready for validation or downstream use. Validation integration ensures quality.
**Master Rule:** Execute the plan exactly as approved. PRD is now ready for validation or downstream use.

View File

@ -127,7 +127,7 @@ Display:
- Display: "**Additional Edits**"
- Ask: "What additional edits would you like to make?"
- Accept input, then display: "**Returning to edit step...**"
- Read fully and follow: step-e-03-edit.md again
- Read fully and follow: [step-e-03-edit.md](step-e-03-edit.md) again
- **IF S (Summary):**
- Display detailed summary including:

View File

@ -1,6 +1,5 @@
---
main_config: '{project-root}/_bmad/bmm/config.yaml'
editWorkflow: './steps-e/step-e-01-discovery.md'
---
# PRD Edit Workflow
@ -61,4 +60,4 @@ Load and read full config from {main_config} and resolve:
Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file."
Then read fully and follow: `{editWorkflow}` (steps-e/step-e-01-discovery.md)
Then read fully and follow: [steps-e/step-e-01-discovery.md](steps-e/step-e-01-discovery.md)

View File

@ -180,9 +180,9 @@ Display:
- After review, return to menu
- **IF E (Use Edit Workflow):**
- Explain: "The Edit workflow (steps-e/) can use this validation report to systematically address issues. Edit mode will guide you through discovering what to edit, reviewing the PRD, and applying targeted improvements."
- Explain: "The Edit workflow can use this validation report to systematically address issues. Edit mode will guide you through discovering what to edit, reviewing the PRD, and applying targeted improvements."
- Offer: "Would you like to launch Edit mode now? It will help you fix validation findings systematically."
- If yes: Read fully and follow: steps-e/step-e-01-discovery.md
- If yes: Invoke the `bmad-edit-prd` skill, passing the validation report path as context
- If no: Return to menu
- **IF F (Fix Simpler Items):**

View File

@ -112,13 +112,13 @@ Report what was found:
**Documents Found:**
- PRD: {number of PRD files loaded or "None found - REQUIRED"}
- UX Design: {number of UX files loaded or "None found"}
- Research: {number of research files loaded or "None found"}
- Project docs: {number of project files loaded or "None found"}
- Project context: {project_context_rules count of rules for AI agents found}
- PRD: {{number_of_prd_files_loaded_or_none}}
- UX Design: {{number_of_ux_files_loaded_or_none}}
- Research: {{number_of_research_files_loaded_or_none}}
- Project docs: {{number_of_project_files_loaded_or_none}}
- Project context: {{project_context_rules_count}}
**Files loaded:** {list of specific file names or "No additional documents found"}
**Files loaded:** {{list_of_loaded_file_names}}
Ready to begin architectural decision making. Do you have any other documents you'd like me to include?

View File

@ -64,13 +64,13 @@ Show the user their current progress:
- Input documents loaded: {{number of inputDocuments}} files
**Document Sections Found:**
{list all H2/H3 sections found in the document}
{{list_of_h2_h3_sections_found_in_document}}
{if_incomplete_sections}
{{if_incomplete_sections}}
**Incomplete Areas:**
- {areas that appear incomplete or have placeholders}
{/if_incomplete_sections}
- {{areas_that_appear_incomplete_or_have_placeholders}}
{{/if_incomplete_sections}}
**What would you like to do?**
[R] Resume from where we left off

View File

@ -96,15 +96,15 @@ Present your analysis back to user for validation:
"I'm reviewing your project documentation for {{project_name}}.
{if_epics_loaded}I see {{epic_count}} epics with {{story_count}} total stories.{/if_epics_loaded}
{if_no_epics}I found {{fr_count}} functional requirements organized into {{fr_category_list}}.{/if_no_epics}
{if_ux_loaded}I also found your UX specification which defines the user experience requirements.{/if_ux_loaded}
{{if_epics_loaded}}I see {{epic_count}} epics with {{story_count}} total stories.{{/if_epics_loaded}}
{{if_no_epics}}I found {{fr_count}} functional requirements organized into {{fr_category_list}}.{{/if_no_epics}}
{{if_ux_loaded}}I also found your UX specification which defines the user experience requirements.{{/if_ux_loaded}}
**Key architectural aspects I notice:**
- [Summarize core functionality from FRs]
- [Note critical NFRs that will shape architecture]
- {if_ux_loaded}[Note UX complexity and technical requirements]{/if_ux_loaded}
- {{if_ux_loaded}}[Note UX complexity and technical requirements]{{/if_ux_loaded}}
- [Identify unique technical challenges or constraints]
- [Highlight any regulatory or compliance requirements]

View File

@ -79,18 +79,18 @@ Stories must be independently completable in sequence:
**STORY FORMAT (from template):**
```
### Story {N}.{M}: {story_title}
### Story {{N}}.{{M}}: {{story_title}}
As a {user_type},
I want {capability},
So that {value_benefit}.
As a {{user_type}},
I want {{capability}},
So that {{value_benefit}}.
**Acceptance Criteria:**
**Given** {precondition}
**When** {action}
**Then** {expected_outcome}
**And** {additional_criteria}
**Given** {{precondition}}
**When** {{action}}
**Then** {{expected_outcome}}
**And** {{additional_criteria}}
```
**✅ GOOD STORY EXAMPLES:**

View File

@ -344,7 +344,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
</step>
<step n="6" goal="Update sprint status and finalize">
<action>Validate the newly created story file {story_file} against `./checklist.md` and apply any required fixes before finalizing</action>
<action>Validate the newly created story file {default_output_file} against `./checklist.md` and apply any required fixes before finalizing</action>
<action>Save story document unconditionally</action>
<!-- Update sprint status -->

View File

@ -192,12 +192,12 @@ Bob (Scrum Master): "Perfect. Epic {{epic_number}} is complete and ready for ret
</step>
<step n="0.5" goal="Discover and load project documents">
<step n="2" goal="Discover and load project documents">
<action>Load input files according to the Input Files table in INITIALIZATION. For SELECTIVE_LOAD inputs, load only the epic matching {{epic_number}}. For FULL_LOAD inputs, load the complete document. For INDEX_GUIDED inputs, check the index first and load relevant sections. After discovery, these content variables are available: {epics_content} (selective load for this epic), {architecture_content}, {prd_content}, {document_project_content}</action>
<note>After discovery, these content variables are available: {epics_content} (selective load for this epic), {architecture_content}, {prd_content}, {document_project_content}</note>
</step>
<step n="2" goal="Deep Story Analysis - Extract Lessons from Implementation">
<step n="3" goal="Deep Story Analysis - Extract Lessons from Implementation">
<output>
Bob (Scrum Master): "Before we start the team discussion, let me review all the story records to surface key themes. This'll help us have a richer conversation."
@ -291,7 +291,7 @@ Bob (Scrum Master): "We'll get to all of it. But first, let me load the previous
</step>
<step n="3" goal="Load and Integrate Previous Epic Retrospective">
<step n="4" goal="Load and Integrate Previous Epic Retrospective">
<action>Calculate previous epic number: {{prev_epic_num}} = {{epic_number}} - 1</action>
@ -387,7 +387,7 @@ Charlie (Senior Dev): "First epic, first retro. Let's make it count."
</step>
<step n="4" goal="Preview Next Epic with Change Detection">
<step n="5" goal="Preview Next Epic with Change Detection">
<action>Calculate next epic number: {{next_epic_num}} = {{epic_number}} + 1</action>
@ -476,7 +476,7 @@ Bob (Scrum Master): "No problem. We'll still do a thorough retro on Epic {{epic_
</step>
<step n="5" goal="Initialize Retrospective with Rich Context">
<step n="6" goal="Initialize Retrospective with Rich Context">
<action>Load agent configurations from {agent_manifest}</action>
<action>Identify which agents participated in Epic {{epic_number}} based on story records</action>
@ -566,7 +566,7 @@ Bob (Scrum Master): "Exactly. {user_name}, any questions before we dive in?"
</step>
<step n="6" goal="Epic Review Discussion - What Went Well, What Didn't">
<step n="7" goal="Epic Review Discussion - What Went Well, What Didn't">
<output>
Bob (Scrum Master): "Let's start with the good stuff. What went well in Epic {{epic_number}}?"
@ -711,13 +711,13 @@ Bob (Scrum Master): "Does that capture it? Anyone have something important we mi
</step>
<step n="7" goal="Next Epic Preparation Discussion - Interactive and Collaborative">
<step n="8" goal="Next Epic Preparation Discussion - Interactive and Collaborative">
<check if="{{next_epic_exists}} == false">
<output>
Bob (Scrum Master): "Normally we'd discuss preparing for the next epic, but since Epic {{next_epic_num}} isn't defined yet, let's skip to action items."
</output>
<action>Skip to Step 8</action>
<action>Skip to Step 9</action>
</check>
<output>
@ -835,7 +835,7 @@ Bob (Scrum Master): "{user_name}, does this preparation plan work for you?"
</step>
<step n="8" goal="Synthesize Action Items with Significant Change Detection">
<step n="9" goal="Synthesize Action Items with Significant Change Detection">
<output>
Bob (Scrum Master): "Let's capture concrete action items from everything we've discussed."
@ -1076,7 +1076,7 @@ Bob (Scrum Master): "Everyone clear on what they own?"
</step>
<step n="9" goal="Critical Readiness Exploration - Interactive Deep Dive">
<step n="10" goal="Critical Readiness Exploration - Interactive Deep Dive">
<output>
Bob (Scrum Master): "Before we close, I want to do a final readiness check."
@ -1259,7 +1259,7 @@ Charlie (Senior Dev): "Better to catch this now than three stories into the next
</step>
<step n="10" goal="Retrospective Closure with Celebration and Commitment">
<step n="11" goal="Retrospective Closure with Celebration and Commitment">
<output>
Bob (Scrum Master): "We've covered a lot of ground today. Let me bring this retrospective to a close."
@ -1335,7 +1335,7 @@ Bob (Scrum Master): "See you all when prep work is done. Meeting adjourned!"
</step>
<step n="11" goal="Save Retrospective and Update Sprint Status">
<step n="12" goal="Save Retrospective and Update Sprint Status">
<action>Ensure retrospectives folder exists: {implementation_artifacts}</action>
<action>Create folder if it doesn't exist</action>
@ -1392,7 +1392,7 @@ Retrospective document was saved successfully, but {sprint_status_file} may need
</step>
<step n="12" goal="Final Summary and Handoff">
<step n="13" goal="Final Summary and Handoff">
<output>
**✅ Retrospective Complete, {user_name}!**

View File

@ -89,21 +89,21 @@ Your choice [1/2/3]:
<check if="workflow_mode == initial_scan OR workflow_mode == full_rescan">
<ask>Choose your scan depth level:
**1. Quick Scan** (2-5 minutes) [DEFAULT]
**1. Quick Scan** [DEFAULT]
- Pattern-based analysis without reading source files
- Scans: Config files, package manifests, directory structure
- Best for: Quick project overview, initial understanding
- File reading: Minimal (configs, README, package.json, etc.)
**2. Deep Scan** (10-30 minutes)
**2. Deep Scan**
- Reads files in critical directories based on project type
- Scans: All critical paths from documentation requirements
- Best for: Comprehensive documentation for brownfield PRD
- File reading: Selective (key files in critical directories)
**3. Exhaustive Scan** (30-120 minutes)
**3. Exhaustive Scan**
- Reads ALL source files in project
- Scans: Every source file (excludes node_modules, dist, build)

View File

@ -123,7 +123,7 @@ Based on discovery, create or update the context document:
#### A. Fresh Document Setup (if no existing context)
Copy template from `./project-context-template.md` to `{output_folder}/project-context.md`
Copy template from `../project-context-template.md` to `{output_folder}/project-context.md`
Initialize frontmatter fields.
#### B. Existing Document Update

View File

@ -2,7 +2,7 @@
**Goal:** Generate automated API and E2E tests for implemented code.
**Your Role:** You are a QA automation engineer. You generate tests ONLY — no code review or story validation (use Code Review `CR` for that).
**Your Role:** You are a QA automation engineer. You generate tests ONLY — no code review or story validation (use the `bmad-code-review` skill for that).
---

View File

@ -18,8 +18,8 @@ spec_file: '' # set at runtime before leaving this step
- `{wipFile}` exists? → Offer resume or archive.
- Active specs (`ready-for-dev`, `in-progress`, `in-review`) in `{implementation_artifacts}`? → List them and HALT. Ask user which to resume (or `[N]` for new).
- If `ready-for-dev` or `in-progress` selected: Set `spec_file`, set `execution_mode = "plan-code-review"`, skip to step 3.
- If `in-review` selected: Set `spec_file`, set `execution_mode = "plan-code-review"`, skip to step 4.
- If `ready-for-dev` or `in-progress` selected: Set `spec_file`, set `execution_mode = "plan-code-review"`, proceed to step 3.
- If `in-review` selected: Set `spec_file`, set `execution_mode = "plan-code-review"`, proceed to step 4.
- Unformatted spec or intent file lacking `status` frontmatter in `{implementation_artifacts}`? → Suggest to the user to treat its contents as the starting intent for this workflow. DO NOT attempt to infer a state and resume it.
## INSTRUCTIONS

View File

@ -26,8 +26,8 @@ Do NOT `git add` anything — this is read-only inspection.
**Plan-code-review:** Launch three subagents without conversation context. If no sub-agents are available, generate three review prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the human to run each in a separate session (ideally a different LLM) and paste back the findings.
- **Blind hunter** — receives `{diff_output}` only. No spec, no context docs, no project access. Invoke via the `bmad-review-adversarial-general` skill.
- **Edge case hunter** — receives `{diff_output}` and read access to the project. Invoke via the `bmad-review-edge-case-hunter` skill.
- **Blind hunter** — receives `{diff_output}` only. No spec, no context docs, no project access. Invoke the `bmad-review-adversarial-general` skill.
- **Edge case hunter** — receives `{diff_output}` and read access to the project. Invoke the `bmad-review-edge-case-hunter` skill.
- **Acceptance auditor** — receives `{diff_output}`, `{spec_file}`, and read access to the project. Must also read the docs listed in `{spec_file}` frontmatter `context`. Checks for violations of acceptance criteria, rules, and principles from the spec and context docs.
### Classify

View File

@ -86,7 +86,7 @@ d) **Build mental model:**
- What's the likely scope based on what you found?
- What questions do you NOW have, informed by the code?
**This scan should take < 30 seconds. Just enough to ask smart questions.**
**Just enough to ask smart questions.**
### 3. Ask Informed Questions

View File

@ -1,6 +1,6 @@
---
name: bmad-advanced-elicitation
description: 'Push the LLM to reconsider refine and improve its recent output.'
description: 'Push the LLM to reconsider, refine, and improve its recent output.'
---
Follow the instructions in [workflow.md](workflow.md).

View File

@ -96,9 +96,9 @@ x. Proceed / No Further Actions
**Case x (Proceed):**
- Complete elicitation and proceed
- Return the fully enhanced content back to create-doc.md
- Return the fully enhanced content back to the invoking skill
- The enhanced content becomes the final version for that section
- Signal completion back to create-doc.md to continue with next section
- Signal completion back to the invoking skill to continue with next section
**Case a (List All):**

View File

@ -40,7 +40,7 @@ Load techniques from CSV on-demand:
**Load CSV and parse:**
- Read `brain-methods.csv`
- Read `../brain-methods.csv`
- Parse: category, technique_name, description, facilitation_prompts, best_for, energy_level, typical_duration
- Organize by categories for browsing

View File

@ -47,7 +47,7 @@ Load techniques from CSV for analysis:
**Load CSV and parse:**
- Read `brain-methods.csv`
- Read `../brain-methods.csv`
- Parse: category, technique_name, description, facilitation_prompts, best_for, energy_level, typical_duration
### 2. Context Analysis for Technique Matching

View File

@ -47,7 +47,7 @@ Create anticipation for serendipitous technique discovery:
**Load CSV and parse:**
- Read `brain-methods.csv`
- Read `../brain-methods.csv`
- Parse: category, technique_name, description, facilitation_prompts, best_for, energy_level, typical_duration
- Prepare for intelligent random selection

View File

@ -66,7 +66,7 @@ Explain the value of systematic creative progression:
**Load CSV and parse:**
- Read `brain-methods.csv`
- Read `../brain-methods.csv`
- Parse: category, technique_name, description, facilitation_prompts, best_for, energy_level, typical_duration
- Map techniques to each phase of the creative journey

View File

@ -4,7 +4,7 @@ Act as an information extraction and compression specialist. Your sole purpose i
You receive: source document file paths, an optional downstream_consumer context, and a splitting decision.
You must load and apply `resources/compression-rules.md` before producing output. Reference `resources/distillate-format-reference.md` for the expected output format.
You must load and apply `../resources/compression-rules.md` before producing output. Reference `../resources/distillate-format-reference.md` for the expected output format.
## Compression Process
@ -31,7 +31,7 @@ Treat this as entity extraction — pull out every distinct piece of information
### Step 3: Deduplicate
Apply the deduplication rules from `resources/compression-rules.md`.
Apply the deduplication rules from `../resources/compression-rules.md`.
### Step 4: Filter (only if downstream_consumer is specified)
@ -58,7 +58,7 @@ Common groupings (use what fits, omit what doesn't, add what's needed):
### Step 6: Compress Language
For each item, apply the compression rules from `resources/compression-rules.md`:
For each item, apply the compression rules from `../resources/compression-rules.md`:
- Strip prose transitions and connective tissue
- Remove hedging and rhetoric
- Remove explanations of common knowledge
@ -80,7 +80,7 @@ Do NOT include frontmatter — the calling skill handles that.
## Semantic Splitting
If the splitting decision indicates splitting is needed, load `resources/splitting-strategy.md` and follow it.
If the splitting decision indicates splitting is needed, load `../resources/splitting-strategy.md` and follow it.
When splitting:

View File

@ -1,6 +1,6 @@
---
name: bmad-review-edge-case-hunter
description: 'Walk every branching path and boundary condition in content, report only unhandled edge cases. Orthogonal to adversarial review - method-driven not attitude-driven.'
description: 'Walk every branching path and boundary condition in content, report only unhandled edge cases. Orthogonal to adversarial review - method-driven not attitude-driven. Use when you need exhaustive edge-case analysis of code, specs, or diffs.'
---
Follow the instructions in [workflow.md](workflow.md).

View File

@ -274,9 +274,9 @@ If no findings are generated, the skill passes validation.
- **Severity:** HIGH
- **Applies to:** all files
- **Rule:** When a skill references another skill via `skill:skill-name`, the surrounding instruction must use the word "invoke" (e.g., `Invoke skill:bmad-party-mode`). Phrases like "Read fully and follow", "Execute", "Run", "Load", "Open", or "Follow" are invalid — they imply file-level operations on a document, not skill invocation. A skill is a unit that is invoked, not a file that is read.
- **Detection:** Find all `skill:` references in body text and frontmatter. Check the surrounding instruction text (same sentence or directive) for file-oriented verbs: "read", "follow", "load", "execute", "run", "open". Flag any that do not use "invoke" (or a close synonym like "activate" or "launch").
- **Fix:** Replace the instruction with `Invoke skill:skill-name` or `Invoke the \`skill-name\` skill`. Remove any "read fully and follow" or similar file-oriented phrasing.
- **Rule:** When a skill references another skill by name, the surrounding instruction must use the word "invoke". The canonical form is `Invoke the \`skill-name\` skill`. Phrases like "Read fully and follow", "Execute", "Run", "Load", "Open", or "Follow" are invalid — they imply file-level operations on a document, not skill invocation. A skill is a unit that is invoked, not a file that is read.
- **Detection:** Find all references to other skills by name (typically backtick-quoted skill names like \`bmad-foo\`). Check the surrounding instruction text (same sentence or directive) for file-oriented verbs: "read", "follow", "load", "execute", "run", "open". Flag any that do not use "invoke" (or a close synonym like "activate" or "launch").
- **Fix:** Replace the instruction with `Invoke the \`skill-name\` skill`. Remove any "read fully and follow" or similar file-oriented phrasing. Do NOT add a `skill:` prefix to the name — use natural language.
---