specsmd 0.0.0-dev.80 → 0.0.0-dev.82

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 (33) hide show
  1. package/flows/ideation/README.md +35 -0
  2. package/flows/ideation/agents/orchestrator/agent.md +102 -0
  3. package/flows/ideation/agents/orchestrator/skills/flame/SKILL.md +131 -0
  4. package/flows/ideation/agents/orchestrator/skills/flame/references/evaluation-criteria.md +77 -0
  5. package/flows/ideation/agents/orchestrator/skills/flame/references/six-hats-method.md +75 -0
  6. package/flows/ideation/agents/orchestrator/skills/flame/templates/flame-report.md.hbs +81 -0
  7. package/flows/ideation/agents/orchestrator/skills/forge/SKILL.md +152 -0
  8. package/flows/ideation/agents/orchestrator/skills/forge/references/disney-method.md +86 -0
  9. package/flows/ideation/agents/orchestrator/skills/forge/references/pitch-framework.md +72 -0
  10. package/flows/ideation/agents/orchestrator/skills/forge/templates/concept-brief.md.hbs +83 -0
  11. package/flows/ideation/agents/orchestrator/skills/spark/SKILL.md +141 -0
  12. package/flows/ideation/agents/orchestrator/skills/spark/references/anti-bias.md +43 -0
  13. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/analogy.md +53 -0
  14. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/first-principles.md +51 -0
  15. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/index.yaml +76 -0
  16. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/inversion.md +46 -0
  17. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/questorming.md +51 -0
  18. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/random-word.md +34 -0
  19. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/scamper.md +52 -0
  20. package/flows/ideation/agents/orchestrator/skills/spark/references/techniques/what-if.md +49 -0
  21. package/flows/ideation/agents/orchestrator/skills/spark/templates/spark-bank.md.hbs +72 -0
  22. package/flows/ideation/commands/flame.md +43 -0
  23. package/flows/ideation/commands/forge.md +43 -0
  24. package/flows/ideation/commands/ideation.md +51 -0
  25. package/flows/ideation/commands/spark.md +43 -0
  26. package/flows/ideation/memory-bank.yaml +177 -0
  27. package/flows/ideation/quick-start.md +84 -0
  28. package/flows/ideation/shared/protocols/anti-bias.md +76 -0
  29. package/flows/ideation/shared/protocols/deep-thinking.md +85 -0
  30. package/flows/ideation/shared/protocols/diverge-converge.md +70 -0
  31. package/flows/ideation/shared/protocols/interaction-adaptation.md +81 -0
  32. package/lib/constants.js +5 -0
  33. package/package.json +1 -1
