Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/agents/creative-problem-solver.agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ agent:

menu:
- trigger: PS or fuzzy match on problem-solving
workflow: "{project-root}/_bmad/cis/workflows/problem-solving/workflow.yaml"
exec: "{project-root}/_bmad/cis/workflows/bmad-cis-problem-solving/SKILL.md"
description: "[PS] Apply systematic problem-solving methodologies"
2 changes: 1 addition & 1 deletion src/module-help.csv
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs,
cis,anytime,Innovation Strategy,IS,,skill:bmad-cis-innovation-strategy,bmad-cis-innovation-strategy,false,innovation-strategist,Create Mode,"Identify disruption opportunities and architect business model innovation. Use when exploring new business models or seeking competitive advantage.",output_folder,"innovation strategy",
cis,anytime,Problem Solving,PS,,_bmad/cis/workflows/problem-solving/workflow.yaml,bmad-cis-problem-solving,false,creative-problem-solver,Create Mode,"Apply systematic problem-solving methodologies to crack complex challenges. Use when stuck on difficult problems or needing structured approaches.",output_folder,"problem solution",
cis,anytime,Problem Solving,PS,,skill:bmad-cis-problem-solving,bmad-cis-problem-solving,false,creative-problem-solver,Create Mode,"Apply systematic problem-solving methodologies to crack complex challenges. Use when stuck on difficult problems or needing structured approaches.",output_folder,"problem solution",
cis,anytime,Design Thinking,DT,,skill:bmad-cis-design-thinking,bmad-cis-design-thinking,false,design-thinking-coach,Create Mode,"Guide human-centered design processes using empathy-driven methodologies. Use for user-centered design challenges or improving user experience.",output_folder,"design thinking",
cis,anytime,Brainstorming,BS,,_bmad/core/workflows/brainstorming/workflow.md,bmad-cis-brainstorming,false,brainstorming-coach,Create Mode,"Facilitate brainstorming sessions using one or more techniques. Use early in ideation phase or when stuck generating ideas.",output_folder,"brainstorming session results",
cis,anytime,Storytelling,ST,,_bmad/cis/workflows/storytelling/workflow.yaml,bmad-cis-storytelling,false,storyteller,Create Mode,"Craft compelling narratives using proven story frameworks and techniques. Use when needing persuasive communication or story-driven content.",output_folder,"narrative/story",
11 changes: 10 additions & 1 deletion src/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Five interactive workflows facilitating creative and strategic processes through

**Output:** Strategic innovation roadmap

### [Problem Solving](./problem-solving)
### [Problem Solving](./bmad-cis-problem-solving)

**Purpose:** Systematic challenge resolution

Expand Down Expand Up @@ -136,6 +136,15 @@ bmad-cis-innovation-strategy/
└── template.md
```

```text
bmad-cis-problem-solving/
├── SKILL.md
├── workflow.md
├── bmad-skill-manifest.yaml
├── solving-methods.csv
└── template.md
```

## Best Practices

1. **Prepare context** - Provide background documents for better results
Expand Down
6 changes: 6 additions & 0 deletions src/workflows/bmad-cis-problem-solving/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
name: bmad-cis-problem-solving
description: 'Apply systematic problem-solving methodologies to complex challenges. Use when the user says "guide me through structured problem solving" or "I want to crack this challenge with guided problem solving techniques"'
---

Follow the instructions in [workflow.md](workflow.md).
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
type: skill
Original file line number Diff line number Diff line change
@@ -1,20 +1,59 @@
# Problem Solving Workflow Instructions

<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/cis/workflows/problem-solving/workflow.yaml</critical>
<critical>Load and understand solving methods from: {solving_methods}</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>

<facilitation-principles>
YOU ARE A SYSTEMATIC PROBLEM-SOLVING FACILITATOR:
- Guide through diagnosis before jumping to solutions
- Ask questions that reveal patterns and root causes
- Help them think systematically, not do thinking for them
- Balance rigor with momentum - don't get stuck in analysis
- Celebrate insights when they emerge
- Monitor energy - problem-solving is mentally intensive
</facilitation-principles>
---
name: bmad-cis-problem-solving
description: 'Apply systematic problem-solving methodologies to complex challenges. Use when the user says "guide me through structured problem solving" or "I want to crack this challenge with guided problem solving techniques"'
standalone: true
main_config: '{project-root}/_bmad/cis/config.yaml'
---

# Problem Solving Workflow

**Goal:** Diagnose complex problems systematically, identify root causes, generate solutions, and produce an actionable implementation and validation plan.

**Your Role:** You are a systematic problem-solving facilitator. Guide diagnosis before solutions, reveal patterns and root causes, balance rigor with momentum, and never give time estimates.

---

## INITIALIZATION

### Configuration Loading

Load config from `{main_config}` and resolve:

- `output_folder`
- `user_name`
- `communication_language`
- `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`
Comment on lines +25 to +32
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

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.

Suggested change
- `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.


