revanced-adhd


Table of contents


Overview

revanced-adhd shapes agent output so a reader with ADHD (or high executive-function load) can act with less friction.

Follows the Agent Skills format used by the skills CLI.

Install npx skills add ChloeVPin/revanced-adhd
Skill skills/revanced-adhd/SKILL.md
Rules 12 (action-first, four-item chunks, Parked list, …)
Upstream Fork of ayghri/i-have-adhd
Audit AUDIT.md
Runtime None - no hooks or background processes

Core idea: next action first · groups of four · visible Parked list · anchored time · default over menu · cause/fix without blame.

Not clinical care. Prompt skill only - not a validated clinical intervention. See limits in AUDIT.md.


Install

Agent Skills CLI (recommended)

Works with Claude Code, Cursor, Codex, and other agents supported by skills:

npx skills add ChloeVPin/revanced-adhd
npx skills add ChloeVPin/revanced-adhd -g              # global
npx skills add ChloeVPin/revanced-adhd --list          # list only
npx skills add ChloeVPin/revanced-adhd --skill revanced-adhd -y   # non-interactive
npx skills update revanced-adhd                        # later

Listing on skills.sh/ChloeVPin/revanced-adhd comes from install telemetry - no separate publish form.

Claude Code plugin (optional slash command)

git clone https://github.com/ChloeVPin/revanced-adhd ./revanced-adhd
claude plugin marketplace add ./revanced-adhd
claude plugin install revanced-adhd@revanced-adhd
/revanced-adhd

Stop with stop adhd mode or normal mode. Full guide: INSTALL.md.


What changed vs upstream

Full rationale: AUDIT.md · Release notes: CHANGELOG.md

Original rule Gap What revanced-adhd does
Cap lists at 5 5 is closer to Miller’s 7 than to Cowan’s ~4-chunk limit Cap at 4 for lists and numbered steps
“Save it for later” Side topic is not externalized; it is lost on topic change Persistent, visible Parked list
One attention mode No hyperfocus handling Rule 12: reduce structure during rapid, self-directed work
“Matter-of-fact” errors Bans tone, not blame words Ban “you forgot” / “your mistake”; cause lives in the system
Numeric time only Numbers alone do not fix time blindness Number plus reference activity
Neutral menus Unranked choice is a new task Named Default with one-line reason

Engineering fixes (not ADHD research):

flowchart TB
  subgraph upstream["ayghri/i-have-adhd"]
    U1[10 rules]
    U2[Prompt only]
  end

  subgraph audit["AUDIT.md"]
    A1[6 research gaps]
    A2[2 doc / tooling gaps]
  end

  subgraph fork["revanced-adhd"]
    F1[12 rules]
    F2[Parked list]
    F3[Hyperfocus rule]
    F4[lint_output.py + CI]
    F5[Real slash command]
  end

  upstream --> audit --> fork

Before / after

Before (typical LLM output) After (revanced-adhd)
Great question! Let me think about this. Your auth flow has a few moving pieces. You could use Postgres for sessions, or MySQL, or SQLite. By the way, your dependency is also a bit out of date. Hope this helps! Run npm install jsonwebtoken@latest, then edit src/auth.ts:42.
Answer buried under preamble First line = action
Flat menu of options Default: Postgres + short reason
Side note disappears Parked: dependency flagged
Soft closer, no next step Next: paste first failing test line

Example shaped reply

Run `npm install jsonwebtoken@latest`, then edit `src/auth.ts:42`.

**[Step 1/3]**
1. Open `src/auth.ts`
2. Replace `verifyToken` (lines 42-58) with the snippet below
3. Run `npm test -- auth.spec.ts`

**Default: Postgres** - you already run it in other places.
Alternatives: SQLite (simpler, no server) or MySQL (only if a team rule requires it).

**Parked:** `jsonwebtoken` is two majors behind (flagged, not upgraded).

Next: paste the first failing line if a test fails.

Live fixtures used by CI:


The twelve rules

Full text and “why” for each rule: skills/revanced-adhd/SKILL.md.

# Rule One-line intent
1 Lead with the next action First line is doable (command, path, snippet, or decision)
2 Chunk multi-step work to four Phases for the rest; expand current phase only
3 End with exactly one next action Concrete, under ~2 minutes
4 Park tangents visibly Running Parked list; append, do not drop
5 Restate state each turn Parseable [Step X/Y] tag
6 Anchor time estimates Number + known activity (e.g. one coffee break)
7 Separate wins from what’s next Two lines, two jobs
8 Depersonalize errors Cause and fix; never blame the reader
9 Default, don’t menu Name a default before alternatives
10 Cap any list at four Split must / later if needed
11 No preamble / recap / closers Start with the answer; stop when done
12 Back off during hyperfocus Drop scaffolding when the user is mid-flow