@@ -0,0 +1,84 @@
1
+ # Ideation Flow
2
+
3
+ **Spark → Flame → Forge** — AI-powered creative ideation.
4
+
5
+ ## Overview
6
+
7
+ The Ideation flow transforms AI into a creative partner, not a facilitator. Give it a topic and get ideas in 30 seconds — no setup, no technique selection, no friction.
8
+
9
+ ```
10
+ Topic → Spark (generate) → Flame (evaluate) → Forge (shape) → Concept Brief
11
+ ```
12
+
13
+ ## Quick Start
14
+
15
+ ```bash
16
+ # Full guided flow
17
+ /specsmd-ideation
18
+
19
+ # Or jump directly to a skill
20
+ /specsmd-spark # Generate ideas
21
+ /specsmd-flame # Evaluate ideas
22
+ /specsmd-forge # Shape concepts
23
+ ```
24
+
25
+ ## The Three Skills
26
+
27
+ ### Spark (Generate)
28
+
29
+ Rapid-fire idea generation with cross-domain connections.
30
+
31
+ - AI generates batches of 5 ideas spanning 3+ domains
32
+ - You react: pick favorites, say "more", "wilder", "more like #3"
33
+ - AI adapts and generates more
34
+ - **Output**: Spark Bank document
35
+
36
+ ### Flame (Evaluate)
37
+
38
+ Multi-perspective analysis of selected sparks.
39
+
40
+ - AI runs rapid Six Hats analysis per idea
41
+ - Scores on impact, feasibility, novelty
42
+ - You add your gut feeling and priorities
43
+ - **Output**: Flame Report with shortlist
44
+
45
+ ### Forge (Shape)
46
+
47
+ Develops top flames into actionable concepts.
48
+
49
+ - AI applies Disney Strategy: Dream → Reality → Critique
50
+ - You co-build during the Critic phase
51
+ - Produces polished, shareable concept
52
+ - **Output**: Concept Brief
53
+
54
+ ## Project Structure
55
+
56
+ When initialized, Ideation creates:
57
+
58
+ ```
59
+ .specs-ideation/
60
+ ├── sessions/
61
+ │ └── {session-id}/
62
+ │ ├── session.yaml # Session state (resumable)
63
+ │ ├── spark-bank.md # Ideas generated
64
+ │ ├── flame-report.md # Evaluation results
65
+ │ └── concept-briefs/ # Shaped concepts
66
+ │ └── {concept-name}.md
67
+ └── standards/ # Project standards (if initialized)
68
+ ```
69
+
70
+ ## Key Principles
71
+
72
+ 1. **Zero friction** — Topic → ideas in 30 seconds
73
+ 2. **Invisible techniques** — AI uses SCAMPER, Six Hats, etc. internally. You never see method names.
74
+ 3. **Anti-bias engine** — Domain wheel ensures genuinely diverse ideas, not variations on a theme
75
+ 4. **Deep thinking** — Multi-step reasoning per batch, not surface-level brainstorming
76
+ 5. **Beautiful output** — Polished documents, immediately shareable
77
+
78
+ ## Configuration
79
+
80
+ See `memory-bank.yaml` for:
81
+
82
+ - Session structure and naming
83
+ - Artifact paths
84
+ - Skill configuration (batch sizes, domains, convergence thresholds)
@@ -0,0 +1,76 @@
1
+ # Anti-Bias Protocol
2
+
3
+ A structured enforcement protocol — not advisory text — that ensures genuinely diverse idea generation. This protocol is MANDATORY for every Spark batch.
4
+
5
+ ## Domain Wheel
6
+
7
+ The domain wheel has 12 sectors. Every idea must be tagged with its primary domain.
8
+
9
+ | # | Domain | Description |
10
+ |---|--------|-------------|
11
+ | 1 | **Technology/Engineering** | Systems, algorithms, automation, tools, platforms |
12
+ | 2 | **Human Psychology/Behavior** | Motivation, habits, cognition, emotion, perception |
13
+ | 3 | **Business/Economics** | Markets, incentives, pricing, value chains, models |
14
+ | 4 | **Nature/Biology** | Ecosystems, evolution, biomimicry, growth patterns |
15
+ | 5 | **Art/Design/Aesthetics** | Form, beauty, expression, sensory experience |
16
+ | 6 | **Games/Play** | Competition, rules, progression, fun, challenge |
17
+ | 7 | **Social/Community** | Networks, culture, belonging, collaboration, identity |
18
+ | 8 | **Physical Space/Architecture** | Layout, flow, wayfinding, environment, materials |
19
+ | 9 | **Time/Temporal** | Timing, rhythm, duration, history, future, pacing |
20
+ | 10 | **Extreme/Edge Cases** | Exceptions, outliers, extremes, stress scenarios |
21
+ | 11 | **Inversion/Opposite** | Reversal, contradiction, paradox, opposing approach |
22
+ | 12 | **Random Cross-Pollination** | Unrelated connections, serendipity, distant transfer |
23
+
24
+ ## Enforcement Rules
25
+
26
+ ### Per-Batch (5 ideas)
27
+ 1. **Minimum 3 different domains** per batch — HARD REQUIREMENT
28
+ 2. **Never 2 consecutive ideas from the same domain**
29
+ 3. **Track domain usage** across the entire session
30
+ 4. **Prioritize underused domains** — if a domain has 0 ideas, it should appear in the next 2 batches
31
+
32
+ ### Per-Session
33
+ 5. **After every 15 ideas**: inject 1 provocative idea (see Provocation Types below)
34
+ 6. **After every 20 ideas**: shift perspective entirely (different user persona, different era, different culture)
35
+ 7. **If user favorites cluster in 1-2 domains**: deliberately diversify the next batch into 4+ domains
36
+ 8. **By session end**: aim for 8+ domains covered
37
+
38
+ ### Domain Tracking Format
39
+
40
+ Maintain internal tracking (not shown to user):
41
+
42
+ ```
43
+ Domain usage: Tech(4) Psych(2) Biz(3) Nature(1) Art(0) Games(2) Social(1) Space(0) Time(1) Extreme(1) Inversion(0) Random(0)
44
+ Underused: Art, Space, Inversion, Random → prioritize these in next batch
45
+ ```
46
+
47
+ ## Provocation Types
48
+
49
+ Provocations are deliberately absurd or extreme ideas that break fixation patterns.
50
+
51
+ | Type | Trigger | Example |
52
+ |------|---------|---------|
53
+ | **Inversion** | Reverse a core assumption | "What if users paid to NOT use it?" |
54
+ | **Exaggeration** | Scale to absurdity | "What if 1 million people used it simultaneously?" |
55
+ | **Elimination** | Remove the central element | "What if there was no UI at all?" |
56
+ | **Random** | Force unrelated connection | "How would a coral reef solve this?" |
57
+ | **Time shift** | Transplant to different era | "How would this work in 1890? In 2150?" |
58
+ | **Stakeholder swap** | Different user entirely | "Design this for a 5-year-old. Now for a 90-year-old." |
59
+
60
+ ### Provocation Rules
61
+ - Label provocations internally but present them naturally among other ideas
62
+ - If a provocation resonates with the user, develop it into a real idea
63
+ - Provocations should be surprising but contain a kernel of insight
64
+
65
+ ## LLM-Specific Bias Mitigations
66
+
67
+ AI language models have known ideation biases. This protocol counters them:
68
+
69
+ | LLM Bias | Mitigation |
70
+ |----------|------------|
71
+ | **Technology bias** — defaults to tech solutions | Domain wheel forces non-tech domains |
72
+ | **Recency bias** — favors recent/trendy concepts | Time-shift provocations and historical analogies |
73
+ | **Clustering** — ideas that sound different but are structurally similar | Novelty filter in deep thinking (Think 3) |
74
+ | **Safety bias** — avoids bold/risky ideas | Inversion and exaggeration provocations |
75
+ | **Verbosity bias** — abstract descriptions instead of vivid ideas | "Polish" step requires specific, concrete, memorable output |
76
+ | **Anchoring** — first idea dominates subsequent ones | Each batch starts with fresh domain selection |
@@ -0,0 +1,85 @@
1
+ # Deep Thinking Protocol
2
+
3
+ Structured multi-step reasoning for idea generation. Executes before every Spark batch to ensure ideas are genuinely thought through, not surface-level pattern matching.
4
+
5
+ ## MCP Detection
6
+
7
+ The protocol adapts based on available tools:
8
+
9
+ ### When Sequential Thinking MCP is Available
10
+
11
+ Use the `mcp__sequential-thinking__sequentialthinking` tool with 6-7 thoughts per batch:
12
+
13
+ ```
14
+ Thought 1/6 — Domain Check
15
+ Thought 2/6 — Raw Concepts
16
+ Thought 3/6 — Novelty Filter
17
+ Thought 4/6 — Cross-pollinate
18
+ Thought 5/6 — Provocation (if due)
19
+ Thought 6/6 — Polish
20
+ Thought 7/7 — Meta-check (optional, if diversity seems low)
21
+ ```
22
+
23
+ Each thought should set `nextThoughtNeeded: true` until the final thought.
24
+
25
+ ### When MCP is Unavailable (Built-in Fallback)
26
+
27
+ Execute the same reasoning chain as an internal process. Think through each step before generating output. The cognitive pattern is the same — only the mechanism differs.
28
+
29
+ ## The 6-Step Reasoning Chain
30
+
31
+ ### Think 1 — Domain Check
32
+ - Review domain usage tracking from session state
33
+ - Which domains are underexplored?
34
+ - Select 3+ target domains for this batch
35
+ - If user expressed preferences, balance between preferred and underexplored
36
+
37
+ ### Think 2 — Raw Concepts
38
+ - Generate 1-2 raw ideas per selected domain
39
+ - Use a technique internally: SCAMPER, analogy, inversion, random-word, what-if, first-principles, or questorming
40
+ - Select technique based on: what hasn't been used recently, what fits the user's energy, what the topic needs
41
+ - Aim for 6-8 raw concepts to select 5 from
42
+
43
+ ### Think 3 — Novelty Filter
44
+ - For each raw concept, ask: "Is this genuinely new or a repackaged version of an obvious idea?"
45
+ - Check against ideas already generated in this session
46
+ - Replace any that feel generic, incremental, or too similar to existing ideas
47
+ - The bar: would this make someone say "huh, I never thought of that"?
48
+
49
+ ### Think 4 — Cross-pollinate
50
+ - If user has stated favorites, can any new ideas combine with them?
51
+ - Look for unexpected connections between the raw concepts themselves
52
+ - Create at least one idea that bridges two different domains
53
+
54
+ ### Think 5 — Provocation
55
+ - Check: is a provocation due? (every 15 ideas)
56
+ - If yes: select a provocation type and generate one deliberately absurd idea
57
+ - If no: ensure at least one idea in the batch challenges a core assumption
58
+ - The provocation should be surprising but contain a genuine insight
59
+
60
+ ### Think 6 — Polish
61
+ - For each of the 5 selected ideas:
62
+ - Make it vivid: use concrete details, not abstractions
63
+ - Make it specific: "a quest system where..." not "gamification"
64
+ - Make it memorable: could someone retell this idea to a colleague?
65
+ - Final anti-bias check: do the 5 ideas span 3+ domains? No 2 consecutive from same domain?
66
+
67
+ ### Think 7 — Meta-check (Optional)
68
+ - Only if something feels off about the batch
69
+ - Is this batch genuinely diverse or are the ideas structurally similar?
70
+ - Does this batch feel different from the previous batch?
71
+ - If concerns, regenerate the weakest 1-2 ideas
72
+
73
+ ## Visibility Modes
74
+
75
+ | Mode | Behavior |
76
+ |------|----------|
77
+ | `visible` | Show all thinking steps to user (learning/transparency mode) |
78
+ | `collapsed` | Show "Thinking..." indicator, then present results (default) |
79
+ | `hidden` | Show only the resulting ideas (fast mode) |
80
+
81
+ Default is `collapsed`. User can request visibility changes at any time.
82
+
83
+ ## Key Principle
84
+
85
+ The deep thinking protocol is a **skill feature**, not an MCP dependency. The sequential-thinking MCP tool is an optimization that provides traceability, but the cognitive pattern is enforced by this protocol regardless of tool availability.
@@ -0,0 +1,70 @@
1
+ # Diverge-Converge Protocol
2
+
3
+ The Osborn-Parnes dual-thinking pattern applied across the Ideation flow.
4
+
5
+ ## Core Principle
6
+
7
+ Creative thinking requires two distinct modes that must be kept **strictly separate**:
8
+
9
+ 1. **Divergent thinking** — Generate as many ideas as possible. Defer judgment. Quantity over quality. Wild ideas welcome.
10
+ 2. **Convergent thinking** — Evaluate, filter, combine, select. Apply judgment. Quality over quantity. Practicality matters.
11
+
12
+ Mixing them kills creativity. Judging during generation produces safe, incremental ideas. Generating during evaluation produces scattered, unfocused analysis.
13
+
14
+ ## Application Across Skills
15
+
16
+ ### Spark = Pure Divergence
17
+
18
+ - **Mode**: Divergent ONLY
19
+ - **Judgment**: Deferred completely
20
+ - **Goal**: Maximum quantity and diversity of ideas
21
+ - **Rules**:
22
+ - No evaluating ideas during generation
23
+ - No "that won't work" — every idea gets recorded
24
+ - Wild ideas encouraged — they can be tamed later
25
+ - Build on ideas — "yes, and..." not "yes, but..."
26
+ - When user reacts negatively to an idea, acknowledge and move on — don't defend or evaluate
27
+
28
+ ### Flame = Convergence (with structured divergence)
29
+
30
+ - **Mode**: Primarily convergent, with divergent extensions
31
+ - **Judgment**: Applied through structured frameworks (Six Hats)
32
+ - **Goal**: Evaluate fairly, discover hidden value, create shortlist
33
+ - **Rules**:
34
+ - Evaluate ALL ideas, not just favorites (hidden gems exist)
35
+ - Use multiple perspectives (Six Hats prevents single-lens evaluation)
36
+ - Allow divergent extension: "This idea isn't great as-is, but what if we modified..."
37
+ - Score on multiple dimensions, not a single metric
38
+
39
+ ### Forge = Alternating Diverge-Converge
40
+
41
+ - **Mode**: Rapid alternation (Disney Strategy)
42
+ - **Judgment**: Alternates between suspended (Dreamer) and applied (Realist, Critic)
43
+ - **Goal**: Develop ideas into robust, actionable concepts
44
+ - **Rules**:
45
+ - Dreamer phase: Pure divergence — no limits, no criticism
46
+ - Realist phase: Convergent — how would this actually work?
47
+ - Critic phase: Evaluative — what could go wrong?
48
+ - Each phase is strictly separated — no mixing
49
+
50
+ ## The "Deferred Judgment" Contract
51
+
52
+ During divergent phases, the AI MUST:
53
+ - Record every idea, even seemingly bad ones
54
+ - Never add qualifiers like "while this might not be practical..."
55
+ - Never rank or compare ideas within a divergent phase
56
+ - Treat every idea as equally valid until convergence
57
+
58
+ During convergent phases, the AI MUST:
59
+ - Apply consistent evaluation criteria
60
+ - Not generate new ideas (unless explicitly extending)
61
+ - Acknowledge trade-offs rather than seeking a single "best"
62
+ - Present evaluation as multi-dimensional, not pass/fail
63
+
64
+ ## Transition Signals
65
+
66
+ The AI should signal mode transitions clearly:
67
+
68
+ - Divergent → Convergent: "We've generated N ideas. Let's evaluate them."
69
+ - Convergent → Divergent: "This evaluation suggests a new direction. Let's explore it."
70
+ - Within Forge: "Let's dream freely first... Now let's get practical... Now let's stress-test."
@@ -0,0 +1,81 @@
1
+ # Interaction Adaptation Protocol
2
+
3
+ The technique determines whether the AI generates, asks, or co-builds — not a mode toggle. This protocol governs all interactions across Spark, Flame, and Forge.
4
+
5
+ ## Interaction Types
6
+
7
+ | Type | When Used | AI Behavior |
8
+ |------|-----------|-------------|
9
+ | **Generate** | Technique is generative (SCAMPER, analogy, inversion, random-word) | AI produces creative output, user reacts |
10
+ | **Elicit** | Only user has the answer (feelings, constraints, stakeholders, context) | AI asks a specific question, waits for response |
11
+ | **Co-build** | Combining ideas, refining concepts, critiquing together | AI starts, user extends, AI builds on extension |
12
+
13
+ ## Phase Ratios
14
+
15
+ | Skill | Generate | Elicit | Co-build |
16
+ |-------|----------|--------|----------|
17
+ | **Spark** | 80% | 5% | 15% |
18
+ | **Flame** | 60% | 15% | 25% |
19
+ | **Forge** | 40% | 20% | 40% |
20
+
21
+ Generation-heavy at start (Spark), increasingly collaborative as ideas become concrete (Forge).
22
+
23
+ ## Hard Rules
24
+
25
+ ### The 2-Question Limit
26
+ **NEVER more than 2 questions in a row before generating something creative.**
27
+
28
+ If the AI has asked 2 questions, it MUST generate output next — even if it doesn't have complete information. Use the `ai_fallback` for the technique and generate based on available context.
29
+
30
+ ### User Override Signals
31
+
32
+ | User Says | Shift To |
33
+ |-----------|----------|
34
+ | "you decide" / "you try" / "surprise me" | More generation, less elicitation |
35
+ | "ask me" / "guide me" / "help me think" | More elicitation temporarily |
36
+ | "let's work on this together" | More co-build |
37
+ | "just give me ideas" | Maximum generation |
38
+ | (short responses, low engagement) | More generation to re-energize |
39
+ | (detailed responses, high engagement) | More co-build to leverage engagement |
40
+
41
+ ### Ratio Tracking
42
+ Track the question-to-generation ratio. If it exceeds 1:3 (more than 1 question per 3 generated outputs), shift toward more generation.
43
+
44
+ ## Technique-Interaction Mapping
45
+
46
+ Each technique declares its natural interaction type:
47
+
48
+ | Technique | Natural Mode | Elicit Trigger | AI Fallback |
49
+ |-----------|-------------|---------------|-------------|
50
+ | SCAMPER | Generate | — | — |
51
+ | Random Word | Generate | — | — |
52
+ | What-If | Generate | — | — |
53
+ | Inversion | Generate | — | — |
54
+ | Analogy | Generate | — | — |
55
+ | First Principles | Generate | — | — |
56
+ | Questorming | Co-build | "Which question matters most?" | AI picks the most provocative question |
57
+ | Six Hats | Generate | Red Hat: "What's your gut feeling?" | AI infers from user's previous preferences |
58
+ | Disney Strategy | Co-build | Critic: "What concerns you most?" | AI plays critic and presents concerns |
59
+
60
+ ## Energy Adaptation
61
+
62
+ The AI reads engagement signals and adapts:
63
+
64
+ ### High Energy Signals
65
+ - Long responses, exclamation marks, building on ideas
66
+ - **Response**: Match energy, increase pace, go bolder
67
+
68
+ ### Medium Energy Signals
69
+ - Moderate responses, picking favorites, giving direction
70
+ - **Response**: Steady pace, follow their direction
71
+
72
+ ### Low Energy Signals
73
+ - Short responses ("ok", "sure", "next"), slow replies
74
+ - **Response**: Generate more (don't ask), try a different angle, offer to pause or switch skills
75
+
76
+ ### Re-energizing Tactics
77
+ When energy drops:
78
+ 1. Switch technique (if SCAMPER isn't landing, try inversion or random-word)
79
+ 2. Switch domain (if tech ideas aren't exciting, try nature or games)
80
+ 3. Inject a provocation (absurd idea can re-spark interest)
81
+ 4. Offer direction change: "Want me to go wilder? More practical? Different angle entirely?"
package/lib/constants.js CHANGED
@@ -26,6 +26,11 @@ const FLOWS = {
26
26
  name: 'Simple',
27
27
  description: 'Spec generation only (Kiro style) - Creates requirement/design/task docs, no execution tracking',
28
28
  path: 'simple'
29
+ },
30
+ ideation: {
31
+ name: 'Ideation',
32
+ description: 'Creative ideation - Spark → Flame → Forge idea generation and shaping',
33
+ path: 'ideation'
29
34
  }
30
35
  };
31
36
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specsmd",
3
- "version": "0.0.0-dev.80",
3
+ "version": "0.0.0-dev.82",
4
4
  "description": "Multi-agent orchestration system for AI-native software development. Delivers AI-DLC, Agile, and custom SDLC flows as markdown-based agent systems.",
5
5
  "main": "lib/installer.js",
6
6
  "bin": {