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
15 changes: 6 additions & 9 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ src/
├── agents/ # Agent definitions (*.agent.yaml)
│ └── storyteller/ # Sidecar agents with persistent memory
├── workflows/ # Structured methodologies
│ ├── design-thinking/
│ ├── bmad-cis-design-thinking/
│ ├── innovation-strategy/
│ ├── problem-solving/
│ └── storytelling/
Expand All @@ -58,17 +58,14 @@ Agents are defined in `*.agent.yaml` files with three core components:
**Example agent trigger flow:**
- User: `/cis-brainstorm` or just mentions "brainstorm"
- Agent matches trigger → executes associated workflow
- Workflow provides structured methodology via instructions.md
- Workflow provides structured methodology via `workflow.md` or legacy `instructions.md`
- Output generated using template.md

### Workflow Structure

Each workflow directory contains:
- `workflow.yaml` - Configuration with path references (uses `{project-root}` and `{config_source}` placeholders)
- `instructions.md` - Methodological guidance for the AI
- `template.md` - Output format structure
- `*.csv` - Framework data (story types, techniques, etc.)
- `README.md` - Human-readable overview
Workflows currently ship in two source formats:
- Legacy workflows keep `workflow.yaml` plus `instructions.md`, along with `template.md` and any `*.csv` support files.
- Native skill workflows keep `SKILL.md`, `workflow.md`, `bmad-skill-manifest.yaml`, and only the companion files the skill needs at runtime.

**Key workflow concepts:**
- `standalone: true` - Workflows are self-contained
Expand Down Expand Up @@ -125,4 +122,4 @@ Keep messages under 72 characters. See CONTRIBUTING.md for PR guidelines.
- All paths use forward slashes, even on Windows
- `{project-root}` placeholder resolves to BMad project root
- Agent IDs must follow `_bmad/cis/agents/{name}.md` format
- Workflow paths are relative to `{project-root}/_bmad/`
- Workflow and skill entry paths resolve from `{project-root}/_bmad/` after installation
2 changes: 1 addition & 1 deletion src/agents/design-thinking-coach.agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ agent:

menu:
- trigger: DT or fuzzy match on design-thinking
workflow: "{project-root}/_bmad/cis/workflows/design-thinking/workflow.yaml"
exec: "{project-root}/_bmad/cis/workflows/bmad-cis-design-thinking/SKILL.md"
description: "[DT] Guide human-centered design process"
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,,_bmad/cis/workflows/innovation-strategy/workflow.yaml,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,Design Thinking,DT,,_bmad/cis/workflows/design-thinking/workflow.yaml,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,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",
19 changes: 14 additions & 5 deletions src/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Five interactive workflows facilitating creative and strategic processes through

**Selection Modes:** User-selected, AI-recommended, random, or progressive

### [Design Thinking](./design-thinking)
### [Design Thinking](./bmad-cis-design-thinking)

**Purpose:** Human-centered design through five phases

Expand Down Expand Up @@ -108,14 +108,23 @@ Edit `/_bmad/cis/config.yaml`:

## Workflow Structure

Each workflow contains:
Source workflows currently use two shapes during the native-skill transition:

```
workflow-name/
```text
legacy-workflow/
├── workflow.yaml # Configuration
├── instructions.md # Facilitation guide
├── techniques.csv # Method library
└── README.md # Documentation
└── README.md # Documentation
```

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

## Best Practices
Expand Down
6 changes: 6 additions & 0 deletions src/workflows/bmad-cis-design-thinking/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
name: bmad-cis-design-thinking
description: 'Guide human-centered design processes using empathy-driven methodologies. Use when the user says "lets run design thinking" or "I want to apply design thinking"'
---

Follow the instructions in [workflow.md](workflow.md).
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
type: skill
242 changes: 242 additions & 0 deletions src/workflows/bmad-cis-design-thinking/workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
---
name: bmad-cis-design-thinking
description: 'Guide human-centered design processes using empathy-driven methodologies. Use when the user says "lets run design thinking" or "I want to apply design thinking"'
standalone: true
main_config: '{project-root}/_bmad/cis/config.yaml'
---

# Design Thinking Workflow

**Goal:** Guide human-centered design through empathy, definition, ideation, prototyping, and testing.

**Your Role:** You are a human-centered design facilitator. Keep users at the center, defer judgment during ideation, prototype quickly, 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-design-thinking`
- `template_file` = `./template.md`
- `design_methods_file` = `./design-methods.csv`
- `default_output_file` = `{output_folder}/design-thinking-{date}.md`

### 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 `{design_methods_file}` before Step 2.
- 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

- Keep users at the center of every decision.
- Encourage divergent thinking before convergent action.
- Make ideas tangible quickly; prototypes beat discussion.
- Treat failure as feedback.
- Test with real users rather than assumptions.
- Balance empathy with momentum.

---

## EXECUTION

<workflow>

<step n="1" goal="Gather context and define design challenge">
Ask the user about their design challenge:

