How i-have-adhd Integrates with Agent Harnesses Like Claude Code and Copilot
i-have-adhd integrates with Claude Code and GitHub Copilot through a portable Agent Skill architecture that uses manifest files, slash commands, and session hooks to inject ADHD-friendly rules on demand or persistently across sessions.
The i-have-adhd repository provides a framework for ADHD-friendly AI interactions that works seamlessly across multiple agent harnesses. According to the source code, the project implements a unified Agent Skill pattern that allows both Claude Code and GitHub Copilot to consume the same rule set through standardized configuration files and runtime-specific activation mechanisms.
Understanding the Agent Skill Architecture
The integration relies on a Skill pattern defined in skills/i-have-adhd/SKILL.md. This file contains the canonical skill definition including disable-model-invocation: true, which instructs both Claude Code and Copilot not to automatically apply the skill. Instead, the skill remains dormant until explicitly invoked by the user, ensuring that ADHD-friendly formatting rules only activate when needed.
Claude Code Integration
Claude Code recognizes i-have-adhd as a first-class skill through a combination of manifest files and JavaScript hooks.
The SKILL.md Manifest and disable-model-invocation
In skills/i-have-adhd/SKILL.md, the disable-model-invocation: true flag prevents Claude Code from loading the skill automatically during every session. This design follows the principle of explicit consent, requiring users to opt-in rather than having behavioral modifications applied by default.
Slash Command Activation
Users activate the skill manually by typing the slash command /i-have-adhd in any Claude Code chat session. Once invoked, the system injects the full rule set into the current context, enabling ADHD-friendly formatting such as structured summaries, bullet points, and clear section headers. To deactivate the mode, users can type stop adhd mode or normal mode.
Persistent Session Hooks via always-on.mjs
For users who want the skill active by default, the repository provides a SessionStart hook implemented in hooks/always-on.mjs. This hook checks for the existence of a flag file at ~/.claude/.i-have-adhd-always. When present, the onSessionStart function automatically prepends the complete skill description to the system prompt at the beginning of every Claude Code session:
// hooks/always-on.mjs
export async function onSessionStart(context) {
// If ~/.claude/.i-have-adhd-always exists,
// inject the full skill rules into the system prompt
}
The hook is registered through .claude-plugin/plugin.json and declared in hooks/hooks.json, creating a persistent "always-on" mode without requiring manual slash commands.
GitHub Copilot Integration
GitHub Copilot consumes the same Agent Skill definition, providing consistent behavior across different AI coding assistants.
Native Agent Skill Support
Copilot natively reads Agent Skills from the SKILL.md file located at skills/i-have-adhd/SKILL.md. As documented in INSTALL.md, Copilot respects the same disable-model-invocation flag, ensuring the skill remains inactive until explicitly requested. This allows the repository to maintain a single source of truth for behavior definitions while supporting multiple runtimes.
Explicit Invocation Model
Similar to Claude Code, Copilot users activate the skill by including /i-have-adhd in a Copilot chat message or CLI invocation. The skill applies only to the current chat context, and users can disable it using the same stop adhd mode command. This explicit model prevents the ADHD formatting rules from interfering with standard coding workflows when not needed.
Configuration Files and Hook Implementation
The integration relies on specific file paths that agent harnesses scan to discover and configure skills.
Plugin Manifest (.claude-plugin/plugin.json)
The file .claude-plugin/plugin.json tells Claude Code that this repository contains a skill plugin and specifies which hooks to load:
{
"name": "i-have-adhd",
"type": "skill",
"hooks": ["hooks/always-on.mjs"]
}
This manifest bridges the repository structure with Claude Code's plugin system, enabling the runtime to locate and execute the SessionStart hook.
SessionStart Hook Logic (hooks/always-on.mjs)
The hooks/always-on.mjs file implements the persistence logic that makes the skill "always-on" for specific users. By checking for the flag file before injecting rules, the hook provides a toggle mechanism that survives across sessions without modifying the global Claude Code configuration.
To enable always-on mode, create the flag file once:
echo "i-have-adhd" > ~/.claude/.i-have-adhd-always
Subsequent Claude Code sessions will automatically load the ADHD-friendly rules without requiring the /i-have-adhd slash command.
Summary
- i-have-adhd uses a portable Agent Skill architecture shared between Claude Code and GitHub Copilot.
- The
skills/i-have-adhd/SKILL.mdfile containsdisable-model-invocation: true, preventing automatic activation. - Users explicitly invoke the skill using the
/i-have-adhdslash command in both harnesses. - Claude Code supports persistent activation through the
hooks/always-on.mjsSessionStart hook, triggered by the presence of~/.claude/.i-have-adhd-always. - Both platforms use the same rule set but differ in hook implementation, with Copilot relying on native Agent Skill support without custom hooks.
Frequently Asked Questions
How do I permanently enable i-have-adhd in Claude Code?
Create a flag file at ~/.claude/.i-have-adhd-always containing any text. The hooks/always-on.mjs SessionStart hook detects this file during initialization and automatically injects the skill rules into every new Claude Code session. Remove the file to return to manual activation mode.
Why doesn't i-have-adhd activate automatically when I start Claude Code?
The skills/i-have-adhd/SKILL.md file explicitly sets disable-model-invocation: true to prevent automatic activation. This design ensures that ADHD-friendly formatting only applies when you explicitly request it via the /i-have-adhd slash command or enable the always-on hook, maintaining normal IDE behavior by default.
Can I use i-have-adhd with GitHub Copilot in VS Code?
Yes. According to INSTALL.md, GitHub Copilot natively supports Agent Skills. Simply invoke the skill by typing /i-have-adhd in the Copilot chat panel. The skill implements the same disable-model-invocation protocol, so it will not interfere with standard Copilot suggestions until explicitly activated.
What is the difference between the slash command and the always-on hook?
The /i-have-adhd slash command activates the skill for a single session or chat context, while the always-on hook (hooks/always-on.mjs) modifies the system prompt at session start when it detects the ~/.claude/.i-have-adhd-always flag file. The slash command provides temporary access, whereas the hook provides persistent activation across all future Claude Code sessions.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →