# How to Use i-have-adhd with Gemini CLI: Two Installation Methods Explained

> Learn to use i-have-adhd with Gemini CLI via two easy installation methods. Choose opt-in custom commands or an always-on extension for ADHD-friendly formatting.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: how-to-guide
- Published: 2026-08-01

---

**Install i-have-adhd in Gemini CLI either as an opt-in custom command (`/i-have-adhd`) or as an always-on extension that applies ADHD-friendly formatting to every session.**

The `ayghri/i-have-adhd` repository provides a Gemini CLI integration that transforms LLM output into ADHD-optimized formatting. According to the source code, users can choose between two distinct integration modes depending on whether they want on-demand or automatic application of the skill's rules.

## Integration Modes: Command vs. Extension

The repository supports two approaches with different activation behaviors:

- **Custom command (`/i-have-adhd`)** — Rules activate only when explicitly invoked per session. Best for occasional use.
- **Extension (always-on)** — Rules load automatically from the first message of every session. Best for consistent ADHD-friendly output.

Both modes reference the same underlying skill definition in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) but differ in how Gemini CLI discovers and loads the configuration.

## Architecture Overview

Understanding the file structure helps clarify how each integration mode works:

1. **[`skills/i-have-adhd/agents/gemini.toml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/gemini.toml)** — Defines the custom command. This TOML file tells Gemini CLI how to expose `/i-have-adhd` and embeds the full prompt derived from [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md).

2. **[`gemini-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json)** — Extension manifest that declares the package name, version, and entry point ([`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md)).

3. **[`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md)** — Context file loaded by the extension; imports `@./skills/i-have-adhd/SKILL.md` to apply the rule set.

4. **[`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md)** — Contains the complete ADHD formatting rules (bullet-heavy structure, clear hierarchies, reduced cognitive load) that both modes ultimately forward to the LLM.

Neither the TOML nor JSON files modify the rules—they act as thin wrappers that route Gemini to [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md).

## Method 1: Install the Opt-In Command

Use this approach if you want ADHD-friendly output only when explicitly requested.

### Step 1: Download the command definition

```bash
mkdir -p ~/.gemini/commands
curl -fsSL https://raw.githubusercontent.com/ayghri/i-have-adhd/main/skills/i-have-adhd/agents/gemini.toml \
  -o ~/.gemini/commands/i-have-adhd.toml

```

### Step 2: Activate per session

```bash
gemini          # start the CLI

/i-have-adhd    # enable for this session only

```

The command stays active until you exit that session. No changes persist to future Gemini invocations.

## Method 2: Install the Always-On Extension

Use this approach if you want every Gemini interaction to use ADHD-friendly formatting automatically.

### Installation

```bash
gemini extensions install https://github.com/ayghri/i-have-adhd

```

This clones the repository, reads [`gemini-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json), and loads [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md) at the start of every session. The extension imports [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) automatically—no manual activation required.

### Verify installation

```bash
gemini extensions list

```

Expected output includes `i-have-adhd` with its version and source URL.

## Managing Your Installation

### Update

| Mode | Command |
|------|---------|
| Command | Re-run the `curl` download command |
| Extension | `gemini extensions update i-have-adhd` |

### Uninstall

```bash

# Remove extension

gemini extensions uninstall i-have-adhd

# Remove command file (if used)

rm ~/.gemini/commands/i-have-adhd.toml

```

All maintenance commands are documented in [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) lines 443-455.

## Complete Setup Example

```bash

# -------------------------------------------------

# Option A: Opt-in command (recommended for testing)

# -------------------------------------------------

mkdir -p ~/.gemini/commands
curl -fsSL https://raw.githubusercontent.com/ayghri/i-have-adhd/main/skills/i-have-adhd/agents/gemini.toml \
  -o ~/.gemini/commands/i-have-adhd.toml

# Then in a new session:

# $ gemini

# > /i-have-adhd

# > [your query here]

# -------------------------------------------------

# Option B: Always-on extension (recommended for daily use)

# -------------------------------------------------

gemini extensions install https://github.com/ayghri/i-have-adhd

# Verify:

gemini extensions list  # shows i-have-adhd

# -------------------------------------------------

# Cleanup (when needed)

# -------------------------------------------------

gemini extensions uninstall i-have-adhd
rm ~/.gemini/commands/i-have-adhd.toml  # if command was installed

```

## Key Source Files

| File | Purpose |
|------|---------|
| [`skills/i-have-adhd/agents/gemini.toml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/gemini.toml) | Command definition with embedded prompt |
| [`gemini-extension.json`](https://github.com/ayghri/i-have-adhd/blob/main/gemini-extension.json) | Extension manifest pointing to [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md) |
| [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md) | Extension entry that imports [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) |
| [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) | Core rule set for ADHD-optimized output |
| [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) | User-facing documentation (lines 113-150, 181-245, 326-340, 443-455) |

## Summary

- **Two integration modes**: Custom command (session-scoped) or extension (global, persistent).
- **Same underlying rules**: Both modes reference [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) through [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md).
- **No code execution**: Installation involves only configuration files—TOML for commands, JSON for extensions.
- **File paths matter**: Commands install to `~/.gemini/commands/`; extensions use `gemini extensions install`.
- **Maintenance is simple**: Update via `curl` or `gemini extensions update`; uninstall with `gemini extensions uninstall` or `rm`.

## Frequently Asked Questions

### Can I use both the command and extension simultaneously?

Yes, but the extension takes precedence since it loads automatically. If both are installed, the extension's rules apply from the first message, making the manual `/i-have-adhd` command redundant. The repository documentation recommends choosing one approach based on your workflow needs.

### Does the skill modify Gemini's core behavior or require API keys?

No. The integration operates entirely through prompt engineering—[`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) contains formatting instructions that guide the LLM's output style. No API keys, model fine-tuning, or executable code is involved. Gemini CLI simply forwards the skill's rules as context with each request.

### Why does the extension use [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md) instead of loading [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) directly?

[`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md) serves as an indirection layer that imports `@./skills/i-have-adhd/SKILL.md`. This pattern allows the repository to maintain a single source of truth for the rule set while supporting multiple entry points (Gemini CLI, future integrations). Changing [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) automatically updates both the command and extension behaviors.

### How do I verify the skill is actually active?

For the command mode: type `/i-have-adhd` and confirm Gemini acknowledges the activation. For the extension mode: start any conversation and observe whether responses use bullet-heavy formatting with clear visual hierarchies—hallmarks of the ADHD-optimized style defined in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md).