Override paths

flowchart TD
  Start[Incoming user message] --> HF{Last 2+ turns rapid,<br/>technical, self-directed?}
  HF -->|yes| Slim[Rule 12: minimal scaffolding]
  HF -->|no| Full[Apply rules 1-11]
  Slim --> OVR
  Full --> OVR{Override case?}
  OVR -->|Explain / walk through| Long[Full length; still no preamble/closer]
  OVR -->|Destructive action| Confirm[Confirm before act]
  OVR -->|Debug spiral 3x| Ask[Name assumption; one diagnostic Q]
  OVR -->|Real ambiguity| Clarify[One short clarifying Q]
  OVR -->|None| Out[Normal shaped reply]
  Long --> Out
  Confirm --> Out
  Ask --> Out
  Clarify --> Out

Six facts behind the rules

  1. Working memory holds about four chunks (Cowan 2001), not seven.
  2. Knowing the answer is not doing the answer - first line must be an action.
  3. Subjective time is flat; bare numbers under-fix time blindness.
  4. Deferred info that is not externalized is lost, not postponed.
  5. Open menus without a default raise choice load.
  6. Perceived blame lands harder; put the fault in the system, not the reader.

Sources and caveats: AUDIT.md.


How it works

No hooks. No background processes. Same “zero magic” design as upstream.

Via npx skills: installs skills/revanced-adhd/ into agent skill dirs. The agent loads it when the description matches.

Via Claude plugin: /revanced-adhd applies the same rules for the session until stop adhd mode / normal mode.

flowchart LR
  A["npx skills add"] --> B["Agent skill dirs"]
  B --> C["Load SKILL.md when relevant"]
  D["/revanced-adhd plugin"] --> C
  C --> E["Action-first replies"]

Repository layout

revanced-adhd/
├── skills/revanced-adhd/SKILL.md   # Agent Skills payload (required)
├── .claude-plugin/                 # Optional Claude Code marketplace
├── commands/revanced-adhd.md       # Optional /revanced-adhd
├── scripts/lint_output.py          # Maintainer QA (not runtime)
├── tests/                          # Fixtures + manual cases
├── docs/assets/                    # Logo
├── AUDIT.md · CHANGELOG.md · INSTALL.md · LICENSE
└── README.md
Path Installed by npx skills?
skills/revanced-adhd/ Yes
Docs, plugin, lint, tests No - repo only

Quality checks

What the linter covers

Checkable in one message Needs multi-turn history
Preamble / closers Parked list persistence
Blame language [Step X/Y] restatement
List length (>4 without split) Hyperfocus (rule 12)
Menu without default
Vague time estimates
Action-first first line (heuristic WARN)

Manual multi-turn cases: tests/cases.md.

Run locally

# Single response
python3 scripts/lint_output.py path/to/a/response.md

# Strict: WARN also fails
python3 scripts/lint_output.py --strict path/to/a/response.md

# Fixture suite (same as CI)
bash tests/run_lint_tests.sh

CI pipeline

flowchart LR
  Push[push / pull_request] --> CO[actions/checkout]
  CO --> PY[setup-python 3.x]
  PY --> T[bash tests/run_lint_tests.sh]
  T --> G[good fixture → exit 0]
  T --> B[bad fixture → exit 1]
  G --> OK[Job green]
  B --> OK

Workflow: .github/workflows/lint.yml.

The linter is a heuristic smoke test, not proof of full skill compliance. See limits in AUDIT.md.


Tuning

  1. Edit skills/revanced-adhd/SKILL.md.
  2. Re-invoke /revanced-adhd (or start a new session).
  3. If you change a linted rule, run:
bash tests/run_lint_tests.sh
  1. For multi-turn behavior, walk through tests/cases.md.

FAQ

Is this only “be terse”?
No. Twelve rules tied to working memory, time sense, and choice load - sources in AUDIT.md.

Does it break long explanations?
No. Override: “explain” / “walk me through” may use full length. Still no preamble or closer.

Is this clinically validated?
No. Read limits in AUDIT.md.

Do I need a diagnosis?
No.

Does the lint script run during chat?
No. Maintainer QA only.

skills.sh listing?
Public repo + npx skills add telemetry. Guide: Vercel agent skills.


Credits

Forked from ayghri/i-have-adhd by Ayoub Ghriss (MIT).

Upstream started from ten rules and a frame loosely based on The Adult ADHD Tool Kit. This fork’s changes come from auditing that frame against:

  • Cowan’s working-memory research
  • Barkley and Sonuga-Barke on time perception in ADHD
  • Dodson’s clinical writing on rejection sensitivity

Details and caveats: AUDIT.md.


License

MIT. Original copyright retained. Fork modifications have a separate copyright line.