# Understanding the disable-model-invocation Flag in AI Skill Metadata

> Learn how the disable-model-invocation flag in AI skill metadata controls automatic language model skill activation, ensuring users must explicitly command skills.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: deep-dive
- Published: 2026-09-13

---

**The `disable-model-invocation` flag is a boolean metadata field that prevents language models from automatically invoking a skill, requiring instead an explicit user command to activate the skill's specialized behavior.**

The `disable-model-invocation` flag controls activation timing in the `ayghri/i-have-adhd` repository, ensuring that ADHD-friendly formatting rules only apply when deliberately requested. Located at the top of the skill's metadata definition in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), this flag protects conversation flow by blocking implicit skill activation across supported AI runtimes including Claude Code, Qwen Code, and Copilot.

## What Is the disable-model-invocation Flag?

The `disable-model-invocation` flag appears as a boolean field at the beginning of a skill's metadata configuration. In the `i-have-adhd` skill, this flag is explicitly set to `true`, signaling to compliant runtimes that they must not automatically apply the skill's behavior patterns based on conversational context alone.

When set to `true`, the runtime treats the skill as **inactive by default**, ignoring any pattern-matching triggers that might otherwise cause automatic activation. This design ensures that specialized output formatting—such as the ADHD-friendly style implemented in this repository—only engages after explicit user consent, preventing the assistant from unexpectedly restructuring responses.

### Canonical Definition Location

The authoritative definition resides in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) at the repository root. A mirrored configuration exists in [`.cursor/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/.cursor/skills/i-have-adhd/SKILL.md) specifically for the Cursor runtime, ensuring consistent invocation behavior across different development environments.

## How the Flag Controls Skill Activation

Setting `disable-model-invocation: true` fundamentally changes how the runtime evaluates when to apply skill-specific rules. Rather than monitoring conversation content for relevant keywords or patterns, the runtime waits for a specific invocation signal before loading the skill's instructions.

This mechanism prevents **background activation**, where a model might automatically switch to ADHD-friendly formatting—such as leading with next actions, numbering steps, or using concise bullets—simply because it detects a task-related query. Instead, the skill remains dormant, allowing the assistant to respond in its default style until the user explicitly opts into the specialized formatting.

### Explicit Invocation Requirement

With the flag enabled, users must trigger the skill using a direct command. For the `i-have-adhd` skill, this means typing the explicit invocation:

```text
/i-have-adhd

```

Only after this command does the assistant apply the skill's rules, such as restructuring responses to prioritize actionable items and reduce cognitive load. Without this explicit call, the skill's metadata rules remain inactive regardless of conversation content.

## Runtime Support and Compatibility

According to the installation documentation in [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) (lines 322–328), several major AI coding runtimes respect the `disable-model-invocation` flag:

- **Claude Code**: Honors the flag and disables automatic skill detection
- **Qwen Code**: Respects the metadata field, requiring explicit skill calls  
- **Copilot**: Follows the `disable-model-invocation: true` directive, preventing accidental activation during unrelated coding sessions

These runtimes parse the metadata at initialization and adjust their invocation logic accordingly, ensuring consistent cross-platform behavior for skills that require deliberate engagement.

## Practical Usage Examples

The following scenarios demonstrate how the flag impacts the assistant's behavior during actual conversations.

### When the Skill Is Explicitly Called

When a user invokes the skill directly, the `disable-model-invocation` flag does not prevent activation—it merely ensures the activation was intentional:

```text
User: /i-have-adhd

Assistant: (Now applies ADHD-friendly rules: leads with the next action, 
numbers steps clearly, and uses concise formatting.)

```

### When No Invocation Occurs

Without the explicit command, the skill remains inactive even when the conversation topic seems relevant to the skill's domain:

```text
User: How do I add a new column to my database?

Assistant: (Responds in the default conversational style without 
ADHD-specific formatting, because the skill metadata prevents 
automatic invocation.)

```

If the flag were set to `false`, the assistant might automatically detect the task-related query and apply ADHD-friendly restructuring, potentially disrupting users who prefer standard response formats for that particular question.

## Why This Flag Matters for User Experience

The `disable-model-invocation` flag serves as a safeguard against **accidental skill interference**. By preventing automatic activation, it ensures that specialized formatting rules—such as those designed to reduce cognitive load for users with ADHD—do not unexpectedly alter the structure of unrelated conversations.

This deliberate activation model aligns with ergonomic design principles for developer tools, allowing users to control when they receive specialized assistance rather than having it imposed based on algorithmic pattern detection. Developers implementing similar skills should consider setting this flag to `true` whenever their skill modifies core output behavior in ways that could distract or confuse users who have not requested that specific formatting style.

## Summary

- The `disable-model-invocation` flag is defined in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) and mirrored in [`.cursor/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/.cursor/skills/i-have-adhd/SKILL.md)
- When set to `true`, it prevents automatic skill activation and requires explicit user commands like `/i-have-adhd`
- Supported runtimes including Claude Code, Qwen Code, and Copilot respect this metadata field according to [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md)
- The flag protects conversation flow by ensuring specialized formatting only applies when deliberately requested
- Lines 322–328 of [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) confirm that Copilot specifically waits for explicit invocation when this flag is enabled

## Frequently Asked Questions

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

If `disable-model-invocation` is set to `false`, the runtime may automatically invoke the skill whenever the model detects relevant patterns in the conversation. For the `i-have-adhd` skill, this could cause the assistant to unexpectedly switch to ADHD-friendly formatting during unrelated dialogue, potentially disrupting the user's workflow without explicit consent.

### Which AI runtimes support the disable-model-invocation flag?

According to the source code in `ayghri/i-have-adhd`, Claude Code, Qwen Code, and Copilot all respect the `disable-model-invocation` flag. The [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) file specifically notes that Copilot follows this metadata directive, waiting for explicit skill invocation before applying any specialized behavior rules.

### Where is the disable-model-invocation flag defined in the repository?

The flag is defined at the top of [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) as part of the skill's YAML metadata header. An identical configuration exists in [`.cursor/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/.cursor/skills/i-have-adhd/SKILL.md) to ensure the Cursor runtime processes the same invocation restrictions, maintaining consistent behavior across different development environments.

### Why would a developer set disable-model-invocation to true?

Developers set this flag to `true` when a skill modifies core response formatting or behavior in ways that should not activate automatically. This prevents the skill from interfering with standard conversations, reduces unexpected output changes, and ensures users only experience specialized formatting—such as ADHD-friendly structuring—when they explicitly request it through commands like `/i-have-adhd`.