specsmd 0.0.0-dev.9 → 0.0.0-dev.90

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.
Files changed (146) hide show
  1. package/README.md +190 -224
  2. package/bin/cli.js +28 -1
  3. package/flows/aidlc/commands/construction-agent.md +5 -1
  4. package/flows/aidlc/commands/inception-agent.md +4 -0
  5. package/flows/aidlc/commands/master-agent.md +4 -0
  6. package/flows/aidlc/commands/operations-agent.md +4 -0
  7. package/flows/aidlc/memory-bank.yaml +2 -1
  8. package/{scripts/artifact-validator.js → flows/aidlc/scripts/artifact-validator.cjs} +3 -3
  9. package/{scripts/bolt-complete.js → flows/aidlc/scripts/bolt-complete.cjs} +36 -5
  10. package/{scripts/status-integrity.js → flows/aidlc/scripts/status-integrity.cjs} +5 -5
  11. package/flows/aidlc/skills/construction/bolt-list.md +1 -1
  12. package/flows/aidlc/skills/construction/bolt-start.md +3 -3
  13. package/flows/aidlc/skills/construction/bolt-status.md +1 -1
  14. package/flows/aidlc/skills/construction/prototype-apply.md +311 -0
  15. package/flows/aidlc/skills/inception/vibe-to-spec.md +410 -0
  16. package/flows/aidlc/skills/master/analyze-context.md +1 -1
  17. package/flows/aidlc/templates/construction/bolt-template.md +2 -2
  18. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +73 -11
  19. package/flows/aidlc/templates/standards/decision-index-template.md +32 -0
  20. package/flows/fire/README.md +19 -0
  21. package/flows/fire/agents/builder/agent.md +260 -0
  22. package/flows/fire/agents/builder/skills/code-review/SKILL.md +257 -0
  23. package/flows/fire/agents/builder/skills/code-review/references/auto-fix-rules.md +218 -0
  24. package/flows/fire/agents/builder/skills/code-review/references/review-categories.md +154 -0
  25. package/flows/fire/agents/builder/skills/code-review/templates/review-report.md.hbs +120 -0
  26. package/flows/fire/agents/builder/skills/run-execute/SKILL.md +714 -0
  27. package/flows/fire/agents/builder/skills/run-execute/scripts/complete-run.cjs +800 -0
  28. package/flows/fire/agents/builder/skills/run-execute/scripts/init-run.cjs +500 -0
  29. package/flows/fire/agents/builder/skills/run-execute/scripts/update-checkpoint.cjs +254 -0
  30. package/flows/fire/agents/builder/skills/run-execute/scripts/update-phase.cjs +250 -0
  31. package/flows/fire/agents/builder/skills/run-execute/templates/plan.md.hbs +61 -0
  32. package/flows/fire/agents/builder/skills/run-execute/templates/test-report.md.hbs +81 -0
  33. package/flows/fire/agents/builder/skills/run-plan/SKILL.md +378 -0
  34. package/flows/fire/agents/builder/skills/run-status/SKILL.md +96 -0
  35. package/flows/fire/agents/builder/skills/walkthrough-generate/SKILL.md +267 -0
  36. package/flows/fire/agents/builder/skills/walkthrough-generate/templates/walkthrough.md.hbs +176 -0
  37. package/flows/fire/agents/orchestrator/agent.md +144 -0
  38. package/flows/fire/agents/orchestrator/skills/project-init/SKILL.md +226 -0
  39. package/flows/fire/agents/orchestrator/skills/project-init/templates/coding-standards.md.hbs +149 -0
  40. package/flows/fire/agents/orchestrator/skills/project-init/templates/constitution.md.hbs +43 -0
  41. package/flows/fire/agents/orchestrator/skills/project-init/templates/system-architecture.md.hbs +101 -0
  42. package/flows/fire/agents/orchestrator/skills/project-init/templates/tech-stack.md.hbs +136 -0
  43. package/flows/fire/agents/orchestrator/skills/project-init/templates/testing-standards.md.hbs +94 -0
  44. package/flows/fire/agents/orchestrator/skills/route/SKILL.md +146 -0
  45. package/flows/fire/agents/orchestrator/skills/status/SKILL.md +696 -0
  46. package/flows/fire/agents/planner/agent.md +143 -0
  47. package/flows/fire/agents/planner/skills/design-doc-generate/SKILL.md +156 -0
  48. package/flows/fire/agents/planner/skills/design-doc-generate/templates/design.md.hbs +124 -0
  49. package/flows/fire/agents/planner/skills/intent-capture/SKILL.md +125 -0
  50. package/flows/fire/agents/planner/skills/intent-capture/templates/brief.md.hbs +40 -0
  51. package/flows/fire/agents/planner/skills/work-item-decompose/SKILL.md +166 -0
  52. package/flows/fire/agents/planner/skills/work-item-decompose/templates/work-item.md.hbs +40 -0
  53. package/flows/fire/commands/fire-builder.md +56 -0
  54. package/flows/fire/commands/fire-planner.md +48 -0
  55. package/flows/fire/commands/fire.md +46 -0
  56. package/flows/fire/memory-bank.yaml +240 -0
  57. package/flows/fire/quick-start.md +146 -0
  58. package/flows/ideation/README.md +35 -0
  59. package/flows/ideation/agents/orchestrator/agent.md +103 -0
  60. package/flows/ideation/agents/orchestrator/skills/flame/SKILL.md +132 -0
  61. package/flows/ideation/agents/orchestrator/skills/flame/references/evaluation-criteria.md +81 -0
  62. package/flows/ideation/agents/orchestrator/skills/flame/references/six-hats-method.md +87 -0
  63. package/flows/ideation/agents/orchestrator/skills/flame/templates/flame-report.md.hbs +81 -0
  64. package/flows/ideation/agents/orchestrator/skills/forge/SKILL.md +153 -0
  65. package/flows/ideation/agents/orchestrator/skills/forge/references/disney-method.md +94 -0
  66. package/flows/ideation/agents/orchestrator/skills/forge/references/pitch-framework.md +87 -0
  67. package/flows/ideation/agents/orchestrator/skills/forge/templates/concept-brief.md.hbs +83 -0
  68. package/flows/ideation/agents/orchestrator/skills/spark/SKILL.md +152 -0
  69. package/flows/ideation/agents/orchestrator/skills/spark/references/anti-bias.md +43 -0
  70. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/analogy.md +60 -0
  71. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/first-principles.md +56 -0
  72. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/index.yaml +76 -0
  73. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/inversion.md +52 -0
  74. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/questorming.md +57 -0
  75. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/random-word.md +35 -0
  76. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/scamper.md +67 -0
  77. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/what-if.md +55 -0
  78. package/flows/ideation/agents/orchestrator/skills/spark/templates/spark-bank.md.hbs +72 -0
  79. package/flows/ideation/commands/flame.md +43 -0
  80. package/flows/ideation/commands/forge.md +43 -0
  81. package/flows/ideation/commands/ideation.md +51 -0
  82. package/flows/ideation/commands/spark.md +43 -0
  83. package/flows/ideation/memory-bank.yaml +177 -0
  84. package/flows/ideation/quick-start.md +84 -0
  85. package/flows/ideation/shared/protocols/anti-bias.md +79 -0
  86. package/flows/ideation/shared/protocols/deep-thinking.md +92 -0
  87. package/flows/ideation/shared/protocols/diverge-converge.md +72 -0
  88. package/flows/ideation/shared/protocols/interaction-adaptation.md +88 -0
  89. package/flows/simple/README.md +190 -0
  90. package/flows/simple/agents/agent.md +404 -0
  91. package/flows/simple/commands/agent.md +60 -0
  92. package/flows/simple/context-config.yaml +34 -0
  93. package/flows/simple/memory-bank.yaml +66 -0
  94. package/flows/simple/quick-start.md +231 -0
  95. package/flows/simple/skills/design.md +96 -0
  96. package/flows/simple/skills/execute.md +190 -0
  97. package/flows/simple/skills/requirements.md +94 -0
  98. package/flows/simple/skills/tasks.md +136 -0
  99. package/flows/simple/templates/design-template.md +138 -0
  100. package/flows/simple/templates/requirements-template.md +85 -0
  101. package/flows/simple/templates/tasks-template.md +104 -0
  102. package/lib/analytics/tracker.js +6 -2
  103. package/lib/constants.js +25 -8
  104. package/lib/dashboard/aidlc/parser.js +581 -0
  105. package/lib/dashboard/fire/model.js +382 -0
  106. package/lib/dashboard/fire/parser.js +470 -0
  107. package/lib/dashboard/flow-detect.js +86 -0
  108. package/lib/dashboard/git/changes.js +362 -0
  109. package/lib/dashboard/git/worktrees.js +248 -0
  110. package/lib/dashboard/index.js +709 -0
  111. package/lib/dashboard/runtime/watch-runtime.js +122 -0
  112. package/lib/dashboard/simple/parser.js +293 -0
  113. package/lib/dashboard/tui/app.js +1675 -0
  114. package/lib/dashboard/tui/components/error-banner.js +35 -0
  115. package/lib/dashboard/tui/components/header.js +60 -0
  116. package/lib/dashboard/tui/components/help-footer.js +15 -0
  117. package/lib/dashboard/tui/components/stats-strip.js +35 -0
  118. package/lib/dashboard/tui/file-entries.js +383 -0
  119. package/lib/dashboard/tui/flow-builders.js +991 -0
  120. package/lib/dashboard/tui/git-builders.js +218 -0
  121. package/lib/dashboard/tui/helpers.js +236 -0
  122. package/lib/dashboard/tui/overlays.js +242 -0
  123. package/lib/dashboard/tui/preview.js +220 -0
  124. package/lib/dashboard/tui/renderer.js +76 -0
  125. package/lib/dashboard/tui/row-builders.js +797 -0
  126. package/lib/dashboard/tui/sections.js +45 -0
  127. package/lib/dashboard/tui/store.js +44 -0
  128. package/lib/dashboard/tui/views/overview-view.js +61 -0
  129. package/lib/dashboard/tui/views/runs-view.js +93 -0
  130. package/lib/dashboard/tui/worktree-builders.js +229 -0
  131. package/lib/dashboard/web/extension-adapter.js +726 -0
  132. package/lib/dashboard/web/public/app.js +9 -0
  133. package/lib/dashboard/web/public/index.html +14 -0
  134. package/lib/dashboard/web/public/styles.css +36 -0
  135. package/lib/dashboard/web/public/webview-bundle.js +7596 -0
  136. package/lib/dashboard/web/server.js +376 -0
  137. package/lib/dashboard/web/snapshot.js +299 -0
  138. package/lib/installer.js +19 -15
  139. package/lib/installers/CodexInstaller.js +72 -1
  140. package/lib/installers/KiroInstaller.js +55 -0
  141. package/lib/installers/OpenCodeInstaller.js +9 -1
  142. package/lib/installers/ToolInstaller.js +4 -1
  143. package/lib/installers/WindsurfInstaller.js +0 -54
  144. package/package.json +15 -55
  145. package/scripts/check-webview-bundle-sync.cjs +38 -0
  146. package/scripts/sync-webview-bundle.cjs +19 -0
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: forge
3
+ description: Shape top ideas into actionable concept briefs using Disney Strategy — Dream, Reality, Critique.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ <objective>
8
+ Develop shortlisted ideas into polished, actionable concept briefs. AI and user co-build through the Disney Creative Strategy.
9
+ </objective>
10
+
11
+ <triggers>
12
+ - Flame Report generated with shortlisted ideas
13
+ - User provides ideas directly for shaping
14
+ - Orchestrator routes to Forge
15
+ - User invokes `/specsmd-forge`
16
+ </triggers>
17
+
18
+ <degrees_of_freedom>
19
+ **MEDIUM-LOW** — Structured shaping with high co-build ratio. User and AI refine together.
20
+ </degrees_of_freedom>
21
+
22
+ <llm critical="true">
23
+ <mandate>ALWAYS apply Disney Strategy in sequence: Dreamer → Realist → Critic</mandate>
24
+ <mandate>NEVER mix phases — keep Dreamer, Realist, and Critic strictly separate</mandate>
25
+ <mandate>ALWAYS involve user in Critic phase — this is the primary co-build moment</mandate>
26
+ <mandate>NEVER produce a Concept Brief without user validation of the core concept</mandate>
27
+ <mandate>ALWAYS make Concept Briefs polished enough to share in a meeting</mandate>
28
+ </llm>
29
+
30
+ <protocols>
31
+ - `.specsmd/ideation/shared/protocols/interaction-adaptation.md` — Generate:40% / Elicit:20% / Co-build:40%
32
+ - `.specsmd/ideation/shared/protocols/diverge-converge.md` — Alternating diverge-converge (Disney pattern)
33
+ </protocols>
34
+
35
+ <references>
36
+ - `references/disney-method.md` — Disney Creative Strategy for AI execution
37
+ - `references/pitch-framework.md` — Concept structuring and pitch patterns
38
+ </references>
39
+
40
+ <flow>
41
+ <step n="1" title="Load Top Ideas">
42
+ <check if="Flame Report exists in session">
43
+ <action>Load shortlisted ideas from flame-report.md</action>
44
+ <action>Present the shortlist: "Here are your top ideas. Which one shall we shape first?"</action>
45
+ </check>
46
+ <check if="user provides ideas directly">
47
+ <action>Accept ideas as input</action>
48
+ </check>
49
+ <check if="no ideas available">
50
+ <ask>Which ideas would you like to develop into full concepts?</ask>
51
+ </check>
52
+ <action>Select one idea to forge at a time (depth over breadth)</action>
53
+ </step>
54
+
55
+ <step n="2" title="Dreamer Pass">
56
+ <action>Enter Dreamer mode — pure possibility, no limits</action>
57
+ <output>
58
+ Signal the mode: "Let's dream big first — no limits, no criticism, just possibility."
59
+ </output>
60
+ <action>Expand the idea with:</action>
61
+ <dreamer>
62
+ - What's the most ambitious version of this?
63
+ - What would it look like if everything went perfectly?
64
+ - What adjacent possibilities does this unlock?
65
+ - What would make users absolutely love this?
66
+ - How could this grow beyond its initial scope?
67
+ </dreamer>
68
+ <action>Present the expanded vision (3-5 paragraphs)</action>
69
+ <action>Invite user additions: "What else would you dream for this?"</action>
70
+ </step>
71
+
72
+ <step n="3" title="Realist Pass">
73
+ <action>Enter Realist mode — practical implementation thinking</action>
74
+ <output>
75
+ Signal the mode: "Now let's get practical. How would this actually work?"
76
+ </output>
77
+ <action>Ground the dream with:</action>
78
+ <realist>
79
+ - What are the core components needed?
80
+ - What's the simplest version that still delivers the magic?
81
+ - What resources are required (time, money, skills, technology)?
82
+ - What's the implementation sequence?
83
+ - What existing solutions or tools can be leveraged?
84
+ - What's the timeline from start to first value?
85
+ </realist>
86
+ <action>Present a practical breakdown</action>
87
+ <action>Ask: "Does this implementation path make sense? What would you adjust?"</action>
88
+ </step>
89
+
90
+ <step n="4" title="Critic Pass (Co-build)">
91
+ <action>Enter Critic mode — constructive stress-testing</action>
92
+ <output>
93
+ Signal the mode: "Time to stress-test. Let's find the weak spots — and fix them."
94
+ </output>
95
+ <action>Present AI's concerns:</action>
96
+ <critic>
97
+ - What's the biggest risk?
98
+ - What assumption is most likely wrong?
99
+ - What would a skeptic say?
100
+ - Where could this fail?
101
+ - What's the competitive response?
102
+ </critic>
103
+ <ask>What concerns you most about this concept? What feels risky?</ask>
104
+ <action>For each concern (AI's and user's), co-develop a mitigation:</action>
105
+ <format>
106
+ **Concern**: {concern}
107
+ **Mitigation**: {proposed mitigation}
108
+ </format>
109
+ <action>Iterate until user is satisfied with mitigations</action>
110
+ </step>
111
+
112
+ <step n="5" title="Generate Concept Brief">
113
+ <action>Synthesize Dreamer + Realist + Critic into a polished Concept Brief</action>
114
+ <action>Generate using template: templates/concept-brief.md.hbs</action>
115
+ <action>Present the brief to user for final review</action>
116
+ <ask>How does this look? Any final adjustments?</ask>
117
+ <action>Save to: .specs-ideation/sessions/{session-id}/concept-briefs/{concept-name}.md</action>
118
+ <action>Update session.yaml: track concept brief</action>
119
+ <check if="more shortlisted ideas to forge">
120
+ <ask>Ready to shape the next idea?</ask>
121
+ <action>If yes, return to step 1 with next idea</action>
122
+ </check>
123
+ <check if="all ideas shaped">
124
+ <action>Update session.yaml: phase → "complete"</action>
125
+ <output>
126
+ Your ideation session is complete!
127
+
128
+ **Created**:
129
+ - Spark Bank: {N} ideas generated
130
+ - Flame Report: {M} ideas evaluated, {K} shortlisted
131
+ - Concept Briefs: {B} concepts shaped
132
+
133
+ All artifacts saved in .specs-ideation/sessions/{session-id}/
134
+ </output>
135
+ </check>
136
+ </step>
137
+ </flow>
138
+
139
+ <output_artifacts>
140
+
141
+ | Artifact | Location | Template |
142
+ |----------|----------|----------|
143
+ | Concept Brief | `.specs-ideation/sessions/{id}/concept-briefs/{name}.md` | `./templates/concept-brief.md.hbs` |
144
+ </output_artifacts>
145
+
146
+ <success_criteria>
147
+ <criterion>Disney Strategy applied in strict sequence: Dreamer → Realist → Critic</criterion>
148
+ <criterion>User actively involved in Critic phase (co-build)</criterion>
149
+ <criterion>Concept Brief is polished enough to share in a meeting</criterion>
150
+ <criterion>Risks identified AND mitigated (not just listed)</criterion>
151
+ <criterion>Clear next steps included in every brief</criterion>
152
+ <criterion>Session state updated and all artifacts saved</criterion>
153
+ </success_criteria>
@@ -0,0 +1,94 @@
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
+
13
+ - **Mindset**: "Anything is possible"
14
+ - **Perspective**: User/visionary — what would be amazing?
15
+ - **Time horizon**: Infinite
16
+ - **Constraints**: None
17
+ - **Question**: "If we could do anything, what would this look like?"
18
+
19
+ **AI behavior in Dreamer mode**:
20
+
21
+ - Generate the most ambitious version of the idea
22
+ - No "but" or "however" — pure expansion
23
+ - Think about the emotional impact on users
24
+ - Explore adjacent possibilities and long-term potential
25
+ - Use vivid, exciting language
26
+
27
+ ### The Realist
28
+
29
+ - **Mindset**: "How would this actually work?"
30
+ - **Perspective**: Project manager/engineer — what's the plan?
31
+ - **Time horizon**: 3-12 months
32
+ - **Constraints**: Resources, technology, time
33
+ - **Question**: "What needs to be true for this to work?"
34
+
35
+ **AI behavior in Realist mode**:
36
+
37
+ - Break the dream into concrete components
38
+ - Identify the minimum viable version
39
+ - Map resources, skills, and technology needed
40
+ - Propose an implementation sequence
41
+ - Focus on what can be leveraged from existing work
42
+
43
+ ### The Critic
44
+
45
+ - **Mindset**: "What could go wrong?"
46
+ - **Perspective**: Quality assurance/risk analyst — what are the weak spots?
47
+ - **Time horizon**: Full lifecycle
48
+ - **Constraints**: Reality, competition, human nature
49
+ - **Question**: "Why might this fail, and how do we prevent it?"
50
+
51
+ **AI behavior in Critic mode**:
52
+
53
+ - Identify genuine risks (not token concerns)
54
+ - Challenge the weakest assumptions
55
+ - Consider second-order effects and unintended consequences
56
+ - For EACH criticism, propose a mitigation
57
+ - The goal is to strengthen, not to kill
58
+
59
+ ## Sequencing Rules
60
+
61
+ ```
62
+ Dreamer → Realist → Critic
63
+ ```
64
+
65
+ 1. **Always start with Dreamer** — establishes the vision before constraints appear
66
+ 2. **Realist grounds the dream** — but doesn't shrink it, just makes it buildable
67
+ 3. **Critic strengthens** — finds weaknesses AND fixes them
68
+ 4. **Optional loop**: If Critic reveals fundamental issues → mini Dreamer pass to re-envision → Realist → Critic again
69
+
70
+ ## Co-build Integration
71
+
72
+ The Forge skill uses Disney Strategy with a co-build emphasis:
73
+
74
+ | Phase | AI Role | User Role |
75
+ |-------|---------|-----------|
76
+ | **Dreamer** | AI expands (generates 70%) | User adds aspirations (30%) |
77
+ | **Realist** | AI structures (generates 60%) | User validates and adjusts (40%) |
78
+ | **Critic** | AI raises concerns (generates 40%) | User identifies personal concerns and co-develops mitigations (60%) |
79
+
80
+ The Critic phase has the highest user involvement because:
81
+
82
+ - Users know their context, stakeholders, and politics better than AI
83
+ - Risk assessment requires domain-specific knowledge
84
+ - Co-developing mitigations builds ownership and confidence
85
+
86
+ ## Anti-Pattern: The Premature Critic
87
+
88
+ The most common failure mode is jumping to critique too early. Signals:
89
+
90
+ - "That won't work because..." (before the idea is fully developed)
91
+ - "But what about..." (during Dreamer phase)
92
+ - Listing constraints before exploring possibilities
93
+
94
+ **Mitigation**: Explicitly signal phase transitions. "We're in Dreamer mode — no limits yet. We'll stress-test in a moment."
@@ -0,0 +1,87 @@
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
+
11
+ A single sentence that captures the essence. If you can't say it in one sentence, the concept isn't clear enough.
12
+
13
+ **Formula**: [Action] + [for whom] + [unique mechanism] + [key benefit]
14
+
15
+ **Examples**:
16
+
17
+ - "A quest-based onboarding system that turns new hire setup into a game, cutting time-to-productivity by 60%."
18
+ - "A reverse mentoring platform where junior employees teach executives about emerging tech, building cross-generational understanding."
19
+
20
+ ### 2. Problem
21
+
22
+ What pain exists today? Be specific and vivid.
23
+
24
+ **Formula**: [Who] + [experiences what pain] + [how often/severely] + [what it costs them]
25
+
26
+ ### 3. Concept
27
+
28
+ How does this solve the problem? What's the mechanism?
29
+
30
+ **Elements**:
31
+
32
+ - Core mechanism (how it works)
33
+ - Key differentiator (why this approach vs. others)
34
+ - User experience (what does the user see/feel/do?)
35
+
36
+ ### 4. Why It Works
37
+
38
+ What makes this concept compelling? Why will it succeed?
39
+
40
+ **Types of evidence**:
41
+
42
+ - Analogies that have worked elsewhere
43
+ - Research or data that supports the approach
44
+ - First-principles reasoning
45
+ - User psychology insights
46
+
47
+ ### 5. Risks & Mitigations
48
+
49
+ What could go wrong, and what's the plan?
50
+
51
+ **Format per risk**:
52
+
53
+ - **Risk**: {what could go wrong}
54
+ - **Likelihood**: Low / Medium / High
55
+ - **Impact**: Low / Medium / High
56
+ - **Mitigation**: {specific action to prevent or address}
57
+
58
+ ### 6. Next Steps
59
+
60
+ What would you do first to move this forward?
61
+
62
+ **Good next steps are**:
63
+
64
+ - Specific (not "do more research")
65
+ - Actionable (can be started this week)
66
+ - Time-bounded (has a deadline or milestone)
67
+ - Testable (you'll know if it worked)
68
+
69
+ ## Pitch Principles
70
+
71
+ ### Specificity Over Abstraction
72
+
73
+ - Bad: "Leverage gamification to improve engagement"
74
+ - Good: "A quest system where each completed onboarding task unlocks a new tool, with a leaderboard showing progress vs. cohort average"
75
+
76
+ ### Show, Don't Categorize
77
+
78
+ - Bad: "This is a B2B SaaS solution for the enterprise market"
79
+ - Good: "When a new VP of Engineering joins, they open their laptop and see a personalized roadmap..."
80
+
81
+ ### One Problem, One Solution
82
+
83
+ Each concept brief tackles one clear problem. If there are multiple problems, make multiple briefs.
84
+
85
+ ### The "Tell a Friend" Test
86
+
87
+ 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,152 @@
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>SHOW which technique was used for each idea — e.g., "(via Inversion)" or "(via First Principles)" — so the user understands the thinking approach</mandate>
24
+ <mandate>ALWAYS use the deep thinking protocol before generating each batch</mandate>
25
+ <mandate>ALWAYS present ideas as vivid, specific, memorable concepts — not abstract descriptions</mandate>
26
+ <mandate>NEVER more than 2 questions in a row — always generate something creative first</mandate>
27
+ <mandate>ANTI-BIAS — MATCH DIVERSITY TO TOPIC TYPE:
28
+ - For OPEN/CREATIVE topics (product ideas, business concepts, experiences): use the domain wheel aggressively — 3+ different domains per batch, cross-domain metaphors welcome
29
+ - For TECHNICAL/ARCHITECTURAL topics (system design, integration decisions, API design): diversity means different PERSPECTIVES and ANGLES on the same technical space — architecture, developer experience, tradeoffs, migration strategy, patterns from other systems. Do NOT force nature/art/games metaphors onto technical decisions. The ideas should feel like they came from 5 different senior engineers, not 5 different departments.
30
+ - When in doubt, match the user's register. If they're talking code, give them code-level ideas.
31
+ </mandate>
32
+ </llm>
33
+
34
+ <protocols>
35
+ Read these shared protocols before generating:
36
+ - `.specsmd/ideation/shared/protocols/anti-bias.md` — Domain wheel, diversity enforcement
37
+ - `.specsmd/ideation/shared/protocols/deep-thinking.md` — Multi-step reasoning per batch
38
+ - `.specsmd/ideation/shared/protocols/interaction-adaptation.md` — Generate/elicit/co-build rules
39
+ - `.specsmd/ideation/shared/protocols/diverge-converge.md` — Osborn-Parnes dual thinking
40
+ </protocols>
41
+
42
+ <references>
43
+ Technique references for internal use (never expose technique names to user):
44
+ - `references/techniques/index.yaml` — Technique metadata and interaction types
45
+ - `references/techniques/scamper.md` — Substitute, Combine, Adapt, Modify, Put to other use, Eliminate, Reverse
46
+ - `references/techniques/random-word.md` — Random stimulus for forced connections
47
+ - `references/techniques/what-if.md` — Assumption challenging scenarios
48
+ - `references/techniques/inversion.md` — Reverse assumptions, opposite thinking
49
+ - `references/techniques/analogy.md` — Cross-domain pattern mapping
50
+ - `references/techniques/first-principles.md` — Decompose to fundamentals, rebuild
51
+ - `references/techniques/questorming.md` — Generate questions instead of answers
52
+ - `references/anti-bias.md` — Domain wheel and provocation types
53
+ </references>
54
+
55
+ <flow>
56
+ <step n="1" title="Receive Topic">
57
+ <check if="topic provided">
58
+ <action>Accept topic, proceed immediately to step 2</action>
59
+ </check>
60
+ <check if="no topic">
61
+ <ask>What would you like to explore ideas about?</ask>
62
+ <action>On response, proceed to step 2</action>
63
+ </check>
64
+ <critical>Zero friction. Do NOT ask clarifying questions before generating the first batch.</critical>
65
+ </step>
66
+
67
+ <step n="2" title="Deep Thinking">
68
+ <action>Execute the deep thinking protocol (see shared/protocols/deep-thinking.md)</action>
69
+ <action>Perform 6-step reasoning chain:</action>
70
+ <reasoning>
71
+ [Think 1 — Angle Check]: What topic type is this? For creative/open topics, pick 3+ domain wheel sectors. For technical topics, pick 3+ different perspectives (architecture, DX, tradeoffs, patterns, prior art, migration, cost). Either way, ensure the batch won't feel repetitive.
72
+ [Think 2 — Raw Concepts]: Generate raw ideas — one per selected angle. Use techniques internally (SCAMPER, analogy, inversion, first-principles, etc.) but keep ideas grounded in the user's actual domain.
73
+ [Think 3 — Novelty Filter]: Are these genuinely new or just repackaged versions of obvious ideas? Replace any that feel generic.
74
+ [Think 4 — Cross-pollinate]: Can any ideas combine with user's stated favorites? Create unexpected connections.
75
+ [Think 5 — Provocation]: If provocation is due (every 15 ideas), inject one deliberately unconventional idea. Otherwise, ensure at least one idea challenges assumptions.
76
+ [Think 6 — Polish]: Make each idea vivid, specific, and memorable. Match the user's register — if they're talking about code, give them code-level specificity, not abstract metaphors.
77
+ </reasoning>
78
+ </step>
79
+
80
+ <step n="3" title="Generate Spark Batch">
81
+ <action>Present batch of 5 ideas, each with:</action>
82
+ <format>
83
+ **S{batch}-{number}** — {vivid idea title}
84
+ {2-3 sentence description — specific, concrete, imaginative}
85
+ *(technique: {technique used, e.g., Inversion, First Principles, SCAMPER, Analogy})*
86
+ </format>
87
+ <action>Number ideas sequentially across batches (S1-1, S1-2... S2-1, S2-2...)</action>
88
+ <anti_bias>
89
+ BEFORE presenting the batch, verify diversity:
90
+ - For creative/open topics: 3+ different domain wheel sectors
91
+ - For technical topics: 3+ different perspectives (e.g., architecture, DX, tradeoffs, patterns, migration)
92
+ - No 2 consecutive ideas making the same argument from the same angle
93
+ </anti_bias>
94
+ </step>
95
+
96
+ <step n="4" title="Collect Reactions">
97
+ <action>After presenting batch, invite reaction with a light prompt:</action>
98
+ <examples>
99
+ - "What catches your eye? Or say 'more' for another batch."
100
+ - "Pick favorites, ask for 'wilder', or tell me a direction."
101
+ - "Any of these spark something? I can go deeper on any."
102
+ </examples>
103
+ <action>Track user favorites in session state</action>
104
+ </step>
105
+
106
+ <step n="5" title="Adapt and Repeat">
107
+ <action>Based on user reaction, adapt the next batch:</action>
108
+ <adaptation>
109
+ <if reaction="picked favorites">Explore adjacent spaces to favorites, but maintain domain diversity</if>
110
+ <if reaction="'more' or 'keep going'">New batch with fresh domains and techniques</if>
111
+ <if reaction="'wilder' or 'more creative'">Increase provocation frequency, use inversion and what-if techniques</if>
112
+ <if reaction="'more like #N'">Analyze what makes #N appealing, generate variations while maintaining diversity</if>
113
+ <if reaction="'more practical' or 'realistic'">Ground ideas more, but still span domains</if>
114
+ <if reaction="provides new constraint or context">Incorporate as filter, regenerate</if>
115
+ <if reaction="'enough' or 'done' or 'that's good'">Proceed to step 6</if>
116
+ </adaptation>
117
+ <action>Return to step 2 for next batch</action>
118
+ <check if="total ideas >= target_count (50) AND not explicitly asked for more">
119
+ <action>Suggest: "We've generated {N} ideas. Ready to evaluate the best ones? Or keep going?"</action>
120
+ </check>
121
+ </step>
122
+
123
+ <step n="6" title="Generate Spark Bank">
124
+ <action>Compile all ideas into a Spark Bank document using template: templates/spark-bank.md.hbs</action>
125
+ <action>Organize by theme (cluster related ideas)</action>
126
+ <action>Highlight user favorites</action>
127
+ <action>Include domain coverage summary</action>
128
+ <action>Save to: .specs-ideation/sessions/{session-id}/spark-bank.md</action>
129
+ <action>Update session.yaml: phase → "spark-complete", track stats</action>
130
+ <transition>
131
+ Suggest moving to Flame: "Your Spark Bank has {N} ideas ({F} favorites). Ready to evaluate them?"
132
+ If yes → invoke Flame skill
133
+ </transition>
134
+ </step>
135
+ </flow>
136
+
137
+ <output_artifacts>
138
+
139
+ | Artifact | Location | Template |
140
+ |----------|----------|----------|
141
+ | Spark Bank | `.specs-ideation/sessions/{id}/spark-bank.md` | `./templates/spark-bank.md.hbs` |
142
+ </output_artifacts>
143
+
144
+ <success_criteria>
145
+ <criterion>First batch of ideas delivered within 30 seconds of receiving topic</criterion>
146
+ <criterion>Every batch spans 3+ different domains from the domain wheel</criterion>
147
+ <criterion>Ideas are vivid, specific, and memorable — not abstract or generic</criterion>
148
+ <criterion>Deep thinking protocol executed for every batch</criterion>
149
+ <criterion>User favorites tracked and influence subsequent batches</criterion>
150
+ <criterion>Provocations injected at configured frequency</criterion>
151
+ <criterion>Spark Bank is polished, organized by theme, and immediately shareable</criterion>
152
+ </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,60 @@
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
+
18
+ - How does nature solve similar problems?
19
+ - Velcro from burrs, bullet trains from kingfisher beaks, self-healing materials from skin
20
+ - Best for: structural, efficiency, and resilience problems
21
+
22
+ ### Games & Sports
23
+
24
+ - How do games create engagement, manage competition, handle fairness?
25
+ - Matchmaking, progression systems, handicaps, spectator modes
26
+ - Best for: engagement, fairness, and motivation problems
27
+
28
+ ### Architecture & Urban Planning
29
+
30
+ - How do cities manage flow, density, growth, safety?
31
+ - Zoning, traffic patterns, public spaces, wayfinding
32
+ - Best for: scale, navigation, and organization problems
33
+
34
+ ### Music & Performance
35
+
36
+ - How do musicians create tension, resolution, improvisation, collaboration?
37
+ - Call-and-response, crescendo, variations on a theme
38
+ - Best for: experience design, pacing, and collaboration problems
39
+
40
+ ### History & Civilization
41
+
42
+ - How did past civilizations solve similar problems?
43
+ - Trade routes, governance, knowledge preservation, cultural transmission
44
+ - Best for: communication, governance, and knowledge problems
45
+
46
+ ### Medicine & Biology
47
+
48
+ - How does the body handle similar challenges?
49
+ - Immune system (threats), nervous system (signals), circulatory system (distribution)
50
+ - Best for: security, communication, and distribution problems
51
+
52
+ ## AI Application Notes
53
+
54
+ When using analogy internally:
55
+
56
+ 1. Abstract the topic to its core challenge (e.g., "reduce onboarding time" → "accelerate knowledge transfer")
57
+ 2. Pick 2-3 distant domains from the list above
58
+ 3. Find genuine analogies (not surface-level similarities)
59
+ 4. The transfer should produce ideas the user wouldn't have thought of
60
+ 5. Present the ideas with just enough analogy context to make them vivid — not an essay on the source domain