An architectural fix for premature convergence in autoregressive reasoning.
Linear Chain-of-Thought anchors on whatever it says first. Tree-of-Thought widens the search but still walks a single shared context, so the anchoring persists across branches. ADHD treats this as an architectural problem, not a prompting one — it spawns N isolated reasoning processes under deliberately distorted cognitive frames, with no cross-branch context during divergence, then runs a separate critic pass to score, cluster, prune traps, and deepen the survivors.
Reach for it on design decisions, fuzzy debugging, naming, API surface design, strategy, and any prompt of the shape "give me a few ways to…".
📄 Preprint: ADHD: Parallel Divergent Ideation for Coding Agents · 👤 Author: Udit Akhouri — @akhouriudit · LinkedIn
- 🔌 Adopted by repowire — the first OSS project to officially ship ADHD. Its maintainer ported the framework onto repowire's mesh-orchestrator primitives in PR #313 (merged): frames become frame-shifted temp peers, the generator/critic split maps onto separate peers vs. the orchestrator's own turn, attribution via
metadata.based-on(MIT). - 📰 The New Stack ran a feature story on ADHD for Claude Code.
- 💬 OpenClaw / multi-agent community is independently testing it across agents. One tester: "I read it, installed it on two different agents… I actually love it. This is great. I thought this was gonna be another useless post. But no, it wasn't."
- 🔬 An independent evidence-based research review (11 sources, 8 validation rounds) was published against the method — findings tracked openly as issues #16–#18.
👉 Join the ADHD community → as a contributor, maintainer, early adopter, or just a member. One short form. We coordinate frame contributions, eval problems, integrations, and adopter onboarding there.
Projects that officially ship or integrate ADHD:
| Project | What they did | Status |
|---|---|---|
| repowire | Ported ADHD onto repowire's mesh-orchestrator primitives — frames become frame-shifted temp peers, generator/critic split maps to separate peers vs. the orchestrator's turn. Ships in the default orchestrator template. (PR #313) | ✅ Merged · MIT attribution |
Shipping ADHD in your project? Open a PR adding it here, or open an issue and we'll add you.
One command, auto-detects your agent (Claude Code, Cursor, Antigravity, Codex, Cline, Gemini CLI, Windsurf, and ~50 more):
npx skills add caioniehues/adhdThen invoke explicitly with /adhd "your problem", or let it auto-trigger on ideation intents.
If the universal command above fails to register inside Codex (some Codex builds discover skills from a specific path), force the target:
npx skills add caioniehues/adhd -a codex -gOr install manually into Codex's skills directory:
mkdir -p ~/.codex/skills/adhd
curl -fsSL https://raw.githubusercontent.com/caioniehues/adhd/main/skills/adhd/SKILL.md \
-o ~/.codex/skills/adhd/SKILL.mdRestart Codex. /adhd "design a rate limiter" should now route through the skill. The skill ships its description as a single-line plain YAML scalar (no > or | block) specifically because some Codex builds truncate or reject multi-line YAML block descriptions.
CLI and library installs, manual curl for other agents, and per-platform paths are in documentation/install.md.
npm install -g adhd-agent # CLI
npm install adhd-agent # libraryadhd "design a rate limiter that survives a leader election"
adhd "name this function" --frames 3 --ideas 8 --top 2import { run, renderText } from "adhd-agent";
const result = await run({ problem: "How should we shard this queue under bursty load?", framesPerRun: 5, topK: 3 });
console.log(renderText(result));
// result.shortlist · result.nonObviousPick · result.traps · result.deepened · result.clustersFull reference: documentation/api.md.
An anchor pre-pass, then a two-phase loop with a hard wall between the phases.
- Anchor. One pass names the consensus-obvious answers everyone reaches for first — they're banned in every branch, so divergence is measured against an explicit baseline instead of each branch self-policing "the obvious".
- Diverge. Pick N cognitive frames. Spawn N parallel, isolated Agent calls — each sees the same problem (plus any shared context) through one frame's vantage prompt, and a system prompt that forbids evaluation. Branches get no cross-branch context — they never see each other, so no anchoring.
- Focus. A separate critic pass made of several LLM calls: one score+trap pass and one cluster pass run concurrently (scoring every idea on
novelty / viability / fit, flagging traps, and tracking how many distinct frames corroborate each cluster), then K deepen passes expand the top-K survivors — plus the ★ non-obvious pick — into sketch + risk + first-step + a falsifiable load-bearing assumption. The workflow engine adds a pivot pass (the single cheapest observation that splits the finalists) and an optional depth-2 recursion over every survivor.
The generator-critic split is mechanical — separate LLM calls with opposite system prompts — not promised in one prompt. Deep dive: documentation/how-it-works.md. How it differs from CoT and ToT: documentation/vs-cot-and-tot.md.
Mean scores across 6 open-ended engineering problems (0–10), ADHD vs a single-shot baseline at the same model, judged by a separate LLM call (same model family) with a skeptical-staff-engineer prompt, A/B order randomized.
| Dimension | ADHD | Baseline | Δ | Ratio |
|---|---|---|---|---|
| breadth | 9.00 | 4.83 | +4.17 | 1.9× |
| novelty | 7.83 | 2.67 | +5.17 | 2.9× |
| trap detection | 9.50 | 1.83 | +7.67 | 5.2× |
| actionability | 9.50 | 6.50 | +3.00 | 1.5× |
| builder usefulness | 7.67 | 6.83 | +0.83 | 1.1× |
ADHD wins 5 of 6 problems under the legacy harness (single run, naive baseline, same-model judge), so the biggest deltas (trap detection, breadth) are partly definitional — the naive baseline was never asked for traps or first steps. This fork ships a fair-fight harness (rubric-aligned strong baseline, --runs N for variance, --judge for a cross-model check); regenerate with npm run evals -- --runs 3 --judge <other-model> and expect smaller, more honest deltas. Methodology, limitations, and how to reproduce: documentation/evals.md.
| Page | What's in it |
|---|---|
| Install | Every install path — skill, CLI, library, Agent SDK, per-platform |
| How it works | The two-phase loop + architecture (context, pruning, orchestration) |
| vs CoT & ToT | Structural comparison, the three load-bearing differences, frames vs personas |
| Frames | The 15 cognitive frames, how selection works, how to author your own |
| When to use | Use / don't use, why it shines on creative work, cost & speed |
| CLI & API | CLI flags, library types, using ADHD inside your own agent |
| Evals | Methodology, headline numbers, limitations, roadmap |
Also: SKILL.md (the runnable skill) · SOURCE-SPEC.md (original spec) · CONTRIBUTING.md · the preprint.
- Han plugin compatibility analysis by @mxriverlynn — evidence-based review using Han's own
/researchskill, 11 sources, 8 validation rounds. Findings tracked as issues #16, #17, #18.
MIT License.
ADHD operationalizes the Divergent Ideation source spec (SOURCE-SPEC.md). The runnable skill is at skills/adhd/SKILL.md.
Udit Akhouri — author of the preprint and maintainer.
adhdstack.github.io · @akhouriudit · LinkedIn · researchudit@gmail.com · @UditAkhourii
Open to collaboration with research labs and applied-AI teams working on reasoning, planning, and agentic systems.