Is There an API for i-have-adhd? Understanding LLM Plugin Integration
The i-have-adhd repository does not expose a traditional HTTP/REST API; instead, it provides LLM-plugin interfaces that integrate directly with coding assistants like Claude Code, Codex, and OpenCode via the /i-have-adhd command.
The i-have-adhd project by ayghri modifies how AI assistants format responses for ADHD accessibility. While developers often search for a programmable i-have-adhd API to integrate into external applications, the system actually operates through native plugin manifests that register skills within supported LLM runtimes, eliminating the need for network endpoints.
How the Plugin Architecture Works
Rather than accepting HTTP requests, i-have-adhd functions as a plugin-based ruleset that injects formatting instructions into LLM system prompts. Each supported runtime loads the skill through its own plugin system, making the "API" essentially the command interface of your coding assistant. When activated, the plugin reads the canonical rules from skills/i-have-adhd/SKILL.md and applies them to subsequent outputs.
Supported LLM Runtimes and Integration Files
The repository provides dedicated integration points for multiple coding assistant environments:
| Runtime | Plugin Manifest Location | Activation Method |
|---|---|---|
| Claude Code | .claude-plugin/plugin.json |
/i-have-adhd command |
| Codex | .codex-plugin/plugin.json |
/i-have-adhd command |
| OpenCode | .opencode/plugins/i-have-adhd.mjs |
/i-have-adhd command or always-on flag |
| Kimi | kimi.plugin.json |
Runtime-specific command |
| Gemini | gemini-extension.json |
Runtime-specific command |
| Qwen | qwen-extension.json |
Runtime-specific command |
| OMP | omp-plugin.json |
Runtime-specific command |
Core Implementation Files
Several key files define how the plugin interfaces operate:
skills/i-have-adhd/SKILL.md– Contains the canonical ADHD-friendly formatting ruleset that all plugins reference..opencode/plugins/i-have-adhd.mjs– Registers the skill with OpenCode and handles the optional always-on flag file detection..claude-plugin/plugin.json– Declares the plugin metadata and command registration for Claude Code.INSTALL.md– Provides platform-specific installation instructions for all supported runtimes.
Installing and Using the i-have-adhd Plugin
Claude Code Integration
Install the plugin through the marketplace and invoke the skill:
claude plugin marketplace add ayghri/i-have-adhd
claude plugin install i-have-adhd@i-have-adhd
# In a Claude session
/i-have-adhd
After execution, Claude prepends every response with ADHD-friendly formatting until you explicitly disable it.
Codex Setup
Codex follows a similar installation pattern:
codex plugin marketplace add ayghri/i-have-adhd
codex plugin add i-have-adhd@i-have-adhd
# In a Codex session
/i-have-adhd
OpenCode Node.js Implementation
For OpenCode, install the plugin using Node.js and activate it programmatically:
import { execSync } from 'child_process';
// Install the plugin once
execSync('opencode plugin add ./ .opencode/plugins/i-have-adhd.mjs');
// Activate in a session
await opencode.runCommand('/i-have-adhd');
Configuring Always-On Mode
Each runtime supports an always-on configuration that automatically applies the ruleset without typing the command:
- OpenCode: Create a flag file at
~/.config/opencode/.i-have-adhd-always. The plugin checks for this file's existence in.opencode/plugins/i-have-adhd.mjsand injects the ruleset into every system prompt while present. - Claude Code: Use the command
claude plugin command "stop adhd mode"to disable the persistent mode when enabled.
To disable always-on mode in OpenCode, remove the flag file:
rm ~/.config/opencode/.i-have-adhd-always
Summary
- No REST API exists: The project uses LLM-native plugin interfaces rather than HTTP endpoints.
- Plugin manifests are located in
.claude-plugin/,.codex-plugin/, and.opencode/plugins/directories. - Core ruleset is defined in
skills/i-have-adhd/SKILL.mdand referenced by all integrations. - Activation occurs via the
/i-have-adhdcommand in supported runtimes. - Always-on mode uses filesystem flags or runtime-specific commands to persist the formatting rules.
Frequently Asked Questions
Does i-have-adhd provide a REST API for external applications?
No, the repository does not expose HTTP endpoints or traditional REST methods. According to the source code, integration requires installing the appropriate plugin manifest for your LLM runtime, which then exposes the functionality through the assistant's native command interface.
How do I programmatically activate ADHD-friendly formatting in Claude Code?
Install the plugin using claude plugin install i-have-adhd@i-have-adhd, then invoke the /i-have-adhd command in your session. This registers the skill declared in .claude-plugin/plugin.json and applies the formatting logic from skills/i-have-adhd/SKILL.md to subsequent outputs.
What is the "always-on" mode in i-have-adhd?
Always-on mode automatically injects the ADHD-friendly ruleset into every system prompt without requiring the /i-have-adhd command for each interaction. In OpenCode, this is controlled by the existence of ~/.config/opencode/.i-have-adhd-always, while Claude Code manages this state through its internal plugin command system.
Which file contains the actual formatting rules that the API uses?
The canonical ruleset resides in skills/i-have-adhd/SKILL.md. This Markdown file is read by the various plugin implementations—including .opencode/plugins/i-have-adhd.mjs—to determine how to structure responses for ADHD accessibility across all supported runtimes.
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 →