- What problem or opportunity are you exploring?
- Who are the primary users or stakeholders?
- What constraints exist (time, budget, technology)?
- What does success look like for this project?
- What existing research or context should we consider?

Load any context data provided via the data attribute.

Create a clear design challenge statement.

<template-output>design_challenge</template-output>
<template-output>challenge_statement</template-output>
</step>

<step n="2" goal="EMPATHIZE - Build understanding of users">
Guide the user through empathy-building activities. Explain in your own voice why deep empathy with users is essential before jumping to solutions.

Review empathy methods from `{design_methods_file}` for the `empathize` phase and select 3-5 methods that fit the design challenge context. Consider:

- Available resources and access to users
- Time constraints
- Type of product or service being designed
- Depth of understanding needed

Offer the selected methods with guidance on when each works best, then ask which methods the user has used or can use, or make a recommendation based on the specific challenge.

Help gather and synthesize user insights:

- What did users say, think, do, and feel?
- What pain points emerged?
- What surprised you?
- What patterns do you see?

<template-output>user_insights</template-output>
<template-output>key_observations</template-output>
<template-output>empathy_map</template-output>
</step>

<step n="3" goal="DEFINE - Frame the problem clearly">
<energy-checkpoint>
Check in: "We've gathered rich user insights. How are you feeling? Ready to synthesize them into problem statements?"
</energy-checkpoint>

Transform observations into actionable problem statements.

Guide the user through problem framing:

1. Create a Point of View statement: "[User type] needs [need] because [insight]"
2. Generate "How Might We" questions that open solution space
3. Identify key insights and opportunity areas

Ask probing questions:

- What's the real problem we're solving?
- Why does this matter to users?
- What would success look like for them?
- What assumptions are we making?

<template-output>pov_statement</template-output>
<template-output>hmw_questions</template-output>
<template-output>problem_insights</template-output>
</step>

<step n="4" goal="IDEATE - Generate diverse solutions">
Facilitate creative solution generation. Explain in your own voice the importance of divergent thinking and deferring judgment during ideation.

Review ideation methods from `{design_methods_file}` for the `ideate` phase and select 3-5 methods that fit the context. Consider:

- Group versus individual ideation
- Time available
- Problem complexity
- Team creativity comfort level

Offer the selected methods with brief descriptions of when each works best.

Walk through the chosen method or methods:

- Generate at least 15-30 ideas
- Build on others' ideas
- Go for wild and practical
- Defer judgment

Help cluster and select top concepts:

- Which ideas excite you most?
- Which ideas address the core user need?
- Which ideas are feasible given the constraints?
- Select 2-3 ideas to prototype

<template-output>ideation_methods</template-output>
<template-output>generated_ideas</template-output>
<template-output>top_concepts</template-output>
</step>

<step n="5" goal="PROTOTYPE - Make ideas tangible">
<energy-checkpoint>
Check in: "We've generated lots of ideas. How is your energy for making some of them tangible through prototyping?"
</energy-checkpoint>

Guide creation of low-fidelity prototypes for testing. Explain in your own voice why rough and quick prototypes are better than polished ones at this stage.

Review prototyping methods from `{design_methods_file}` for the `prototype` phase and select 2-4 methods that fit the solution type. Consider:

- Physical versus digital product
- Service versus product
- Available materials and tools
- What needs to be tested

Offer the selected methods with guidance on fit.

Help define the prototype:

- What's the minimum needed to test your assumptions?
- What are you trying to learn?
- What should users be able to do?
- What can you fake versus build?

<template-output>prototype_approach</template-output>
<template-output>prototype_description</template-output>
<template-output>features_to_test</template-output>
</step>

<step n="6" goal="TEST - Validate with users">
Design the validation approach and capture learnings. Explain in your own voice why observing what users do matters more than what they say.

Help plan testing:

- Who will you test with? Aim for 5-7 users.
- What tasks will they attempt?
- What questions will you ask?
- How will you capture feedback?

Guide feedback collection:

- What worked well?
- Where did they struggle?
- What surprised them, and you?
- What questions arose?
- What would they change?

Synthesize learnings:

- What assumptions were validated or invalidated?
- What needs to change?
- What should stay?
- What new insights emerged?

<template-output>testing_plan</template-output>
<template-output>user_feedback</template-output>
<template-output>key_learnings</template-output>
</step>

<step n="7" goal="Plan next iteration">
<energy-checkpoint>
Check in: "Great work. How is your energy for final planning and defining next steps?"
</energy-checkpoint>

Define clear next steps and success criteria.

Based on testing insights:

- What refinements are needed?
- What's the priority action?
- Who needs to be involved?
- What sequence makes sense?
- How will you measure success?

Determine the next cycle:

- Do you need more empathy work?
- Should you reframe the problem?
- Are you ready to refine the prototype?
- Is it time to pilot with real users?

<template-output>refinements</template-output>
<template-output>action_items</template-output>
<template-output>success_metrics</template-output>
</step>

</workflow>
56 changes: 0 additions & 56 deletions src/workflows/design-thinking/README.md

This file was deleted.

Loading
Loading