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.mjs and 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.md and referenced by all integrations.
  • Activation occurs via the /i-have-adhd command 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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →