i-have-adhd

Other

ayghri/i-have-adhd

A skill for coding agents to produce ADHD-friendly outputs.

Overview

Provides a set of rules to make coding AI assistants give concise, action-oriented responses. Removes unnecessary pleasantries, numbers steps, and leads with the next action. Designed for users with ADHD but beneficial for any developer wanting direct answers.

README Preview

\n  \n\n\n  ADHD-friendly outputs. No ADHD diagnosis needed!\n\n\n  \n\n\n\n## Install\n\n\nClaude Code\n\n```bash\nclaude plugin marketplace add ayghri/i-have-adhd\nclaude plugin install i-have-adhd@i-have-adhd\n```\n\nThen type `/i-have-adhd`. No local clone needed: Claude Code fetches the repo and keeps it updated.\n\nWant it on every session? `touch ~/.claude/.i-have-adhd-always` (see [INSTALL.md](./INSTALL.md)).\n\n\n\n\nCodex\n\n```bash\ncodex plugin marketplace add ayghri/i-have-adhd --ref main\ncodex plugin add i-have-adhd@i-have-adhd\n```\n\nThen type `$i-have-adhd` to apply the output style explicitly. The skill can also be invoked implicitly when Codex sees a task that benefits from it.\n\n\n\nInstall instructions for other coding agents live in [INSTALL.md](./INSTALL.md).\n\n## What it does\n\nA skill for your coding assistant that stops it from burying the answer. Action first. Steps numbered. No "Hope this helps!"\n\n\n## What changes\n\n\n\n\n\n\n## Before\n\n> Great question! Let me think about this. Your auth flow has a few moving pieces: the middleware, the token verification, and the cookie handling. Looking at `src/auth.ts`, the `verifyToken` function (around lines 42-58) seems to be using an older `jsonwebtoken` API. One approach would be to update the package and rewrite that function. After making the change, you'd want to run the auth tests to confirm nothing breaks. By the way, you might also want to look at your dependency versions overall. Hope this helps! Let me know if you want to dig deeper.\n\n\n\n\n\n## After\n\n> Run `npm install jsonwebtoken@latest`, then edit `src/auth.ts:42`.\n>\n> 1. Open `src/auth.ts`\n> 2. Replace `verifyToken` (lines 42–58) with the snippet below\n> 3. Run `npm test -- auth.spec.ts`\n>\n> Next: paste the first failing line if any test fails.\n\n\n\n\n\n\n## The rules\n\n10 rules. Full text in [SKILL.md](./skills/i-have-adhd/SKILL.md).\n\n1. Lead with the next action.\n2. Number multi-step tasks.\n3. End with o

FAQ (5)

Troubleshooting
Why does `/i-have-adhd` not work after installing the skill in Hermes?

Hermes does not register individual skills as slash commands. The installation command is correct:

hermes skills install ayghri/i-have-adhd/skills/i-have-adhd

The skill is installed under ~/.hermes/skills/, but it is activated by asking the agent directly, for example:

use i-have-adhd mode

Hermes may also load it automatically when the conversation matches the skill's description. To disable it, say:

stop adhd mode

Do not type /i-have-adhd; Hermes will report it as an unrecognized command.

GitHub Issue #118
Troubleshooting
How do I fix a Claude Code plugin that stays outdated after `claude plugin update`, even though SKILL.md changed on main?

This happens when plugin files change without changing the version in .claude-plugin/plugin.json. Claude Code keeps the cached version until the version string changes. To fix it, bump the version in every aligned manifest (for example 0.3.0 to 0.3.1), then run:

claude plugin marketplace update i-have-adhd
claude plugin update i-have-adhd@i-have-adhd

As an immediate workaround for an existing installation, uninstall and reinstall the plugin:

claude plugin uninstall i-have-adhd@i-have-adhd
claude plugin marketplace update i-have-adhd
claude plugin install i-have-adhd@i-have-adhd

Going forward, bump the plugin version whenever SKILL.md or other shipped plugin content changes.

GitHub Issue #237
Troubleshooting
How to fix the Windows Claude Code SessionStart hook error where 'sh' is not found and ${CLAUDE_PLUGIN_ROOT} is empty in PowerShell?

The shipped hook uses POSIX syntax, but Windows runs it through PowerShell. PowerShell cannot find sh, and ${CLAUDE_PLUGIN_ROOT} is PowerShell variable syntax—not an environment-variable reference—so it expands to an empty string. Use $env:CLAUDE_PLUGIN_ROOT in PowerShell, or replace the shell hook with a Node/PowerShell implementation.

Immediate workaround: create a PowerShell version, for example i-have-adhd-always.ps1 in the plugin root:

$flag = Join-Path $HOME '.claude\.i-have-adhd-always'
if (-not (Test-Path $flag -PathType Leaf)) { exit 0 }

$skill = Get-ChildItem -Path $PSScriptRoot -Recurse -Filter SKILL.md -File |
  Sort-Object LastWriteTime -Descending |
  Select-Object -First 1

if (-not $skill) { exit 0 }

$text = Get-Content -Raw $skill.FullName
$text = [regex]::Replace($text, '(?s)\A---\r?\n.*?\r?\n---\r?\n?', '')
Write-Output $text
exit 0

Then repoint the hook command to its absolute path:

"command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"C:\\path\\to\\plugin\\i-have-adhd-always.ps1\""

Restart Claude Code. When the flag file is absent, the script exits silently with code 0.

Permanent portable fix: port always-on.sh to always-on.mjs and run it with Node, which is available with Claude Code. On Windows, use a PowerShell-safe command such as:

"command": "node \"$env:CLAUDE_PLUGIN_ROOT\\hooks\\always-on.mjs\""

Use OS-specific hook entries for Windows and POSIX, or provide a launcher that prefers Node and falls back to sh. Do not use ${CLAUDE_PLUGIN_ROOT} directly in a PowerShell hook command.

GitHub Issue #70
Troubleshooting
How do I fix the `unpinned_npm_install` supply-chain warning caused by an npm install example in documentation?

Replace the unpinned example, such as npm install jsonwebtoken or npm install jsonwebtoken@latest, with an action-first instruction that does not install a third-party package—for example: Edit src/auth.ts:42 to update the token validation. Update all synchronized copies, including skills/i-have-adhd/SKILL.md, .cursor/skills/i-have-adhd/SKILL.md, README.md, and translated README files; regenerate them from the source if applicable. If the install command must remain, pin it with npm install --save-exact jsonwebtoken@<version>, but removing an unnecessary example is simpler and avoids outdated version documentation.

GitHub Issue #202
Troubleshooting
How do I fix the `/i-have-adhd` command not appearing after a global OpenCode plugin install?

In OpenCode 1.18.27, commands in .opencode/command/ are only discovered when running OpenCode from that project checkout; skill-sourced commands are also hidden from the TUI slash-command menu. For a global install, expose the command through ~/.config/opencode/commands/:

mkdir -p ~/.config/opencode/commands
ln -sf ~/.config/opencode/vendor/i-have-adhd/.opencode/command/i-have-adhd.md \
  ~/.config/opencode/commands/i-have-adhd.md

Restart OpenCode, then type /; /i-have-adhd should appear. A permanent plugin-side fix is to register the command in the plugin's config hook via config.command["i-have-adhd"] with a description and template.

GitHub Issue #140