diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index f3134b2..45452f6 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -12,7 +12,7 @@ "name": "bmad-creative-intelligence-suite", "source": "./", "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.", - "version": "0.1.9", + "version": "0.2.0", "author": { "name": "Brian (BMad) Madison" }, diff --git a/CHANGELOG.md b/CHANGELOG.md index 411ad49..a286154 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # CHANGELOG +## v0.2.0 - Apr 21, 2026 — customize.toml pattern across agents and workflows + +### Agent customization surface + +* 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. +* 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). +* 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. + +### Workflow customization surface + +* 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. +* 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}`. +* Each workflow's terminal step now invokes `resolve_customization.py --key workflow.on_complete` as an `` inside the final ``. `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. +* 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`. + +### Fixes bundled with the rollout + +* 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. +* 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. +* `bmad-cis-storytelling`: fixed literal `communication_language` to templated `{communication_language}` so runtime language switching applies as intended. + ## v0.1.9 - Mar 18, 2026 * Patch conversion rename of folder and conversion to skill format diff --git a/package.json b/package.json index 38522f2..0918b37 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "bmad-creative-intelligence-suite", - "version": "0.1.9", + "version": "0.2.0", "private": true, "description": "A BMad MEthod Core Module that offers a suite of very creative agents and workflows", "keywords": [ diff --git a/src/skills/bmad-cis-design-thinking/SKILL.md b/src/skills/bmad-cis-design-thinking/SKILL.md index 5e5c1e9..d2e283f 100644 --- a/src/skills/bmad-cis-design-thinking/SKILL.md +++ b/src/skills/bmad-cis-design-thinking/SKILL.md @@ -3,4 +3,272 @@ 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). +# 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. + +## Conventions + +- Bare paths (e.g. `template.md`) resolve from the skill root. +- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives). +- `{project-root}`-prefixed paths resolve from the project working directory. +- `{skill-name}` resolves to the skill directory's basename. + +## On Activation + +### Step 1: Resolve the Workflow Block + +Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow` + +**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: + +1. `{skill-root}/customize.toml` — defaults +2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides +3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides + +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. + +### Step 2: Execute Prepend Steps + +Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding. + +### Step 3: Load Persistent Facts + +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. + +### Step 4: Load Config + +Load config from `{project-root}/_bmad/cis/config.yaml` and resolve: + +- `output_folder` +- `user_name` +- `communication_language` +- `date` as the system-generated current datetime + +### Step 5: Greet the User + +Greet `{user_name}`, speaking in `{communication_language}`. + +### Step 6: Execute Append Steps + +Execute each entry in `{workflow.activation_steps_append}` in order. + +Activation is complete. Begin the workflow below. + +## Paths + +- `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 workflow Step 1 and use it to ground the session. +- Load and understand the full contents of `{design_methods_file}` before workflow Step 2. +- Use `{template_file}` as the structure when writing `{default_output_file}`. + +## Behavioral Constraints + +- Do not give time estimates. +- After every ``, 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 + + + + +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. + +design_challenge +challenge_statement + + + +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? + +user_insights +key_observations +empathy_map + + + + +Check in: "We've gathered rich user insights. How are you feeling? Ready to synthesize them into problem statements?" + + +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? + +pov_statement +hmw_questions +problem_insights + + + +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 + +ideation_methods +generated_ideas +top_concepts + + + + +Check in: "We've generated lots of ideas. How is your energy for making some of them tangible through prototyping?" + + +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? + +prototype_approach +prototype_description +features_to_test + + + +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? + +testing_plan +user_feedback +key_learnings + + + + +Check in: "Great work. How is your energy for final planning and defining next steps?" + + +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? + +refinements +action_items +success_metrics + +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. + + + diff --git a/src/skills/bmad-cis-design-thinking/customize.toml b/src/skills/bmad-cis-design-thinking/customize.toml new file mode 100644 index 0000000..85e3e42 --- /dev/null +++ b/src/skills/bmad-cis-design-thinking/customize.toml @@ -0,0 +1,41 @@ +# DO NOT EDIT -- overwritten on every update. +# +# Workflow customization surface for bmad-cis-design-thinking. Mirrors the +# agent customization shape under the [workflow] namespace. + +[workflow] + +# --- Configurable below. Overrides merge per BMad structural rules: --- +# scalars: override wins • arrays (persistent_facts, activation_steps_*): append +# arrays-of-tables with `code`/`id`: replace matching items, append new ones. + +# Steps to run before the standard activation (config load, greet). +# Overrides append. Use for pre-flight loads, compliance checks, etc. + +activation_steps_prepend = [] + +# Steps to run after greet but before the workflow begins. +# Overrides append. Use for context-heavy setup that should happen +# once the user has been acknowledged. + +activation_steps_append = [] + +# Persistent facts the workflow keeps in mind for the whole run +# (standards, compliance constraints, stylistic guardrails). +# Distinct from the runtime memory sidecar — these are static context +# loaded on activation. Overrides append. +# +# Each entry is either: +# - a literal sentence, e.g. "Empathy interviews must include at least 5 real users before ideation." +# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" +# (glob patterns are supported; the file's contents are loaded and treated as facts). + +persistent_facts = [ + "file:{project-root}/**/project-context.md", +] + +# Scalar: executed when the workflow reaches Step 7 (Plan next iteration), +# after refinements, action items, and success metrics are captured. Override wins. +# Leave empty for no custom post-completion behavior. + +on_complete = "" diff --git a/src/skills/bmad-cis-design-thinking/workflow.md b/src/skills/bmad-cis-design-thinking/workflow.md deleted file mode 100644 index e3caa68..0000000 --- a/src/skills/bmad-cis-design-thinking/workflow.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -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"' -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 - -- `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 ``, 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 - - - - -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. - -design_challenge -challenge_statement - - - -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? - -user_insights -key_observations -empathy_map - - - - -Check in: "We've gathered rich user insights. How are you feeling? Ready to synthesize them into problem statements?" - - -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? - -pov_statement -hmw_questions -problem_insights - - - -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 - -ideation_methods -generated_ideas -top_concepts - - - - -Check in: "We've generated lots of ideas. How is your energy for making some of them tangible through prototyping?" - - -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? - -prototype_approach -prototype_description -features_to_test - - - -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? - -testing_plan -user_feedback -key_learnings - - - - -Check in: "Great work. How is your energy for final planning and defining next steps?" - - -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? - -refinements -action_items -success_metrics - - - diff --git a/src/skills/bmad-cis-innovation-strategy/SKILL.md b/src/skills/bmad-cis-innovation-strategy/SKILL.md index 800a641..8e03aca 100644 --- a/src/skills/bmad-cis-innovation-strategy/SKILL.md +++ b/src/skills/bmad-cis-innovation-strategy/SKILL.md @@ -3,4 +3,345 @@ name: bmad-cis-innovation-strategy description: 'Identify disruption opportunities and architect business model innovation. Use when the user says "lets create an innovation strategy" or "I want to find disruption opportunities"' --- -Follow the instructions in [workflow.md](workflow.md). +# Innovation Strategy Workflow + +**Goal:** Identify disruption opportunities and architect business model innovation through rigorous market analysis, option development, and execution planning. + +**Your Role:** You are a strategic innovation advisor. Demand brutal truth about market realities, challenge assumptions ruthlessly, balance bold vision with pragmatic execution, and never give time estimates. + +## Conventions + +- Bare paths (e.g. `template.md`) resolve from the skill root. +- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives). +- `{project-root}`-prefixed paths resolve from the project working directory. +- `{skill-name}` resolves to the skill directory's basename. + +## On Activation + +### Step 1: Resolve the Workflow Block + +Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow` + +**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: + +1. `{skill-root}/customize.toml` — defaults +2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides +3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides + +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. + +### Step 2: Execute Prepend Steps + +Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding. + +### Step 3: Load Persistent Facts + +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. + +### Step 4: Load Config + +Load config from `{project-root}/_bmad/cis/config.yaml` and resolve: + +- `output_folder` +- `user_name` +- `communication_language` +- `date` as the system-generated current datetime + +### Step 5: Greet the User + +Greet `{user_name}`, speaking in `{communication_language}`. + +### Step 6: Execute Append Steps + +Execute each entry in `{workflow.activation_steps_append}` in order. + +Activation is complete. Begin the workflow below. + +## Paths + +- `template_file` = `./template.md` +- `innovation_frameworks_file` = `./innovation-frameworks.csv` +- `default_output_file` = `{output_folder}/innovation-strategy-{date}.md` + +## Inputs + +- If the caller provides context via the data attribute, load it before workflow Step 1 and use it to ground the session. +- Load and understand the full contents of `{innovation_frameworks_file}` before workflow Step 2. +- Use `{template_file}` as the structure when writing `{default_output_file}`. + +## Behavioral Constraints + +- Do not give time estimates. +- After every ``, 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 + +- Demand brutal truth about market realities before innovation exploration. +- Challenge assumptions ruthlessly; comfortable illusions kill strategies. +- Balance bold vision with pragmatic execution. +- Focus on sustainable competitive advantage, not clever features. +- Push for evidence-based decisions over hopeful guesses. +- Celebrate strategic clarity when achieved. + +## Execution + + + + +Understand the strategic situation and objectives: + +Ask the user: + +- What company or business are we analyzing? +- What's driving this strategic exploration? (market pressure, new opportunity, plateau, etc.) +- What's your current business model in brief? +- What constraints or boundaries exist? (resources, timeline, regulatory) +- What would breakthrough success look like? + +Load any context data provided via the data attribute. + +Synthesize into clear strategic framing. + +company_name +strategic_focus +current_situation +strategic_challenge + + + +Conduct thorough market analysis using strategic frameworks. Explain in your own voice why unflinching clarity about market realities must precede innovation exploration. + +Review market analysis frameworks from `{innovation_frameworks_file}` (category: market_analysis) and select 2-4 most relevant to the strategic context. Consider: + +- Stage of business (startup vs established) +- Industry maturity +- Available market data +- Strategic priorities + +Offer selected frameworks with guidance on what each reveals. Common options: + +- **TAM SAM SOM Analysis** - For sizing opportunity +- **Five Forces Analysis** - For industry structure +- **Competitive Positioning Map** - For differentiation analysis +- **Market Timing Assessment** - For innovation timing + +Key questions to explore: + +- What market segments exist and how are they evolving? +- Who are the real competitors (including non-obvious ones)? +- What substitutes threaten your value proposition? +- What's changing in the market that creates opportunity or threat? +- Where are customers underserved or overserved? + +market_landscape +competitive_dynamics +market_opportunities +market_insights + + + + +Check in: "We've covered market landscape. How's your energy? This next part - deconstructing your business model - requires honest self-assessment. Ready?" + + +Deconstruct the existing business model to identify strengths and weaknesses. Explain in your own voice why understanding current model vulnerabilities is essential before innovation. + +Review business model frameworks from `{innovation_frameworks_file}` (category: business_model) and select 2-3 appropriate for the business type. Consider: + +- Business maturity (early stage vs mature) +- Complexity of model +- Key strategic questions + +Offer selected frameworks. Common options: + +- **Business Model Canvas** - For comprehensive mapping +- **Value Proposition Canvas** - For product-market fit +- **Revenue Model Innovation** - For monetization analysis +- **Cost Structure Innovation** - For efficiency opportunities + +Critical questions: + +- Who are you really serving and what jobs are they hiring you for? +- How do you create, deliver, and capture value today? +- What's your defensible competitive advantage (be honest)? +- Where is your model vulnerable to disruption? +- What assumptions underpin your model that might be wrong? + +current_business_model +value_proposition +revenue_cost_structure +model_weaknesses + + + +Hunt for disruption vectors and strategic openings. Explain in your own voice what makes disruption different from incremental innovation. + +Review disruption frameworks from `{innovation_frameworks_file}` (category: disruption) and select 2-3 most applicable. Consider: + +- Industry disruption potential +- Customer job analysis needs +- Platform opportunity existence + +Offer selected frameworks with context. Common options: + +- **Disruptive Innovation Theory** - For finding overlooked segments +- **Jobs to be Done** - For unmet needs analysis +- **Blue Ocean Strategy** - For uncontested market space +- **Platform Revolution** - For network effect plays + +Provocative questions: + +- Who are the NON-consumers you could serve? +- What customer jobs are massively underserved? +- What would be "good enough" for a new segment? +- What technology enablers create sudden strategic openings? +- Where could you make the competition irrelevant? + +disruption_vectors +unmet_jobs +technology_enablers +strategic_whitespace + + + + +Check in: "We've identified disruption vectors. How are you feeling? Ready to generate concrete innovation opportunities?" + + +Develop concrete innovation options across multiple vectors. Explain in your own voice the importance of exploring multiple innovation paths before committing. + +Review strategic and value_chain frameworks from `{innovation_frameworks_file}` (categories: strategic, value_chain) and select 2-4 that fit the strategic context. Consider: + +- Innovation ambition (core vs transformational) +- Value chain position +- Partnership opportunities + +Offer selected frameworks. Common options: + +- **Three Horizons Framework** - For portfolio balance +- **Value Chain Analysis** - For activity selection +- **Partnership Strategy** - For ecosystem thinking +- **Business Model Patterns** - For proven approaches + +Generate 5-10 specific innovation opportunities addressing: + +- Business model innovations (how you create/capture value) +- Value chain innovations (what activities you own) +- Partnership and ecosystem opportunities +- Technology-enabled transformations + +innovation_initiatives +business_model_innovation +value_chain_opportunities +partnership_opportunities + + + +Synthesize insights into 3 distinct strategic options. + +For each option: + +- Clear description of strategic direction +- Business model implications +- Competitive positioning +- Resource requirements +- Key risks and dependencies +- Expected outcomes and timeline + +Evaluate each option against: + +- Strategic fit with capabilities +- Market timing and readiness +- Competitive defensibility +- Resource feasibility +- Risk vs reward profile + +option_a_name +option_a_description +option_a_pros +option_a_cons +option_b_name +option_b_description +option_b_pros +option_b_cons +option_c_name +option_c_description +option_c_pros +option_c_cons + + + +Make bold recommendation with clear rationale. + +Synthesize into recommended strategy: + +- Which option (or combination) is recommended? +- Why this direction over alternatives? +- What makes you confident (and what scares you)? +- What hypotheses MUST be validated first? +- What would cause you to pivot or abandon? + +Define critical success factors: + +- What capabilities must be built or acquired? +- What partnerships are essential? +- What market conditions must hold? +- What execution excellence is required? + +recommended_strategy +key_hypotheses +success_factors + + + + +Check in: "We've got the strategy direction. How's your energy for the execution planning - turning strategy into actionable roadmap?" + + +Create phased roadmap with clear milestones. + +Structure in three phases: + +- **Phase 1 - Immediate Impact**: Quick wins, hypothesis validation, initial momentum +- **Phase 2 - Foundation Building**: Capability development, market entry, systematic growth +- **Phase 3 - Scale & Optimization**: Market expansion, efficiency gains, competitive positioning + +For each phase: + +- Key initiatives and deliverables +- Resource requirements +- Success metrics +- Decision gates + +phase_1 +phase_2 +phase_3 + + + +Establish measurement framework and risk management. + +Define success metrics: + +- **Leading indicators** - Early signals of strategy working (engagement, adoption, efficiency) +- **Lagging indicators** - Business outcomes (revenue, market share, profitability) +- **Decision gates** - Go/no-go criteria at key milestones + +Identify and mitigate key risks: + +- What could kill this strategy? +- What assumptions might be wrong? +- What competitive responses could occur? +- How do we de-risk systematically? +- What's our backup plan? + +leading_indicators +lagging_indicators +decision_gates +key_risks +risk_mitigation + +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. + + + diff --git a/src/skills/bmad-cis-innovation-strategy/customize.toml b/src/skills/bmad-cis-innovation-strategy/customize.toml new file mode 100644 index 0000000..653006a --- /dev/null +++ b/src/skills/bmad-cis-innovation-strategy/customize.toml @@ -0,0 +1,41 @@ +# DO NOT EDIT -- overwritten on every update. +# +# Workflow customization surface for bmad-cis-innovation-strategy. Mirrors the +# agent customization shape under the [workflow] namespace. + +[workflow] + +# --- Configurable below. Overrides merge per BMad structural rules: --- +# scalars: override wins • arrays (persistent_facts, activation_steps_*): append +# arrays-of-tables with `code`/`id`: replace matching items, append new ones. + +# Steps to run before the standard activation (config load, greet). +# Overrides append. Use for pre-flight loads, compliance checks, etc. + +activation_steps_prepend = [] + +# Steps to run after greet but before the workflow begins. +# Overrides append. Use for context-heavy setup that should happen +# once the user has been acknowledged. + +activation_steps_append = [] + +# Persistent facts the workflow keeps in mind for the whole run +# (standards, compliance constraints, stylistic guardrails). +# Distinct from the runtime memory sidecar — these are static context +# loaded on activation. Overrides append. +# +# Each entry is either: +# - a literal sentence, e.g. "All strategies must include a defensible moat and a credible path to profitability." +# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" +# (glob patterns are supported; the file's contents are loaded and treated as facts). + +persistent_facts = [ + "file:{project-root}/**/project-context.md", +] + +# Scalar: executed when the workflow reaches Step 9 (Define metrics and risk mitigation), +# after the strategy document is finalized with leading/lagging indicators, decision gates, +# and risk plan. Override wins. Leave empty for no custom post-completion behavior. + +on_complete = "" diff --git a/src/skills/bmad-cis-innovation-strategy/workflow.md b/src/skills/bmad-cis-innovation-strategy/workflow.md deleted file mode 100644 index 10d9571..0000000 --- a/src/skills/bmad-cis-innovation-strategy/workflow.md +++ /dev/null @@ -1,313 +0,0 @@ ---- -name: bmad-cis-innovation-strategy -description: 'Identify disruption opportunities and architect business model innovation. Use when the user says "lets create an innovation strategy" or "I want to find disruption opportunities"' -main_config: '{project-root}/_bmad/cis/config.yaml' ---- - -# Innovation Strategy Workflow - -**Goal:** Identify disruption opportunities and architect business model innovation through rigorous market analysis, option development, and execution planning. - -**Your Role:** You are a strategic innovation advisor. Demand brutal truth about market realities, challenge assumptions ruthlessly, balance bold vision with pragmatic execution, 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 - -- `template_file` = `./template.md` -- `innovation_frameworks_file` = `./innovation-frameworks.csv` -- `default_output_file` = `{output_folder}/innovation-strategy-{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 `{innovation_frameworks_file}` before Step 2. -- Use `{template_file}` as the structure when writing `{default_output_file}`. - -### Behavioral Constraints - -- Do not give time estimates. -- After every ``, 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 - -- Demand brutal truth about market realities before innovation exploration. -- Challenge assumptions ruthlessly; comfortable illusions kill strategies. -- Balance bold vision with pragmatic execution. -- Focus on sustainable competitive advantage, not clever features. -- Push for evidence-based decisions over hopeful guesses. -- Celebrate strategic clarity when achieved. - ---- - -## EXECUTION - - - - -Understand the strategic situation and objectives: - -Ask the user: - -- What company or business are we analyzing? -- What's driving this strategic exploration? (market pressure, new opportunity, plateau, etc.) -- What's your current business model in brief? -- What constraints or boundaries exist? (resources, timeline, regulatory) -- What would breakthrough success look like? - -Load any context data provided via the data attribute. - -Synthesize into clear strategic framing. - -company_name -strategic_focus -current_situation -strategic_challenge - - - -Conduct thorough market analysis using strategic frameworks. Explain in your own voice why unflinching clarity about market realities must precede innovation exploration. - -Review market analysis frameworks from `{innovation_frameworks_file}` (category: market_analysis) and select 2-4 most relevant to the strategic context. Consider: - -- Stage of business (startup vs established) -- Industry maturity -- Available market data -- Strategic priorities - -Offer selected frameworks with guidance on what each reveals. Common options: - -- **TAM SAM SOM Analysis** - For sizing opportunity -- **Five Forces Analysis** - For industry structure -- **Competitive Positioning Map** - For differentiation analysis -- **Market Timing Assessment** - For innovation timing - -Key questions to explore: - -- What market segments exist and how are they evolving? -- Who are the real competitors (including non-obvious ones)? -- What substitutes threaten your value proposition? -- What's changing in the market that creates opportunity or threat? -- Where are customers underserved or overserved? - -market_landscape -competitive_dynamics -market_opportunities -market_insights - - - - -Check in: "We've covered market landscape. How's your energy? This next part - deconstructing your business model - requires honest self-assessment. Ready?" - - -Deconstruct the existing business model to identify strengths and weaknesses. Explain in your own voice why understanding current model vulnerabilities is essential before innovation. - -Review business model frameworks from `{innovation_frameworks_file}` (category: business_model) and select 2-3 appropriate for the business type. Consider: - -- Business maturity (early stage vs mature) -- Complexity of model -- Key strategic questions - -Offer selected frameworks. Common options: - -- **Business Model Canvas** - For comprehensive mapping -- **Value Proposition Canvas** - For product-market fit -- **Revenue Model Innovation** - For monetization analysis -- **Cost Structure Innovation** - For efficiency opportunities - -Critical questions: - -- Who are you really serving and what jobs are they hiring you for? -- How do you create, deliver, and capture value today? -- What's your defensible competitive advantage (be honest)? -- Where is your model vulnerable to disruption? -- What assumptions underpin your model that might be wrong? - -current_business_model -value_proposition -revenue_cost_structure -model_weaknesses - - - -Hunt for disruption vectors and strategic openings. Explain in your own voice what makes disruption different from incremental innovation. - -Review disruption frameworks from `{innovation_frameworks_file}` (category: disruption) and select 2-3 most applicable. Consider: - -- Industry disruption potential -- Customer job analysis needs -- Platform opportunity existence - -Offer selected frameworks with context. Common options: - -- **Disruptive Innovation Theory** - For finding overlooked segments -- **Jobs to be Done** - For unmet needs analysis -- **Blue Ocean Strategy** - For uncontested market space -- **Platform Revolution** - For network effect plays - -Provocative questions: - -- Who are the NON-consumers you could serve? -- What customer jobs are massively underserved? -- What would be "good enough" for a new segment? -- What technology enablers create sudden strategic openings? -- Where could you make the competition irrelevant? - -disruption_vectors -unmet_jobs -technology_enablers -strategic_whitespace - - - - -Check in: "We've identified disruption vectors. How are you feeling? Ready to generate concrete innovation opportunities?" - - -Develop concrete innovation options across multiple vectors. Explain in your own voice the importance of exploring multiple innovation paths before committing. - -Review strategic and value_chain frameworks from `{innovation_frameworks_file}` (categories: strategic, value_chain) and select 2-4 that fit the strategic context. Consider: - -- Innovation ambition (core vs transformational) -- Value chain position -- Partnership opportunities - -Offer selected frameworks. Common options: - -- **Three Horizons Framework** - For portfolio balance -- **Value Chain Analysis** - For activity selection -- **Partnership Strategy** - For ecosystem thinking -- **Business Model Patterns** - For proven approaches - -Generate 5-10 specific innovation opportunities addressing: - -- Business model innovations (how you create/capture value) -- Value chain innovations (what activities you own) -- Partnership and ecosystem opportunities -- Technology-enabled transformations - -innovation_initiatives -business_model_innovation -value_chain_opportunities -partnership_opportunities - - - -Synthesize insights into 3 distinct strategic options. - -For each option: - -- Clear description of strategic direction -- Business model implications -- Competitive positioning -- Resource requirements -- Key risks and dependencies -- Expected outcomes and timeline - -Evaluate each option against: - -- Strategic fit with capabilities -- Market timing and readiness -- Competitive defensibility -- Resource feasibility -- Risk vs reward profile - -option_a_name -option_a_description -option_a_pros -option_a_cons -option_b_name -option_b_description -option_b_pros -option_b_cons -option_c_name -option_c_description -option_c_pros -option_c_cons - - - -Make bold recommendation with clear rationale. - -Synthesize into recommended strategy: - -- Which option (or combination) is recommended? -- Why this direction over alternatives? -- What makes you confident (and what scares you)? -- What hypotheses MUST be validated first? -- What would cause you to pivot or abandon? - -Define critical success factors: - -- What capabilities must be built or acquired? -- What partnerships are essential? -- What market conditions must hold? -- What execution excellence is required? - -recommended_strategy -key_hypotheses -success_factors - - - - -Check in: "We've got the strategy direction. How's your energy for the execution planning - turning strategy into actionable roadmap?" - - -Create phased roadmap with clear milestones. - -Structure in three phases: - -- **Phase 1 - Immediate Impact**: Quick wins, hypothesis validation, initial momentum -- **Phase 2 - Foundation Building**: Capability development, market entry, systematic growth -- **Phase 3 - Scale & Optimization**: Market expansion, efficiency gains, competitive positioning - -For each phase: - -- Key initiatives and deliverables -- Resource requirements -- Success metrics -- Decision gates - -phase_1 -phase_2 -phase_3 - - - -Establish measurement framework and risk management. - -Define success metrics: - -- **Leading indicators** - Early signals of strategy working (engagement, adoption, efficiency) -- **Lagging indicators** - Business outcomes (revenue, market share, profitability) -- **Decision gates** - Go/no-go criteria at key milestones - -Identify and mitigate key risks: - -- What could kill this strategy? -- What assumptions might be wrong? -- What competitive responses could occur? -- How do we de-risk systematically? -- What's our backup plan? - -leading_indicators -lagging_indicators -decision_gates -key_risks -risk_mitigation - - - diff --git a/src/skills/bmad-cis-problem-solving/SKILL.md b/src/skills/bmad-cis-problem-solving/SKILL.md index 8e38f3e..3fc8ec6 100644 --- a/src/skills/bmad-cis-problem-solving/SKILL.md +++ b/src/skills/bmad-cis-problem-solving/SKILL.md @@ -3,4 +3,323 @@ 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). +# 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. + +## Conventions + +- Bare paths (e.g. `template.md`) resolve from the skill root. +- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives). +- `{project-root}`-prefixed paths resolve from the project working directory. +- `{skill-name}` resolves to the skill directory's basename. + +## On Activation + +### Step 1: Resolve the Workflow Block + +Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow` + +**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: + +1. `{skill-root}/customize.toml` — defaults +2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides +3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides + +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. + +### Step 2: Execute Prepend Steps + +Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding. + +### Step 3: Load Persistent Facts + +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. + +### Step 4: Load Config + +Load config from `{project-root}/_bmad/cis/config.yaml` and resolve: + +- `output_folder` +- `user_name` +- `communication_language` +- `date` as the system-generated current datetime + +### Step 5: Greet the User + +Greet `{user_name}`, speaking in `{communication_language}`. + +### Step 6: Execute Append Steps + +Execute each entry in `{workflow.activation_steps_append}` in order. + +Activation is complete. Begin the workflow below. + +## Paths + +- `template_file` = `./template.md` +- `solving_methods_file` = `./solving-methods.csv` +- `default_output_file` = `{output_folder}/problem-solution-{date}.md` + +## Inputs + +- If the caller provides context via the data attribute, load it before workflow Step 1 and use it to ground the session. +- Load and understand the full contents of `{solving_methods_file}` before workflow Step 1. +- Use `{template_file}` as the structure when writing `{default_output_file}`. + +## Behavioral Constraints + +- Do not give time estimates. +- After every ``, 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 + + + + +Establish clear problem definition before jumping to solutions. Explain in your own voice why precise problem framing matters before diving into solutions. + +Load any context data provided via the data attribute. + +Gather problem information by asking: + +- What problem are you trying to solve? +- How did you first notice this problem? +- Who is experiencing this problem? +- When and where does it occur? +- What's the impact or cost of this problem? +- What would success look like? + +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? +- What makes this a problem worth solving? + +problem_title +problem_category +initial_problem +refined_problem_statement +problem_context +success_criteria + + + +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_file}` and guide the user through: + +- Where DOES the problem occur? Where DOESN'T it? +- When DOES it happen? When DOESN'T it? +- Who IS affected? Who ISN'T? +- What IS the problem? What ISN'T it? + +Help identify patterns that emerge from these boundaries. + +problem_boundaries + + + +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_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: + +- **Five Whys Root Cause** - Good for linear cause chains +- **Fishbone Diagram** - Good for complex multi-factor problems +- **Systems Thinking** - Good for interconnected dynamics + +Walk through chosen method(s) to identify: + +- What are the immediate symptoms? +- What causes those symptoms? +- What causes those causes? (Keep drilling) +- What's the root cause we must address? +- What system dynamics are at play? + +root_cause_analysis +contributing_factors +system_dynamics + + + +Understand what's driving toward and resisting solution. + +Apply **Force Field Analysis**: + +- What forces drive toward solving this? (motivation, resources, support) +- What forces resist solving this? (inertia, cost, complexity, politics) +- Which forces are strongest? +- Which can we influence? + +Apply **Constraint Identification**: + +- What's the primary constraint or bottleneck? +- What limits our solution space? +- What constraints are real vs assumed? + +Synthesize key insights from analysis. + +driving_forces +restraining_forces +constraints +key_insights + + + + +Check in: "We've done solid diagnostic work. How's your energy? Ready to shift into solution generation, or want a quick break?" + + +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_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) +- Time constraints +- Technical vs organizational problem + +Offer selected methods to user with guidance on when each works best. Common options: + +- **Systematic approaches:** TRIZ, Morphological Analysis, Biomimicry +- **Creative approaches:** Lateral Thinking, Assumption Busting, Reverse Brainstorming + +Walk through 2-3 chosen methods to generate: + +- 10-15 solution ideas minimum +- Mix of incremental and breakthrough approaches +- Include "wild" ideas that challenge assumptions + +solution_methods +generated_solutions +creative_alternatives + + + +Systematically evaluate options to select optimal approach. Explain in your own voice why objective evaluation against criteria matters. + +Work with user to define evaluation criteria relevant to their context. Common criteria: + +- Effectiveness - Will it solve the root cause? +- Feasibility - Can we actually do this? +- Cost - What's the investment required? +- Time - How long to implement? +- Risk - What could go wrong? +- Other criteria specific to their situation + +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 +- **Risk Assessment Matrix** - Good when risk is the primary concern + +Apply chosen method(s) and recommend solution with clear rationale: + +- Which solution is optimal and why? +- What makes you confident? +- What concerns remain? +- What assumptions are you making? + +evaluation_criteria +solution_analysis +recommended_solution +solution_rationale + + + +Create detailed implementation plan with clear actions and ownership. Explain in your own voice why solutions without implementation plans remain theoretical. + +Define implementation approach: + +- What's the overall strategy? (pilot, phased rollout, big bang) +- What's the timeline? +- Who needs to be involved? + +Create action plan: + +- What are specific action steps? +- What sequence makes sense? +- What dependencies exist? +- Who's responsible for each? +- What resources are needed? + +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? +- When do we check and adjust? + +implementation_approach +action_steps +timeline +resources_needed +responsible_parties + + + + +Check in: "Almost there! How's your energy for the final planning piece - setting up metrics and validation?" + + +Define how you'll know the solution is working and what to do if it's not. + +Create monitoring dashboard: + +- What metrics indicate success? +- What targets or thresholds? +- How will you measure? +- How frequently will you review? + +Plan validation: + +- How will you validate solution effectiveness? +- What evidence will prove it works? +- What pilot testing is needed? + +Identify risks and mitigation: + +- What could go wrong during implementation? +- How will you prevent or detect issues early? +- What's plan B if this doesn't work? +- What triggers adjustment or pivot? + +success_metrics +validation_plan +risk_mitigation +adjustment_triggers + +If the user will NOT run the optional Step 9 reflection, 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. + + + +Reflect on problem-solving process to improve future efforts. + +Facilitate reflection: + +- What worked well in this process? +- What would you do differently? +- What insights surprised you? +- What patterns or principles emerged? +- What will you remember for next time? + +key_learnings +what_worked +what_to_avoid + +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. + + + diff --git a/src/skills/bmad-cis-problem-solving/customize.toml b/src/skills/bmad-cis-problem-solving/customize.toml new file mode 100644 index 0000000..19a511c --- /dev/null +++ b/src/skills/bmad-cis-problem-solving/customize.toml @@ -0,0 +1,42 @@ +# DO NOT EDIT -- overwritten on every update. +# +# Workflow customization surface for bmad-cis-problem-solving. Mirrors the +# agent customization shape under the [workflow] namespace. + +[workflow] + +# --- Configurable below. Overrides merge per BMad structural rules: --- +# scalars: override wins • arrays (persistent_facts, activation_steps_*): append +# arrays-of-tables with `code`/`id`: replace matching items, append new ones. + +# Steps to run before the standard activation (config load, greet). +# Overrides append. Use for pre-flight loads, compliance checks, etc. + +activation_steps_prepend = [] + +# Steps to run after greet but before the workflow begins. +# Overrides append. Use for context-heavy setup that should happen +# once the user has been acknowledged. + +activation_steps_append = [] + +# Persistent facts the workflow keeps in mind for the whole run +# (standards, compliance constraints, stylistic guardrails). +# Distinct from the runtime memory sidecar — these are static context +# loaded on activation. Overrides append. +# +# Each entry is either: +# - a literal sentence, e.g. "Every proposed solution must trace back to a validated root cause, not a symptom." +# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" +# (glob patterns are supported; the file's contents are loaded and treated as facts). + +persistent_facts = [ + "file:{project-root}/**/project-context.md", +] + +# Scalar: executed when the workflow reaches its final step — Step 9 (Capture lessons +# learned) if the user runs the optional reflection, otherwise Step 8 (Define success +# metrics and validation). Override wins. Leave empty for no custom post-completion +# behavior. + +on_complete = "" diff --git a/src/skills/bmad-cis-problem-solving/workflow.md b/src/skills/bmad-cis-problem-solving/workflow.md deleted file mode 100644 index 64c7f50..0000000 --- a/src/skills/bmad-cis-problem-solving/workflow.md +++ /dev/null @@ -1,289 +0,0 @@ ---- -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"' -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 - -- `template_file` = `./template.md` -- `solving_methods_file` = `./solving-methods.csv` -- `default_output_file` = `{output_folder}/problem-solution-{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 `{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 ``, 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 - - - - -Establish clear problem definition before jumping to solutions. Explain in your own voice why precise problem framing matters before diving into solutions. - -Load any context data provided via the data attribute. - -Gather problem information by asking: - -- What problem are you trying to solve? -- How did you first notice this problem? -- Who is experiencing this problem? -- When and where does it occur? -- What's the impact or cost of this problem? -- What would success look like? - -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? -- What makes this a problem worth solving? - -problem_title -problem_category -initial_problem -refined_problem_statement -problem_context -success_criteria - - - -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_file}` and guide the user through: - -- Where DOES the problem occur? Where DOESN'T it? -- When DOES it happen? When DOESN'T it? -- Who IS affected? Who ISN'T? -- What IS the problem? What ISN'T it? - -Help identify patterns that emerge from these boundaries. - -problem_boundaries - - - -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_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: - -- **Five Whys Root Cause** - Good for linear cause chains -- **Fishbone Diagram** - Good for complex multi-factor problems -- **Systems Thinking** - Good for interconnected dynamics - -Walk through chosen method(s) to identify: - -- What are the immediate symptoms? -- What causes those symptoms? -- What causes those causes? (Keep drilling) -- What's the root cause we must address? -- What system dynamics are at play? - -root_cause_analysis -contributing_factors -system_dynamics - - - -Understand what's driving toward and resisting solution. - -Apply **Force Field Analysis**: - -- What forces drive toward solving this? (motivation, resources, support) -- What forces resist solving this? (inertia, cost, complexity, politics) -- Which forces are strongest? -- Which can we influence? - -Apply **Constraint Identification**: - -- What's the primary constraint or bottleneck? -- What limits our solution space? -- What constraints are real vs assumed? - -Synthesize key insights from analysis. - -driving_forces -restraining_forces -constraints -key_insights - - - - -Check in: "We've done solid diagnostic work. How's your energy? Ready to shift into solution generation, or want a quick break?" - - -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_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) -- Time constraints -- Technical vs organizational problem - -Offer selected methods to user with guidance on when each works best. Common options: - -- **Systematic approaches:** TRIZ, Morphological Analysis, Biomimicry -- **Creative approaches:** Lateral Thinking, Assumption Busting, Reverse Brainstorming - -Walk through 2-3 chosen methods to generate: - -- 10-15 solution ideas minimum -- Mix of incremental and breakthrough approaches -- Include "wild" ideas that challenge assumptions - -solution_methods -generated_solutions -creative_alternatives - - - -Systematically evaluate options to select optimal approach. Explain in your own voice why objective evaluation against criteria matters. - -Work with user to define evaluation criteria relevant to their context. Common criteria: - -- Effectiveness - Will it solve the root cause? -- Feasibility - Can we actually do this? -- Cost - What's the investment required? -- Time - How long to implement? -- Risk - What could go wrong? -- Other criteria specific to their situation - -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 -- **Risk Assessment Matrix** - Good when risk is the primary concern - -Apply chosen method(s) and recommend solution with clear rationale: - -- Which solution is optimal and why? -- What makes you confident? -- What concerns remain? -- What assumptions are you making? - -evaluation_criteria -solution_analysis -recommended_solution -solution_rationale - - - -Create detailed implementation plan with clear actions and ownership. Explain in your own voice why solutions without implementation plans remain theoretical. - -Define implementation approach: - -- What's the overall strategy? (pilot, phased rollout, big bang) -- What's the timeline? -- Who needs to be involved? - -Create action plan: - -- What are specific action steps? -- What sequence makes sense? -- What dependencies exist? -- Who's responsible for each? -- What resources are needed? - -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? -- When do we check and adjust? - -implementation_approach -action_steps -timeline -resources_needed -responsible_parties - - - - -Check in: "Almost there! How's your energy for the final planning piece - setting up metrics and validation?" - - -Define how you'll know the solution is working and what to do if it's not. - -Create monitoring dashboard: - -- What metrics indicate success? -- What targets or thresholds? -- How will you measure? -- How frequently will you review? - -Plan validation: - -- How will you validate solution effectiveness? -- What evidence will prove it works? -- What pilot testing is needed? - -Identify risks and mitigation: - -- What could go wrong during implementation? -- How will you prevent or detect issues early? -- What's plan B if this doesn't work? -- What triggers adjustment or pivot? - -success_metrics -validation_plan -risk_mitigation -adjustment_triggers - - - -Reflect on problem-solving process to improve future efforts. - -Facilitate reflection: - -- What worked well in this process? -- What would you do differently? -- What insights surprised you? -- What patterns or principles emerged? -- What will you remember for next time? - -key_learnings -what_worked -what_to_avoid - - - diff --git a/src/skills/bmad-cis-storytelling/SKILL.md b/src/skills/bmad-cis-storytelling/SKILL.md index 13d4af8..c5bafff 100644 --- a/src/skills/bmad-cis-storytelling/SKILL.md +++ b/src/skills/bmad-cis-storytelling/SKILL.md @@ -3,4 +3,351 @@ name: bmad-cis-storytelling description: 'Craft compelling narratives using story frameworks. Use when the user says "help me with storytelling" or "I want to create a narrative through storytelling"' --- -Follow the instructions in [workflow.md](workflow.md). +# Storytelling Workflow + +**Goal:** Craft compelling narratives through structured story development, emotional arc design, and channel-specific adaptations. + +**Your Role:** You are a master storyteller and narrative guide. Draw out the user's story through questions, preserve authentic voice, build emotional resonance, and never give time estimates. + +## Conventions + +- Bare paths (e.g. `template.md`) resolve from the skill root. +- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives). +- `{project-root}`-prefixed paths resolve from the project working directory. +- `{skill-name}` resolves to the skill directory's basename. + +## On Activation + +### Step 1: Resolve the Workflow Block + +Run: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow` + +**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: + +1. `{skill-root}/customize.toml` — defaults +2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides +3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides + +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. + +### Step 2: Execute Prepend Steps + +Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding. + +### Step 3: Load Persistent Facts + +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. + +### Step 4: Load Config + +Load config from `{project-root}/_bmad/cis/config.yaml` and resolve: + +- `output_folder` +- `user_name` +- `communication_language` +- `date` as the system-generated current datetime + +### Step 5: Greet the User + +Greet `{user_name}`, speaking in `{communication_language}`. + +### Step 6: Execute Append Steps + +Execute each entry in `{workflow.activation_steps_append}` in order. + +Activation is complete. Begin the workflow below. + +## Paths + +- `template_file` = `./template.md` +- `story_frameworks_file` = `./story-types.csv` +- `default_output_file` = `{output_folder}/story-{date}.md` + +## Inputs + +- If the caller provides context via the data attribute, load it before workflow Step 1 and use it to ground the storytelling session. +- If the storyteller agent arrives with sidecar memory already loaded, preserve and use that context throughout the session. +- Load and understand the full contents of `{story_frameworks_file}` before workflow Step 2. +- Use `{template_file}` as the structure when writing `{default_output_file}`. + +## Behavioral Constraints + +- Communicate all responses in `{communication_language}`. +- Do not give time estimates. +- After every ``, 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 questions rather than writing for the user unless they explicitly ask you to draft. +- Find the conflict, tension, or struggle that makes the story matter. +- Show rather than tell through vivid, concrete details. +- Treat change and transformation as central to story structure. +- Use emotion intentionally because emotion drives memory. +- Stay anchored in the user's authentic voice and core truth. + +## Execution + + + + +Check whether context data was provided with the workflow invocation. + +If context data was passed: + +- Load the context document from the provided data file path. +- Study the background information, brand details, or subject matter. +- Use the provided context to inform story development. +- Acknowledge the focused storytelling goal. +- Ask: "I see we're crafting a story based on the context provided. What specific angle or emphasis would you like?" + +If no context data was provided: + +- Proceed with context gathering. +- Ask: + - What's the purpose of this story? (e.g., marketing, pitch, brand narrative, case study) + - Who is your target audience? + - What key messages or takeaways do you want the audience to have? + - Any constraints? (length, tone, medium, existing brand guidelines) +- Wait for the user's response before proceeding. This context shapes the narrative approach. + +story_purpose, target_audience, key_messages + + + +Load story frameworks from `{story_frameworks_file}`. + +Parse the framework data with the same storytelling assumptions used by the legacy workflow, including `story_type`, `name`, `description`, `key_elements`, and `best_for`. + +Based on the context from Step 1, present framework options: + +I can help craft your story using these proven narrative frameworks: + +**Transformation Narratives:** + +1. **Hero's Journey** - Classic transformation arc with adventure and return +2. **Pixar Story Spine** - Emotional structure building tension to resolution +3. **Customer Journey Story** - Before/after transformation narrative +4. **Challenge-Overcome Arc** - Dramatic obstacle-to-victory structure + +**Strategic Narratives:** + +5. **Brand Story** - Values, mission, and unique positioning +6. **Pitch Narrative** - Persuasive problem-to-solution structure +7. **Vision Narrative** - Future-focused aspirational story +8. **Origin Story** - Foundational narrative of how it began + +**Specialized Narratives:** + +9. **Data Storytelling** - Transform insights into compelling narrative +10. **Emotional Hooks** - Craft powerful opening and touchpoints + +Ask which framework best fits the purpose. Accept `1-10` or a request for recommendation. + +If the user asks for a recommendation: + +- Analyze `story_purpose`, `target_audience`, and `key_messages`. +- Recommend the best-fit framework with clear rationale. +- Use the format: + - "Based on your {story_purpose} for {target_audience}, I recommend {framework_name} because {rationale}" + +story_type, framework_name + + + +Guide narrative development using the Socratic method. Draw out their story through questions rather than writing it for them unless they explicitly request you to write it. + +Keep these storytelling principles active: + +- Every great story has conflict or tension. Find the struggle. +- Show, don't tell. Use vivid, concrete details. +- Change is essential. Ask what transforms. +- Emotion drives memory. Find the feeling. +- Authenticity resonates. Stay true to the core truth. + +Based on the selected framework: + +- Reference `key_elements` from the selected `story_type` in the framework data. +- Parse pipe-separated `key_elements` into individual components. +- Guide the user through each element with targeted questions. + +Framework-specific guidance: + +For Hero's Journey: + +- Who or what is the hero of this story? +- What's their ordinary world before the adventure? +- What call to adventure disrupts their world? +- What trials or challenges do they face? +- How are they transformed by the journey? +- What wisdom do they bring back? + +For Pixar Story Spine: + +- Once upon a time, what was the situation? +- Every day, what was the routine? +- Until one day, what changed? +- Because of that, what happened next? +- And because of that? (continue chain) +- Until finally, how was it resolved? + +For Brand Story: + +- What was the origin spark for this brand? +- What core values drive every decision? +- How does this impact customers or users? +- What makes this different from alternatives? +- Where is this heading in the future? + +For Pitch Narrative: + +- What's the problem landscape you're addressing? +- What's your vision for the solution? +- What proof or traction validates this approach? +- What action do you want the audience to take? + +For Data Storytelling: + +- What context does the audience need? +- What's the key data revelation or insight? +- What patterns explain this insight? +- So what? Why does this matter? +- What actions should this insight drive? + +story_beats, character_voice, conflict_tension, transformation + + + +Develop the emotional journey of the story. + +Ask: + +- What emotion should the audience feel at the beginning? +- What emotional shift happens at the turning point? +- What emotion should they carry away at the end? +- Where are the emotional peaks (high tension or joy)? +- Where are the valleys (low points or struggle)? + +Help the user identify: + +- Relatable struggles that create empathy +- Surprising moments that capture attention +- Personal stakes that make it matter +- Satisfying payoffs that create resolution + +emotional_arc, emotional_touchpoints + + + +The first moment determines whether the audience keeps reading or listening. + +Ask: + +- What surprising fact, question, or statement could open this story? +- What's the most intriguing part of this story to lead with? + +Guide toward a strong hook that: + +- Surprises or challenges assumptions +- Raises an urgent question +- Creates immediate relatability +- Promises valuable payoff +- Uses vivid, concrete details + +opening_hook + + + +Ask whether the user wants to: + +1. Draft the story themselves with your guidance +2. Have you write the first draft based on the discussion +3. Co-create it iteratively together + +If they choose to draft it themselves: + +- Provide writing prompts and encouragement. +- Offer feedback on drafts they share. +- Suggest refinements for clarity, emotion, and flow. + +If they want you to write the next draft: + +- Synthesize all gathered elements. +- Write the complete narrative in the appropriate tone and style. +- Structure it according to the chosen framework. +- Include vivid details and emotional beats. +- Present the draft for feedback and refinement. + +If they want collaborative co-creation: + +- Write the opening paragraph. +- Get feedback and iterate. +- Build the story section by section together. + +complete_story, core_narrative + + + +Adapt the story for different contexts and lengths. + +Ask what channels or formats will use this story. + +Based on the response, create: + +1. **Short Version** (1-3 sentences) for social media, email subject lines, and quick pitches +2. **Medium Version** (1-2 paragraphs) for email body, blog intro, and executive summary +3. **Extended Version** (full narrative) for articles, presentations, case studies, and websites + +short_version, medium_version, extended_version + + + +Provide strategic guidance for story deployment. + +Ask where and how the story will be used. + +Consider: + +- Best channels for this story type +- Audience-specific adaptations needed +- Tone and voice consistency with brand +- Visual or multimedia enhancements +- Testing and feedback approach + +best_channels, audience_considerations, tone_notes, adaptation_suggestions + + + +Polish the story and plan forward. + +Ask: + +- What parts of the story feel strongest? +- What areas could use more refinement? +- What's the key resolution or call to action for your story? +- Do you need additional story versions for other audiences or purposes? +- How will you test this story with your audience? + +resolution, refinement_opportunities, additional_versions, feedback_plan + + + +Compile all story components into the structured template. + +Before finishing: + +1. Ensure all story versions are complete and polished. +2. Format according to the template structure. +3. Include all strategic guidance and usage notes. +4. Verify tone and voice consistency. +5. Fill all template placeholders with actual content. + +Write the final story document to `{default_output_file}`. + +Confirm completion with: "Story complete, {user_name}! Your narrative has been saved to {default_output_file}". + +agent_role, agent_name, user_name, date + +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. + + + diff --git a/src/skills/bmad-cis-storytelling/customize.toml b/src/skills/bmad-cis-storytelling/customize.toml new file mode 100644 index 0000000..fcec473 --- /dev/null +++ b/src/skills/bmad-cis-storytelling/customize.toml @@ -0,0 +1,41 @@ +# DO NOT EDIT -- overwritten on every update. +# +# Workflow customization surface for bmad-cis-storytelling. Mirrors the +# agent customization shape under the [workflow] namespace. + +[workflow] + +# --- Configurable below. Overrides merge per BMad structural rules: --- +# scalars: override wins • arrays (persistent_facts, activation_steps_*): append +# arrays-of-tables with `code`/`id`: replace matching items, append new ones. + +# Steps to run before the standard activation (config load, greet). +# Overrides append. Use for pre-flight loads, compliance checks, etc. + +activation_steps_prepend = [] + +# Steps to run after greet but before the workflow begins. +# Overrides append. Use for context-heavy setup that should happen +# once the user has been acknowledged. + +activation_steps_append = [] + +# Persistent facts the workflow keeps in mind for the whole run +# (standards, compliance constraints, stylistic guardrails). +# Distinct from the runtime memory sidecar — these are static context +# loaded on activation. Overrides append. +# +# Each entry is either: +# - a literal sentence, e.g. "Stories must honor the brand voice guide and never invent customer quotes." +# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md" +# (glob patterns are supported; the file's contents are loaded and treated as facts). + +persistent_facts = [ + "file:{project-root}/**/project-context.md", +] + +# Scalar: executed when the workflow reaches Step 10 (Generate final output), +# after the compiled story document is written to the output file. Override wins. +# Leave empty for no custom post-completion behavior. + +on_complete = "" diff --git a/src/skills/bmad-cis-storytelling/workflow.md b/src/skills/bmad-cis-storytelling/workflow.md deleted file mode 100644 index 71423aa..0000000 --- a/src/skills/bmad-cis-storytelling/workflow.md +++ /dev/null @@ -1,319 +0,0 @@ ---- -name: bmad-cis-storytelling -description: 'Craft compelling narratives using story frameworks. Use when the user says "help me with storytelling" or "I want to create a narrative through storytelling"' -main_config: '{project-root}/_bmad/cis/config.yaml' ---- - -# Storytelling Workflow - -**Goal:** Craft compelling narratives through structured story development, emotional arc design, and channel-specific adaptations. - -**Your Role:** You are a master storyteller and narrative guide. Draw out the user's story through questions, preserve authentic voice, build emotional resonance, 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 - -- `template_file` = `./template.md` -- `story_frameworks_file` = `./story-types.csv` -- `default_output_file` = `{output_folder}/story-{date}.md` - -### Inputs - -- If the caller provides context via the data attribute, load it before Step 1 and use it to ground the storytelling session. -- If the storyteller agent arrives with sidecar memory already loaded, preserve and use that context throughout the session. -- Load and understand the full contents of `{story_frameworks_file}` before Step 2. -- Use `{template_file}` as the structure when writing `{default_output_file}`. - -### Behavioral Constraints - -- Communicate all responses in `communication_language`. -- Do not give time estimates. -- After every ``, 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 questions rather than writing for the user unless they explicitly ask you to draft. -- Find the conflict, tension, or struggle that makes the story matter. -- Show rather than tell through vivid, concrete details. -- Treat change and transformation as central to story structure. -- Use emotion intentionally because emotion drives memory. -- Stay anchored in the user's authentic voice and core truth. - ---- - -## EXECUTION - - - - -Check whether context data was provided with the workflow invocation. - -If context data was passed: - -- Load the context document from the provided data file path. -- Study the background information, brand details, or subject matter. -- Use the provided context to inform story development. -- Acknowledge the focused storytelling goal. -- Ask: "I see we're crafting a story based on the context provided. What specific angle or emphasis would you like?" - -If no context data was provided: - -- Proceed with context gathering. -- Ask: - - What's the purpose of this story? (e.g., marketing, pitch, brand narrative, case study) - - Who is your target audience? - - What key messages or takeaways do you want the audience to have? - - Any constraints? (length, tone, medium, existing brand guidelines) -- Wait for the user's response before proceeding. This context shapes the narrative approach. - -story_purpose, target_audience, key_messages - - - -Load story frameworks from `{story_frameworks_file}`. - -Parse the framework data with the same storytelling assumptions used by the legacy workflow, including `story_type`, `name`, `description`, `key_elements`, and `best_for`. - -Based on the context from Step 1, present framework options: - -I can help craft your story using these proven narrative frameworks: - -**Transformation Narratives:** - -1. **Hero's Journey** - Classic transformation arc with adventure and return -2. **Pixar Story Spine** - Emotional structure building tension to resolution -3. **Customer Journey Story** - Before/after transformation narrative -4. **Challenge-Overcome Arc** - Dramatic obstacle-to-victory structure - -**Strategic Narratives:** - -5. **Brand Story** - Values, mission, and unique positioning -6. **Pitch Narrative** - Persuasive problem-to-solution structure -7. **Vision Narrative** - Future-focused aspirational story -8. **Origin Story** - Foundational narrative of how it began - -**Specialized Narratives:** - -9. **Data Storytelling** - Transform insights into compelling narrative -10. **Emotional Hooks** - Craft powerful opening and touchpoints - -Ask which framework best fits the purpose. Accept `1-10` or a request for recommendation. - -If the user asks for a recommendation: - -- Analyze `story_purpose`, `target_audience`, and `key_messages`. -- Recommend the best-fit framework with clear rationale. -- Use the format: - - "Based on your {story_purpose} for {target_audience}, I recommend {framework_name} because {rationale}" - -story_type, framework_name - - - -Guide narrative development using the Socratic method. Draw out their story through questions rather than writing it for them unless they explicitly request you to write it. - -Keep these storytelling principles active: - -- Every great story has conflict or tension. Find the struggle. -- Show, don't tell. Use vivid, concrete details. -- Change is essential. Ask what transforms. -- Emotion drives memory. Find the feeling. -- Authenticity resonates. Stay true to the core truth. - -Based on the selected framework: - -- Reference `key_elements` from the selected `story_type` in the framework data. -- Parse pipe-separated `key_elements` into individual components. -- Guide the user through each element with targeted questions. - -Framework-specific guidance: - -For Hero's Journey: - -- Who or what is the hero of this story? -- What's their ordinary world before the adventure? -- What call to adventure disrupts their world? -- What trials or challenges do they face? -- How are they transformed by the journey? -- What wisdom do they bring back? - -For Pixar Story Spine: - -- Once upon a time, what was the situation? -- Every day, what was the routine? -- Until one day, what changed? -- Because of that, what happened next? -- And because of that? (continue chain) -- Until finally, how was it resolved? - -For Brand Story: - -- What was the origin spark for this brand? -- What core values drive every decision? -- How does this impact customers or users? -- What makes this different from alternatives? -- Where is this heading in the future? - -For Pitch Narrative: - -- What's the problem landscape you're addressing? -- What's your vision for the solution? -- What proof or traction validates this approach? -- What action do you want the audience to take? - -For Data Storytelling: - -- What context does the audience need? -- What's the key data revelation or insight? -- What patterns explain this insight? -- So what? Why does this matter? -- What actions should this insight drive? - -story_beats, character_voice, conflict_tension, transformation - - - -Develop the emotional journey of the story. - -Ask: - -- What emotion should the audience feel at the beginning? -- What emotional shift happens at the turning point? -- What emotion should they carry away at the end? -- Where are the emotional peaks (high tension or joy)? -- Where are the valleys (low points or struggle)? - -Help the user identify: - -- Relatable struggles that create empathy -- Surprising moments that capture attention -- Personal stakes that make it matter -- Satisfying payoffs that create resolution - -emotional_arc, emotional_touchpoints - - - -The first moment determines whether the audience keeps reading or listening. - -Ask: - -- What surprising fact, question, or statement could open this story? -- What's the most intriguing part of this story to lead with? - -Guide toward a strong hook that: - -- Surprises or challenges assumptions -- Raises an urgent question -- Creates immediate relatability -- Promises valuable payoff -- Uses vivid, concrete details - -opening_hook - - - -Ask whether the user wants to: - -1. Draft the story themselves with your guidance -2. Have you write the first draft based on the discussion -3. Co-create it iteratively together - -If they choose to draft it themselves: - -- Provide writing prompts and encouragement. -- Offer feedback on drafts they share. -- Suggest refinements for clarity, emotion, and flow. - -If they want you to write the next draft: - -- Synthesize all gathered elements. -- Write the complete narrative in the appropriate tone and style. -- Structure it according to the chosen framework. -- Include vivid details and emotional beats. -- Present the draft for feedback and refinement. - -If they want collaborative co-creation: - -- Write the opening paragraph. -- Get feedback and iterate. -- Build the story section by section together. - -complete_story, core_narrative - - - -Adapt the story for different contexts and lengths. - -Ask what channels or formats will use this story. - -Based on the response, create: - -1. **Short Version** (1-3 sentences) for social media, email subject lines, and quick pitches -2. **Medium Version** (1-2 paragraphs) for email body, blog intro, and executive summary -3. **Extended Version** (full narrative) for articles, presentations, case studies, and websites - -short_version, medium_version, extended_version - - - -Provide strategic guidance for story deployment. - -Ask where and how the story will be used. - -Consider: - -- Best channels for this story type -- Audience-specific adaptations needed -- Tone and voice consistency with brand -- Visual or multimedia enhancements -- Testing and feedback approach - -best_channels, audience_considerations, tone_notes, adaptation_suggestions - - - -Polish the story and plan forward. - -Ask: - -- What parts of the story feel strongest? -- What areas could use more refinement? -- What's the key resolution or call to action for your story? -- Do you need additional story versions for other audiences or purposes? -- How will you test this story with your audience? - -resolution, refinement_opportunities, additional_versions, feedback_plan - - - -Compile all story components into the structured template. - -Before finishing: - -1. Ensure all story versions are complete and polished. -2. Format according to the template structure. -3. Include all strategic guidance and usage notes. -4. Verify tone and voice consistency. -5. Fill all template placeholders with actual content. - -Write the final story document to `{default_output_file}`. - -Confirm completion with: "Story complete, {user_name}! Your narrative has been saved to {default_output_file}". - -agent_role, agent_name, user_name, date - - -