# When Should the 10 ADHD-Friendly Rules Be Overridden? A Technical Guide to the I Have ADHD Skill

> Learn when to override the 10 ADHD-friendly rules in the I Have ADHD skill for safety data integrity or user preferences. Discover essential exceptions for technical accuracy.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: how-to-guide
- Published: 2026-08-04

---

**Override the 10 ADHD-friendly rules when safety-critical accuracy, formal document structure, raw data integrity, or explicit user preference demands a departure from the skill's default concise, action-first formatting.**

The `ayghri/i-have-adhd` repository implements a Cursor/Windsurf skill that enforces strict output formatting optimized for ADHD readers. While these 10 ADHD-friendly rules typically improve clarity by mandating numbered steps, time estimates, and suppressed preambles, certain technical and contextual scenarios require disabling them to prevent information loss, safety risks, or evaluation failures.

## What the 10 ADHD-Friendly Rules Enforce

According to [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), the skill imposes an "IO ADHD-friendly" protocol designed to keep outputs instantly actionable. The core constraints include:

- **Leading with the next action** rather than context-setting
- **Numbering multi-step work** to create clear cognitive stopping points
- **Suppressing tangents** and explanatory rabbit trails
- **Restating state** after interruptions to reduce working memory load
- **Providing time estimates** for every task to aid planning
- **Hiding preambles and closers** to eliminate scroll fatigue

These rules remain active by default through the [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh) activation script, creating a persistent formatting layer that modifies all model outputs until explicitly disabled.

## Critical Scenarios Requiring Rule Overrides

### Safety-Critical and Medical Content

Override the rules when generating health, legal, or safety advice. The ADHD-friendly style removes contextual framing required for responsible disclosure. For medical diagnoses or treatment recommendations, the concise format strips away necessary caveats and risk warnings that standard verbose formatting preserves.

### Formal Documentation and Academic Structure

When generating formal letters, academic citations, or structured reports, the mandatory "no preamble/closer" rule breaks required document formats. These documents need introductions that establish authority and conclusions that summarize findings. The 10 ADHD-friendly rules must be suspended to allow traditional academic or business formatting.

### Raw Code and Data Integrity

Disable the rules when downstream tools expect raw JSON, CSV, or code snippets without commentary. The "make wins visible" rule adds explanatory text that can corrupt data parsers or break syntax highlighting in integrated development environments. For API responses or configuration file generation, raw output mode is essential to maintain data integrity.

### Automated Testing and Evaluation

The evaluation harness in [`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py) expects plain output without numbering or time estimates. When running the test suite, the system automatically disables ADHD mode to ensure output matches baseline expectations. The rules interfere with string matching and assertion logic used in automated quality checks, causing false negatives in test assertions.

### Explicit User Preference

If a user explicitly requests "standard style" or asks to "ignore the ADHD rules," this preference overrides the default skill activation. User intent takes precedence over automated formatting, requiring immediate deactivation of the always-on hook for that session.

## How to Programmatically Override the Rules

The repository provides two primary mechanisms for disabling the ADHD-friendly formatting layer.

### Interactive Command Override

Users can disable the skill instantly by issuing the slash command:

```bash
/stop adhd mode

```

This command signals the system to bypass the [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh) hook for the current session, reverting outputs to the standard verbose format defined in the base model configuration.

### Programmatic and Environment-Based Disabling

For scripts and automated pipelines, disable the skill by setting environment variables or invoking the evaluation runner:

```python

# Example: Disabling ADHD mode for safety-critical content

import os
import subprocess

# Method 1: Environment variable flag

os.environ["ADHD_MODE"] = "off"

# Method 2: Running evaluation suite with disabled formatting

subprocess.run(
    ["python", "scripts/run_evals.py", "--condition", "baseline"],
    env={"ADHD_MODE": "off"}
)

```

In [`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py), the test harness explicitly disables the skill to ensure raw output matches expected baselines without the injected numbering or time estimates.

### Temporary Mode Switching

For mixed-format workflows, toggle between modes within the same session:

```python

# Disable for formal document generation

set_mode("normal")  # Disables ADHD rules

# Generate structured report with full preamble and conclusion...

# ...

# Re-enable for subsequent concise outputs

set_mode("adhd_friendly")  # Re-activates 10 rules

```

## Key Implementation Files

Understanding the override mechanisms requires familiarity with these specific source files:

- **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)** – Defines the 10 ADHD-friendly output rules and the `/stop adhd mode` command syntax
- **[`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh)** – Shell script that activates the skill by default; removing or bypassing this hook prevents rule enforcement
- **[`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py)** – Evaluation runner that programmatically disables the skill to ensure clean test outputs
- **[`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md)** – Documents the "always-on" hook architecture and override commands

## Summary

- **Safety and medical content** requires full contextual framing, necessitating an override of the concise ADHD-friendly format.
- **Formal documents** with strict structural requirements (introductions, conclusions) cannot comply with the "no preamble/closer" rule.
- **Raw data outputs** for APIs or configuration files must disable commentary rules to preserve syntax integrity.
- **Automated testing** via [`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py) automatically disables the rules to ensure consistent string matching.
- **User commands** like `/stop adhd mode` or environment variables (`ADHD_MODE=off`) provide immediate override capabilities.

## Frequently Asked Questions

### How do I temporarily disable the ADHD-friendly rules for a single response?

Use the slash command `/stop adhd mode` in your prompt. This disables the skill defined in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) for the current session, allowing the standard verbose response format to take precedence over the concise rules.

### Will disabling the rules affect the always-on hook permanently?

No. Disabling the rules via command or environment variable affects only the current session or process. The [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh) script remains in place and will reactivate the skill in new sessions unless permanently removed from the hooks directory or uninstalled from the IDE.

### Can I override specific rules while keeping others active?

No. The implementation treats the 10 ADHD-friendly rules as a single binary formatting layer. You cannot selectively disable only the "no preamble" rule while keeping the numbering system; you must toggle the entire skill on or off via `set_mode()` or environment flags.

### Why do the evaluation tests fail when ADHD mode is active?

The test suite in [`scripts/run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/run_evals.py) performs exact string matching on model outputs. The ADHD-friendly rules inject numbers, time estimates, and formatting characters that break these assertions. The evaluation runner automatically sets `ADHD_MODE=off` to ensure raw, unformatted output for accurate testing against baseline expectations.