Adhd logo

Adhd

CommunityPopular
UditAkhourii
adhd

Parallel divergent ideation for coding agents. Spawns N isolated branches under different cognitive frames (regulator, biology, speedrunner, 10-year-old, $0 budget), scores, clusters, prunes traps, and deepens top survivors. Use on /adhd, "ADHD mode", brainstorm/ideate intents, or open-ended design, architecture, naming, API/SDK surface, and fuzzy-debugging decisions. Skip for syntax, lookups, bugs with known root cause, or closed phrasing ("quick", "standard", "canonical", "textbook"). Full pre-flight gate is in the skill body.

Overview

PublisherUditAkhourii
Repositoryadhd
Skill nameadhd
Stars
4.2K
Forks
289
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by UditAkhourii on GitHub. Read the source before you install it.

Installation

Install the Adhd AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/UditAkhourii/adhd.git /tmp/adhd
mkdir -p .claude/skills
cp -r /tmp/adhd/skills/adhd .claude/skills/adhd
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Adhd in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Adhd on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Adhd is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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.

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.

  1. Open-ended? Would a senior engineer give multiple viable answers here, or is there one canonical answer? If canonical, abort.
  2. 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.
  3. 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>."

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:

  1. 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.

  2. Spawn 5 parallel Agent/Task tool calls. One 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": "..."}, ...]

  3. Critical invariant. The Agent calls must be parallel and isolated. Do NOT serialize them. 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:

  1. 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.

  2. 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".

  3. 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.

Frames

Pick 5 per run.

FrameVantage promptTags
hardware engineerYou 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
regulatorYou audit systems for compliance and failure modes. What must be provable, traceable, or refusable here?design, general
10-year-oldYou are a curious 10 year old who has never seen software. Describe naive but unencumbered approaches. Ignore convention.general, wild
competitor trying to break itYou are a hostile competitor or attacker. Generate approaches that exploit, fail, or sabotage the obvious solution. Then invert into ideas.code, design
biologyTransplant a mechanism from biology (immune systems, neural plasticity, cell signaling, evolution, gut flora). Force-fit it onto this engineering problem.code, wild
logisticsSteal mechanisms from logistics: queues, batching, just-in-time, hub-and-spoke, returns, last-mile. Apply them literally.code, design
game designApproach this as a game designer. What are the loops, rewards, friction, save-states, speedrun tricks? Treat the user as a player.design, general
marketsTreat the problem as a market. Buyers, sellers, market-makers. What does an auction, a futures contract, a clearing house look like here?design, wild
inversionAsk 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 hourNo money, no team, one hour. What is the crudest version that still does the load-bearing thing?code, general
extreme: infinite budget, 10 yearsInfinite compute, infinite engineers, a decade. What is the maximalist version?design, wild
remove the load-bearing assumptionName the thing everyone treats as fixed (framework, database, request-response model, network). Imagine it is gone. What is possible?code, design, wild
speedrunnerYou are a speedrunner. Find glitches, skips, out-of-bounds tricks, frame-perfect shortcuts. What is the abusive-but-legal path?code, wild
ant colonyNo central planner. Many dumb agents, local rules, pheromone trails. How does the problem solve itself emergently?code, wild
3am on-callYou 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.

  1. Brief. One or two lines confirming the problem and any reframe used.
  2. 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.
  3. 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.
  4. Focus. The 3 deepened branches. For each: the sketch, the load- bearing risk, the first concrete step, and the child ideas.
  5. 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/Task 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.

Companion library and CLI

There is a Node/TS implementation that does the same loop with structured JSON parsing, score weighting, and a CLI. Use it when running outside Claude Code or in batch.

npm install -g adhd-agent
adhd "your problem here"

Code, paper, evals, and contributing guide at https://github.com/UditAkhourii/adhd. The skill above gives you the same loop inside Claude with no install required.

Source spec

This skill operationalises a written spec on divergent ideation. The original prose is preserved in SOURCE-SPEC.md for reference. The implementation choices made here (parallel isolated Agent calls, mechanical generator/critic split, frame-based branching) follow from that spec.

Frequently asked questions

What does the Adhd AI skill do?

Parallel divergent ideation for coding agents. Spawns N isolated branches under different cognitive frames (regulator, biology, speedrunner, 10-year-old, $0 budget), scores, clusters, prunes traps, and deepens top survivors. Use on /adhd, "ADHD mode", brainstorm/ideate intents, or open-ended design, architecture, naming, API/SDK surface, and fuzzy-debugging decisions. Skip for syntax, lookups, bugs with known root cause, or closed phrasing ("quick", "standard", "canonical", "textbook"). Full pre-flight gate is in the skill body.

Why use Adhd on TypingMind?

Because you install it once and use it with any model. Adhd is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Adhd in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/UditAkhourii/adhd/tree/main/skills/adhd. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Adhd?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Adhd?

As many as you like. As long as a model supports skills, you can use Adhd with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Adhd AI skill free?

Yes. It is published on GitHub by UditAkhourii under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