feat(cis): convert problem solving to a native skill#7
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (8)
WalkthroughThis PR migrates the problem-solving workflow from a legacy format located in Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 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
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 |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
src/workflows/bmad-cis-problem-solving/workflow.md (2)
158-168:⚠️ Potential issue | 🟠 MajorKeep Step 5 aligned with the loaded methods CSV.
Line 158 asks the facilitator to review
synthesis, creativecategories, butsrc/workflows/bmad-cis-problem-solving/solving-methods.csv:1-22only providesdiagnosis,analysis,synthesis, andevaluation. This block also listsAssumption BustingandReverse Brainstorming, which are not present in that file. The converted skill will end up inventing unsupported methods instead of using the companion data it preloads in initialization.🧩 Proposed fix
- Review solution generation methods from `{solving_methods_file}` (categories: synthesis, creative) and select 2-4 methods that fit the problem context. Consider: + Review solution generation methods from `{solving_methods_file}` (category: synthesis) and select 2-4 methods that fit the problem context. Consider: ... - - **Creative approaches:** Lateral Thinking, Assumption Busting, Reverse Brainstorming + - **Creative approaches:** Lateral Thinking Techniques, Synectics Method, Biomimicry Problem Solving🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/workflows/bmad-cis-problem-solving/workflow.md` around lines 158 - 168, Step 5 currently references a non-existent "creative" category and methods not present in the loaded CSV; update the Step 5 prose in workflow.md to only use categories actually in src/workflows/bmad-cis-problem-solving/solving-methods.csv (diagnosis, analysis, synthesis, evaluation), remove mentions of "Assumption Busting" and "Reverse Brainstorming", and instruct the facilitator to select 2–4 methods from those CSV-backed categories (or dynamically read the {solving_methods_file} at runtime) while giving brief guidance on when each CSV-listed method is appropriate.
229-233:⚠️ Potential issue | 🟠 MajorStep 7 references implementation methods that do not exist in the companion data.
Line 229 tells the facilitator to use
PDCA Cycleand animplementationcategory from{solving_methods_file}, butsrc/workflows/bmad-cis-problem-solving/solving-methods.csv:1-22does not contain either. That leaves the implementation step without the file-backed method source the initialization section promises to load.🛠️ Proposed fix
- Reference **PDCA Cycle** and other implementation methods from `{solving_methods_file}` (category: implementation) to guide iterative thinking: + Use an iterative plan/do/check/adjust loop to guide implementation thinking:If you want this step to stay file-backed, the other valid fix is to add an
implementationcategory and the corresponding methods tosrc/workflows/bmad-cis-problem-solving/solving-methods.csv.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/workflows/bmad-cis-problem-solving/workflow.md` around lines 229 - 233, The workflow references the "PDCA Cycle" and an "implementation" category from {solving_methods_file} but those entries are missing from the companion methods data; either add an "implementation" category plus a PDCA Cycle row (and any other implementation methods) to the solving-methods data source so {solving_methods_file} contains the referenced items, or update the workflow step to reference an existing category/method name that is present in the methods data; look for the workflow step that mentions "PDCA Cycle" and the placeholder {solving_methods_file} and either add matching rows to the methods CSV (category: implementation, name: PDCA Cycle, description) or replace the reference with a valid method/category that already exists.
🤖 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/workflows/bmad-cis-problem-solving/workflow.md`:
- Around line 25-32: The generated filename default_output_file currently
interpolates the raw system `date` (a full datetime) which can contain
characters invalid on some filesystems; change the workflow to use a
filesystem-safe timestamp instead (for example format `date` as YYYYMMDD_HHMMSS
or strip/replace characters like ":" "+" and timezone separators) before
injecting it into `default_output_file` so filenames are portable and valid
across OSes; update any references to `date` or `default_output_file` in the
workflow/template generation code to use the sanitized timestamp function or
transformed value.
---
Outside diff comments:
In `@src/workflows/bmad-cis-problem-solving/workflow.md`:
- Around line 158-168: Step 5 currently references a non-existent "creative"
category and methods not present in the loaded CSV; update the Step 5 prose in
workflow.md to only use categories actually in
src/workflows/bmad-cis-problem-solving/solving-methods.csv (diagnosis, analysis,
synthesis, evaluation), remove mentions of "Assumption Busting" and "Reverse
Brainstorming", and instruct the facilitator to select 2–4 methods from those
CSV-backed categories (or dynamically read the {solving_methods_file} at
runtime) while giving brief guidance on when each CSV-listed method is
appropriate.
- Around line 229-233: The workflow references the "PDCA Cycle" and an
"implementation" category from {solving_methods_file} but those entries are
missing from the companion methods data; either add an "implementation" category
plus a PDCA Cycle row (and any other implementation methods) to the
solving-methods data source so {solving_methods_file} contains the referenced
items, or update the workflow step to reference an existing category/method name
that is present in the methods data; look for the workflow step that mentions
"PDCA Cycle" and the placeholder {solving_methods_file} and either add matching
rows to the methods CSV (category: implementation, name: PDCA Cycle,
description) or replace the reference with a valid method/category that already
exists.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: d607babf-1749-4f47-ae29-fe273ff7dff5
⛔ Files ignored due to path filters (2)
src/module-help.csvis excluded by!**/*.csvsrc/workflows/bmad-cis-problem-solving/solving-methods.csvis excluded by!**/*.csv
📒 Files selected for processing (9)
AGENTS.mdsrc/agents/creative-problem-solver.agent.yamlsrc/workflows/README.mdsrc/workflows/bmad-cis-problem-solving/SKILL.mdsrc/workflows/bmad-cis-problem-solving/bmad-skill-manifest.yamlsrc/workflows/bmad-cis-problem-solving/template.mdsrc/workflows/bmad-cis-problem-solving/workflow.mdsrc/workflows/problem-solving/README.mdsrc/workflows/problem-solving/workflow.yaml
💤 Files with no reviewable changes (2)
- src/workflows/problem-solving/README.md
- src/workflows/problem-solving/workflow.yaml
| - `date` as the system-generated current datetime | ||
|
|
||
| ### Paths | ||
|
|
||
| - `skill_path` = `{project-root}/_bmad/cis/workflows/bmad-cis-problem-solving` | ||
| - `template_file` = `./template.md` | ||
| - `solving_methods_file` = `./solving-methods.csv` | ||
| - `default_output_file` = `{output_folder}/problem-solution-{date}.md` |
There was a problem hiding this comment.
Use a filesystem-safe timestamp for default_output_file.
Line 25 defines date as a full datetime, and Line 32 injects it into the output filename. If that value contains : or timezone separators, saving the checkpoint artifact will fail on Windows and produce awkward filenames elsewhere.
🛠️ Proposed fix
- - `date` as the system-generated current datetime
+ - `date` as the system-generated current datetime
+ - `file_timestamp` as the same value formatted for filenames (`YYYYMMDD-HHmmss`)
...
- - `default_output_file` = `{output_folder}/problem-solution-{date}.md`
+ - `default_output_file` = `{output_folder}/problem-solution-{file_timestamp}.md`📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - `date` as the system-generated current datetime | |
| ### Paths | |
| - `skill_path` = `{project-root}/_bmad/cis/workflows/bmad-cis-problem-solving` | |
| - `template_file` = `./template.md` | |
| - `solving_methods_file` = `./solving-methods.csv` | |
| - `default_output_file` = `{output_folder}/problem-solution-{date}.md` | |
| - `date` as the system-generated current datetime | |
| - `file_timestamp` as the same value formatted for filenames (`YYYYMMDD-HHmmss`) | |
| ### Paths | |
| - `skill_path` = `{project-root}/_bmad/cis/workflows/bmad-cis-problem-solving` | |
| - `template_file` = `./template.md` | |
| - `solving_methods_file` = `./solving-methods.csv` | |
| - `default_output_file` = `{output_folder}/problem-solution-{file_timestamp}.md` |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@src/workflows/bmad-cis-problem-solving/workflow.md` around lines 25 - 32, The
generated filename default_output_file currently interpolates the raw system
`date` (a full datetime) which can contain characters invalid on some
filesystems; change the workflow to use a filesystem-safe timestamp instead (for
example format `date` as YYYYMMDD_HHMMSS or strip/replace characters like ":"
"+" and timezone separators) before injecting it into `default_output_file` so
filenames are portable and valid across OSes; update any references to `date` or
`default_output_file` in the workflow/template generation code to use the
sanitized timestamp function or transformed value.
28fc367 to
7cd9e46
Compare
Summary
src/workflows/problem-solving/to native skill shape atsrc/workflows/bmad-cis-problem-solving/Proof
npm testnode test/test-installation-components.jssrc/treeDeferred / Notes
timelineoutputSummary by CodeRabbit
Refactor
Documentation