How the Fork‑and‑Swap Workflow Enables Customization of i‑have‑adhd Core Rules

The fork‑and‑swap workflow lets you modify the i‑have‑adhd plugin's behavior by forking the repository on GitHub, editing skills/i-have-adhd/SKILL.md to change the 10 response‑shaping rules, and using CLI commands to replace the upstream plugin with your fork so the runtime loads your custom rule set.

The i‑have‑adhd plugin shapes every LLM reply according to a rigid set of behavioral rules defined in a single file. Because the plugin installs from the published repository owned by ayghri, you cannot edit core rules directly; instead, the fork‑and‑swap workflow provides the sanctioned path to override upstream behavior while maintaining full compatibility with the plugin's hook system.

The Canonical Rule Source in SKILL.md

The plugin derives its entire behavior from skills/i-have-adhd/SKILL.md. This file contains the 10 numbered response‑shaping rules that constrain how the LLM formats output, structures lists, and presents information to ADHD‑friendly standards.

When the runtime initializes, the skill loader declared in hooks/hooks.json parses this markdown file and applies its directives to every subsequent invocation. The manifest in .claude-plugin/plugin.json registers the plugin under the name i-have-adhd, which the runtime uses as the lookup key for both the marketplace entry and the local skill files.

Executing the Fork‑and‑Swap Workflow

Modifying core rules requires diverging from the upstream repository and redirecting the runtime to your copy. The process consists of three phases: forking, editing, and swapping.

Fork and Edit the Rule Set

First, create a personal copy of the repository on GitHub. Once forked, navigate to skills/i-have-adhd/SKILL.md in your forked repository. This file is the single source of truth; modify, add, or remove any of the numbered rules to alter the behavioral contract. Because the plugin only reads rules from this specific path, changes here immediately redefine how the plugin governs LLM responses.

Swap the Upstream Plugin for Your Fork

After editing SKILL.md, you must redirect the runtime to load from your fork instead of ayghri/i-have-adhd. The plugin system identifies installations by the name i-have-adhd, so you must remove the upstream entry before adding your fork to prevent namespace collisions.

Run the following CLI commands in sequence:


# 1. Remove the upstream plugin from the runtime and the marketplace

claude plugin uninstall i-have-adhd
claude plugin marketplace remove i-have-adhd

# 2. Register your fork as the new marketplace source

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

# 3. Install the plugin from your fork

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

After installation, restart your LLM harness (Claude Code, Qwen Code, or equivalent). The next invocation of /i-have-adhd will load the SKILL.md from your fork, applying your custom rules to every response.

Technical Architecture of the Swap

The fork‑and‑swap workflow functions because the plugin runtime resolves the identifier i-have-adhd to a specific GitHub repository. When you execute claude plugin marketplace remove i-have-adhd, you delete the mapping to ayghri/i-have-adhd. Adding your fork rebinds that same identifier to your repository URL.

Consequently, when the session starts, the hook system loads hooks/hooks.json, which triggers the skill loader to fetch skills/i-have-adhd/SKILL.md from the repository now mapped to i-have-adhd—your fork. The rest of the codebase, including test suites and hook definitions, remains unchanged, ensuring behavioral compatibility while granting full control over the rule definitions.

Summary

  • The fork‑and‑swap workflow is the only supported method for modifying i‑have‑adhd core rules because upstream files are read‑only in installed instances.
  • skills/i-have-adhd/SKILL.md is the singular file controlling the 10 response‑shaping rules; editing this in your fork changes the plugin's behavior.
  • The CLI commands claude plugin uninstall, marketplace remove, marketplace add, and plugin install sequentially detach the upstream reference and bind your fork to the i-have-adhd namespace.
  • After swapping, the runtime loads rules from your fork's SKILL.md while maintaining compatibility with the original hooks/hooks.json structure.

Frequently Asked Questions

Can I edit the core rules without forking the repository?

No. The plugin installs from the published ayghri/i-have-adhd repository, making upstream files immutable in your local environment. The fork‑and‑swap workflow is the designed mechanism for rule customization, as documented in README.md at line 83 and INSTALL.md at line 57.

Will modifying SKILL.md affect the plugin's hooks or compatibility?

No. The hooks/hooks.json file and .claude-plugin/plugin.json manifest remain identical between forks. Only the rule definitions in SKILL.md change, ensuring that the plugin's integration points with the runtime stay stable while the behavior it enforces becomes custom.

How do I revert to the upstream rules?

Execute the swap process in reverse. Uninstall your forked version, remove your fork from the marketplace using claude plugin marketplace remove i-have-adhd, then re‑add the upstream repository ayghri/i-have-adhd to the marketplace and reinstall. This restores the default SKILL.md source.

Do updates to the upstream repository automatically sync to my fork?

No. GitHub forks do not auto‑sync. To incorporate upstream changes, you must manually pull updates from ayghri/i-have-adhd into your forked repository, resolve any conflicts in SKILL.md, and reinstall the plugin to load the merged rule set.

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →