Your coding agent knows the answer. It just puts it in paragraph four, after two sentences of context you didn’t ask for and before a “Hope this helps!” that you didn’t ask for either. i-have-adhd is an Agent Skill that rewrites that form: the action first, numbered steps, lists with a maximum of five items, no preamble and no courtesy closings. And it installs on twelve different agents from a single SKILL.md.
The repository is ayghri/i-have-adhd, MIT licensed, two days old, and hit the Hacker News front page on September 8. By the time you read this, it will have accumulated more than the 32,600 stars and 1,900 forks it had when this note was published.
What is an Agent Skill and what does this one change in particular?
An Agent Skill is a Markdown file with YAML frontmatter that the agent loads when the task warrants it. It carries instructions, not code. Claude Code, Cursor, Codex, Gemini CLI and the rest converged on practically the same format, which is why a single file can serve them all.
i-have-adhd uses that file to enforce an output contract. Ten rules, taken from the skill itself:
- Start with the action —
Run npm install jsonwebtoken, then edit src/auth.ts:42before any explanation - Number multi-step tasks: one bounded action per step, no “and then” embedded inside
- End with a single concrete action, doable in less than two minutes
- Cut the tangents: solve the current problem and offer the others as separate questions
- Restate the status each turn: “Step 3 of 5 done: schema updated. Next: populate the column.”
- Give specific time estimates — “about 15 minutes if tests cover it, an afternoon if not”
- Make progress visible, with the command to verify it
- Report errors naturally: cause and solution, no “Oops!”
- Limit lists to five items, separated into “now” and “later”
- No preamble, no final summary, no “great question” or “let me know if you need anything”
The framing is specific to ADHD: the skill justifies each rule against working memory limits, the gap between understanding and doing, time blindness and dopamine scarcity. But the output it produces is what most developers say they want from an agent, ADHD or not.
It’s also not absolutist. The skill includes an explicit exceptions section: the rules give way to genuine explanations, to destructive actions that need confirmation, during a debugging spiral, when the request is truly ambiguous, and—most importantly—whenever a rule would eliminate the true answer.
How do you install these skills in Claude Code, Cursor and Codex?
All commands that follow are for main as of September 9. The repository has no version tags, so there’s no version to pin to.
Claude Code:
claude plugin marketplace add ayghri/i-have-adhd
claude plugin install i-have-adhd@i-have-adhd
Then type /i-have-adhd. Verify with claude plugin list.
Cursor and Copilot, via the skills CLI:
npx skills add ayghri/i-have-adhd -a cursor -y
npx skills add ayghri/i-have-adhd -a github-copilot
Verify with npx skills list.
Codex:
codex plugin marketplace add ayghri/i-have-adhd --ref main
codex plugin add i-have-adhd@i-have-adhd
Invoked with $i-have-adhd.
Gemini CLI has two paths: a command you activate when you need it, or an extension that stays always active:
gemini extensions install https://github.com/ayghri/i-have-adhd
Qwen Code:
qwen extensions install ayghri/i-have-adhd
Zed imports it from the SKILL.md URL in the Agent Panel, or by copying the folder to ~/.config/zed/skills/. OpenCode clones the repository and registers the plugin path in opencode.json. Pi accepts pi install https://github.com/ayghri/i-have-adhd. Hermes uses hermes skills install ayghri/i-have-adhd/skills/i-have-adhd. Kimi Code installs from the /plugins menu within the session. OMP combines omp plugin marketplace add with omp plugin install --scope user.
Each also includes its own uninstall procedure documented, something few two-day-old repositories achieve.
How do you keep it always active instead of invoking it each time?
You create an empty file that acts as a flag. In Claude Code:
touch ~/.claude/.i-have-adhd-always
You delete it with rm to go back to on-demand mode. OpenCode uses ~/.config/opencode/.i-have-adhd-always and Pi uses ~/.pi/agent/.i-have-adhd-always. Claude Code also has a SessionStart hook that reads the flag and loads the skill at the start of each session.
This is the part worth understanding, because it explains why the repository needed it. A skill loads when you invoke it or when the agent thinks it’s relevant: that’s the mechanism. An output style, on the other hand, modifies the system prompt and applies to every response. The flag plus the session hook are how a skill can behave like an output style: it stops being something you have to remember to ask for.
Agents without a flag file get to the same place another way. Cursor solves it with User Rules or a file in .cursor/rules/ that carries alwaysApply: true. Copilot, with a block in .github/copilot-instructions.md. Zed and Hermes, via AGENTS.md.
Isn’t the Concise style that Claude Code already has enough?
It’s enough if Claude Code is the only agent you use. Which it probably isn’t.
The Concise style exists and is good. Anthropic’s documentation describes it this way: Claude goes straight to the result, skips the preamble and narration, and keeps responses short by default, doing the engineering work with the same rigor as the Default style. When you ask for an explanation or more detail, it responds fully, and it always preserves intact error reports, security warnings, and confirmations of destructive actions. It requires Claude Code v2.1.237 or later. It activates with /config → Output style, or by setting "outputStyle": "Concise" in .claude/settings.local.json.
If Claude Code is your only agent, use that. It comes included, operates at the system prompt level, and there’s nothing to install or update.
What it doesn’t solve is the mixed stack. Codex, Cursor, Copilot, Gemini CLI, Qwen, Zed, OpenCode, Pi, Hermes, Kimi and OMP don’t have a Concise equivalent. You configure the style in Claude Code and get one behavior there and eleven different behaviors everywhere else, plus rewriting the same instructions tool by tool, in each one’s config format, every time you add another. i-have-adhd is a single file that produces the same output contract across all of them. That’s the real argument in its favor.
And they’re not mutually exclusive: nothing stops you from using Concise inside Claude Code and the skill everywhere else.
What’s worth knowing before you install it?
Three things.
There are no releases. The Releases section is empty and all install commands point to main. They can change without any version number to signal it, so check INSTALL.md if something breaks.
There are no published measurements, and you shouldn’t make them up. Cutting the preamble means fewer output tokens, and that’s intuitively true, but the repository doesn’t publish numbers. It does include a serious eval harness: evals/ runs a baseline condition against a candidate, blind judges score on correctness, autonomy, actionability, safety and conciseness, and it pins model versions so hooks, memory and output styles don’t contaminate the run. That’s more rigor than almost any skill brings. But those eval results aren’t published, so anyone giving you a percentage made it up.Compliance is not guaranteed. This came up over and over again in the Hacker News thread: in-context instructions are instructions, not constraints, and several commenters reported models reverting to verbosity after a few turns. A prompt cannot force a model the way a configuration setting does.
What it does give you is a single file, twelve agents, and a documented way to keep things running.
If you’re interested in skills that change the shape of the output and not the content, we already explained how to install Caveman in Claude Code, the skill that makes your AI speak like a caveman.