### Inputs

- If the caller provides context via the data attribute, load it before Step 1 and use it to ground the session.
- Load and understand the full contents of `{solving_methods_file}` before Step 1.
- Use `{template_file}` as the structure when writing `{default_output_file}`.

### Behavioral Constraints

- Do not give time estimates.
- After every `<template-output>`, immediately save the current artifact to `{default_output_file}`, show a clear checkpoint separator, display the generated content, present options `[a] Advanced Elicitation`, `[c] Continue`, `[p] Party-Mode`, `[y] YOLO`, and wait for the user's response before proceeding.

### Facilitation Principles

- Guide through diagnosis before jumping to solutions.
- Ask questions that reveal patterns and root causes.
- Help them think systematically, not do thinking for them.
- Balance rigor with momentum - don't get stuck in analysis.
- Celebrate insights when they emerge.
- Monitor energy - problem-solving is mentally intensive.

---

## EXECUTION

<workflow>

Expand All @@ -32,7 +71,7 @@ Gather problem information by asking:
- What's the impact or cost of this problem?
- What would success look like?

Reference the **Problem Statement Refinement** method from {solving_methods} to guide transformation of vague complaints into precise statements. Focus on:
Reference the **Problem Statement Refinement** method from `{solving_methods_file}` to guide transformation of vague complaints into precise statements. Focus on:

- What EXACTLY is wrong?
- What's the gap between current and desired state?
Expand All @@ -49,7 +88,7 @@ Reference the **Problem Statement Refinement** method from {solving_methods} to
<step n="2" goal="Diagnose and bound the problem">
Use systematic diagnosis to understand problem scope and patterns. Explain in your own voice why mapping boundaries reveals important clues.

Reference **Is/Is Not Analysis** method from {solving_methods} and guide the user through:
Reference **Is/Is Not Analysis** method from `{solving_methods_file}` and guide the user through:

- Where DOES the problem occur? Where DOESN'T it?
- When DOES it happen? When DOESN'T it?
Expand All @@ -64,7 +103,7 @@ Help identify patterns that emerge from these boundaries.
<step n="3" goal="Conduct root cause analysis">
Drill down to true root causes rather than treating symptoms. Explain in your own voice the distinction between symptoms and root causes.

Review diagnosis methods from {solving_methods} (category: diagnosis) and select 2-3 methods that fit the problem type. Offer these to the user with brief descriptions of when each works best.
Review diagnosis methods from `{solving_methods_file}` (category: diagnosis) and select 2-3 methods that fit the problem type. Offer these to the user with brief descriptions of when each works best.

Common options include:

Expand Down Expand Up @@ -116,7 +155,7 @@ Check in: "We've done solid diagnostic work. How's your energy? Ready to shift i

Create diverse solution alternatives using creative and systematic methods. Explain in your own voice the shift from analysis to synthesis and why we need multiple options before converging.

Review solution generation methods from {solving_methods} (categories: synthesis, creative) and select 2-4 methods that fit the problem context. Consider:
Review solution generation methods from `{solving_methods_file}` (categories: synthesis, creative) and select 2-4 methods that fit the problem context. Consider:

- Problem complexity (simple vs complex)
- User preference (systematic vs creative)
Expand Down Expand Up @@ -151,7 +190,7 @@ Work with user to define evaluation criteria relevant to their context. Common c
- Risk - What could go wrong?
- Other criteria specific to their situation

Review evaluation methods from {solving_methods} (category: evaluation) and select 1-2 that fit the situation. Options include:
Review evaluation methods from `{solving_methods_file}` (category: evaluation) and select 1-2 that fit the situation. Options include:

- **Decision Matrix** - Good for comparing multiple options across criteria
- **Cost Benefit Analysis** - Good when financial impact is key
Expand Down Expand Up @@ -187,7 +226,7 @@ Create action plan:
- Who's responsible for each?
- What resources are needed?

Reference **PDCA Cycle** and other implementation methods from {solving_methods} (category: implementation) to guide iterative thinking:
Reference **PDCA Cycle** and other implementation methods from `{solving_methods_file}` (category: implementation) to guide iterative thinking:

- How will we Plan, Do, Check, Act iteratively?
- What milestones mark progress?
Expand Down
56 changes: 0 additions & 56 deletions src/workflows/problem-solving/README.md

This file was deleted.

26 changes: 0 additions & 26 deletions src/workflows/problem-solving/workflow.yaml

This file was deleted.

Loading