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 (#30)
* 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.
* fix(workflows): address PR review comments
- Disambiguate workflow step references in the Inputs section — "before
Step N" now reads "before workflow Step N" since the activation block
also numbers its steps 1-6.
- Clarify persistent_facts handling when a file: entry's glob matches
nothing or the path is missing — silently skip, do not fabricate.
- Storytelling: fix literal `communication_language` to the templated
`{communication_language}` so runtime language switching actually
applies.
* docs(changelog): record v0.2.0 — customize.toml pattern rollout
Copy file name to clipboardExpand all lines: .claude-plugin/marketplace.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@
12
12
"name": "bmad-creative-intelligence-suite",
13
13
"source": "./",
14
14
"description": "A suite of creative AI agents and workflows for brainstorming, problem-solving, design thinking, innovation strategy, storytelling, and presentations. Part of the BMad Method ecosystem.",
Copy file name to clipboardExpand all lines: CHANGELOG.md
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,26 @@
1
1
# CHANGELOG
2
2
3
+
## v0.2.0 - Apr 21, 2026 — customize.toml pattern across agents and workflows
4
+
5
+
### Agent customization surface
6
+
7
+
* All six agents (`bmad-cis-agent-brainstorming-coach`, `bmad-cis-agent-creative-problem-solver`, `bmad-cis-agent-design-thinking-coach`, `bmad-cis-agent-innovation-strategist`, `bmad-cis-agent-presentation-master`, `bmad-cis-agent-storyteller`) adopt the BMAD-METHOD `customize.toml` pattern. Each agent's `SKILL.md` now runs a six-step On Activation block that resolves customization via `resolve_customization.py`, executes prepend/append hook steps, loads `persistent_facts`, reads config from `{project-root}/_bmad/cis/config.yaml`, and greets the user before the menu appears.
8
+
* Added `[agent]` namespace in each agent's `customize.toml` exposing `role`, `identity`, `communication_style`, `principles`, `persistent_facts`, `activation_steps_prepend/append`, and the `[[agent.menu]]` entries. Overrides merge per BMad structural rules (scalars override, keyed arrays-of-tables replace-or-append, other arrays append).
9
+
* Added an agent roster with essence descriptors in `src/module.yaml` so external skills (party-mode, retrospective, advanced-elicitation, help catalog) can route to, display, and embody CIS agents without reading each agent file.
10
+
11
+
### Workflow customization surface
12
+
13
+
* All four workflow skills (`bmad-cis-design-thinking`, `bmad-cis-innovation-strategy`, `bmad-cis-problem-solving`, `bmad-cis-storytelling`) converted from redirect-only `SKILL.md` + `workflow.md` split to a single integrated `SKILL.md`. The standalone `workflow.md` file is removed from every workflow skill.
14
+
* Each workflow gains the same six-step On Activation block as agents (resolve customization → prepend → `persistent_facts` → config load → greet → append), plus a `Conventions` block declaring `{skill-root}`, `{project-root}`, and `{skill-name}`.
15
+
* Each workflow's terminal step now invokes `resolve_customization.py --key workflow.on_complete` as an `<action>` inside the final `<step>`. `bmad-cis-problem-solving` wires the hook at both the last mandatory step 8 and the optional step 9 so the hook fires whether or not the user runs the reflection step.
16
+
* Added `customize.toml` at every workflow skill root with a `[workflow]` namespace exposing `activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, and `on_complete`. Team and per-user overrides merge from `{project-root}/_bmad/custom/{skill-name}.toml` and `{skill-name}.user.toml`.
17
+
18
+
### Fixes bundled with the rollout
19
+
20
+
* Disambiguated "before Step N" references in workflow Inputs sections to "before workflow Step N" now that the activation block also numbers its steps 1-6.
21
+
* Clarified `persistent_facts` behavior — if a `file:` glob matches no files or a path does not exist, silently skip that entry rather than fabricate content.
22
+
*`bmad-cis-storytelling`: fixed literal `communication_language` to templated `{communication_language}` so runtime language switching applies as intended.
23
+
3
24
## v0.1.9 - Mar 18, 2026
4
25
5
26
* Patch conversion rename of folder and conversion to skill format
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. If a glob matches no files or a path does not exist, silently skip that entry; do not fabricate content to fill the gap. 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 workflow Step 1 and use it to ground the session.
69
+
- Load and understand the full contents of `{design_methods_file}` before workflow 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