# What Does `disable-model-invocation: true` Do for the i‑have‑adhd Skill?

> Learn what disable-model-invocation: true does for the i-have-adhd skill. This setting makes the skill opt-in, requiring explicit user commands for activation.

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

---

**`disable-model-invocation: true` makes the i‑have‑adhd skill opt‑in, blocking automatic activation until the user explicitly invokes it with a command like `/i-have-adhd`.**

The **i‑have‑adhd** skill is an open‑source AI coding assistant customization designed to format responses for ADHD‑friendly cognition. Its `disable-model-invocation: true` flag, declared in the skill's front‑matter, controls when the model applies the skill's transformation rules. This article explains exactly how this flag works, why it matters, and how it's verified across the codebase in `ayghri/i-have-adhd`.

## How `disable-model-invocation: true` Controls Skill Activation

In [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), line 4 defines the flag in the YAML front‑matter:

```yaml
---
name: i-have-adhd
disable-model-invocation: true
---

```

When present, this setting creates three distinct behaviors:

### Lazy Activation of Transformation Rules

The skill's formatting rules—including **lead‑with‑action**, **numbered steps**, **no‑preamble**, and **concrete time estimates**—remain dormant during normal conversations. The model behaves according to its default parameters until the user triggers explicit activation.

### Cross‑Runtime Compatibility

According to [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) (lines 70–71), Copilot, Claude Code, and Qwen Code all respect this flag uniformly. This ensures consistent behavior regardless of which AI runtime hosts the skill.

### Verified Test Coverage

The repository enforces this behavior through two test files:

- **[`tests/test_omp_package.py`](https://github.com/ayghri/i-have-adhd/blob/main/tests/test_omp_package.py)** (line 27): Asserts that `disable-model-invocation: true` exists in the skill's front‑matter
- **[`tests/test_run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/tests/test_run_evals.py)** (lines 132–147): Verifies that prompts generated before invocation do **not** contain activation signals

## Practical Example: Default vs. Invoked Behavior

```markdown

# Without explicit invocation (flag prevents auto‑activation)

User: How do I add a new route in Express?
Model: "You can create a new router with express.Router() and define
your routes using the HTTP methods available on that router object..."

# With explicit invocation (/i-have-adhd command triggers activation)

User: /i-have-adhd
Model:
1. Open src/routes.js
2. Add router.get('/new', handler);
3. Run npm test to verify (estimate: 30 seconds)
Next: start the server with npm start

```

The flag ensures users experience standard AI assistance until they deliberately choose the ADHD‑optimized format.

## Why `disable-model-invocation: true` Matters

### Preserves Default Model Behavior

Without this flag, the skill's restrictive formatting rules would apply to every interaction, potentially interfering with other skills or user preferences.

### Enables Skill Stacking

Users can combine multiple skills in the same session. The dormant state prevents rule conflicts until specific activation.

### Supports Explicit Consent

The opt‑in design respects user agency—particularly important for accessibility tools where forced formatting could create friction.

## Key Source Files and Their Roles

| File | Purpose |
|------|---------|
| [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) | Declares the `disable-model-invocation` flag and all ADHD‑specific formatting rules |
| [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) | Documents activation behavior across Copilot, Claude Code, and Qwen Code |
| [`tests/test_omp_package.py`](https://github.com/ayghri/i-have-adhd/blob/main/tests/test_omp_package.py) | Validates flag presence in skill packaging |
| [`tests/test_run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/tests/test_run_evals.py) | Ensures no premature activation in evaluation prompts |

## Summary

- **`disable-model-invocation: true`** in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) prevents automatic skill activation
- The i‑have‑adhd skill remains dormant until explicit user invocation (`/i-have-adhd`)
- Cross‑runtime consistency is guaranteed across Copilot, Claude Code, and Qwen Code
- Test coverage in [`test_omp_package.py`](https://github.com/ayghri/i-have-adhd/blob/main/test_omp_package.py) and [`test_run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/test_run_evals.py) prevents regressions
- This opt‑in architecture preserves default behavior while enabling deliberate accessibility formatting

## Frequently Asked Questions

### What happens if `disable-model-invocation` is set to `false` or omitted?

The skill would activate automatically at load time, applying ADHD formatting rules to all conversations without requiring explicit invocation. This would remove user control over when the specialized formatting applies.

### Can multiple skills with `disable-model-invocation: true` be active simultaneously?

Yes. Each skill maintains independent activation state. Users can invoke `/i-have-adhd` alongside other skills, with each applying its rules only after explicit triggering.

### Why does the test suite verify flag *absence* in pre‑invocation prompts?

The [`test_run_evals.py`](https://github.com/ayghri/i-have-adhd/blob/main/test_run_evals.py) check (lines 132–147) ensures that the runtime harness correctly interprets the flag. If the flag leaked into prompts prematurely, it would indicate a harness bug causing accidental activation.