How to Fork and Customize the i‑have‑adhd Skill While Preserving the Upgrade Path
Fork the ayghri/i-have-adhd repository, edit the canonical skills/i-have-adhd/SKILL.md file as the single source of truth, allow the CI workflow to sync changes to runtime mirrors, and register your fork under a distinct marketplace namespace to maintain a clean upgrade path for future upstream updates.
The i-have-adhd skill is designed around a single-source-of-truth architecture that enables safe customization without fragmenting from the main codebase. Because all runtimes—including Claude, Codex, Pi, OMP, and OpenCode—read their rule definitions from one authoritative file, you can fork and customize the skill while preserving the upgrade path by treating the canonical definition as your primary edit target and leveraging automated sync workflows to propagate changes.
Understand the Single-Source-of-Truth Architecture
The repository centralizes behavior inside skills/i-have-adhd/SKILL.md. This file is the authoritative rule definition that drives behavior across every supported runtime.
Runtime-specific mirrors—such as .cursor/skills/i-have-adhd/SKILL.md—are automatically generated copies, not independent sources. As documented in AGENTS.md, editing the canonical file first ensures that your changes propagate consistently to all runtime environments through the repository’s automated synchronization logic.
Fork the Repository and Edit the Canonical Skill
Start by creating your own GitHub fork to isolate your modifications from the upstream version.
-
Fork the repository via the GitHub UI, then clone your fork locally:
git clone https://github.com/<your-username>/i-have-adhd.git cd i-have-adhd -
Open
skills/i-have-adhd/SKILL.mdand modify the rules to add, remove, or rearrange behavior. This is the only file you should edit directly; it serves as the source of truth for all customizations. -
Commit and push your changes:
git commit -am "Customize ADHD skill rules" git push origin main
Automate Runtime Sync with the CI Workflow
After you push changes to the canonical file, the repository’s included workflow handles propagation to runtime-specific paths.
The file .github/workflows/cursor-skill-sync.yml defines a CI pipeline that automatically copies skills/i-have-adhd/SKILL.md to .cursor/skills/i-have-adhd/SKILL.md on every push to the main branch. This ensures that tools like Cursor receive your updates without manual file copying or risk of drift between the canonical definition and the runtime mirror.
Publish Your Fork to the Plugin Marketplace
To use your customized version while keeping the upstream skill available for reference, you must register your fork under a unique marketplace entry.
Run the following commands to uninstall the upstream plugin, detach the original namespace, and install your forked version:
claude plugin uninstall i-have-adhd
claude plugin marketplace remove i-have-adhd
claude plugin marketplace add <your-username>/i-have-adhd
claude plugin install i-have-adhd@i-have-adhd
These commands ensure the runtime loads your customized rules from your fork rather than the original ayghri/i-have-adhd repository.
Maintain the Upgrade Path with Upstream Changes
Preserving the upgrade path requires periodically pulling changes from the upstream repository into your fork.
Because your customizations live in the same SKILL.md file as the upstream rules, standard Git merge workflows apply. When you pull upstream updates, Git merges new rules while preserving your modifications. After resolving any merge conflicts and pushing the result, the .github/workflows/cursor-skill-sync.yml workflow automatically updates the cursor mirror, and your distinct marketplace entry continues to point to the latest commit in your fork.
Summary
- Edit the canonical file: Treat
skills/i-have-adhd/SKILL.mdas the single source of truth; never modify runtime mirrors like.cursor/skills/i-have-adhd/SKILL.mddirectly. - Leverage automated sync: The
.github/workflows/cursor-skill-sync.ymlCI workflow propagates canonical changes to the Cursor-compatible path automatically. - Use a distinct marketplace namespace: Register your fork with
claude plugin marketplace add <your-username>/i-have-adhdto avoid conflicts with the upstream plugin. - Sync upstream periodically: Pull upstream changes into your fork to receive new rules while Git preserves your custom modifications in the canonical file.
Frequently Asked Questions
What happens if I edit the .cursor/skills/i-have-adhd/SKILL.md file directly?
Any changes made directly to the mirror file will be overwritten by the CI workflow on the next push. The file .cursor/skills/i-have-adhd/SKILL.md is a build artifact generated from the canonical skills/i-have-adhd/SKILL.md, so you must edit the source file to make persistent changes.
How do I receive updates from the original repository after forking?
You can add the upstream repository as a remote and periodically pull changes into your fork. Because both versions use the same SKILL.md structure, Git will merge upstream additions with your customizations. After merging, push the result to trigger the sync workflow and update your marketplace entry automatically.
Why do I need to uninstall the upstream plugin before adding my fork?
The claude plugin marketplace remove i-have-adhd command detaches the association between the skill name and the original author namespace. Without this step, the runtime may continue to resolve i-have-adhd to the upstream version rather than your forked copy, causing your customizations to be ignored.
Does the sync workflow handle runtimes other than Cursor?
Currently, the repository includes .github/workflows/cursor-skill-sync.yml specifically for the Cursor mirror at .cursor/skills/i-have-adhd/SKILL.md. However, because all runtimes ultimately read from the canonical skills/i-have-adhd/SKILL.md, maintaining that file ensures compatibility across Claude, Codex, Pi, OMP, and OpenCode regardless of their specific mirror locations.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →