# Is There an API for i-have-adhd? Understanding LLM Plugin Integration

> Discover if i-have-adhd has an API. Learn how LLM plugin integration enables direct use with coding assistants like Claude Code and Codex for seamless workflow.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: api-reference
- Published: 2026-08-30

---

**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`](https://github.com/ayghri/i-have-adhd/blob/main/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`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/plugin.json) | `/i-have-adhd` command |
| **Codex** | [`.codex-plugin/plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/.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`](https://github.com/ayghri/i-have-adhd/blob/main/kimi.plugin.json) | Runtime-specific command |
| **Gemini** | [`gemini-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json) | Runtime-specific command |
| **Qwen** | [`qwen-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/qwen-extension.json) | Runtime-specific command |
| **OMP** | [`omp-plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/omp-plugin.json) | Runtime-specific command |

## Core Implementation Files

Several key files define how the plugin interfaces operate:

- **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/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`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/plugin.json)** – Declares the plugin metadata and command registration for Claude Code.
- **[`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/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:

```bash
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:

```bash
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:

```javascript
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:

```bash
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`](https://github.com/ayghri/i-have-adhd/blob/main/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`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/plugin.json) and applies the formatting logic from [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/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`](https://github.com/ayghri/i-have-adhd/blob/main/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.