ADHD
Stop picking the textbook answer. The first three answers the model would
give are the answers a senior engineer would give in thirty seconds.
Correct. Forgettable. The interesting answers live past number three, in
the awkward middle nobody walks into. This skill makes the model walk
there.
When to use vs siblings
/adhd — generate the option space when you don't have candidates yet.
/oracle (compare mode) — evaluate options you already have.
/plan-ceo-review — challenge whether the thing should be built at all.
/verify — adversarially check a conclusion you've already reached.
They compose: /adhd to widen, /oracle to weigh the shortlist.
Pre-flight (run before Phase 1)
This skill is expensive. About 10 Agent calls, 30 to 90 seconds wall clock,
5 to 10x a single answer. Do not pay that cost when a direct answer is
better. Run this gate before Phase 1.
Step 1. Explicit invocation check.
If the user typed /adhd or explicitly asked for ADHD mode, "use the
adhd skill", or "run ADHD on this", SKIP the rest of this section and go
straight to Phase 1. The user opted in. Do not second-guess.
Step 2. Self-judge (only if Step 1 did not match).
Ask yourself three questions. If the answer to any is no, ABORT.
- Open-ended? Would a senior engineer give multiple viable answers
here, or is there one canonical answer? If canonical, abort.
- High-stakes? Is the cost of the obvious answer being wrong actually
high? Architecture decisions, public API surfaces, naming a real
product, fuzzy bugs with no known root cause, schema design = yes.
Side project at 11pm = no.
- Open phrasing? Did the user avoid words like "quick", "standard",
"canonical", "textbook", "just", "one-line"? If they used any of those,
they want the direct answer. Abort.
If all three checks pass, proceed to Phase 1.
If any fails, ABORT and answer the question directly. Optionally append
one sentence: "If you want a wider exploration under parallel cognitive
frames with explicit trap detection, run /adhd <your problem>."
Standalone Codex batching
Read the live concurrency limit before Phase 1 and reserve a slot for the main
session. Launch only the independent generator frames that fit. Create each
frame with spawn_agent and wait for it with wait_agent; then launch the
remaining frames in the next batch. Use send_message to deliver context to a
running frame, followup_task to trigger another turn for an idle existing
frame, and interrupt_agent only to stop a frame's current turn.
Every frame still receives only the original problem, user context, its own
vantage prompt, and the generator instruction. Never pass output between
frames, even across batches. Apply the same batching to the three deepen
agents. Do not require five simultaneous slots or promise Sonnet routing.
The loop
Two strict phases. Mixing them kills idea quality, because the critic
strangles the generator.
Phase 1 — Diverge (no critic)
For the problem P:
Pick 5 cognitive frames from the table below. Bias toward engineering
tags when the problem is code-shaped. Always include at least one wild
frame to keep range.
In Claude, spawn 5 parallel Agent tool calls in ONE message. In
standalone Codex, use the independent batches above. One agent per frame.
Each Agent gets only:
- the problem P
- any context the user provided
- the chosen frame's vantage prompt
- a system instruction that forbids evaluation
The exact instruction to give each Agent:
You are in DIVERGENT mode. You are a generator, not a critic.
Generate 6 short distinct ideas under this frame. Each idea is one
phrase or one sentence. Do not evaluate. Do not rank. Do not hedge.
The first three obvious answers everyone would give are banned.
Push past them into the awkward middle.
Output a JSON array only. No prose before or after.
[{"text": "...", "rationale": "..."}, ...]
Critical invariant. Branches must be isolated. Claude runs all five in
parallel; Codex may batch them only to respect its live slot limit. Do NOT
pass one branch's output as context to another. Branches that see each other
anchor each other and the whole method collapses to a wider single thought.
Phase 2 — Focus (critic on)
After all branches return:
Score. Rate each idea on three axes 0 to 10: novelty (distance from
the obvious default), viability (could it actually ship), fit (does it
address the stated problem). For any idea that looks attractive but is
a trap (hidden cost, false economy, will not scale, premature
abstraction), flag it with a one-line reason.
Cluster. Group ideas into 3 to 6 clusters by their underlying angle,
not by surface keywords. Label clusters by angle: "remove the server
plays", "cache-shaped plays", "batched-window plays", "race-multiple-
backends plays".
Deepen the top 3. Rank by weighted score (novelty 0.35 + viability
0.40 + fit 0.25), exclude traps, take top 3. For each, spawn one Agent
call that produces:
- a 4 to 8 sentence sketch of how the idea works
- the load-bearing risk
- the first concrete step a builder would take
- 3 to 5 child ideas (variations, hybrids, unlocks)
Deepen Agent instruction:
You are in FOCUS mode. Take one promising idea and connect dots.
Sketch how it would actually work in 4 to 8 sentences. Name the
load-bearing risk. Name the first concrete step a coder would take.
Then generate 3 to 5 sub-ideas that branch off (variations,
combinations with other domains, things this unlocks).
Output JSON only.
Scoring, clustering, and the final synthesis stay in the main session —
that is judgment work. In Claude, generator and deepen agents inherit
CLAUDE_CODE_SUBAGENT_MODEL (Sonnet). Standalone Codex makes no model-routing
promise beyond the live host's configuration.
Frames
Pick 5 per run.
| Frame |
Vantage prompt |
Tags |
| hardware engineer |
You think in latency, memory layout, and physical constraints. Re-ask this as a hardware/firmware problem. What does the bus topology, cache, timing budget tell you? |
code, wild |
| regulator |
You audit systems for compliance and failure modes. What must be provable, traceable, or refusable here? |
design, general |
| 10-year-old |
You are a curious 10 year old who has never seen software. Describe naive but unencumbered approaches. Ignore convention. |
general, wild |
| competitor trying to break it |
You are a hostile competitor or attacker. Generate approaches that exploit, fail, or sabotage the obvious solution. Then invert into ideas. |
code, design |
| biology |
Transplant a mechanism from biology (immune systems, neural plasticity, cell signaling, evolution, gut flora). Force-fit it onto this engineering problem. |
code, wild |
| logistics |
Steal mechanisms from logistics: queues, batching, just-in-time, hub-and-spoke, returns, last-mile. Apply them literally. |
code, design |
| game design |
Approach this as a game designer. What are the loops, rewards, friction, save-states, speedrun tricks? Treat the user as a player. |
design, general |
| markets |
Treat the problem as a market. Buyers, sellers, market-makers. What does an auction, a futures contract, a clearing house look like here? |
design, wild |
| inversion |
Ask the OPPOSITE question. If goal is X, brainstorm how to guarantee NOT X. Then negate each answer back. |
code, design, general |
| extreme: $0 budget, 1 hour |
No money, no team, one hour. What is the crudest version that still does the load-bearing thing? |
code, general |
| extreme: infinite budget, 10 years |
Infinite compute, infinite engineers, a decade. What is the maximalist version? |
design, wild |
| remove the load-bearing assumption |
Name the thing everyone treats as fixed (framework, database, request-response model, network). Imagine it is gone. What is possible? |
code, design, wild |
| speedrunner |
You are a speedrunner. Find glitches, skips, out-of-bounds tricks, frame-perfect shortcuts. What is the abusive-but-legal path? |
code, wild |
| ant colony |
No central planner. Many dumb agents, local rules, pheromone trails. How does the problem solve itself emergently? |
code, wild |
| 3am on-call |
You are the on-call engineer woken at 3am when this breaks. What design would let you not get paged? |
code, design |
Picking frames
For code-shaped problems: pick 4 frames tagged code or design, plus 1
tagged wild. For open product or strategy problems: a mix from all tags.
Vary the picks across sessions so the same problem produces different
candidate sets when re-run.
Output shape
After Phase 2, render in this order. Do not collapse it into a wall of
prose. The structure is the point.
- Brief. One or two lines confirming the problem and any reframe used.
- Wide set. Full pool grouped by cluster. Each cluster labeled by
underlying angle. Each idea is one short phrase. Show score chips like
[N7 V8 F9] next to each.
- Converge. A 2 to 4 idea shortlist. State why each is on the list.
Mark the non-obvious-but-viable pick explicitly with ★. List traps
separately, each with the one-line reason it is a trap.
- Focus. The 3 deepened branches. For each: the sketch, the load-
bearing risk, the first concrete step, and the child ideas.
- Provocation. One wildcard question or idea that opens a new
direction the user can push into if nothing landed.
Anti-patterns
These are how this skill goes wrong. Watch for them.
- Convergence disguised as divergence. Ten minor variations of one idea
is not breadth. If every candidate shares the same underlying assumption,
you have not diverged. You have decorated.
- Weird-for-weird's-sake with no convergence. A pile of 30 unsorted
absurdities is as useless as one safe answer. Always converge.
- Walls of equally-weighted prose. Cluster, label, pull out the best.
Structure is half the value.
- Refusing to commit. After diverging, take a position on what is
actually promising. "Here are 20 ideas, you decide" is a cop-out.
Generate wide, but converge with a real opinion.
- Skipping the isolation invariant. If you simulate parallel branches
by writing them sequentially in one context, you have not done ADHD. You
have done a wider single thought. The Agent tool gives each branch a
fresh context. Use it.
Calibration
- How many ideas? Scale to stakes. Quick "name this function" =
3 frames × 4 ideas. "How should I position this product" = 5 frames ×
8 ideas. Default is 5 × 6 = 30.
- How weird? Read the room. Serious strategy work: flag the wild cards
clearly so they do not read as unserious. Open brainstorming or play:
let it run loose. Absurd ideas earn their place by seeding viable ones.
- When to stop diverging? Stop when new candidates start repeating the
shape of existing ones. The space is mapped. Do not pad to hit a number.
Cost
5 diverge + 1 score + 1 cluster + 3 deepen ≈ 10 Agent calls per run.
About 5 to 10x a single-shot answer. Not for every keystroke. For decision
points where the cost of the obvious answer is high. In Claude,
diverge/deepen agents run on the Sonnet subagent pool, so the Opus/Fable cost
of a run is one synthesis pass. Standalone Codex reports its own live routing
and slot limits instead.
Attribution
Ported from UditAkhourii/adhd
(MIT). Upstream ships the same loop as an npm CLI (adhd-agent) plus
evals and a source spec on divergent ideation; this port keeps the
skill-only form (no install) and adds the cc-settings sibling-skill
routing and subagent model notes.
1---2name: adhd3description: Parallel divergent ideation, framed generators, then a critic scores, clusters, and deepens the top 3. Triggers "brainstorm", "ideate", "widen the option space", or a fuzzy design or debugging question. Not for lookups or bugs with a known cause.4license: MIT5---67# ADHD89Stop picking the textbook answer. The first three answers the model would10give are the answers a senior engineer would give in thirty seconds.11Correct. Forgettable. The interesting answers live past number three, in12the awkward middle nobody walks into. This skill makes the model walk13there.1415## When to use vs siblings1617- `/adhd` — **generate** the option space when you don't have candidates yet.18- `/oracle` (compare mode) — **evaluate** options you already have.19- `/plan-ceo-review` — challenge whether the thing should be built at all.20- `/verify` — adversarially check a conclusion you've already reached.2122They compose: `/adhd` to widen, `/oracle` to weigh the shortlist.2324## Pre-flight (run before Phase 1)2526This skill is expensive. About 10 Agent calls, 30 to 90 seconds wall clock,275 to 10x a single answer. Do not pay that cost when a direct answer is28better. Run this gate before Phase 1.2930**Step 1. Explicit invocation check.**3132If the user typed `/adhd` or explicitly asked for ADHD mode, "use the33adhd skill", or "run ADHD on this", **SKIP the rest of this section and go34straight to Phase 1**. The user opted in. Do not second-guess.3536**Step 2. Self-judge (only if Step 1 did not match).**3738Ask yourself three questions. If the answer to any is no, ABORT.39401. **Open-ended?** Would a senior engineer give multiple viable answers41 here, or is there one canonical answer? If canonical, abort.422. **High-stakes?** Is the cost of the obvious answer being wrong actually43 high? Architecture decisions, public API surfaces, naming a real44 product, fuzzy bugs with no known root cause, schema design = yes.45 Side project at 11pm = no.463. **Open phrasing?** Did the user avoid words like "quick", "standard",47 "canonical", "textbook", "just", "one-line"? If they used any of those,48 they want the direct answer. Abort.4950If all three checks pass, proceed to Phase 1.5152If any fails, ABORT and answer the question directly. Optionally append53one sentence: *"If you want a wider exploration under parallel cognitive54frames with explicit trap detection, run `/adhd <your problem>`."*5556## Standalone Codex batching5758Read the live concurrency limit before Phase 1 and reserve a slot for the main59session. Launch only the independent generator frames that fit. Create each60frame with `spawn_agent` and wait for it with `wait_agent`; then launch the61remaining frames in the next batch. Use `send_message` to deliver context to a62running frame, `followup_task` to trigger another turn for an idle existing63frame, and `interrupt_agent` only to stop a frame's current turn.6465Every frame still receives only the original problem, user context, its own66vantage prompt, and the generator instruction. Never pass output between67frames, even across batches. Apply the same batching to the three deepen68agents. Do not require five simultaneous slots or promise Sonnet routing.6970## The loop7172Two strict phases. Mixing them kills idea quality, because the critic73strangles the generator.7475### Phase 1 — Diverge (no critic)7677For the problem P:78791. Pick 5 cognitive frames from the table below. Bias toward engineering80 tags when the problem is code-shaped. Always include at least one wild81 frame to keep range.82832. In Claude, spawn 5 **parallel** Agent tool calls in ONE message. In84 standalone Codex, use the independent batches above. One agent per frame.85 Each Agent gets only:86 - the problem P87 - any context the user provided88 - the chosen frame's vantage prompt89 - a system instruction that forbids evaluation9091 The exact instruction to give each Agent:9293 > You are in DIVERGENT mode. You are a generator, not a critic.94 > Generate 6 short distinct ideas under this frame. Each idea is one95 > phrase or one sentence. Do not evaluate. Do not rank. Do not hedge.96 > The first three obvious answers everyone would give are banned.97 > Push past them into the awkward middle.98 > Output a JSON array only. No prose before or after.99 > `[{"text": "...", "rationale": "..."}, ...]`1001013. **Critical invariant.** Branches must be isolated. Claude runs all five in102 parallel; Codex may batch them only to respect its live slot limit. Do NOT103 pass one branch's output as context to another. Branches that see each other104 anchor each other and the whole method collapses to a wider single thought.105106### Phase 2 — Focus (critic on)107108After all branches return:1091101. **Score.** Rate each idea on three axes 0 to 10: novelty (distance from111 the obvious default), viability (could it actually ship), fit (does it112 address the stated problem). For any idea that looks attractive but is113 a trap (hidden cost, false economy, will not scale, premature114 abstraction), flag it with a one-line reason.1151162. **Cluster.** Group ideas into 3 to 6 clusters by their underlying angle,117 not by surface keywords. Label clusters by angle: "remove the server118 plays", "cache-shaped plays", "batched-window plays", "race-multiple-119 backends plays".1201213. **Deepen the top 3.** Rank by weighted score (novelty 0.35 + viability122 0.40 + fit 0.25), exclude traps, take top 3. For each, spawn one Agent123 call that produces:124 - a 4 to 8 sentence sketch of how the idea works125 - the load-bearing risk126 - the first concrete step a builder would take127 - 3 to 5 child ideas (variations, hybrids, unlocks)128129 Deepen Agent instruction:130131 > You are in FOCUS mode. Take one promising idea and connect dots.132 > Sketch how it would actually work in 4 to 8 sentences. Name the133 > load-bearing risk. Name the first concrete step a coder would take.134 > Then generate 3 to 5 sub-ideas that branch off (variations,135 > combinations with other domains, things this unlocks).136 > Output JSON only.137138Scoring, clustering, and the final synthesis stay in the main session —139that is judgment work. In Claude, generator and deepen agents inherit140`CLAUDE_CODE_SUBAGENT_MODEL` (Sonnet). Standalone Codex makes no model-routing141promise beyond the live host's configuration.142143## Frames144145Pick 5 per run.146147| Frame | Vantage prompt | Tags |148|---|---|---|149| **hardware engineer** | You think in latency, memory layout, and physical constraints. Re-ask this as a hardware/firmware problem. What does the bus topology, cache, timing budget tell you? | code, wild |150| **regulator** | You audit systems for compliance and failure modes. What must be provable, traceable, or refusable here? | design, general |151| **10-year-old** | You are a curious 10 year old who has never seen software. Describe naive but unencumbered approaches. Ignore convention. | general, wild |152| **competitor trying to break it** | You are a hostile competitor or attacker. Generate approaches that exploit, fail, or sabotage the obvious solution. Then invert into ideas. | code, design |153| **biology** | Transplant a mechanism from biology (immune systems, neural plasticity, cell signaling, evolution, gut flora). Force-fit it onto this engineering problem. | code, wild |154| **logistics** | Steal mechanisms from logistics: queues, batching, just-in-time, hub-and-spoke, returns, last-mile. Apply them literally. | code, design |155| **game design** | Approach this as a game designer. What are the loops, rewards, friction, save-states, speedrun tricks? Treat the user as a player. | design, general |156| **markets** | Treat the problem as a market. Buyers, sellers, market-makers. What does an auction, a futures contract, a clearing house look like here? | design, wild |157| **inversion** | Ask the OPPOSITE question. If goal is X, brainstorm how to guarantee NOT X. Then negate each answer back. | code, design, general |158| **extreme: $0 budget, 1 hour** | No money, no team, one hour. What is the crudest version that still does the load-bearing thing? | code, general |159| **extreme: infinite budget, 10 years** | Infinite compute, infinite engineers, a decade. What is the maximalist version? | design, wild |160| **remove the load-bearing assumption** | Name the thing everyone treats as fixed (framework, database, request-response model, network). Imagine it is gone. What is possible? | code, design, wild |161| **speedrunner** | You are a speedrunner. Find glitches, skips, out-of-bounds tricks, frame-perfect shortcuts. What is the abusive-but-legal path? | code, wild |162| **ant colony** | No central planner. Many dumb agents, local rules, pheromone trails. How does the problem solve itself emergently? | code, wild |163| **3am on-call** | You are the on-call engineer woken at 3am when this breaks. What design would let you not get paged? | code, design |164165### Picking frames166167For code-shaped problems: pick 4 frames tagged `code` or `design`, plus 1168tagged `wild`. For open product or strategy problems: a mix from all tags.169Vary the picks across sessions so the same problem produces different170candidate sets when re-run.171172## Output shape173174After Phase 2, render in this order. Do not collapse it into a wall of175prose. The structure is the point.1761771. **Brief.** One or two lines confirming the problem and any reframe used.1782. **Wide set.** Full pool grouped by cluster. Each cluster labeled by179 underlying angle. Each idea is one short phrase. Show score chips like180 `[N7 V8 F9]` next to each.1813. **Converge.** A 2 to 4 idea shortlist. State why each is on the list.182 Mark the non-obvious-but-viable pick explicitly with ★. List traps183 separately, each with the one-line reason it is a trap.1844. **Focus.** The 3 deepened branches. For each: the sketch, the load-185 bearing risk, the first concrete step, and the child ideas.1865. **Provocation.** One wildcard question or idea that opens a new187 direction the user can push into if nothing landed.188189## Anti-patterns190191These are how this skill goes wrong. Watch for them.192193- **Convergence disguised as divergence.** Ten minor variations of one idea194 is not breadth. If every candidate shares the same underlying assumption,195 you have not diverged. You have decorated.196- **Weird-for-weird's-sake with no convergence.** A pile of 30 unsorted197 absurdities is as useless as one safe answer. Always converge.198- **Walls of equally-weighted prose.** Cluster, label, pull out the best.199 Structure is half the value.200- **Refusing to commit.** After diverging, take a position on what is201 actually promising. "Here are 20 ideas, you decide" is a cop-out.202 Generate wide, but converge with a real opinion.203- **Skipping the isolation invariant.** If you simulate parallel branches204 by writing them sequentially in one context, you have not done ADHD. You205 have done a wider single thought. The Agent tool gives each branch a206 fresh context. Use it.207208## Calibration209210- **How many ideas?** Scale to stakes. Quick "name this function" =211 3 frames × 4 ideas. "How should I position this product" = 5 frames ×212 8 ideas. Default is 5 × 6 = 30.213- **How weird?** Read the room. Serious strategy work: flag the wild cards214 clearly so they do not read as unserious. Open brainstorming or play:215 let it run loose. Absurd ideas earn their place by seeding viable ones.216- **When to stop diverging?** Stop when new candidates start repeating the217 shape of existing ones. The space is mapped. Do not pad to hit a number.218219## Cost2202215 diverge + 1 score + 1 cluster + 3 deepen ≈ 10 Agent calls per run.222About 5 to 10x a single-shot answer. Not for every keystroke. For decision223points where the cost of the obvious answer is high. In Claude,224diverge/deepen agents run on the Sonnet subagent pool, so the Opus/Fable cost225of a run is one synthesis pass. Standalone Codex reports its own live routing226and slot limits instead.227228## Attribution229230Ported from [`UditAkhourii/adhd`](https://github.com/UditAkhourii/adhd)231(MIT). Upstream ships the same loop as an npm CLI (`adhd-agent`) plus232evals and a source spec on divergent ideation; this port keeps the233skill-only form (no install) and adds the cc-settings sibling-skill234routing and subagent model notes.