refactor(bmm): convert create-product-brief to native skill package#1933
Conversation
🤖 Augment PR SummarySummary: Refactors the BMM “create product brief” workflow into a native, verbatim skill package. Changes:
Technical Notes: Intended to preserve existing behavior while shifting from workflow-manifest driven installation to skill-manifest driven installation. 🤖 Was this summary useful? React with 👍 or 👎 |
|
|
||
| # File References | ||
| nextStepFile: '{project-root}/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md' | ||
| nextStepFile: './steps/step-02-vision.md' |
There was a problem hiding this comment.
Since this file already lives under steps/, nextStepFile: './steps/... (and the ./steps/step-01b-continue.md load directive below) will resolve to steps/steps/... for tooling that resolves paths relative to the current file, and likely won’t be found. Consider switching these to be step-file-relative (e.g., ./step-02-vision.md).
Severity: medium
Other Locations
src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md:76src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md:6src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md:6src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md:6src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md:6src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md:98
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
📝 WalkthroughWalkthroughThe PR reorganizes the create-product-brief workflow by renaming it to bmad-create-product-brief, migrating its directory structure, and converting all absolute project-root path references to relative paths throughout the workflow steps. The analyst agent configuration is updated to point to the new workflow location, and associated skill manifest files are added to the new directory while being removed from the old one. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan for PR comments
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md (1)
6-10:⚠️ Potential issue | 🟠 MajorRelative path bases are mixed inside the same skill.
nextStepFilewas switched to skill-root style (./steps/...), butproductBriefTemplatestill climbs out with../product-brief.template.md. Under the native-skill resolution convention, that escapes the skill directory instead of pointing at the template besideworkflow.md. Update the template reference to the same base as the step links. Based on learnings,./relative path references in skill step files are resolved relative to the skill root directory, not the step file's own directory.Suggested fix
# File References nextStepFile: './steps/step-02-vision.md' outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Template References -productBriefTemplate: '../product-brief.template.md' +productBriefTemplate: './product-brief.template.md'🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md` around lines 6 - 10, The productBriefTemplate path is using a different relative base than nextStepFile which causes it to escape the skill directory; update productBriefTemplate to use the same skill-root relative form as nextStepFile (e.g., change productBriefTemplate: '../product-brief.template.md' to productBriefTemplate: './product-brief.template.md') so both nextStepFile and productBriefTemplate resolve from the skill root.src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md (1)
57-57: 🛠️ Refactor suggestion | 🟠 MajorDependency assertion without enforcement mechanism.
Line 57 states: "Dependencies: Product vision and user personas from previous steps must be complete." However, there's no validation logic anywhere in the step file to verify that steps 1, 2, and 3 were actually completed or that their required outputs exist.
While line 49 mentions updating frontmatter with
stepsCompleted: [1, 2, 3, 4], this only records completion of the current step; it doesn't verify that previous steps were completed before allowing step 4 to proceed.If a user manually invokes step-04-metrics.md (or the workflow jumps to this step due to a bug), the agent would proceed without the required context from prior steps, leading to incomplete or incorrect metrics.
Add a validation check at the start of the execution sequence (before "### 1. Begin Success Metrics Discovery") that verifies
stepsCompletedincludes[1, 2, 3]before proceeding. If not, HALT and instruct the user to complete prior steps.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md` at line 57, Add a pre-execution validation in step-04-metrics.md that reads the frontmatter "stepsCompleted" array and verifies it contains 1, 2, and 3 before running the content under the "### 1. Begin Success Metrics Discovery" section; if the check fails, HALT execution and return a clear instruction message telling the user to complete steps 1–3 (do not proceed), and ensure the validation is run at the very start of the step's execution sequence so the agent cannot continue without the required prior outputs.
🧹 Nitpick comments (9)
src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md (1)
98-100: Move the resume targets out of inline prose.This manual map duplicates step filenames in yet another place. This PR already had to touch each of them during the rename, so the next file move will break resume routing unless someone also remembers to edit this prompt text. Prefer a small machine-readable mapping or frontmatter variables the executor can validate.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md` around lines 98 - 100, The resume-target filenames currently embedded in prose (the lines referencing lastStep = 1 → ./steps/step-02-vision.md, lastStep = 2 → ./steps/step-03-users.md, lastStep = 3 → ./steps/step-04-metrics.md) must be moved into a machine-readable mapping or frontmatter so the executor can validate and update them programmatically; add a small mapping object or YAML frontmatter (e.g., resume_map or resumeTargets) that maps lastStep values to step filenames, update any executor code to read that mapping instead of parsing prose, and remove the inline filename list from the markdown body so future renames only require changing the single mapping symbol (resume_map/resumeTargets).src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md (1)
55-57: Add a cheap installed-skill smoke check for step traversal.The only deferred validation in the PR notes is the interactive run, and that's exactly where these relative path rewrites are exercised. A small fixture that walks installed
workflow.md -> step-01-init.md -> nextStepFilewould catch future packaging regressions without needing a human in the loop.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md` around lines 55 - 57, Add an automated "installed-skill smoke" test that programmatically reads this workflow.md, resolves the relative step path `./steps/step-01-init.md`, opens that file and follows its referenced `nextStepFile` to ensure installed-package path rewrites work; implement the fixture as a unit/integration test executed in CI (e.g., tests/bmm/smoke_installed_skill_test) that loads `workflow.md`, parses the step link, asserts each referenced file exists and is readable, and fails the run if any traversal/relative-path resolution breaks (target symbols: workflow.md, ./steps/step-01-init.md, and the step’s nextStepFile reference).src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md (1)
74-76: UsecontinueStepFileinstead of burying the handoff in prose.The repo already has machine-readable step metadata for continuation targets, but this one is hidden in free text. Moving it into frontmatter makes the path checkable and avoids another rename-sensitive literal.
Suggested refactor
# File References nextStepFile: './steps/step-02-vision.md' +continueStepFile: './steps/step-01b-continue.md' outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' @@ -- **STOP immediately** and load `./steps/step-01b-continue.md` +- **STOP immediately** and load `{continueStepFile}`🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md` around lines 74 - 76, Replace the prose continuation instruction with a machine-readable frontmatter field named continueStepFile and set it to the continuation markdown file (e.g. "steps/step-01b-continue.md"); update the top YAML/frontmatter of the step-01-init markdown to include continueStepFile: "steps/step-01b-continue.md" (instead of embedding the handoff in free text) so the pipeline can programmatically detect continuation targets.src/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md (1)
3-3: Skill trigger relies solely on example phrases without fallback guidance.Line 3 states:
Use when the user says "let's create a product brief" or "help me create a project brief"This pattern assumes the agent (or help mechanism) will invoke the skill only when the user says one of these exact phrases. But what if the user says:
- "I need to document my product strategy"
- "How do I write a product brief?"
- "Can you help me with product planning?"
None of these match the example phrases, but they clearly indicate a need for this skill. The description doesn't provide fallback guidance (e.g., "or any similar request for product brief creation").
While the help mechanism may handle fuzzy matching, the skill description should be more inclusive to avoid false negatives where users need this skill but don't trigger it.
Broaden the trigger guidance:
Use when the user requests help creating a product brief, documenting product strategy, or planning a new product.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md` at line 3, Update the skill description line that currently reads 'Use when the user says "let's create a product brief" or "help me create a project brief"' to broader trigger guidance: change it to something like "Use when the user requests help creating a product brief, documenting product strategy, or planning a new product (or any similar request for product brief creation)" so the SKILL.md description for "Create product brief through collaborative discovery" captures synonymous intents and fallback cases.src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md (5)
168-168: Ambiguous re-display instruction after user chat.Line 168: "IF Any other comments or queries: help user respond then Redisplay Menu Options"
The phrasing "help user respond then [Redisplay Menu Options]" is unclear:
- Does "help user respond" mean the agent answers the user's question and then immediately redisplays the menu?
- Or does the agent engage in a back-and-forth dialogue until the user is satisfied, and only then redisplay the menu?
The lack of a termination condition for the "help user respond" state could lead to the agent redisplaying the menu prematurely (after a single response) or getting stuck in an open-ended dialogue without a clear path back to the menu.
Clarify the instruction: "IF Any other comments or queries: answer the user's question or respond to their comment, then immediately redisplay Menu Options at step 7. Continue this pattern (answer → redisplay menu) until user selects A, P, or C."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md` at line 168, Update the ambiguous branch in step-04-metrics: change the "IF Any other comments or queries" behavior to explicitly answer the user's question once, then immediately redisplay the menu at step 7 (Present Menu Options), and repeat this answer→redisplay loop each time until the user selects one of the terminal options (A, P, or C); locate the instruction in step-04-metrics and replace the unclear phrasing with this deterministic loop behavior referencing "step 7 - Present Menu Options" and the terminal choices "A, P, C".
40-43: Vague constraint: "vague metrics that can't be measured" is itself vague.Lines 41-43 state:
- 🚫 FORBIDDEN to create vague metrics that can't be measured or tracked
- 💬 Approach: Systematic metric definition that connects user value to business success
- 📋 COLLABORATIVE metric definition that drives actionable decisions
But line 41's prohibition on "vague metrics" lacks a concrete definition of what constitutes "vague." The step provides examples later (line 87-88: "Users are happy" → "Users complete [key action] within [timeframe]"), but the opening constraint doesn't reference these examples or provide rubrics.
An agent executing this step might interpret "measurable" differently than intended (e.g., "75% of users report satisfaction" is technically measurable but could still be a vanity metric per line 132).
Strengthen the constraint by linking it to the examples: "🚫 FORBIDDEN to create vague metrics that can't be measured or tracked (see Step 2, line 87-88 for RIGHT vs. WRONG patterns)."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md` around lines 40 - 43, Update the vague prohibition line to explicitly reference the concrete RIGHT vs WRONG examples later in this step so agents know the intended standard; change the "🚫 FORBIDDEN to create vague metrics that can't be measured or tracked" sentence in step-04-metrics.md to something like "🚫 FORBIDDEN to create vague metrics that can't be measured or tracked (see RIGHT vs WRONG examples below, e.g., lines showing 'Users are happy' → 'Users complete [key action] within [timeframe]')" so readers and automated agents are directed to the rubric and examples for correct patterns.
118-123: KPI examples use placeholder variables without defining them.Lines 118-123 provide KPI examples:
- "X new users per month"
- "Y% of users complete core journey weekly"
- "$Z in cost savings or revenue generation"
The use of
X,Y,Zas placeholders is clear in context, but the examples don't clarify whether these are meant to be filled in during the conversation with actual numeric targets, or whether they should remain as symbolic placeholders in the final document.If the agent is supposed to elicit actual values (e.g., "50 new users per month"), the examples should state that. If symbolic placeholders are acceptable, the SYSTEM SUCCESS/FAILURE METRICS (lines 189-190) should explicitly allow "Specific, measurable KPIs with defined targets and timeframes" to include placeholder-based KPIs awaiting target definition.
Clarify the intent: "KPI Examples (fill in actual targets during conversation, or use placeholders if targets are TBD):"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md` around lines 118 - 123, The KPI examples under the "KPI Examples" section use placeholders X/Y/Z but don't state whether they should be replaced with concrete targets during the conversation or left as placeholders; update the "KPI Examples" heading or add a clarifying sentence (e.g., "KPI Examples — fill in actual numeric targets during discovery, or keep as placeholders if targets are TBD") and also adjust the "SYSTEM SUCCESS/FAILURE METRICS" wording to explicitly allow both fully specified KPIs and placeholder-based KPIs awaiting definition so agents know to elicit numeric values when available; target the "KPI Examples" block and the "SYSTEM SUCCESS/FAILURE METRICS" text in step-04-metrics.md.
193-193: Duplicate criterion in SUCCESS metrics.Line 193 states: "Frontmatter updated with stepsCompleted: [1, 2, 3, 4]"
However, line 49 in the EXECUTION PROTOCOLS section already specifies the same requirement: "📖 Update frontmatter
stepsCompleted: [1, 2, 3, 4]before loading next step"The duplication in the SUCCESS metrics is redundant. While repetition for emphasis can be useful, the SUCCESS section should focus on outcome-level criteria (e.g., "Metrics that connect user value to business success") rather than repeating mechanical execution steps already covered in EXECUTION PROTOCOLS.
Remove the duplicated frontmatter criterion from line 193 or reword it as a verification: "Frontmatter correctly records completion (stepsCompleted: [1, 2, 3, 4])."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md` at line 193, In the SUCCESS metrics section remove the redundant criterion that repeats "Frontmatter updated with stepsCompleted: [1, 2, 3, 4]" (or replace it with a concise verification line) so the execution detail already covered in the EXECUTION PROTOCOLS ("📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step") is not duplicated; update the SUCCESS entry to either be removed or reworded as a verification like "Frontmatter correctly records completion (stepsCompleted: [1, 2, 3, 4])."
165-167: Incomplete error handling for menu option execution failures.Lines 165-167 define menu handling logic:
- IF A: Read and follow advancedElicitationTask
- IF P: Read and follow partyModeWorkflow
- IF C: Save, update frontmatter, then follow nextStepFile
None of these branches include error handling if the referenced file is missing, unreadable, or if the save operation fails. According to the MANDATORY EXECUTION RULES (line 50), the agent must not proceed without user confirmation via menu, but there's no guidance on what to do if the selected option fails to execute.
For example, if
{advancedElicitationTask}resolves to a missing or malformed file, should the agent HALT, or fall back to re-displaying the menu?Add explicit error-handling guidance: "IF any menu option fails to execute (file not found, save error, etc.), HALT, display error details to user, and re-display menu options."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md` around lines 165 - 167, The menu branches using advancedElicitationTask, partyModeWorkflow, and the save to outputFile followed by nextStepFile must include explicit failure handling: if loading/reading any referenced file (advancedElicitationTask, partyModeWorkflow, nextStepFile) or saving to outputFile fails (file missing, unreadable, malformed, or write error), immediately HALT the automated progression, surface a clear error message with the failure details to the user, and re-display the menu for user confirmation/choice; implement this behavior wherever those symbols are invoked so the agent does not continue without user re-confirmation.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md`:
- Line 3: Update the description string in SKILL.md to include the missing
article so it reads "Create a product brief..." instead of "Create product
brief...", ensuring consistency with the example user inputs; locate and modify
the description field text labeled "description" in the file to add "a" after
"Create".
- Line 3: Update the user-facing description string in SKILL.md to fix the typo:
change the word "lets" to the contraction "let's" inside the description value
(the line starting with description: 'Create product brief... "lets create a
product brief"...'). Ensure the corrected string preserves the existing
punctuation and quotes and only replaces that single token so the manifest/help
text reads "let's create a product brief".
- Line 3: The description in SKILL.md for the bmad-create-product-brief skill is
inconsistent—one example says "product brief" and the other says "project
brief"; update the text to be consistent by either (A) replacing "help me create
a project brief" with "help me create a product brief" so all examples and the
skill name (bmad-create-product-brief) match, or (B) explicitly state that both
"product brief" and "project brief" are supported (e.g., add "supports synonyms:
project brief") so intent matching is clear.
---
Outside diff comments:
In
`@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md`:
- Around line 6-10: The productBriefTemplate path is using a different relative
base than nextStepFile which causes it to escape the skill directory; update
productBriefTemplate to use the same skill-root relative form as nextStepFile
(e.g., change productBriefTemplate: '../product-brief.template.md' to
productBriefTemplate: './product-brief.template.md') so both nextStepFile and
productBriefTemplate resolve from the skill root.
In
`@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md`:
- Line 57: Add a pre-execution validation in step-04-metrics.md that reads the
frontmatter "stepsCompleted" array and verifies it contains 1, 2, and 3 before
running the content under the "### 1. Begin Success Metrics Discovery" section;
if the check fails, HALT execution and return a clear instruction message
telling the user to complete steps 1–3 (do not proceed), and ensure the
validation is run at the very start of the step's execution sequence so the
agent cannot continue without the required prior outputs.
---
Nitpick comments:
In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md`:
- Line 3: Update the skill description line that currently reads 'Use when the
user says "let's create a product brief" or "help me create a project brief"' to
broader trigger guidance: change it to something like "Use when the user
requests help creating a product brief, documenting product strategy, or
planning a new product (or any similar request for product brief creation)" so
the SKILL.md description for "Create product brief through collaborative
discovery" captures synonymous intents and fallback cases.
In
`@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md`:
- Around line 74-76: Replace the prose continuation instruction with a
machine-readable frontmatter field named continueStepFile and set it to the
continuation markdown file (e.g. "steps/step-01b-continue.md"); update the top
YAML/frontmatter of the step-01-init markdown to include continueStepFile:
"steps/step-01b-continue.md" (instead of embedding the handoff in free text) so
the pipeline can programmatically detect continuation targets.
In
`@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md`:
- Around line 98-100: The resume-target filenames currently embedded in prose
(the lines referencing lastStep = 1 → ./steps/step-02-vision.md, lastStep = 2 →
./steps/step-03-users.md, lastStep = 3 → ./steps/step-04-metrics.md) must be
moved into a machine-readable mapping or frontmatter so the executor can
validate and update them programmatically; add a small mapping object or YAML
frontmatter (e.g., resume_map or resumeTargets) that maps lastStep values to
step filenames, update any executor code to read that mapping instead of parsing
prose, and remove the inline filename list from the markdown body so future
renames only require changing the single mapping symbol
(resume_map/resumeTargets).
In
`@src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md`:
- Line 168: Update the ambiguous branch in step-04-metrics: change the "IF Any
other comments or queries" behavior to explicitly answer the user's question
once, then immediately redisplay the menu at step 7 (Present Menu Options), and
repeat this answer→redisplay loop each time until the user selects one of the
terminal options (A, P, or C); locate the instruction in step-04-metrics and
replace the unclear phrasing with this deterministic loop behavior referencing
"step 7 - Present Menu Options" and the terminal choices "A, P, C".
- Around line 40-43: Update the vague prohibition line to explicitly reference
the concrete RIGHT vs WRONG examples later in this step so agents know the
intended standard; change the "🚫 FORBIDDEN to create vague metrics that can't
be measured or tracked" sentence in step-04-metrics.md to something like "🚫
FORBIDDEN to create vague metrics that can't be measured or tracked (see RIGHT
vs WRONG examples below, e.g., lines showing 'Users are happy' → 'Users complete
[key action] within [timeframe]')" so readers and automated agents are directed
to the rubric and examples for correct patterns.
- Around line 118-123: The KPI examples under the "KPI Examples" section use
placeholders X/Y/Z but don't state whether they should be replaced with concrete
targets during the conversation or left as placeholders; update the "KPI
Examples" heading or add a clarifying sentence (e.g., "KPI Examples — fill in
actual numeric targets during discovery, or keep as placeholders if targets are
TBD") and also adjust the "SYSTEM SUCCESS/FAILURE METRICS" wording to explicitly
allow both fully specified KPIs and placeholder-based KPIs awaiting definition
so agents know to elicit numeric values when available; target the "KPI
Examples" block and the "SYSTEM SUCCESS/FAILURE METRICS" text in
step-04-metrics.md.
- Line 193: In the SUCCESS metrics section remove the redundant criterion that
repeats "Frontmatter updated with stepsCompleted: [1, 2, 3, 4]" (or replace it
with a concise verification line) so the execution detail already covered in the
EXECUTION PROTOCOLS ("📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4]`
before loading next step") is not duplicated; update the SUCCESS entry to either
be removed or reworded as a verification like "Frontmatter correctly records
completion (stepsCompleted: [1, 2, 3, 4])."
- Around line 165-167: The menu branches using advancedElicitationTask,
partyModeWorkflow, and the save to outputFile followed by nextStepFile must
include explicit failure handling: if loading/reading any referenced file
(advancedElicitationTask, partyModeWorkflow, nextStepFile) or saving to
outputFile fails (file missing, unreadable, malformed, or write error),
immediately HALT the automated progression, surface a clear error message with
the failure details to the user, and re-display the menu for user
confirmation/choice; implement this behavior wherever those symbols are invoked
so the agent does not continue without user re-confirmation.
In `@src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md`:
- Around line 55-57: Add an automated "installed-skill smoke" test that
programmatically reads this workflow.md, resolves the relative step path
`./steps/step-01-init.md`, opens that file and follows its referenced
`nextStepFile` to ensure installed-package path rewrites work; implement the
fixture as a unit/integration test executed in CI (e.g.,
tests/bmm/smoke_installed_skill_test) that loads `workflow.md`, parses the step
link, asserts each referenced file exists and is readable, and fails the run if
any traversal/relative-path resolution breaks (target symbols: workflow.md,
./steps/step-01-init.md, and the step’s nextStepFile reference).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: c051f71a-5726-4f8a-9585-476af1bcb41d
⛔ Files ignored due to path filters (1)
src/bmm/module-help.csvis excluded by!**/*.csv
📒 Files selected for processing (13)
src/bmm/agents/analyst.agent.yamlsrc/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.mdsrc/bmm/workflows/1-analysis/bmad-create-product-brief/bmad-skill-manifest.yamlsrc/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.mdsrc/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.mdsrc/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.mdsrc/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.mdsrc/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.mdsrc/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.mdsrc/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.mdsrc/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.mdsrc/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.mdsrc/bmm/workflows/1-analysis/create-product-brief/bmad-skill-manifest.yaml
💤 Files with no reviewable changes (1)
- src/bmm/workflows/1-analysis/create-product-brief/bmad-skill-manifest.yaml
6fd601a to
c8916a4
Compare
…1933) * refactor(bmm): convert create-product-brief to native skill package * fix(skills): normalize create-product-brief metadata refs * fix(skills): normalize create-product-brief step links
Summary
src/bmm/workflows/1-analysis/create-product-briefinto native skill packagesrc/bmm/workflows/1-analysis/bmad-create-product-brieftype: skilland addSKILL.mdsrc/bmm/module-help.csv->skill:bmad-create-product-briefsrc/bmm/agents/analyst.agent.yamlCB exec path -> new folder nameValidation
npm testin worktree passesnode tools/cli/bmad-cli.js install --directory /Users/alex/src/bmad --modules bmm --tools claude-code --yes_bmad/_config/skill-manifest.csv_bmad/_config/workflow-manifest.csvNotes
_bmad-output/implementation-artifacts/deferred-work.md.