When to Break i-have-adhd Rules: 6 Exception-Handling Scenarios Explained
Break i-have-adhd rules only when handling destructive actions, debug spirals, explicit explanation requests, real ambiguity, rule conflicts, or harness-level constraints that would otherwise prevent delivering the answer.
The i-have-adhd skill enforces a strict, ADHD-friendly output style across all AI interactions, but its creator explicitly defines six scenarios where standard formatting must yield to safety, clarity, or system requirements. According to the source code in ayghri/i-have-adhd, these exceptions are centralized in skills/i-have-adhd/SKILL.md and represent the only authorized deviations from the default "lead with the next action" protocol.
The Six Valid Exceptions
The skill documentation encodes a "when-to-break-the-rules" table that governs every allowed relaxation of the output format. All six conditions prioritize user safety or interaction quality over rigid adherence to brevity.
Full Explanation Requests
When a user explicitly asks for a detailed walkthrough or deep explanation, you must provide multi-paragraph responses. This override satisfies the user's intent for depth while still avoiding unnecessary preambles or closers. In skills/i-have-adhd/SKILL.md, this exception acknowledges that brevity would be counter-productive when the user signals they want comprehensive coverage.
Destructive Actions
Any operation that can cause irreversible damage—such as rm -rf commands, database schema migrations, or DROP TABLE statements—requires an immediate confirmation prompt. This breaks the "no preamble" rule because safety outweighs brevity. The assistant must pause, announce the risk, and await explicit user consent before proceeding.
Debug Spirals
If a user repeatedly responds with "still broken" or similar iterations without progress, the assistant must halt the loop. Instead of offering another incremental fix, state the most likely faulty assumption and ask one single diagnostic question. This prevents endless back-and-forth and forces a decisive troubleshooting pivot.
Real Ambiguity
When the user's request contains genuine ambiguity that would lead to guessing, the assistant should ask one concise clarification question. This exception ensures the subsequent action is correct rather than expedient, avoiding wasted effort on misinterpreted instructions.
Rule Conflicts
If applying a standard rule would delete the answer itself or conflict with harness requirements, the rule is superseded. The primary goal is delivering the answer, not obeying a self-defeating constraint. This safeguard prevents the formatting system from destroying valid content through over-application of style rules.
Harness-Level Constraints
System-level requirements—such as mandatory tool-call announcements—take precedence over stylistic preferences. Even if announcing "I will now call the search tool" violates the "no preamble" directive, the surrounding system dictates the interaction flow. The skill yields to the harness architecture in these cases.
Architectural Implementation
The exception logic is not hard-coded in executable scripts but stored in declarative markdown. In skills/i-have-adhd/SKILL.md, the "when-to-break-the-rules" section contains the canonical table governing these exceptions. The skill loads via plugin.json, which registers it with the Claude/Kimi plugin system, while hooks/always-on.sh (and its PowerShell/JavaScript counterparts) ensure the style enforcement remains active across sessions unless one of the six trigger conditions is met.
This architecture keeps the exception criteria human-readable and version-controlled. Modifying when to break i-have-adhd rules requires editing only the markdown file, not refactoring the activation hooks or extension definitions in extensions/i-have-adhd.ts.
Practical Examples of Rule Breaking
The following YAML patterns demonstrate how each exception manifests in actual interactions:
Destructive Action Confirmation
User: "I need to drop the `orders` table in my database."
Assistant:
- "⚠️ This operation will permanently delete data. Do you want to proceed?"
- "If you confirm, I will run: `DROP TABLE orders;`"
The confirmation prompt overrides the "no preamble" rule because safety is paramount.
Debug Spiral Intervention
User: "The test still fails after the fix."
Assistant:
- "Step 4 of 4: The failure persists."
- "Possible cause: environment variable `DB_URL` missing."
- "Next: Can you confirm the value of `DB_URL`?"
The assistant stops iterating and asks a single diagnostic question, satisfying the "debug spiral" exception.
Detailed Walkthrough
User: "Explain how the OAuth flow works in detail."
Assistant:
- "1. The client redirects the user to the provider's authorization endpoint."
- "2. After consent, the provider redirects back with an authorization code."
- "3. The server exchanges the code for an access token."
- "4. The token is stored and used for subsequent API calls."
- "5. Refresh tokens are used to obtain new access tokens when the original expires."
Even though multiple paragraphs are used, the response respects the exception for "explain" requests.
Summary
- Break rules only for the six documented exceptions: full explanations, destructive actions, debug spirals, real ambiguity, rule conflicts, and harness constraints.
- Safety and clarity override brevity when dealing with data destruction or endless troubleshooting loops.
- Source of truth: The
skills/i-have-adhd/SKILL.mdfile contains the authoritative table defining when to break i-have-adhd rules. - System integration: The skill activates through
plugin.jsonand remains persistent viahooks/always-on.sh, but checks the markdown exception table before enforcing style rules.
Frequently Asked Questions
Can I break i-have-adhd rules for any safety-critical operation?
Yes, but specifically for destructive actions like rm -rf, database migrations, or table drops. The skill mandates a confirmation prompt that breaks the "no preamble" rule, as accidental damage is unacceptable. This is the only safety-related exception; general caution does not qualify unless data loss is imminent.
What constitutes a "debug spiral" under i-have-adhd exception handling?
A debug spiral occurs when a user repeatedly indicates that a fix failed—typically with phrases like "still broken"—without providing new diagnostic information. Rather than offering another incremental solution, you must halt the loop, state the most likely root cause, and ask exactly one targeted diagnostic question to break the cycle.
How do harness-level constraints override the standard output format?
When the surrounding system (the "harness") requires specific announcements—such as declaring an upcoming tool call or acknowledging a system message—these constraints supersede the skill's "no preamble" rule. You must announce the tool call and perform it, even if the announcement violates standard ADHD-friendly brevity, because the harness dictates the interaction flow.
Where are the exception conditions documented in the source code?
All six exception conditions are documented in the when-to-break-the-rules section of skills/i-have-adhd/SKILL.md. This markdown file serves as the single source of truth for the exception logic, while plugin.json and the hooks/always-on.* scripts handle the mechanical enforcement of the rules during runtime.
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 →