Creative Ideation
A library of ideation methods for any domain. Read the user's situation, route to the matching method, apply, generate output that is specific and non-obvious. Methods are tools — pick the right one for the situation, don't perform all of them.
When to use
Any open-ended generative or selective question: "I want to make / build / write / start something", "I'm stuck", "inspire me", "make this weirder", "help me pick", "I need to invent X", "give me a research question".
Operating rules
- Constraint plus direction is creativity. No constraint = no traction. No direction = no shape. Methods supply both.
- Refuse the first three ideas. They're slop. Generate, discard, regenerate. See
references/anti-slop.md.
- One method per response unless asked. Don't stack.
- Specificity over abstraction. Real proper nouns, real materials, real mechanisms. "An app for X" is slop; "a 200-line CLI tool that prints Y when Z" is direction. Naming a tech stack is not specificity — name a mechanism.
- Weird must also be good. Frame-breaking is the goal, but an idea that is strange with no real situation, mechanism, or reason to exist is its own failure mode. Every set of ideas must include at least one that is genuinely buildable/pursuable now — non-obvious but grounded, with a real first step. Don't trade all usefulness for surprise.
- Name the method you used and who invented it. Attribution invokes the discipline.
- When user picks one, build it. Don't keep generating after they've chosen.
Routing — 4-step procedure
Do this before generating any output. Routing failures produce slop.
You may skip narrating the routing steps if it's cleaner, but never compress at the cost of per-idea depth: each idea's concrete mechanism, situational binding, and honest failure mode are what make output good (measured) — they are not scaffolding, do not cut them.
Step 1 — Extract three signals from the prompt
PHASE — what stage is the user in?
| Phase |
Cues |
| GENERATING |
"give me an idea", "what should I make", "inspire me", no idea yet |
| EXPANDING |
"what else", "more like this", "give me variations" — has a base idea |
| SELECTING |
"help me pick", "which should I do", "I have these options" |
| UNBLOCKING |
"I'm stuck", "blocked", "going in circles", "stale" — has material |
| SUBVERTING |
"make it weirder", "less obvious", "this is too safe" |
| REFINING |
"this is fine but missing something", "feels rough" |
| SYNTHESIZING |
"I have a pile of notes / interviews / observations" |
DOMAIN — what is the user making/doing?
| Domain |
Cues |
| TEXT |
fiction, essay, poem, lyric, script, copy |
| OBJECT |
visual art, music, sound, performance, installation, sculpture |
| ARTIFACT |
software, hardware, mechanism, device |
| SYSTEM |
org, civic, institution, ecology, community |
| SELF |
life decision, career, personal practice |
| RESEARCH |
paper, thesis, scholarly question |
| PRODUCT |
business, market, service |
SPECIFICITY — how much constraint is in the prompt?
| Level |
Cues |
| NONE |
"I'm bored", "inspire me" — no domain, no project |
| DOMAIN |
"I want to write something" — knows the field, no project |
| PROJECT |
"I'm working on this specific X" |
| PROBLEM |
"I have this specific friction within X" |
Step 2 — Apply overrides (highest priority, fire first)
Override rules beat the routing table:
- Mood signal — user says "weird", "strange", "surprising", "less obvious", "more interesting" →
references/methods/lateral-provocations.md or references/methods/pataphysics.md, regardless of domain.
- User names a method — use it.
- User asks for a method recommendation ("which method") → surface 2–3 candidates with one-line each, ask which to apply. Don't silently default.
- High-slop terrain — "AI ideas", "startup ideas", "habit tracker", "productivity / wellness / fitness / food / travel app" → force
references/methods/lateral-provocations.md or references/methods/pataphysics.md over the obvious method. Refuse the first 5 ideas, not 3.
Step 3 — Route by phase first, then domain
By phase (applies regardless of domain):
| Phase |
Default route |
| GENERATING + SPECIFICITY=NONE |
references/full-prompt-library.md General section (constraint dispatch) |
| GENERATING + DOMAIN known |
route by domain (next table) |
| EXPANDING |
references/methods/scamper.md |
| SELECTING |
references/methods/premortem-and-inversion.md (or references/methods/compression-progress.md for upside) |
| UNBLOCKING |
references/methods/oblique-strategies.md |
| SUBVERTING |
references/methods/lateral-provocations.md (fallback references/methods/pataphysics.md) |
| REFINING (text) |
references/methods/defamiliarization.md |
| REFINING (other) |
references/methods/creative-discipline.md (Tharp's spine) |
| SYNTHESIZING |
references/methods/affinity-diagrams.md |
| Volume needed fast |
references/methods/volume-generation.md |
By domain (when GENERATING with DOMAIN known):
| Domain |
Default route |
| TEXT — formal / poetry |
references/methods/oulipo.md |
| TEXT — narrative |
references/methods/story-skeletons.md |
| TEXT — has source material to remix |
references/methods/chance-and-remix.md |
| OBJECT (music, visual, performance) |
references/methods/oblique-strategies.md |
| OBJECT — physical maker / wants a starting constraint |
references/full-prompt-library.md Physical / object section |
| ARTIFACT — wants a starting constraint |
references/full-prompt-library.md Software / artifact section |
| ARTIFACT — engineering invention with parameter conflict |
references/methods/triz-principles.md |
| ARTIFACT — software architecture |
references/methods/pattern-languages.md |
| ARTIFACT — has natural-system analog |
references/methods/biomimicry.md |
| ARTIFACT — accumulated assumptions to question |
references/methods/first-principles.md |
| SYSTEM (civic, org, institutional) |
references/methods/leverage-points.md |
| SYSTEM — collective / participatory |
references/full-prompt-library.md Social / collective section |
| SELF (life, career, what-to-study) |
references/methods/derive-and-mapping.md |
| RESEARCH — picking a question |
references/methods/compression-progress.md |
| RESEARCH — attacking a known problem |
references/methods/polya.md |
| PRODUCT (business, service) |
references/methods/jobs-to-be-done.md |
| Need to break a frame / find analogy |
references/methods/analogy-and-blending.md |
Step 4 — Handle ambiguity and contradiction
- Multiple paths plausible → pick the one closest to the user's actual phrasing. Don't pick the most interesting method to seem sophisticated.
- Genuinely ambiguous → ask ONE clarifying question, don't silently guess. Examples: "Are you generating ideas or picking between ones you have?" / "Is this for fiction, essay, or something else?"
- Signals contradict (e.g., "weird startup ideas" → product domain + weird mood) → stack two methods explicitly. State what you're doing: "Using
jobs-to-be-done for the product framing + lateral-provocations to break the obvious shape."
- No match → constraint dispatch (
references/full-prompt-library.md) is the safe fallback.
- Same question asked again → switch methods. Variation in method = variation in idea distribution.
Anti-default check (run before generating)
- About to write "Here are 5 ideas:" or a bare numbered list? → STOP. Pick a method first.
- About to default to generic LLM-mode brainstorming? → STOP. Pick a path above.
- Output looks like what an unrouted LLM would produce? → routing failed, redo.
The default LLM mode is exactly what this skill exists to displace. If you generate without routing, you've defeated the skill.
For deeper edge cases (mood signals, stacking, anti-patterns) see references/heuristics.md.
Output format
For the constraint-dispatch default path:
## Constraint: [Name] — from [Source]
> [The constraint, one sentence]
### Ideas
1. **[One-line pitch]**
[2-3 sentences — what specifically is made, why it's interesting]
⏱ [weekend/week/month] • 🔧 [stack/medium/materials]
2. ...
3. ...
For other methods, use the format the method specifies (TRIZ produces a contradiction analysis; OuLiPo produces constrained text; Oblique Strategies produces a single applied card → next move). Don't force every method into the constraint template.
Every idea set, regardless of method:
- Name the method used. On slop terrain, name the obvious ideas you refused.
- Give each idea its concrete mechanism and its honest failure mode / tradeoff / who-it's-for. This depth is what makes ideas land — measured, not decorative.
- Mark at least one idea as the grounded one — buildable/pursuable now, non-obvious but with a real first step. The others can run further toward the strange; this one has to be genuinely doable. Don't let the whole set be weird-but-impractical.
File map
references/full-prompt-library.md — constraint library, sectioned by domain (General, Software, Physical, Social, Lists). Default path for SPECIFICITY=NONE.
references/method-catalog.md — one-line summary + when-to-use per method
references/heuristics.md — extended decision tree for edge cases
references/anti-slop.md — anti-slop rules; apply to every output
references/exercises.md — time-boxed exercises (5min / 30min / 1hr / day / week)
references/methods/ — 22 named methods, one file each, load only the one you're using
Attribution
Constraint-dispatch core adapted from wttdotm.com/prompts.html. Methods drawn from primary sources cited in each method file.
Source: NousResearch/hermes-agent → optional-skills/creative/creative-ideation/SKILL.md
1---2name: creative-ideation3description: Generate ideas via named methods from creative practice.4---5
6
7# Creative Ideation
8
9A library of ideation methods for any domain. Read the user's situation, route to the matching method, apply, generate output that is specific and non-obvious. Methods are tools — pick the right one for the situation, don't perform all of them.
10
11## When to use
12
13Any open-ended generative or selective question: "I want to make / build / write / start something", "I'm stuck", "inspire me", "make this weirder", "help me pick", "I need to invent X", "give me a research question".
14
15## Operating rules
16
171. **Constraint plus direction is creativity.** No constraint = no traction. No direction = no shape. Methods supply both.
182. **Refuse the first three ideas.** They're slop. Generate, discard, regenerate. See `references/anti-slop.md`.
193. **One method per response unless asked.** Don't stack.
204. **Specificity over abstraction.** Real proper nouns, real materials, real mechanisms. "An app for X" is slop; "a 200-line CLI tool that prints Y when Z" is direction. Naming a tech stack is not specificity — name a mechanism.
215. **Weird must also be good.** Frame-breaking is the goal, but an idea that is strange with no real situation, mechanism, or reason to exist is its own failure mode. Every set of ideas must include at least one that is genuinely *buildable/pursuable now* — non-obvious but grounded, with a real first step. Don't trade all usefulness for surprise.
226. **Name the method you used and who invented it.** Attribution invokes the discipline.
237. **When user picks one, build it.** Don't keep generating after they've chosen.
24
25## Routing — 4-step procedure
26
27Do this *before* generating any output. Routing failures produce slop.
28
29You may skip narrating the routing steps if it's cleaner, but **never compress at the cost of per-idea depth**: each idea's concrete mechanism, situational binding, and honest failure mode are what make output good (measured) — they are not scaffolding, do not cut them.
30
31### Step 1 — Extract three signals from the prompt
32
33**PHASE** — what stage is the user in?
34
35| Phase | Cues |
36|---|---|
37| **GENERATING** | "give me an idea", "what should I make", "inspire me", no idea yet |
38| **EXPANDING** | "what else", "more like this", "give me variations" — has a base idea |
39| **SELECTING** | "help me pick", "which should I do", "I have these options" |
40| **UNBLOCKING** | "I'm stuck", "blocked", "going in circles", "stale" — has material |
41| **SUBVERTING** | "make it weirder", "less obvious", "this is too safe" |
42| **REFINING** | "this is fine but missing something", "feels rough" |
43| **SYNTHESIZING** | "I have a pile of notes / interviews / observations" |
44
45**DOMAIN** — what is the user making/doing?
46
47| Domain | Cues |
48|---|---|
49| **TEXT** | fiction, essay, poem, lyric, script, copy |
50| **OBJECT** | visual art, music, sound, performance, installation, sculpture |
51| **ARTIFACT** | software, hardware, mechanism, device |
52| **SYSTEM** | org, civic, institution, ecology, community |
53| **SELF** | life decision, career, personal practice |
54| **RESEARCH** | paper, thesis, scholarly question |
55| **PRODUCT** | business, market, service |
56
57**SPECIFICITY** — how much constraint is in the prompt?
58
59| Level | Cues |
60|---|---|
61| **NONE** | "I'm bored", "inspire me" — no domain, no project |
62| **DOMAIN** | "I want to write something" — knows the field, no project |
63| **PROJECT** | "I'm working on this specific X" |
64| **PROBLEM** | "I have this specific friction within X" |
65
66### Step 2 — Apply overrides (highest priority, fire first)
67
68Override rules beat the routing table:
69
70- **Mood signal** — user says "weird", "strange", "surprising", "less obvious", "more interesting" → `references/methods/lateral-provocations.md` or `references/methods/pataphysics.md`, regardless of domain.
71- **User names a method** — use it.
72- **User asks for a method recommendation** ("which method") → surface 2–3 candidates with one-line each, ask which to apply. Don't silently default.
73- **High-slop terrain** — "AI ideas", "startup ideas", "habit tracker", "productivity / wellness / fitness / food / travel app" → force `references/methods/lateral-provocations.md` or `references/methods/pataphysics.md` over the obvious method. Refuse the first **5** ideas, not 3.
74
75### Step 3 — Route by phase first, then domain
76
77**By phase (applies regardless of domain):**
78
79| Phase | Default route |
80|---|---|
81| GENERATING + SPECIFICITY=NONE | `references/full-prompt-library.md` **General** section (constraint dispatch) |
82| GENERATING + DOMAIN known | route by domain (next table) |
83| EXPANDING | `references/methods/scamper.md` |
84| SELECTING | `references/methods/premortem-and-inversion.md` (or `references/methods/compression-progress.md` for upside) |
85| UNBLOCKING | `references/methods/oblique-strategies.md` |
86| SUBVERTING | `references/methods/lateral-provocations.md` (fallback `references/methods/pataphysics.md`) |
87| REFINING (text) | `references/methods/defamiliarization.md` |
88| REFINING (other) | `references/methods/creative-discipline.md` (Tharp's spine) |
89| SYNTHESIZING | `references/methods/affinity-diagrams.md` |
90| Volume needed fast | `references/methods/volume-generation.md` |
91
92**By domain (when GENERATING with DOMAIN known):**
93
94| Domain | Default route |
95|---|---|
96| TEXT — formal / poetry | `references/methods/oulipo.md` |
97| TEXT — narrative | `references/methods/story-skeletons.md` |
98| TEXT — has source material to remix | `references/methods/chance-and-remix.md` |
99| OBJECT (music, visual, performance) | `references/methods/oblique-strategies.md` |
100| OBJECT — physical maker / wants a starting constraint | `references/full-prompt-library.md` **Physical / object** section |
101| ARTIFACT — wants a starting constraint | `references/full-prompt-library.md` **Software / artifact** section |
102| ARTIFACT — engineering invention with parameter conflict | `references/methods/triz-principles.md` |
103| ARTIFACT — software architecture | `references/methods/pattern-languages.md` |
104| ARTIFACT — has natural-system analog | `references/methods/biomimicry.md` |
105| ARTIFACT — accumulated assumptions to question | `references/methods/first-principles.md` |
106| SYSTEM (civic, org, institutional) | `references/methods/leverage-points.md` |
107| SYSTEM — collective / participatory | `references/full-prompt-library.md` **Social / collective** section |
108| SELF (life, career, what-to-study) | `references/methods/derive-and-mapping.md` |
109| RESEARCH — picking a question | `references/methods/compression-progress.md` |
110| RESEARCH — attacking a known problem | `references/methods/polya.md` |
111| PRODUCT (business, service) | `references/methods/jobs-to-be-done.md` |
112| Need to break a frame / find analogy | `references/methods/analogy-and-blending.md` |
113
114### Step 4 — Handle ambiguity and contradiction
115
116- **Multiple paths plausible** → pick the one closest to the user's actual phrasing. Don't pick the most interesting method to seem sophisticated.
117- **Genuinely ambiguous** → ask ONE clarifying question, don't silently guess. Examples: *"Are you generating ideas or picking between ones you have?"* / *"Is this for fiction, essay, or something else?"*
118- **Signals contradict** (e.g., "weird startup ideas" → product domain + weird mood) → **stack two methods explicitly**. State what you're doing: *"Using `jobs-to-be-done` for the product framing + `lateral-provocations` to break the obvious shape."*
119- **No match** → constraint dispatch (`references/full-prompt-library.md`) is the safe fallback.
120- **Same question asked again** → switch methods. Variation in method = variation in idea distribution.
121
122### Anti-default check (run before generating)
123
124- About to write "Here are 5 ideas:" or a bare numbered list? → STOP. Pick a method first.
125- About to default to generic LLM-mode brainstorming? → STOP. Pick a path above.
126- Output looks like what an unrouted LLM would produce? → routing failed, redo.
127
128The default LLM mode is exactly what this skill exists to displace. If you generate without routing, you've defeated the skill.
129
130For deeper edge cases (mood signals, stacking, anti-patterns) see `references/heuristics.md`.
131
132## Output format
133
134For the constraint-dispatch default path:
135
136```
137## Constraint: [Name] — from [Source]
138> [The constraint, one sentence]
139
140### Ideas
141
1421. **[One-line pitch]**
143 [2-3 sentences — what specifically is made, why it's interesting]
144 ⏱ [weekend/week/month] • 🔧 [stack/medium/materials]
145
1462. ...
1473. ...
148```
149
150For other methods, use the format the method specifies (TRIZ produces a contradiction analysis; OuLiPo produces constrained text; Oblique Strategies produces a single applied card → next move). Don't force every method into the constraint template.
151
152**Every idea set, regardless of method:**
153- Name the method used. On slop terrain, name the obvious ideas you refused.
154- Give each idea its concrete mechanism and its honest failure mode / tradeoff / who-it's-for. This depth is what makes ideas land — measured, not decorative.
155- Mark at least one idea as the **grounded** one — buildable/pursuable now, non-obvious but with a real first step. The others can run further toward the strange; this one has to be genuinely doable. Don't let the whole set be weird-but-impractical.
156
157## File map
158
159- `references/full-prompt-library.md` — constraint library, sectioned by domain (General, Software, Physical, Social, Lists). Default path for SPECIFICITY=NONE.
160- `references/method-catalog.md` — one-line summary + when-to-use per method
161- `references/heuristics.md` — extended decision tree for edge cases
162- `references/anti-slop.md` — anti-slop rules; apply to every output
163- `references/exercises.md` — time-boxed exercises (5min / 30min / 1hr / day / week)
164- `references/methods/` — 22 named methods, one file each, load only the one you're using
165
166## Attribution
167
168Constraint-dispatch core adapted from [wttdotm.com/prompts.html](https://wttdotm.com/prompts.html). Methods drawn from primary sources cited in each method file.
169
170---
171
172**Source:** [`NousResearch/hermes-agent`](https://github.com/NousResearch/hermes-agent) → `optional-skills/creative/creative-ideation/SKILL.md`