# Forking and Maintaining a Custom Version of the i-have-adhd Skill

> Learn to fork and maintain a custom i-have-adhd skill by cloning the repo, editing SKILL.md and plugin.json, and installing your personalized version.

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

---

**To fork and maintain a custom i-have-adhd skill, clone the repository, modify the rule set in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md), update the [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) manifest with your own name and description, and install your fork using your agent's standard plugin command.**

The **i-have-adhd** skill is a declarative Agent Skill that reshapes AI-generated output for readers with ADHD. Because it contains no runtime code—only a rule set and metadata—forking and customizing it requires no complex build steps or dependency management. This guide walks through the exact files you need to change and how to deploy your custom version.

## Understanding the Skill's Declarative Architecture

Before modifying anything, recognize that the skill operates entirely through **text-based configuration files**. The host agent (Claude Code, Gemini CLI, Copilot, etc.) loads these files and applies the rules to its own output generation.

The five files that matter for forking:

| File | Purpose | What You Might Change |
|------|---------|----------------------|
| [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) | Skill metadata and entry point | Name, description, version, author |
| [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) | Complete rule set for output formatting | Rules, tone, structure constraints |
| [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) | Installation instructions per harness | URLs pointing to your fork |
| [`hooks/hooks.json`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/hooks.json) | Claude Code SessionStart hook | Paths for always-on mode |
| `skills/i-have-adhd/agents/*.toml` | Agent-specific configurations | Command routes, trigger phrases |

The skill contains **no executable code**. Changes to [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) directly alter how the AI formats responses when your skill is active.

## Step 1: Fork and Rename

Create your fork on GitHub, then clone it locally:

```bash
git clone https://github.com/YOUR_USERNAME/YOUR-FORK-NAME.git
cd YOUR-FORK-NAME

```

Immediately update [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) to reflect your ownership. The original manifest in the ayghri repository contains:

```json
{
  "name": "i-have-adhd",
  "description": "A skill that helps AI assistants communicate in an ADHD-friendly format",
  "version": "1.0.0",
  "author": "ayghri",
  "entry": "skills/i-have-adhd/SKILL.md",
  "invoke": "/i-have-adhd",
  "auto_invoke": false
}

```

Change `name`, `description`, `author`, and optionally `invoke` to your preferences:

```json
{
  "name": "focus-mode",
  "description": "Custom ADHD-friendly formatting with project-specific task breakdowns",
  "version": "1.0.0",
  "author": "YOUR_USERNAME",
  "entry": "skills/focus-mode/SKILL.md",
  "invoke": "/focus",
  "auto_invoke": false
}

```

## Step 2: Customize the Rule Set in SKILL.md

The original [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) enforces 10 rules including "Lead with the next action," "Number all steps," and "Give concrete time estimates." Located at [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), this file is where you exert complete control over output formatting.

Common customizations include:

- **Adjusting rule priority** – Reorder rules so the most critical constraint appears first
- **Adding domain-specific rules** – Include constraints relevant to your workflow (e.g., "Always include a file path with every code suggestion")
- **Modifying tone directives** – Change "no preambles" to "maximum 5-word preamble" if your use case permits brief context
- **Localization** – Translate rules for non-English teams while maintaining structural constraints

The file uses standard Markdown with imperative rule statements. The host agent parses these as behavioral instructions for response generation.

Example excerpt from original [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md):

```markdown

# ADHD-Friendly Output Rules

When this skill is active, format every response according to these rules:

1. **Lead with the next action** – The very first line must be a concrete, executable instruction
2. **Number all steps** – Every task decomposition must use 1. 2. 3. format
3. **Give concrete time estimates** – Every step must include a duration (e.g., "2 minutes", "30 seconds")
...

```

Your modified version might read:

```markdown

# Focus Mode Output Rules

When /focus is active, apply these constraints:

1. **Lead with the file path and action** – First line: `path/to/file: action to take`
2. **Number all steps** – Use 1. 2. 3. format with sub-steps as 1a. 1b.
3. **Include checkpoint estimates** – End each step with [2 min] or [checkpoint: tests pass]
4. **No explanatory paragraphs** – Use bullet facts only; move all reasoning to collapsible details
...

```

## Step 3: Update Installation Documentation

The original [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) contains platform-specific commands that reference `ayghri/i-have-adhd`. You must update every URL and plugin reference.

Original Claude Code section:

```bash
claude plugin marketplace add ayghri/i-have-adhd
claude plugin install i-have-adhd@i-have-adhd

# Activate in a session

/i-have-adhd

```

