You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(workflows): adopt customize.toml pattern for workflow skills
Merge redirect-only SKILL.md with workflow.md content into a single
SKILL.md per workflow skill, add Conventions + On Activation (resolve
customization, prepend/append steps, persistent_facts, config load,
greet), and wire workflow.on_complete into the final step(s).
Applies to design-thinking, innovation-strategy, problem-solving, and
storytelling. Mirrors the customization surface shipped for the agent
skills in #29.
Copy file name to clipboardExpand all lines: src/skills/bmad-cis-design-thinking/SKILL.md
+269-1Lines changed: 269 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,4 +3,272 @@ name: bmad-cis-design-thinking
3
3
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"'
4
4
---
5
5
6
-
Follow the instructions in [workflow.md](workflow.md).
6
+
# Design Thinking Workflow
7
+
8
+
**Goal:** Guide human-centered design through empathy, definition, ideation, prototyping, and testing.
9
+
10
+
**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.
11
+
12
+
## Conventions
13
+
14
+
- Bare paths (e.g. `template.md`) resolve from the skill root.
15
+
-`{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
16
+
-`{project-root}`-prefixed paths resolve from the project working directory.
17
+
-`{skill-name}` resolves to the skill directory's basename.
**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
26
+
27
+
1.`{skill-root}/customize.toml` — defaults
28
+
2.`{project-root}/_bmad/custom/{skill-name}.toml` — team overrides
29
+
3.`{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides
30
+
31
+
Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
32
+
33
+
### Step 2: Execute Prepend Steps
34
+
35
+
Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
36
+
37
+
### Step 3: Load Persistent Facts
38
+
39
+
Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
40
+
41
+
### Step 4: Load Config
42
+
43
+
Load config from `{project-root}/_bmad/cis/config.yaml` and resolve:
44
+
45
+
-`output_folder`
46
+
-`user_name`
47
+
-`communication_language`
48
+
-`date` as the system-generated current datetime
49
+
50
+
### Step 5: Greet the User
51
+
52
+
Greet `{user_name}`, speaking in `{communication_language}`.
53
+
54
+
### Step 6: Execute Append Steps
55
+
56
+
Execute each entry in `{workflow.activation_steps_append}` in order.
- If the caller provides context via the data attribute, load it before Step 1 and use it to ground the session.
69
+
- Load and understand the full contents of `{design_methods_file}` before Step 2.
70
+
- Use `{template_file}` as the structure when writing `{default_output_file}`.
71
+
72
+
## Behavioral Constraints
73
+
74
+
- Do not give time estimates.
75
+
- 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.
76
+
77
+
## Facilitation Principles
78
+
79
+
- Keep users at the center of every decision.
80
+
- Encourage divergent thinking before convergent action.
81
+
- Make ideas tangible quickly; prototypes beat discussion.
82
+
- Treat failure as feedback.
83
+
- Test with real users rather than assumptions.
84
+
- Balance empathy with momentum.
85
+
86
+
## Execution
87
+
88
+
<workflow>
89
+
90
+
<stepn="1"goal="Gather context and define design challenge">
91
+
Ask the user about their design challenge:
92
+
93
+
- What problem or opportunity are you exploring?
94
+
- Who are the primary users or stakeholders?
95
+
- What constraints exist (time, budget, technology)?
96
+
- What does success look like for this project?
97
+
- What existing research or context should we consider?
98
+
99
+
Load any context data provided via the data attribute.
<stepn="2"goal="EMPATHIZE - Build understanding of users">
108
+
Guide the user through empathy-building activities. Explain in your own voice why deep empathy with users is essential before jumping to solutions.
109
+
110
+
Review empathy methods from `{design_methods_file}` for the `empathize` phase and select 3-5 methods that fit the design challenge context. Consider:
111
+
112
+
- Available resources and access to users
113
+
- Time constraints
114
+
- Type of product or service being designed
115
+
- Depth of understanding needed
116
+
117
+
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.
Check in: "We've generated lots of ideas. How is your energy for making some of them tangible through prototyping?"
190
+
</energy-checkpoint>
191
+
192
+
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.
193
+
194
+
Review prototyping methods from `{design_methods_file}` for the `prototype` phase and select 2-4 methods that fit the solution type. Consider:
195
+
196
+
- Physical versus digital product
197
+
- Service versus product
198
+
- Available materials and tools
199
+
- What needs to be tested
200
+
201
+
Offer the selected methods with guidance on fit.
202
+
203
+
Help define the prototype:
204
+
205
+
- What's the minimum needed to test your assumptions?
<action>Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete` — if the resolved value is non-empty, follow it as the final terminal instruction before exiting.</action>
0 commit comments