# How the disable-model-invocation Feature Works in SKILL.md

> Learn how the disable-model-invocation flag in SKILL.md controls automatic formatting. Activate ADHD output style only when you need it with explicit commands.

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

---

**The `disable-model-invocation` flag in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) prevents the skill from automatically applying formatting rules to every chat interaction, requiring explicit user invocation via commands like `/i-have-adhd` to activate the ADHD-focused output style.**

The `i-have-adhd` repository provides a declarative skill configuration for Copilot and Claude Code that reshapes AI responses into ADHD-friendly formats. Within **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)**, the **`disable-model-invocation`** field serves as the primary control mechanism that determines whether the skill’s aggressive formatting rules apply automatically or wait for manual activation.

## Understanding the disable-model-invocation Flag

The `disable-model-invocation` field is a top-level boolean configuration in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) that defaults to `true` in the `i-have-adhd` skill. When enabled, this flag instructs the underlying harness—whether Copilot, Claude Code, or the AGY plugin—to **load but not enforce** the skill’s rules during standard chat interactions.

According to the installation documentation in [[`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md)](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md#L404-L407), this behavior ensures that "nothing applies until you invoke the skill," giving developers explicit control over when the ADHD formatting mode is active.

## The Three-Phase Activation Lifecycle

### Phase 1: Skill Loading with Automatic Blocking

When the repository is installed, the harness reads [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) and recognizes the skill’s presence. However, because `disable-model-invocation: true` is set, the harness **does not apply** any output-shaping rules—such as "lead-with-action" or numbered steps—to regular chat messages. The skill exists in a dormant state where it is available but inactive.

### Phase 2: Explicit User Invocation

The skill activates only when the user types a specific slash command matching the skill name. In practice, entering **`/i-have-adhd`** triggers the harness to detect the invocation and immediately apply all defined rules from [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md).

Once invoked, the assistant switches to ADHD-mode formatting: responses lead with concrete actions, use numbered steps, and follow the specific structural rules defined in the skill configuration.

### Phase 3: Session Deactivation

The activated skill remains in effect for the duration of the session until the user explicitly signals completion. The harness recognizes deactivation phrases such as **"stop adhd mode"** or **"normal mode"**, at which point it unloads the skill and returns to the default output style without the specialized formatting constraints.

## Practical Examples of disable-model-invocation Behavior

The following interactions demonstrate how the flag controls skill activation in real usage scenarios.

**Example 1: Normal Query Without Invocation (Skill Disabled)**

```text
User: How do I run the test suite?
Assistant: [Standard response format without ADHD-specific structuring]

```

Because `disable-model-invocation` blocks automatic activation, Copilot or Claude Code returns a conventional answer despite the skill being technically installed.

**Example 2: Explicit Invocation (Skill Activated)**

```text
User: /i-have-adhd
User: How do I run the test suite?
Assistant: 1. Run `npm install` to install dependencies
        2. Execute `npm test` to run the suite
        3. Review results in `test-output.log`

```

After the slash command, the harness activates the skill and applies all formatting rules defined in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md), transforming the response into actionable, structured steps.

**Example 3: Deactivating the Skill**

```text
User: stop adhd mode
Assistant: [Returns to standard conversational formatting]

```

The harness detects the deactivation phrase and disables the skill's rules for subsequent interactions.

## Implementation Files and Configuration

The `disable-model-invocation` feature spans multiple configuration files within the repository:

- **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)**: Defines the skill metadata and sets `disable-model-invocation: true` at the top level of the declarative configuration.
- **[`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md)** (lines 404-407): Documents how Copilot and Claude Code respect this flag, noting that the skill remains inactive until explicitly invoked.
- **[`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md)**: Contains optional configuration that could bypass the `disable-model-invocation` restriction if added, creating an "always-on" override for specific use cases.

## Summary

- The **`disable-model-invocation`** flag in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) controls whether a skill applies automatically or requires explicit activation.
- When set to `true`, the skill loads but remains dormant until the user invokes it via the **`/i-have-adhd`** slash command.
- The harness respects this setting across Copilot, Claude Code, and compatible plugins, ensuring consistent behavior.
- Users can deactivate the skill mid-session using phrases like **"stop adhd mode"** or **"normal mode"**.
- Optional bypass configurations in [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md) can override this behavior for specialized deployment scenarios.

## Frequently Asked Questions

### What happens if I set `disable-model-invocation` to `false`?

Removing or setting this flag to `false` would cause the harness to automatically apply the skill's rules to every chat message without requiring explicit invocation. While this creates an "always-on" experience, it may surprise users who prefer standard formatting for general queries.

### Does the `disable-model-invocation` flag work across all AI coding assistants?

According to the [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) documentation, both Copilot and Claude Code respect the `disable-model-invocation` directive. The behavior is implemented by the surrounding harness (whether GitHub Copilot, Claude Code, or the AGY plugin), making it compatible across supported platforms that read [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) configurations.

### How can I tell if the ADHD skill is currently active?

The skill is active when you have recently invoked it with `/i-have-adhd` and have not yet deactivated it with "stop adhd mode" or "normal mode". When active, responses will exhibit the distinct formatting patterns defined in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md), such as leading with actionable commands and using numbered steps instead of prose paragraphs.

### Can I bypass the manual invocation requirement?

Yes. The repository includes optional configuration in [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md) that demonstrates how to create an "always-on" setup that bypasses the `disable-model-invocation` restriction. This configuration is designed for users who want the ADHD formatting applied to every interaction without requiring the `/i-have-adhd` prefix.