specsmd 0.0.0-dev.80 → 0.0.0-dev.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/flows/ideation/README.md +35 -0
- package/flows/ideation/agents/orchestrator/agent.md +102 -0
- package/flows/ideation/agents/orchestrator/skills/flame/SKILL.md +131 -0
- package/flows/ideation/agents/orchestrator/skills/flame/references/evaluation-criteria.md +77 -0
- package/flows/ideation/agents/orchestrator/skills/flame/references/six-hats-method.md +75 -0
- package/flows/ideation/agents/orchestrator/skills/flame/templates/flame-report.md.hbs +81 -0
- package/flows/ideation/agents/orchestrator/skills/forge/SKILL.md +152 -0
- package/flows/ideation/agents/orchestrator/skills/forge/references/disney-method.md +86 -0
- package/flows/ideation/agents/orchestrator/skills/forge/references/pitch-framework.md +72 -0
- package/flows/ideation/agents/orchestrator/skills/forge/templates/concept-brief.md.hbs +83 -0
- package/flows/ideation/agents/orchestrator/skills/spark/SKILL.md +141 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/anti-bias.md +43 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/analogy.md +53 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/first-principles.md +51 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/index.yaml +76 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/inversion.md +46 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/questorming.md +51 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/random-word.md +34 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/scamper.md +52 -0
- package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/what-if.md +49 -0
- package/flows/ideation/agents/orchestrator/skills/spark/templates/spark-bank.md.hbs +72 -0
- package/flows/ideation/commands/flame.md +43 -0
- package/flows/ideation/commands/forge.md +43 -0
- package/flows/ideation/commands/ideation.md +51 -0
- package/flows/ideation/commands/spark.md +43 -0
- package/flows/ideation/memory-bank.yaml +177 -0
- package/flows/ideation/quick-start.md +84 -0
- package/flows/ideation/shared/protocols/anti-bias.md +76 -0
- package/flows/ideation/shared/protocols/deep-thinking.md +85 -0
- package/flows/ideation/shared/protocols/diverge-converge.md +70 -0
- package/flows/ideation/shared/protocols/interaction-adaptation.md +81 -0
- package/lib/constants.js +5 -0
- package/package.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Disney Creative Strategy
|
|
2
|
+
|
|
3
|
+
**Origin**: Modeled after Walt Disney's creative process by Robert Dilts (1994). Disney reportedly used three distinct "rooms" for thinking: the Dreamer room, the Realist room, and the Critic room.
|
|
4
|
+
|
|
5
|
+
## Core Concept
|
|
6
|
+
|
|
7
|
+
The same idea is examined through three completely separate lenses, in sequence. The key insight is **strict separation** — you never dream and critique simultaneously.
|
|
8
|
+
|
|
9
|
+
## The Three Roles
|
|
10
|
+
|
|
11
|
+
### The Dreamer
|
|
12
|
+
- **Mindset**: "Anything is possible"
|
|
13
|
+
- **Perspective**: User/visionary — what would be amazing?
|
|
14
|
+
- **Time horizon**: Infinite
|
|
15
|
+
- **Constraints**: None
|
|
16
|
+
- **Question**: "If we could do anything, what would this look like?"
|
|
17
|
+
|
|
18
|
+
**AI behavior in Dreamer mode**:
|
|
19
|
+
- Generate the most ambitious version of the idea
|
|
20
|
+
- No "but" or "however" — pure expansion
|
|
21
|
+
- Think about the emotional impact on users
|
|
22
|
+
- Explore adjacent possibilities and long-term potential
|
|
23
|
+
- Use vivid, exciting language
|
|
24
|
+
|
|
25
|
+
### The Realist
|
|
26
|
+
- **Mindset**: "How would this actually work?"
|
|
27
|
+
- **Perspective**: Project manager/engineer — what's the plan?
|
|
28
|
+
- **Time horizon**: 3-12 months
|
|
29
|
+
- **Constraints**: Resources, technology, time
|
|
30
|
+
- **Question**: "What needs to be true for this to work?"
|
|
31
|
+
|
|
32
|
+
**AI behavior in Realist mode**:
|
|
33
|
+
- Break the dream into concrete components
|
|
34
|
+
- Identify the minimum viable version
|
|
35
|
+
- Map resources, skills, and technology needed
|
|
36
|
+
- Propose an implementation sequence
|
|
37
|
+
- Focus on what can be leveraged from existing work
|
|
38
|
+
|
|
39
|
+
### The Critic
|
|
40
|
+
- **Mindset**: "What could go wrong?"
|
|
41
|
+
- **Perspective**: Quality assurance/risk analyst — what are the weak spots?
|
|
42
|
+
- **Time horizon**: Full lifecycle
|
|
43
|
+
- **Constraints**: Reality, competition, human nature
|
|
44
|
+
- **Question**: "Why might this fail, and how do we prevent it?"
|
|
45
|
+
|
|
46
|
+
**AI behavior in Critic mode**:
|
|
47
|
+
- Identify genuine risks (not token concerns)
|
|
48
|
+
- Challenge the weakest assumptions
|
|
49
|
+
- Consider second-order effects and unintended consequences
|
|
50
|
+
- For EACH criticism, propose a mitigation
|
|
51
|
+
- The goal is to strengthen, not to kill
|
|
52
|
+
|
|
53
|
+
## Sequencing Rules
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
Dreamer → Realist → Critic
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
1. **Always start with Dreamer** — establishes the vision before constraints appear
|
|
60
|
+
2. **Realist grounds the dream** — but doesn't shrink it, just makes it buildable
|
|
61
|
+
3. **Critic strengthens** — finds weaknesses AND fixes them
|
|
62
|
+
4. **Optional loop**: If Critic reveals fundamental issues → mini Dreamer pass to re-envision → Realist → Critic again
|
|
63
|
+
|
|
64
|
+
## Co-build Integration
|
|
65
|
+
|
|
66
|
+
The Forge skill uses Disney Strategy with a co-build emphasis:
|
|
67
|
+
|
|
68
|
+
| Phase | AI Role | User Role |
|
|
69
|
+
|-------|---------|-----------|
|
|
70
|
+
| **Dreamer** | AI expands (generates 70%) | User adds aspirations (30%) |
|
|
71
|
+
| **Realist** | AI structures (generates 60%) | User validates and adjusts (40%) |
|
|
72
|
+
| **Critic** | AI raises concerns (generates 40%) | User identifies personal concerns and co-develops mitigations (60%) |
|
|
73
|
+
|
|
74
|
+
The Critic phase has the highest user involvement because:
|
|
75
|
+
- Users know their context, stakeholders, and politics better than AI
|
|
76
|
+
- Risk assessment requires domain-specific knowledge
|
|
77
|
+
- Co-developing mitigations builds ownership and confidence
|
|
78
|
+
|
|
79
|
+
## Anti-Pattern: The Premature Critic
|
|
80
|
+
|
|
81
|
+
The most common failure mode is jumping to critique too early. Signals:
|
|
82
|
+
- "That won't work because..." (before the idea is fully developed)
|
|
83
|
+
- "But what about..." (during Dreamer phase)
|
|
84
|
+
- Listing constraints before exploring possibilities
|
|
85
|
+
|
|
86
|
+
**Mitigation**: Explicitly signal phase transitions. "We're in Dreamer mode — no limits yet. We'll stress-test in a moment."
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Pitch Framework
|
|
2
|
+
|
|
3
|
+
Structures for presenting concepts clearly and persuasively. Used when generating Concept Briefs.
|
|
4
|
+
|
|
5
|
+
## Concept Brief Structure
|
|
6
|
+
|
|
7
|
+
Every Concept Brief follows this structure:
|
|
8
|
+
|
|
9
|
+
### 1. One-Liner
|
|
10
|
+
A single sentence that captures the essence. If you can't say it in one sentence, the concept isn't clear enough.
|
|
11
|
+
|
|
12
|
+
**Formula**: [Action] + [for whom] + [unique mechanism] + [key benefit]
|
|
13
|
+
|
|
14
|
+
**Examples**:
|
|
15
|
+
- "A quest-based onboarding system that turns new hire setup into a game, cutting time-to-productivity by 60%."
|
|
16
|
+
- "A reverse mentoring platform where junior employees teach executives about emerging tech, building cross-generational understanding."
|
|
17
|
+
|
|
18
|
+
### 2. Problem
|
|
19
|
+
What pain exists today? Be specific and vivid.
|
|
20
|
+
|
|
21
|
+
**Formula**: [Who] + [experiences what pain] + [how often/severely] + [what it costs them]
|
|
22
|
+
|
|
23
|
+
### 3. Concept
|
|
24
|
+
How does this solve the problem? What's the mechanism?
|
|
25
|
+
|
|
26
|
+
**Elements**:
|
|
27
|
+
- Core mechanism (how it works)
|
|
28
|
+
- Key differentiator (why this approach vs. others)
|
|
29
|
+
- User experience (what does the user see/feel/do?)
|
|
30
|
+
|
|
31
|
+
### 4. Why It Works
|
|
32
|
+
What makes this concept compelling? Why will it succeed?
|
|
33
|
+
|
|
34
|
+
**Types of evidence**:
|
|
35
|
+
- Analogies that have worked elsewhere
|
|
36
|
+
- Research or data that supports the approach
|
|
37
|
+
- First-principles reasoning
|
|
38
|
+
- User psychology insights
|
|
39
|
+
|
|
40
|
+
### 5. Risks & Mitigations
|
|
41
|
+
What could go wrong, and what's the plan?
|
|
42
|
+
|
|
43
|
+
**Format per risk**:
|
|
44
|
+
- **Risk**: {what could go wrong}
|
|
45
|
+
- **Likelihood**: Low / Medium / High
|
|
46
|
+
- **Impact**: Low / Medium / High
|
|
47
|
+
- **Mitigation**: {specific action to prevent or address}
|
|
48
|
+
|
|
49
|
+
### 6. Next Steps
|
|
50
|
+
What would you do first to move this forward?
|
|
51
|
+
|
|
52
|
+
**Good next steps are**:
|
|
53
|
+
- Specific (not "do more research")
|
|
54
|
+
- Actionable (can be started this week)
|
|
55
|
+
- Time-bounded (has a deadline or milestone)
|
|
56
|
+
- Testable (you'll know if it worked)
|
|
57
|
+
|
|
58
|
+
## Pitch Principles
|
|
59
|
+
|
|
60
|
+
### Specificity Over Abstraction
|
|
61
|
+
- Bad: "Leverage gamification to improve engagement"
|
|
62
|
+
- Good: "A quest system where each completed onboarding task unlocks a new tool, with a leaderboard showing progress vs. cohort average"
|
|
63
|
+
|
|
64
|
+
### Show, Don't Categorize
|
|
65
|
+
- Bad: "This is a B2B SaaS solution for the enterprise market"
|
|
66
|
+
- Good: "When a new VP of Engineering joins, they open their laptop and see a personalized roadmap..."
|
|
67
|
+
|
|
68
|
+
### One Problem, One Solution
|
|
69
|
+
Each concept brief tackles one clear problem. If there are multiple problems, make multiple briefs.
|
|
70
|
+
|
|
71
|
+
### The "Tell a Friend" Test
|
|
72
|
+
The one-liner should be something someone would actually say to a colleague: "Hey, have you heard about this thing that [one-liner]?"
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
session: {{session_id}}
|
|
3
|
+
topic: "{{topic}}"
|
|
4
|
+
concept: "{{concept_name}}"
|
|
5
|
+
phase: forge
|
|
6
|
+
created: {{created}}
|
|
7
|
+
origin_idea: {{origin_idea_id}}
|
|
8
|
+
impact: {{impact}}
|
|
9
|
+
feasibility: {{feasibility}}
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Concept Brief: {{concept_title}}
|
|
13
|
+
|
|
14
|
+
> {{one_liner}}
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Problem
|
|
19
|
+
|
|
20
|
+
{{problem}}
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Concept
|
|
25
|
+
|
|
26
|
+
{{concept_description}}
|
|
27
|
+
|
|
28
|
+
{{#if key_differentiator}}
|
|
29
|
+
**Key differentiator**: {{key_differentiator}}
|
|
30
|
+
{{/if}}
|
|
31
|
+
|
|
32
|
+
{{#if user_experience}}
|
|
33
|
+
### User Experience
|
|
34
|
+
|
|
35
|
+
{{user_experience}}
|
|
36
|
+
{{/if}}
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Why It Works
|
|
41
|
+
|
|
42
|
+
{{#each reasons}}
|
|
43
|
+
- {{this}}
|
|
44
|
+
{{/each}}
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Risks & Mitigations
|
|
49
|
+
|
|
50
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
51
|
+
|------|-----------|--------|------------|
|
|
52
|
+
{{#each risks}}
|
|
53
|
+
| {{risk}} | {{likelihood}} | {{impact}} | {{mitigation}} |
|
|
54
|
+
{{/each}}
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Next Steps
|
|
59
|
+
|
|
60
|
+
{{#each next_steps}}
|
|
61
|
+
{{@index_1}}. **{{title}}** — {{description}}{{#if timeline}} *({{timeline}})*{{/if}}
|
|
62
|
+
{{/each}}
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Development Notes
|
|
67
|
+
|
|
68
|
+
### Dreamer Vision
|
|
69
|
+
|
|
70
|
+
{{dreamer_summary}}
|
|
71
|
+
|
|
72
|
+
### Realist Plan
|
|
73
|
+
|
|
74
|
+
{{realist_summary}}
|
|
75
|
+
|
|
76
|
+
### Critic Refinements
|
|
77
|
+
|
|
78
|
+
{{critic_summary}}
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
*Generated by specsmd Ideation Flow — Forge skill*
|
|
83
|
+
*Origin: {{origin_idea_id}} from Spark Bank*
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spark
|
|
3
|
+
description: Rapid idea generation with cross-domain diversity, anti-bias enforcement, and deep thinking.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Generate genuinely diverse, surprising ideas through rapid batches. AI is the creative partner — user reacts and steers.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<triggers>
|
|
12
|
+
- User provides a topic for ideation
|
|
13
|
+
- Orchestrator routes to Spark
|
|
14
|
+
- User invokes `/specsmd-spark`
|
|
15
|
+
</triggers>
|
|
16
|
+
|
|
17
|
+
<degrees_of_freedom>
|
|
18
|
+
**MAXIMUM** — This is pure creative divergence. Go wide. Go weird. Cross domains. Surprise the user.
|
|
19
|
+
</degrees_of_freedom>
|
|
20
|
+
|
|
21
|
+
<llm critical="true">
|
|
22
|
+
<mandate>NEVER ask setup questions — generate ideas immediately on receiving a topic</mandate>
|
|
23
|
+
<mandate>NEVER name techniques to the user — use them internally, present only the ideas</mandate>
|
|
24
|
+
<mandate>NEVER generate 2+ ideas from the same domain in a batch — enforce anti-bias</mandate>
|
|
25
|
+
<mandate>ALWAYS use the deep thinking protocol before generating each batch</mandate>
|
|
26
|
+
<mandate>ALWAYS present ideas as vivid, specific, memorable concepts — not abstract descriptions</mandate>
|
|
27
|
+
<mandate>NEVER more than 2 questions in a row — always generate something creative first</mandate>
|
|
28
|
+
</llm>
|
|
29
|
+
|
|
30
|
+
<protocols>
|
|
31
|
+
Read these shared protocols before generating:
|
|
32
|
+
- `.specsmd/ideation/shared/protocols/anti-bias.md` — Domain wheel, diversity enforcement
|
|
33
|
+
- `.specsmd/ideation/shared/protocols/deep-thinking.md` — Multi-step reasoning per batch
|
|
34
|
+
- `.specsmd/ideation/shared/protocols/interaction-adaptation.md` — Generate/elicit/co-build rules
|
|
35
|
+
- `.specsmd/ideation/shared/protocols/diverge-converge.md` — Osborn-Parnes dual thinking
|
|
36
|
+
</protocols>
|
|
37
|
+
|
|
38
|
+
<references>
|
|
39
|
+
Technique references for internal use (never expose technique names to user):
|
|
40
|
+
- `references/techniques/index.yaml` — Technique metadata and interaction types
|
|
41
|
+
- `references/techniques/scamper.md` — Substitute, Combine, Adapt, Modify, Put to other use, Eliminate, Reverse
|
|
42
|
+
- `references/techniques/random-word.md` — Random stimulus for forced connections
|
|
43
|
+
- `references/techniques/what-if.md` — Assumption challenging scenarios
|
|
44
|
+
- `references/techniques/inversion.md` — Reverse assumptions, opposite thinking
|
|
45
|
+
- `references/techniques/analogy.md` — Cross-domain pattern mapping
|
|
46
|
+
- `references/techniques/first-principles.md` — Decompose to fundamentals, rebuild
|
|
47
|
+
- `references/techniques/questorming.md` — Generate questions instead of answers
|
|
48
|
+
- `references/anti-bias.md` — Domain wheel and provocation types
|
|
49
|
+
</references>
|
|
50
|
+
|
|
51
|
+
<flow>
|
|
52
|
+
<step n="1" title="Receive Topic">
|
|
53
|
+
<check if="topic provided">
|
|
54
|
+
<action>Accept topic, proceed immediately to step 2</action>
|
|
55
|
+
</check>
|
|
56
|
+
<check if="no topic">
|
|
57
|
+
<ask>What would you like to explore ideas about?</ask>
|
|
58
|
+
<action>On response, proceed to step 2</action>
|
|
59
|
+
</check>
|
|
60
|
+
<critical>Zero friction. Do NOT ask clarifying questions before generating the first batch.</critical>
|
|
61
|
+
</step>
|
|
62
|
+
|
|
63
|
+
<step n="2" title="Deep Thinking">
|
|
64
|
+
<action>Execute the deep thinking protocol (see shared/protocols/deep-thinking.md)</action>
|
|
65
|
+
<action>Perform 6-step reasoning chain:</action>
|
|
66
|
+
<reasoning>
|
|
67
|
+
[Think 1 — Domain Check]: Which domains from the domain wheel are underexplored? Select 3+ for this batch.
|
|
68
|
+
[Think 2 — Raw Concepts]: Generate raw ideas — one per selected domain. Use a technique internally (SCAMPER, analogy, inversion, etc.).
|
|
69
|
+
[Think 3 — Novelty Filter]: Are these genuinely new or just repackaged versions of obvious ideas? Replace any that feel generic.
|
|
70
|
+
[Think 4 — Cross-pollinate]: Can any ideas combine with user's stated favorites? Create unexpected connections.
|
|
71
|
+
[Think 5 — Provocation]: If provocation is due (every 15 ideas), inject one deliberately absurd idea. Otherwise, ensure at least one idea challenges assumptions.
|
|
72
|
+
[Think 6 — Polish]: Make each idea vivid, specific, and memorable. Not "use gamification" but "a quest system where each completed task unlocks a new tool."
|
|
73
|
+
</reasoning>
|
|
74
|
+
</step>
|
|
75
|
+
|
|
76
|
+
<step n="3" title="Generate Spark Batch">
|
|
77
|
+
<action>Present batch of 5 ideas, each with:</action>
|
|
78
|
+
<format>
|
|
79
|
+
**#{number}** — {vivid idea title}
|
|
80
|
+
{2-3 sentence description — specific, concrete, imaginative}
|
|
81
|
+
</format>
|
|
82
|
+
<action>Number ideas sequentially across batches (S1-1, S1-2... S2-1, S2-2...)</action>
|
|
83
|
+
<anti_bias>Verify: batch spans 3+ domains, no 2 consecutive ideas from same domain</anti_bias>
|
|
84
|
+
</step>
|
|
85
|
+
|
|
86
|
+
<step n="4" title="Collect Reactions">
|
|
87
|
+
<action>After presenting batch, invite reaction with a light prompt:</action>
|
|
88
|
+
<examples>
|
|
89
|
+
- "What catches your eye? Or say 'more' for another batch."
|
|
90
|
+
- "Pick favorites, ask for 'wilder', or tell me a direction."
|
|
91
|
+
- "Any of these spark something? I can go deeper on any."
|
|
92
|
+
</examples>
|
|
93
|
+
<action>Track user favorites in session state</action>
|
|
94
|
+
</step>
|
|
95
|
+
|
|
96
|
+
<step n="5" title="Adapt and Repeat">
|
|
97
|
+
<action>Based on user reaction, adapt the next batch:</action>
|
|
98
|
+
<adaptation>
|
|
99
|
+
<if reaction="picked favorites">Explore adjacent spaces to favorites, but maintain domain diversity</if>
|
|
100
|
+
<if reaction="'more' or 'keep going'">New batch with fresh domains and techniques</if>
|
|
101
|
+
<if reaction="'wilder' or 'more creative'">Increase provocation frequency, use inversion and what-if techniques</if>
|
|
102
|
+
<if reaction="'more like #N'">Analyze what makes #N appealing, generate variations while maintaining diversity</if>
|
|
103
|
+
<if reaction="'more practical' or 'realistic'">Ground ideas more, but still span domains</if>
|
|
104
|
+
<if reaction="provides new constraint or context">Incorporate as filter, regenerate</if>
|
|
105
|
+
<if reaction="'enough' or 'done' or 'that's good'">Proceed to step 6</if>
|
|
106
|
+
</adaptation>
|
|
107
|
+
<action>Return to step 2 for next batch</action>
|
|
108
|
+
<check if="total ideas >= target_count (50) AND not explicitly asked for more">
|
|
109
|
+
<action>Suggest: "We've generated {N} ideas. Ready to evaluate the best ones? Or keep going?"</action>
|
|
110
|
+
</check>
|
|
111
|
+
</step>
|
|
112
|
+
|
|
113
|
+
<step n="6" title="Generate Spark Bank">
|
|
114
|
+
<action>Compile all ideas into a Spark Bank document using template: templates/spark-bank.md.hbs</action>
|
|
115
|
+
<action>Organize by theme (cluster related ideas)</action>
|
|
116
|
+
<action>Highlight user favorites</action>
|
|
117
|
+
<action>Include domain coverage summary</action>
|
|
118
|
+
<action>Save to: .specs-ideation/sessions/{session-id}/spark-bank.md</action>
|
|
119
|
+
<action>Update session.yaml: phase → "spark-complete", track stats</action>
|
|
120
|
+
<transition>
|
|
121
|
+
Suggest moving to Flame: "Your Spark Bank has {N} ideas ({F} favorites). Ready to evaluate them?"
|
|
122
|
+
If yes → invoke Flame skill
|
|
123
|
+
</transition>
|
|
124
|
+
</step>
|
|
125
|
+
</flow>
|
|
126
|
+
|
|
127
|
+
<output_artifacts>
|
|
128
|
+
| Artifact | Location | Template |
|
|
129
|
+
|----------|----------|----------|
|
|
130
|
+
| Spark Bank | `.specs-ideation/sessions/{id}/spark-bank.md` | `./templates/spark-bank.md.hbs` |
|
|
131
|
+
</output_artifacts>
|
|
132
|
+
|
|
133
|
+
<success_criteria>
|
|
134
|
+
<criterion>First batch of ideas delivered within 30 seconds of receiving topic</criterion>
|
|
135
|
+
<criterion>Every batch spans 3+ different domains from the domain wheel</criterion>
|
|
136
|
+
<criterion>Ideas are vivid, specific, and memorable — not abstract or generic</criterion>
|
|
137
|
+
<criterion>Deep thinking protocol executed for every batch</criterion>
|
|
138
|
+
<criterion>User favorites tracked and influence subsequent batches</criterion>
|
|
139
|
+
<criterion>Provocations injected at configured frequency</criterion>
|
|
140
|
+
<criterion>Spark Bank is polished, organized by theme, and immediately shareable</criterion>
|
|
141
|
+
</success_criteria>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Anti-Bias Reference (Spark Skill)
|
|
2
|
+
|
|
3
|
+
Quick reference for the anti-bias engine during idea generation. See `shared/protocols/anti-bias.md` for the full protocol.
|
|
4
|
+
|
|
5
|
+
## Domain Wheel (12 Sectors)
|
|
6
|
+
|
|
7
|
+
| # | Domain | Example Application |
|
|
8
|
+
|---|--------|-------------------|
|
|
9
|
+
| 1 | Technology/Engineering | Systems, algorithms, automation, tools |
|
|
10
|
+
| 2 | Human Psychology/Behavior | Motivation, habits, cognition, emotion |
|
|
11
|
+
| 3 | Business/Economics | Markets, incentives, pricing, value chains |
|
|
12
|
+
| 4 | Nature/Biology | Ecosystems, evolution, biomimicry, growth |
|
|
13
|
+
| 5 | Art/Design/Aesthetics | Form, beauty, expression, experience |
|
|
14
|
+
| 6 | Games/Play | Competition, rules, progression, fun |
|
|
15
|
+
| 7 | Social/Community | Networks, culture, belonging, collaboration |
|
|
16
|
+
| 8 | Physical Space/Architecture | Layout, flow, wayfinding, environment |
|
|
17
|
+
| 9 | Time/Temporal | Timing, rhythm, duration, history, future |
|
|
18
|
+
| 10 | Extreme/Edge Cases | Exceptions, outliers, extremes, limits |
|
|
19
|
+
| 11 | Inversion/Opposite | Reversal, contradiction, opposite approach |
|
|
20
|
+
| 12 | Random Cross-Pollination | Unrelated connections, serendipity |
|
|
21
|
+
|
|
22
|
+
## Per-Batch Rules
|
|
23
|
+
|
|
24
|
+
- Each batch of 5 ideas MUST include 3+ different domains
|
|
25
|
+
- Never 2 consecutive ideas from the same domain
|
|
26
|
+
- Prioritize underused domains (track usage in session state)
|
|
27
|
+
- If user favorites cluster in one domain, deliberately diversify next batch
|
|
28
|
+
|
|
29
|
+
## Provocation Schedule
|
|
30
|
+
|
|
31
|
+
- Every 15 ideas: inject 1 deliberately absurd/provocative idea
|
|
32
|
+
- Every 20 ideas: shift perspective entirely
|
|
33
|
+
|
|
34
|
+
## Provocation Types
|
|
35
|
+
|
|
36
|
+
| Type | Description |
|
|
37
|
+
|------|-------------|
|
|
38
|
+
| Inversion | What if the opposite were true? |
|
|
39
|
+
| Exaggeration | What if 1000x bigger/smaller? |
|
|
40
|
+
| Elimination | Remove the core assumption entirely |
|
|
41
|
+
| Random | Force connection with unrelated concept |
|
|
42
|
+
| Time shift | 100 years ago or from now |
|
|
43
|
+
| Stakeholder swap | Designed for a completely different user |
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Cross-Domain Analogy Technique
|
|
2
|
+
|
|
3
|
+
**Origin**: Synectics (William Gordon, 1961); also central to Osborn's *Applied Imagination* approach of "What else is like this?"
|
|
4
|
+
|
|
5
|
+
**Interaction type**: Generate — AI finds analogous problems in distant domains and adapts solutions.
|
|
6
|
+
|
|
7
|
+
## How It Works
|
|
8
|
+
|
|
9
|
+
1. **Abstract the problem** — strip away domain-specific details to find the core challenge
|
|
10
|
+
2. **Find analogous problems** in distant domains that share the same core challenge
|
|
11
|
+
3. **Study how those domains solve it** — what mechanisms, patterns, or principles do they use?
|
|
12
|
+
4. **Transfer the solution** back to the original domain, adapting as needed
|
|
13
|
+
|
|
14
|
+
## Analogy Sources
|
|
15
|
+
|
|
16
|
+
### Nature (Biomimicry)
|
|
17
|
+
- How does nature solve similar problems?
|
|
18
|
+
- Velcro from burrs, bullet trains from kingfisher beaks, self-healing materials from skin
|
|
19
|
+
- Best for: structural, efficiency, and resilience problems
|
|
20
|
+
|
|
21
|
+
### Games & Sports
|
|
22
|
+
- How do games create engagement, manage competition, handle fairness?
|
|
23
|
+
- Matchmaking, progression systems, handicaps, spectator modes
|
|
24
|
+
- Best for: engagement, fairness, and motivation problems
|
|
25
|
+
|
|
26
|
+
### Architecture & Urban Planning
|
|
27
|
+
- How do cities manage flow, density, growth, safety?
|
|
28
|
+
- Zoning, traffic patterns, public spaces, wayfinding
|
|
29
|
+
- Best for: scale, navigation, and organization problems
|
|
30
|
+
|
|
31
|
+
### Music & Performance
|
|
32
|
+
- How do musicians create tension, resolution, improvisation, collaboration?
|
|
33
|
+
- Call-and-response, crescendo, variations on a theme
|
|
34
|
+
- Best for: experience design, pacing, and collaboration problems
|
|
35
|
+
|
|
36
|
+
### History & Civilization
|
|
37
|
+
- How did past civilizations solve similar problems?
|
|
38
|
+
- Trade routes, governance, knowledge preservation, cultural transmission
|
|
39
|
+
- Best for: communication, governance, and knowledge problems
|
|
40
|
+
|
|
41
|
+
### Medicine & Biology
|
|
42
|
+
- How does the body handle similar challenges?
|
|
43
|
+
- Immune system (threats), nervous system (signals), circulatory system (distribution)
|
|
44
|
+
- Best for: security, communication, and distribution problems
|
|
45
|
+
|
|
46
|
+
## AI Application Notes
|
|
47
|
+
|
|
48
|
+
When using analogy internally:
|
|
49
|
+
1. Abstract the topic to its core challenge (e.g., "reduce onboarding time" → "accelerate knowledge transfer")
|
|
50
|
+
2. Pick 2-3 distant domains from the list above
|
|
51
|
+
3. Find genuine analogies (not surface-level similarities)
|
|
52
|
+
4. The transfer should produce ideas the user wouldn't have thought of
|
|
53
|
+
5. Present the ideas with just enough analogy context to make them vivid — not an essay on the source domain
|
package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/first-principles.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# First Principles Technique
|
|
2
|
+
|
|
3
|
+
**Origin**: Aristotelian reasoning, popularized in innovation context by Elon Musk and others. Distinct from reasoning by analogy.
|
|
4
|
+
|
|
5
|
+
**Interaction type**: Generate — AI decomposes to fundamentals, then rebuilds novel solutions.
|
|
6
|
+
|
|
7
|
+
## How It Works
|
|
8
|
+
|
|
9
|
+
1. **Identify the conventional approach** — how is this problem normally solved?
|
|
10
|
+
2. **List all assumptions** embedded in the conventional approach
|
|
11
|
+
3. **Challenge each assumption** — is it a physical law, or just a convention?
|
|
12
|
+
4. **Decompose to fundamentals** — what are the irreducible truths?
|
|
13
|
+
5. **Rebuild from fundamentals** — without the conventional assumptions, what new solutions emerge?
|
|
14
|
+
|
|
15
|
+
## Decomposition Framework
|
|
16
|
+
|
|
17
|
+
### Layer 1: Surface (What people do)
|
|
18
|
+
- Current behaviors, products, services
|
|
19
|
+
- "Everyone does it this way because..."
|
|
20
|
+
|
|
21
|
+
### Layer 2: Convention (Why they do it)
|
|
22
|
+
- Industry norms, best practices, legacy reasons
|
|
23
|
+
- "We've always done it this way because..."
|
|
24
|
+
|
|
25
|
+
### Layer 3: Constraints (Real vs. assumed)
|
|
26
|
+
- Physical laws, regulations, actual technical limits
|
|
27
|
+
- vs. "We assumed this was a constraint but it's actually a choice"
|
|
28
|
+
|
|
29
|
+
### Layer 4: Fundamentals (Irreducible truths)
|
|
30
|
+
- What must be true regardless of implementation?
|
|
31
|
+
- What does the user actually need (not what they're used to)?
|
|
32
|
+
- What are the physics/economics that can't be changed?
|
|
33
|
+
|
|
34
|
+
## Example
|
|
35
|
+
|
|
36
|
+
**Topic**: Improving conference networking
|
|
37
|
+
|
|
38
|
+
- **Conventional**: Name badges, cocktail hours, speed networking sessions
|
|
39
|
+
- **Assumption challenged**: "People need to be in the same room to network"
|
|
40
|
+
- **Assumption challenged**: "Networking means meeting new people"
|
|
41
|
+
- **Fundamental**: People need to find others with complementary interests/needs
|
|
42
|
+
- **Rebuilt**: A system that matches attendees by complementary gaps (what you need + what you offer) and creates micro-contexts for connection, regardless of physical proximity
|
|
43
|
+
|
|
44
|
+
## AI Application Notes
|
|
45
|
+
|
|
46
|
+
When using first-principles internally:
|
|
47
|
+
1. Don't just list the fundamentals — actually strip away conventions and rebuild
|
|
48
|
+
2. The power is in identifying which "constraints" are actually conventions
|
|
49
|
+
3. Best used when ideas feel incremental — first-principles thinking produces category-shifting ideas
|
|
50
|
+
4. Present the rebuilt ideas as concrete concepts, not philosophical observations
|
|
51
|
+
5. Can combine with other techniques: first-principles decomposition → analogy transfer → SCAMPER refinement
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Spark Technique Index
|
|
2
|
+
# Each technique declares its natural interaction type and AI behavior.
|
|
3
|
+
# The AI selects techniques internally — never expose technique names to the user.
|
|
4
|
+
|
|
5
|
+
techniques:
|
|
6
|
+
- id: scamper
|
|
7
|
+
name: SCAMPER
|
|
8
|
+
interaction: generate
|
|
9
|
+
energy: high
|
|
10
|
+
best_for: "Transforming existing concepts into new variations"
|
|
11
|
+
asks: null
|
|
12
|
+
ai_behavior: "Apply S-C-A-M-P-E-R transformations to the topic and present modified concepts"
|
|
13
|
+
reference: techniques/scamper.md
|
|
14
|
+
|
|
15
|
+
- id: random-word
|
|
16
|
+
name: Random Word
|
|
17
|
+
interaction: generate
|
|
18
|
+
energy: high
|
|
19
|
+
best_for: "Breaking fixation with unexpected connections"
|
|
20
|
+
asks: null
|
|
21
|
+
ai_behavior: "Select a random concept from an unrelated domain and force connections with the topic"
|
|
22
|
+
reference: techniques/random-word.md
|
|
23
|
+
|
|
24
|
+
- id: what-if
|
|
25
|
+
name: What-If Scenarios
|
|
26
|
+
interaction: generate
|
|
27
|
+
energy: medium
|
|
28
|
+
best_for: "Challenging assumptions and exploring alternate realities"
|
|
29
|
+
asks: null
|
|
30
|
+
ai_behavior: "Generate 'what if' scenarios that challenge core assumptions about the topic"
|
|
31
|
+
reference: techniques/what-if.md
|
|
32
|
+
|
|
33
|
+
- id: inversion
|
|
34
|
+
name: Inversion
|
|
35
|
+
interaction: generate
|
|
36
|
+
energy: high
|
|
37
|
+
best_for: "Finding opportunities by reversing problems or assumptions"
|
|
38
|
+
asks: null
|
|
39
|
+
ai_behavior: "Reverse the problem, assumptions, or desired outcome and generate ideas from the inverted perspective"
|
|
40
|
+
reference: techniques/inversion.md
|
|
41
|
+
|
|
42
|
+
- id: analogy
|
|
43
|
+
name: Cross-Domain Analogy
|
|
44
|
+
interaction: generate
|
|
45
|
+
energy: medium
|
|
46
|
+
best_for: "Transferring solutions from one domain to another"
|
|
47
|
+
asks: null
|
|
48
|
+
ai_behavior: "Find analogous problems in distant domains and adapt their solutions to the current topic"
|
|
49
|
+
reference: techniques/analogy.md
|
|
50
|
+
|
|
51
|
+
- id: first-principles
|
|
52
|
+
name: First Principles
|
|
53
|
+
interaction: generate
|
|
54
|
+
energy: low
|
|
55
|
+
best_for: "Fundamental rethinking when existing approaches feel stale"
|
|
56
|
+
asks: null
|
|
57
|
+
ai_behavior: "Decompose the topic to its fundamental truths, then rebuild solutions from scratch"
|
|
58
|
+
reference: techniques/first-principles.md
|
|
59
|
+
|
|
60
|
+
- id: questorming
|
|
61
|
+
name: Questorming
|
|
62
|
+
interaction: co-build
|
|
63
|
+
energy: medium
|
|
64
|
+
best_for: "Reframing the problem space through better questions"
|
|
65
|
+
asks:
|
|
66
|
+
- trigger: "after generating question batch"
|
|
67
|
+
question: "Which of these questions feels most important to you?"
|
|
68
|
+
ai_fallback: "AI selects the most provocative question and generates ideas from it"
|
|
69
|
+
reference: techniques/questorming.md
|
|
70
|
+
|
|
71
|
+
# Technique Selection Strategy
|
|
72
|
+
# The AI selects techniques based on:
|
|
73
|
+
# 1. Which domains are underexplored (anti-bias engine)
|
|
74
|
+
# 2. User energy/engagement level
|
|
75
|
+
# 3. Which techniques haven't been used recently
|
|
76
|
+
# 4. Whether the user wants "wilder" (→ inversion, random-word) or "practical" (→ first-principles, analogy)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Inversion Technique
|
|
2
|
+
|
|
3
|
+
**Origin**: Charlie Munger's "invert, always invert" principle; also found in de Bono's lateral thinking and Osborn's reversal prompters.
|
|
4
|
+
|
|
5
|
+
**Interaction type**: Generate — AI inverts assumptions, user reacts to the resulting ideas.
|
|
6
|
+
|
|
7
|
+
## How It Works
|
|
8
|
+
|
|
9
|
+
1. **State the goal** clearly
|
|
10
|
+
2. **Invert it** — ask "how would I achieve the exact opposite?"
|
|
11
|
+
3. **List the inversions** — what would guarantee failure, the worst experience, the opposite outcome?
|
|
12
|
+
4. **Reverse each inversion** — the opposite of each failure mode is often a non-obvious success strategy
|
|
13
|
+
|
|
14
|
+
## Inversion Patterns
|
|
15
|
+
|
|
16
|
+
### Goal Inversion
|
|
17
|
+
- Goal: "Make onboarding fast" → Inverted: "How to make onboarding take forever?"
|
|
18
|
+
- Answers: No documentation, no buddy system, surprise requirements → Ideas: Pre-arrival portal, day-1 buddy auto-match, zero-surprise checklist
|
|
19
|
+
|
|
20
|
+
### User Inversion
|
|
21
|
+
- Design for the opposite user: experts → beginners, individuals → teams, tech-savvy → tech-averse
|
|
22
|
+
- Forces empathy and reveals assumptions
|
|
23
|
+
|
|
24
|
+
### Process Inversion
|
|
25
|
+
- Reverse the order: What if the last step came first?
|
|
26
|
+
- End-to-outcome: Start with the desired result and work backward
|
|
27
|
+
- Often reveals unnecessary steps
|
|
28
|
+
|
|
29
|
+
### Value Inversion
|
|
30
|
+
- What if the biggest cost became the biggest feature?
|
|
31
|
+
- What if the bug became the selling point?
|
|
32
|
+
- Turns weaknesses into differentiators
|
|
33
|
+
|
|
34
|
+
### Anti-Problem
|
|
35
|
+
- Instead of solving the problem, make it irrelevant
|
|
36
|
+
- Instead of reducing friction, make the friction delightful
|
|
37
|
+
- Reframe rather than fix
|
|
38
|
+
|
|
39
|
+
## AI Application Notes
|
|
40
|
+
|
|
41
|
+
When using inversion internally:
|
|
42
|
+
1. Pick the most interesting inversion pattern for the current topic
|
|
43
|
+
2. Actually go through the full inversion (state goal → invert → list failure modes → reverse)
|
|
44
|
+
3. The best ideas come from reversing *non-obvious* failure modes
|
|
45
|
+
4. Present the resulting ideas without explaining the inversion process
|
|
46
|
+
5. Excellent for batch #2+ when initial ideas feel too "safe"
|