# How i-have-adhd Presents Errors in a Matter-of-Fact Way

> Learn how i-have-adhd presents errors factually. The skill removes emotional language, stating the exact error location, cause, and fix for clear reports.

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

---

**The i-have-adhd skill enforces Rule 8 to eliminate emotional phrasing from error messages, delivering structured reports that identify the exact location, state the concrete cause, and provide a precise fix.**

The *i-have-adhd* repository by ayghri is a specialized skill designed to optimize AI interactions for users with ADHD. According to 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), the system implements **Rule 8**—"Matter-of-fact tone for errors"—to ensure that every failure message follows a consistent, anxiety-reducing format that prioritizes immediate action over emotional context.

## The Three-Part Matter-of-Fact Structure

When the i-have-adhd skill encounters an error, it constructs the response using three mandatory components defined in the skill manifest. This structure removes vague apologies or alarming language like "Uh oh" or "There seems to be a problem."

### Identify the Exact Location

The response must pinpoint where the error occurred. As defined in lines 96-102 of [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), this includes the specific file name and line or column numbers when applicable. This precision eliminates ambiguity about which component failed.

### State the Concrete Cause

Rather than using hedging language, the skill states the technical reason for the failure directly. This includes specific diagnoses such as missing headers, type mismatches, unhandled exceptions, or syntax errors. The cause is described using factual terminology without speculation.

### Provide the Precise Fix

The final component delivers an exact, actionable solution. This may include the specific code change required, the exact command to run, or the configuration value to modify. The fix is presented as an imperative instruction rather than a suggestion.

## Implementation in the Source Code

The matter-of-fact rule is defined and enforced across multiple files in the repository.

The **Rule 8** specification resides in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) at lines 96-102, where it explicitly prohibits emotive phrasing and mandates the three-part structure. The [`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md) file provides additional context by displaying the complete rule list alongside "Before/After" sections that illustrate the transformation from emotional to factual error phrasing.

At runtime, the logic is executed in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts), which contains the hook that formats assistant responses according to the skill rules. This extension intercepts error states and restructures them to comply with the matter-of-fact requirement before returning output to the user.

## Practical Code Examples

The following examples demonstrate how the skill transforms various error types into the mandated format.

### Test Failure Example

```text
Test fails at `auth.spec.ts:42`: expected 200, got 401.
Cause: missing `Authorization` header.
Fix: add `Authorization: Bearer ${token}` to the request.

```

### Runtime Exception Example

```text
Unhandled exception in `src/server.ts:17`: `TypeError: Cannot read property 'id' of undefined`.
Cause: `user` object is null when accessed.
Fix: guard with `if (user) { … }` or ensure the user is authenticated before this line.

```

### Build Error Example

```text
Build error in `webpack.config.js` line 23: `Unexpected token '.'`.
Cause: Using optional-chaining syntax not supported by current Node version.
Fix: upgrade Node to ≥14 or replace `config?.output` with a safe-check.

```

## Summary

The i-have-adhd repository ensures matter-of-fact error presentation through:

- **Rule 8 enforcement** defined in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) lines 96-102, which bans emotional language like "Uh oh" or "Oops"
- **Three-part structure** requiring exact location, concrete cause, and precise fix in every error message
- **Runtime implementation** in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) that reformats responses before delivery
- **Clinical precision** that enables ADHD-focused users to act immediately on technical information without processing anxiety-inducing phrasing

## Frequently Asked Questions

### What is Rule 8 in the i-have-adhd skill?

Rule 8 is the "Matter-of-fact tone for errors" requirement defined in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md). It mandates that all error messages must identify the exact file location, state the concrete technical cause, and provide a precise fix without using emotional or apologetic language.

### Why does i-have-adhd avoid emotional language in error messages?

According to the repository design, emotional phrasing such as "Uh oh" or "There seems to be a problem" creates unnecessary cognitive load and anxiety for ADHD-focused users. The matter-of-fact format eliminates the need to interpret tone, allowing users to proceed directly to the technical solution.

### How does the runtime extension enforce these error formatting rules?

The file [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) implements a runtime hook that intercepts error responses before they are delivered to the user. This hook restructures the output to comply with Rule 8's three-part structure, ensuring that every error report contains the location, cause, and fix in the prescribed format.

### Can developers customize the matter-of-fact error format?

The current implementation in the source code enforces a strict, non-customizable structure for Rule 8 compliance. While the [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) file defines the rules and the extension implements them rigidly, developers could theoretically modify the parsing logic in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) to adjust the formatting, though this would deviate from the skill's core ADHD-accessibility design.