Your fork's version:

```bash
claude plugin marketplace add YOUR_USERNAME/YOUR-FORK-NAME
claude plugin install focus-mode@focus-mode

# Activate in a session

/focus

```

For direct URL installs (Antigravity, Gemini CLI), replace all `github.com/ayghri/i-have-adhd` references with your fork's URL.

## Step 4: Adjust Agent-Specific Configurations

The `skills/i-have-adhd/agents/` directory contains harness-specific files. The most important is [`gemini.toml`](https://github.com/ayghri/i-have-adhd/blob/main/gemini.toml), which defines a command route for Gemini CLI:

```toml

# Original gemini.toml

name = "i-have-adhd"
description = "Enable ADHD-friendly formatting"
command = "/i-have-adhd"

```

Update to match your renamed skill:

```toml
name = "focus-mode"
description = "Enable project-specific focus formatting"
command = "/focus"

```

The [`agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/agents/openai.yaml) exists as a placeholder—populate it if you use OpenAI-based agents that support YAML skill definitions.

## Step 5: Configure Always-On Mode (Optional)

The original repository supports "always-on" activation through Claude Code's `SessionStart` hook. In [`hooks/hooks.json`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/hooks.json):

```json
{
  "hooks": [
    {
      "event": "SessionStart",
      "condition": "file_exists('~/.claude/.i-have-adhd-always')",
      "action": "load_skill('i-have-adhd')"
    }
  ]
}

```

Update the skill reference and flag file path:

```json
{
  "hooks": [
    {
      "event": "SessionStart",
      "condition": "file_exists('~/.claude/.focus-mode-always')",
      "action": "load_skill('focus-mode')"
    }
  ]
}

```

Document this in your [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) with the new flag filename.

## Step 6: Test Your Fork

Install your custom skill in a fresh environment before publishing:

```bash

# Antigravity test

agy plugin install https://github.com/YOUR_USERNAME/YOUR-FORK-NAME

# Verify invocation

/ YOUR_INVOKE_COMMAND  # should load your skill

```

Trigger several responses to confirm your modified rules take effect. Pay special attention to:

- Whether your renamed invoke command is recognized
- If rule ordering affects output as intended
- That installation URLs resolve correctly

## Versioning and Maintenance Strategy

Because the skill has **no dependencies**, maintenance is straightforward:

1. **Semantic versioning in [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json)** – Increment `version` for any rule changes
2. **Git tags** – Tag releases to match [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) versions
3. **Changelog** – Add a [`CHANGELOG.md`](https://github.com/ayghri/i-have-adhd/blob/main/CHANGELOG.md) tracking rule additions, removals, or reorderings
4. **Upstream sync** – If the original `ayghri/i-have-adhd` updates, merge useful changes into your [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md)

Monitor the [original repository](https://github.com/ayghri/i-have-adhd) for improvements to the underlying skill specification that might affect how agents parse your rules.

## Summary

- **Forking requires only text file edits** – no build system, no dependencies, no runtime code
- **Modify [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) first** – establish your skill's identity and entry point
- **Edit [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) for behavioral changes** – this single file controls all output formatting
- **Update all URLs in [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) and agent configs** – installation must point to your repository
- **Test across supported harnesses** – each agent (Claude Code, Gemini, Copilot) loads skills slightly differently
- **Version explicitly** – [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) version and Git tags should stay synchronized

## Frequently Asked Questions

### Does forking the i-have-adhd skill require any programming knowledge?

No. The skill contains no code—only Markdown and JSON configuration files. You only need to understand the rule structure in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) to customize output formatting. Basic Git knowledge for forking and pushing changes is sufficient.

### Can I run my fork alongside the original i-have-adhd skill?

Generally no. Most agents register skills by name, and conflicting invoke commands (`/i-have-adhd`) will collide. Rename your skill in [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) (both `name` and `invoke` fields) and use distinct trigger phrases like `/focus` or `/quick-mode` to avoid conflicts.

### How do I distribute my custom skill to my team?

Host your fork on GitHub or any git repository, then point team members to the raw installation URL. Update [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) with your organization's specific commands. For internal distribution, consider a private repository with token-based access or an internal package registry if your agent supports it.

### Will updates to Claude Code or Gemini CLI break my custom skill?

Unlikely. The Agent Skills specification is designed to be stable. The skill format—[`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) manifest pointing to a Markdown rule file—has no runtime dependencies on host agent versions. However, always test your skill after major agent updates to verify rule parsing remains consistent.