Where Is the Canonical Ruleset for i-have-adhd Located?
The canonical ruleset for i‑have‑adhd lives at skills/i-have-adhd/SKILL.md, which serves as the single source of truth for all ADHD‑focused output rules and persistence semantics.
The i-have-adhd repository implements a skill-based architecture where behavioral rules are centralized in dedicated markdown files. Understanding the exact location of the canonical ruleset is essential for developers who need to modify, reference, or programmatically load the ten output rules that govern this mode.
Locating the Canonical Ruleset
The authoritative ruleset is stored in skills/i-have-adhd/SKILL.md. This file contains:
- Ten ADHD‑focused output rules enforced on every response
- Persistence semantics defining how the mode maintains state
- Pre‑send checks that validate content before dispatch
The project explicitly designates this path as the single source of truth according to the "Source‑of‑truth rules" section in AGENTS.md. Any modification to the rules must originate here before propagating to secondary locations.
Mirror Location and Synchronization
A synchronized copy exists at .cursor/skills/i-have-adhd/SKILL.md. This mirror supports Cursor‑compatible environments but is not the canonical version.
The synchronization workflow is:
- Edit the canonical file in
skills/i-have-adhd/SKILL.md - Update the mirror in
.cursor/skills/i-have-adhd/SKILL.mdto match
AGENTS.md explicitly documents this hierarchy, preventing divergence between environments.
Programmatic Access to the Ruleset
You can retrieve the canonical ruleset programmatically using either Node.js or shell commands.
Node.js (using fs)
const fs = require('fs');
const path = require('path');
const skillPath = path.join(__dirname, 'skills', 'i-have-adhd', 'SKILL.md');
const rules = fs.readFileSync(skillPath, 'utf8');
console.log('📖 i-have-adhd canonical ruleset:\n');
console.log(rules);
This snippet resolves the skill path relative to the script location and outputs the complete ruleset contents.
Shell (Unix)
#!/usr/bin/env bash
# Print the canonical ruleset
cat "$(git rev-parse --show-toplevel)/skills/i-have-adhd/SKILL.md"
This command uses git rev-parse --show-toplevel to reliably locate the repository root regardless of the current working directory.
Key Supporting Files
| File | Purpose |
|---|---|
skills/i-have-adhd/SKILL.md |
Canonical ruleset — single source of truth |
.cursor/skills/i-have-adhd/SKILL.md |
Mirror for Cursor environments |
AGENTS.md |
Documents source‑of‑truth hierarchy and editing workflow |
README.md |
Project overview with skill documentation links |
INSTALL.md |
Installation paths referencing skill file locations |
Summary
- The canonical ruleset for i‑have‑adhd is
skills/i-have-adhd/SKILL.md - Treat this file as the single source of truth for all rule modifications
- The
.cursor/mirror is a convenience copy, not the authoritative version - Both Node.js and shell scripts can programmatically load the ruleset for runtime use
AGENTS.mdgoverns the synchronization protocol between canonical and mirror files
Frequently Asked Questions
What happens if I edit the .cursor mirror instead of the canonical file?
Edits made directly to .cursor/skills/i-have-adhd/SKILL.md violate the project's source‑of‑truth protocol. Future synchronizations may overwrite your changes, and the modifications won't propagate to non‑Cursor environments. Always edit skills/i-have-adhd/SKILL.md first.
How many rules are defined in the canonical ruleset?
The canonical ruleset defines ten ADHD‑focused output rules, along with persistence semantics and pre‑send validation checks that constrain how responses are generated while the mode is active.
Can I load the ruleset at runtime in my application?
Yes. Both Node.js and shell examples in this article demonstrate loading skills/i-have-adhd/SKILL.md programmatically. The file is standard markdown, so any language with file‑system access can parse and process its contents.
Why does the project use a mirror file structure?
The mirror at .cursor/skills/i-have-adhd/SKILL.md accommodates Cursor IDE conventions without polluting the canonical location. This separation lets Cursor users access the skill natively while maintaining a clean, tool‑agnostic source of truth in the skills/ directory.
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 →