# 6 Exceptions to the i-have-adhd Rules: When Strict Output Constraints Can Be Broken

> Discover the 6 exceptions to the i-have-adhd rules. Learn when to break strict output constraints for user requests, confirmations, debugging, ambiguity, and rule conflicts.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: best-practices
- Published: 2026-08-07

---

**The i-have-adhd skill defines six specific situations where its strict brevity rules can be overridden: user-requested explanations, destructive actions requiring confirmation, debug spirals, real ambiguity, task-rule conflicts, and harness-rule conflicts.**

The `ayghri/i-have-adhd` repository implements an ADHD-friendly output formatting system that enforces concise, preamble-free responses by default. While the skill prioritizes brevity and directness, the source code in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) recognizes that rigid adherence to these constraints can compromise safety, clarity, or task completion. These six documented exceptions ensure the skill remains flexible enough to handle edge cases without sacrificing its core accessibility principles.

## The Six Exceptions to i-have-adhd Rules

According to the skill definition file [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) (lines 19-29), the following scenarios permit deviation from standard output constraints:

### 1. User Requests for Explanations or Walkthroughs

When a user explicitly asks for a **detailed explanation** or step-by-step walkthrough, the skill can expand beyond its usual brevity. The response must still avoid preambles and closings, but the content length may increase to accommodate the instructional material. This exception acknowledges that teaching requires more words than simple answers.

### 2. Destructive Actions Requiring Confirmation

For commands that could **delete data**, force-push commits, drop database tables, or perform other irreversible operations, safety takes precedence over brevity. The skill must pause to request explicit confirmation before proceeding. The confirmation prompt should clearly state the consequences and require an affirmative response to continue.

### 3. Debug Spirals and Iteration Limits

If the last three interaction turns have consisted of "still broken" or similar iterative failure patterns, the skill must **stop the debug spiral**. Instead of attempting another fix, it should surface the underlying assumption that might be wrong and ask a single diagnostic question. This prevents endless loops of ineffective troubleshooting.

### 4. Real Ambiguity in User Requests

When a request is genuinely unclear or could be interpreted multiple ways, the skill should ask a **brief clarifying question** rather than guessing. This exception prioritizes accuracy over the appearance of helpfulness, ensuring users receive relevant information rather than confident but incorrect assumptions.

### 5. Task Requirements vs. Rule Constraints

If adhering strictly to a rule would prevent delivering the answer—such as when a user asks "what are my options" requiring a **ranked list**—the task wins. The output may deviate from the normal concise style when the deviation is necessary to satisfy the explicit requirements of the query itself.

### 6. Agent Harness Conflicts

In an **agent harness** environment, the system prompt outranks the skill. The skill must announce tool calls when required by the harness, perform work directly through the agent interface, and apply time estimates to the executor rather than the reader. This ensures compatibility with automated execution environments.

## Code Implementation Examples

The repository provides concrete examples demonstrating how these exceptions manifest in practice:

```python

# Example 1 – Asking for a walkthrough (exception 1)

# User: "Can you walk me through how to set up the plugin?"

# Response (allowed to be longer, no preamble):

# 1. Install the plugin with `claude plugin marketplace add ayghri/i-have-adhd`

# 2. Enable it using `claude plugin install i-have-adhd@i-have-adhd`

# 3. Invoke with `/i-have-adhd` …

```

```python

# Example 2 – Confirming a destructive action (exception 2)

# User: "Delete the whole repo directory."

# Response:

# "Are you sure you want to delete the repository? This operation cannot be undone. Reply 'yes' to proceed."

```

## Source Location and Configuration

The complete exception rules are documented in the following key files:

- **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)** – Contains the full rule set and the "When to break the rules" section (lines 19-29) that enumerates these six exceptions.
- **[`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md)** – Provides an overview of the skill and links to the rule documentation.
- **[`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json)** – Registers the skill with Codex/Claude platforms, showing how the skill is loaded and initialized.

## Summary

The i-have-adhd skill maintains strict output formatting standards while acknowledging these six critical exceptions:

- **Explanatory content** – Expanded length permitted for walkthroughs and detailed explanations
- **Destructive operations** – Mandatory confirmation prompts override brevity requirements
- **Debug spirals** – Iteration limits prevent endless troubleshooting loops
- **Ambiguous queries** – Clarifying questions preferred over guessing
- **Task conflicts** – Output style adapts when rules would prevent answering the question
- **Harness requirements** – System prompts and tool calls take precedence in agent environments

## Frequently Asked Questions

### When should the i-have-adhd rules be broken?

The rules should be broken only in the six documented scenarios: when users request detailed explanations, when destructive actions require confirmation, during debug spirals after three failed attempts, when facing real ambiguity, when task requirements conflict with style rules, or when agent harness requirements override skill preferences.

### How does the skill handle destructive commands?

For destructive commands like deleting repositories or dropping tables, the skill invokes **exception 2** and displays a confirmation prompt that explains the irreversible nature of the action. The operation only proceeds after receiving explicit affirmative confirmation from the user.

### What triggers a debug spiral exception?

A **debug spiral** is triggered when the last three turns involve repeated "still broken" responses or similar failure patterns. Rather than attempting a fourth fix, the skill must stop, identify the potentially wrong underlying assumption, and ask one targeted diagnostic question to break the cycle.

### Where are the exception rules documented in the source code?

The six exceptions are documented in **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)** between lines 19-29, within a section explicitly titled regarding when to break the rules. This documentation is referenced by [`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md) and activated through the configuration in [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json).