# How the i‑have‑adhd Skill Makes Completed Work Visible: A Technical Breakdown

> Discover how the i-have-adhd skill makes completed work visible through state changes and verification commands. Learn the technical breakdown behind this powerful feature.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: technical-breakdown
- Published: 2026-09-02

---

**The i‑have‑adhd skill enforces a strict rule that every completed step must be announced with a concrete state change and an immediately runnable verification command.**

The `ayghri/i-have-adhd` repository implements a Cursor/IDE skill designed specifically for users with ADHD. One of its core behavioral rules ensures that finished work is never buried in vague summaries. Instead, each completed action triggers a precise, dopamine-rewarding confirmation.

## The "Make Completed Work Visible" Rule

In [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) (lines 89‑95), the skill defines an explicit output pattern that the assistant must follow after every step. This rule is not optional—it is enforced by the runtime extension and always-on hooks throughout the session.

The rule requires two components in every completion message:

- **Direct state statement** — exactly what now works or has changed
- **Minimal verification command** — something the user can run immediately to confirm

## Bad vs. Good Examples in Practice

The skill documentation contrasts ineffective and effective outputs to train the behavior:

| **Bad (vague)** | **Good (visible)** |
|-----------------|-------------------|
| *"I've made some changes to the auth flow"* | *"Login now works with magic links. Try: `npm run dev`, open `/login`."* |

The bad example forces the user to guess what improved and how to check. The good example delivers immediate clarity and a concrete next action.

## How the Rule Is Enforced

Two mechanisms ensure compliance across sessions:

1. **[`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts)** — The runtime extension intercepts LLM outputs and applies the skill's formatting rules before display.

2. **`hooks/always-on.mjs`** — A persistent hook that maintains skill behavior across conversation boundaries, preventing rule drift during long sessions.

## Concrete Output Patterns from the Source

The skill's documentation provides these markdown templates as reference implementations:

```markdown
Login now works with magic links. Try: `npm run dev`, open `/login`.

```

```markdown
`npm test` now passes for `auth.spec.ts`. Verify with `npm test -- auth.spec.ts`.

```

```markdown
`dotenv` variables are now loaded correctly. Run `node app.js` to see the updated environment.

```

Each follows the same structure: **[system] now [state]. [Action]: [command].**

## Design Principle: Visible Progress Matters

This rule implements fact 5 from the skill's introductory principles: *visible progress matters*. By emitting an explicit "now works" message, the skill provides immediate feedback that satisfies the ADHD-specific need for clear task closure before context-switching to the next step.

## Summary

- The **"Make completed work visible"** rule is codified in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) lines 89‑95
- Every completed step must state the **new state directly** plus a **runnable verification command**
- Enforcement happens through **[`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts)** and **`hooks/always-on.mjs`**
- The pattern replaces vague summaries with **concrete "now works" affirmations**
- This design directly supports **ADHD-focused productivity** through visible progress signals

## Frequently Asked Questions

### What file contains the "Make completed work visible" rule?

The rule is defined in **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)** at lines 89‑95. This is the core skill definition that instructs the LLM how to format completion messages.

### How does the skill enforce this rule across multiple sessions?

The **`hooks/always-on.mjs`** file installs a persistent hook that maintains skill behavior across conversation boundaries, ensuring the formatting rule does not degrade during extended use.

### Why does the skill require a runnable verification command?

The command provides **immediate dopamine feedback** and removes ambiguity about how to confirm the change worked. This reduces the cognitive load of figuring out next steps, which is particularly valuable for ADHD users who benefit from clear task closure signals.

### Can this skill be used outside of Cursor?

The repository includes installation instructions in **[`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md)** showing how to load the skill into compatible IDEs. The **[`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts)** runtime component handles adapter-specific integration.