# How the i-have-adhd AI Coding Assistant Shapes Agent Output for ADHD Readers

> The i-have-adhd AI coding assistant rewrites LLM responses into concise, actionable steps. Perfect for ADHD readers, it makes technical instructions easy to scan and execute.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: deep-dive
- Published: 2026-08-21

---

**The i-have-adhd AI coding assistant is a lightweight plug-in that rewrites raw LLM agent responses to follow a concise, action-first format with numbered steps and capped list lengths, making technical instructions easier for ADHD readers to scan and execute.**

The ayghri/i-have-adhd repository provides a runtime-agnostic skill that transforms verbose AI outputs into ADHD-friendly formats. By enforcing a strict post-processing pipeline across multiple agent platforms, the i-have-adhd AI coding assistant ensures every response leads with concrete actions rather than explanatory fluff. Detailed platform-specific installation instructions reside in [`AGENTS.md`](https://github.com/ayghri/i-have-adhd/blob/main/AGENTS.md), while the general behavior specification is documented in [`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md).

## Rule Definition and Enforcement Architecture

### The Immutable Rules in SKILL.md

The authoritative rule set resides in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), which defines ten non-negotiable formatting constraints. According to the source code, these rules include instructions to **lead with the next action**, **number multi-step tasks**, **cap lists at five items**, and **eliminate preambles and recaps**. This markdown file acts as the single source of truth for all output transformations, making the behavior explicit and auditable without buried configuration logic.

### The Always-On Post-Processing Hook

Enforcement occurs in `hooks/always-on.mjs`, which registers a global post-processing hook that intercepts every raw agent response before it reaches the user interface. The hook imports `applySkill` from the skill processor and invokes it on the message content:

```javascript
// Example of the always-on hook (hooks/always-on.mjs)
import { applySkill } from '../skills/i-have-adhd/processor.js';
export async function onMessage(message) {
  const raw = await next(message);
  return applySkill(raw);   // rewrites according to the 10 rules
}

```

This ensures zero-config compliance; developers do not need to manually invoke formatting logic on each query. The `onMessage` function waits for the raw LLM output via `next(message)`, then returns the transformed result after applying the SKILL.md constraints.

## Multi-Runtime Manifest Architecture

The skill maintains compatibility across diverse AI coding environments—**Claude Code**, **OpenCode**, **Pi**, **OMP**, **Gemini**, **Qwen**, and **Kimi**—through runtime-specific manifest files. Each manifest, such as [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json), [`.claude-plugin/plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/plugin.json), or [`opencode.json`](https://github.com/ayghri/i-have-adhd/blob/main/opencode.json), points to the identical core implementation. This architecture guarantees consistent ADHD-friendly output formatting regardless of which LLM agent a developer uses, as the same [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) rules and `hooks/always-on.mjs` logic execute in every environment.

## Customizing the Output Rules Without Code Changes

Because the rules live in plain markdown rather than compiled code, teams can fork the `ayghri/i-have-adhd` repository and edit [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) to tune the output style. After modifying the rule set, reinstall the customized plug-in using the CLI:

```bash

# Install the skill (any runtime)

claude plugin install i-have-adhd@i-have-adhd

# Or from a forked marketplace

claude plugin marketplace add <your-username>/i-have-adhd

```

This workflow allows organizations to enforce domain-specific formatting standards—such as adjusting the list cap or mandating specific action verbs—while retaining the underlying enforcement infrastructure.

## Summary

- The i-have-adhd AI coding assistant processes every agent response through `hooks/always-on.mjs` to enforce compliance with [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md).
- **Ten immutable rules** govern the transformation, including action-first ordering, numbered steps, and a five-item list cap.
- Multi-runtime support via [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) and platform-specific manifests ensures consistent behavior across Claude Code, OpenCode, Gemini, and other platforms.
- Users can customize output styles by editing the markdown rule file and reinstalling the plug-in without modifying source code.

## Frequently Asked Questions

### Which file contains the formatting rules for the i-have-adhd AI coding assistant?

The [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) file stores the authoritative list of ten immutable rules that define how agent output is reshaped, including constraints like capping lists at five items and eliminating preambles.

### How does the assistant intercept and modify LLM responses?

The `hooks/always-on.mjs` file registers a post-processing hook that calls `applySkill()` on every raw response before it reaches the user, automatically rewriting the content to comply with the SKILL.md rule set.

### What AI coding platforms support this plug-in?

The repository provides manifest files—[`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json), [`.claude-plugin/plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/plugin.json), [`opencode.json`](https://github.com/ayghri/i-have-adhd/blob/main/opencode.json), and others—that enable the skill to run on Claude Code, OpenCode, Pi, OMP, Gemini, Qwen, and Kimi.

### Can I customize the output rules for my team?

Yes. Because the rules are defined in plain markdown within [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md), you can fork the repository, edit the rules, and reinstall the plug-in via `claude plugin marketplace add <your-username>/i-have-adhd` to enforce custom formatting standards.