# How to Fork and Customize the i-have-adhd Ruleset: A Complete Guide

> Learn how to fork and customize the i-have-adhd ruleset. This guide details cloning, editing rules, synchronizing changes, and reinstalling the plugin for your LLM.

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

---

**You can fork and customize the i-have-adhd ruleset by cloning the repository, editing the behavioral rules in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), synchronizing changes to the Cursor mirror, and reinstalling the plugin in your LLM runtime.**

The **i-have-adhd** skill is implemented as a plain-text skill file that defines ten behavioral rules for LLMs interacting with users who have ADHD. If you want to fork and customize the i-have-adhd ruleset to better match your communication preferences or specific needs, you will modify the canonical rule definitions while maintaining compatibility across OpenCode and Cursor runtimes.

## Fork the Repository

Start by creating a personal fork on GitHub to isolate your changes from the upstream source. This gives you a complete copy of the repository, including the skill definitions, plugin manifests, and test suite at `https://github.com/<your-username>/i-have-adhd`.

Clone your fork locally to begin customization:

```bash
git clone https://github.com/<your-username>/i-have-adhd.git
cd i-have-adhd

```

## Customize the Behavioral Rules

The repository uses a specific architecture where the **canonical** rule definitions reside in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), while a **Cursor-compatible mirror** exists at [`.cursor/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/.cursor/skills/i-have-adhd/SKILL.md). The file format consists of a markdown front-matter block followed by headings and bullet points that the LLM runtime parses verbatim.

### Edit the Canonical Skill File

Open [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) to add, remove, or modify the ten behavioral rules. This file serves as the source of truth for the OpenCode runtime and contains the complete rule definitions in structured markdown.

```bash
nano skills/i-have-adhd/SKILL.md

```

Make your desired changes to the rule definitions, ensuring you preserve the front-matter block and heading structure that the parser expects.

### Synchronize the Cursor Mirror

After editing the canonical file, you must propagate changes to the Cursor runtime location. The [`.cursor/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/.cursor/skills/i-have-adhd/SKILL.md) file must remain identical to the canonical version for Cursor to recognize your customizations.

Run the synchronization command:

```bash
cp skills/i-have-adhd/SKILL.md .cursor/skills/i-have-adhd/SKILL.md

```

This ensures both the OpenCode and Cursor runtimes see the same rule set, as the plugin manifests ([`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)) reference these files for their respective environments.

## Test Your Changes

Before publishing your customized ruleset, validate that your modifications do not break the plugin loading mechanisms. The repository includes unit tests in the `tests/` directory, specifically [`test_opencode_plugin.py`](https://github.com/ayghri/i-have-adhd/blob/main/test_opencode_plugin.py) and [`test_omp_package.py`](https://github.com/ayghri/i-have-adhd/blob/main/test_omp_package.py).

Execute the test suite to verify runtime compatibility:

```bash
python3 -m unittest discover -s tests -v

```

If tests pass, your customized skill file is syntactically valid and the plugin manifests correctly reference your changes.

## Install Your Customized Plugin

Push your modifications to your forked repository:

```bash
git add .
git commit -m "Customize ADHD rules for personal workflow"
git push origin main

```

Then install your customized version in the target runtime. For **Claude Code**, use the following sequence:

```bash
claude plugin uninstall i-have-adhd
claude plugin marketplace add <your-username>/i-have-adhd
claude plugin install i-have-adhd@i-have-adhd

```

For the **OpenCode** runtime, the plugin is discovered automatically from the [`opencode.json`](https://github.com/ayghri/i-have-adhd/blob/main/opencode.json) manifest in the repository root once you have added your fork to the workspace.

## Verify the Customization

After installation, invoke the skill with `/i-have-adhd` in your LLM UI. The response should now follow your customized rule set rather than the default behaviors.

If the behavior is unexpected, inspect the plugin execution logs in `hooks/always-on.mjs` and re-run the test suite to identify parsing errors or manifest misconfigurations.

## Summary

- **Fork** the `ayghri/i-have-adhd` repository to create your own copy of the skill files and manifests
- **Edit** [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) to customize the ten behavioral rules defined in the markdown front-matter and heading structure
- **Synchronize** changes to [`.cursor/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/.cursor/skills/i-have-adhd/SKILL.md) to maintain compatibility with the Cursor runtime
- **Test** your modifications using `python3 -m unittest discover -s tests -v` to ensure plugin loading integrity
- **Install** your fork using `claude plugin marketplace add <your-username>/i-have-adhd` or OpenCode's automatic discovery via [`opencode.json`](https://github.com/ayghri/i-have-adhd/blob/main/opencode.json)
- **Verify** functionality by invoking `/i-have-adhd` and checking `hooks/always-on.mjs` logs if issues occur

## Frequently Asked Questions

### Where are the i-have-adhd rules actually defined?

The behavioral rules are defined in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), which serves as the canonical source file containing ten specific rules formatted with markdown front-matter and structured headings. This file is duplicated at [`.cursor/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/.cursor/skills/i-have-adhd/SKILL.md) for Cursor runtime compatibility, with both locations requiring synchronization when customizing.

### Do I need to update both SKILL.md files manually?

Yes. While [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) is the source of truth for OpenCode, the Cursor runtime specifically looks for rules at [`.cursor/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/.cursor/skills/i-have-adhd/SKILL.md). You must run `cp skills/i-have-adhd/SKILL.md .cursor/skills/i-have-adhd/SKILL.md` after every edit to ensure both runtimes receive your customizations.

### How do I test my customized rules before publishing?

Run the unit tests in the `tests/` directory using `python3 -m unittest discover -s tests -v`. This executes [`test_opencode_plugin.py`](https://github.com/ayghri/i-have-adhd/blob/main/test_opencode_plugin.py) and [`test_omp_package.py`](https://github.com/ayghri/i-have-adhd/blob/main/test_omp_package.py) to verify that your changes to the skill file do not break plugin loading mechanisms or manifest parsing before you push to your fork.

### Can I use my fork with both Claude Code and Cursor?

Yes. The repository architecture supports both runtimes simultaneously. The [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) and [`.claude-plugin/plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/plugin.json) manifests handle Claude Code installation, while the [`.cursor/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/.cursor/skills/i-have-adhd/SKILL.md) path and [`opencode.json`](https://github.com/ayghri/i-have-adhd/blob/main/opencode.json) manifest enable Cursor compatibility. As long as you synchronize the SKILL.md files, both runtimes will recognize your customized ruleset.