How GitHub Copilot's `disable-model-invocation` Prevents Implicit Skill Activation

TLDR: When the disable-model-invocation: true flag appears in a skill's SKILL.md file, GitHub Copilot ignores the skill entirely until the user explicitly invokes it — preventing any implicit or automatic activation when the repository loads.

GitHub Copilot's skill system includes a critical safety mechanism called disable-model-invocation — a front-matter flag in a skill's SKILL.md that controls whether the model can activate a skill on its own. The ayghri/i-have-adhd repository implements this flag to ensure the ADHD-friendly response rules it defines never apply unless the user explicitly requests them. Here's exactly how this works according to the source code and documentation.

What disable-model-invocation Controls in the i-have-adhd Repo

The flag disable-model-invocation: true is declared in the skill's front matter at skills/i-have-adhd/SKILL.md line 4. When set to true, this flag tells Copilot — and other compliant agents — that no model-driven activation is permitted.

The Exact Behavior Difference

Without disable-model-invocation, Copilot might scan a repository's skill and decide it should apply the skill's rules automatically (for example, when it detects ADHD-related keywords or when a user pastes code snippets). With the flag set to true, Copilot is forced into a "deactivated" state until the user signals intent.

How to Explicitly Invoke a Disabled Skill

Invocation becomes manual and explicit. For the i-have-adhd skill, the user calls it with the /i-have-adhd command.

Here's a practical comparison showing the difference in behavior:


# Before invoking — Copilot does nothing special

> npm install

# Normal behavior, no ADHD-style formatting applied

# Explicit invocation — skill becomes active

> /i-have-adhd
> Run `npm install jsonwebtoken`, then edit `src/auth.ts:42`.

As long as the skill stays disabled, Copilot behaves like a regular CLI. After /i-have-adhd executes it applies the ADHD-friendly response rules defined in the skill — but only at the user's command.

Why Copilot Respects disable-model-invocation According to the Documentation

The repository's installation guide ( INSTALL.md ) confirms Copilot's behavior in at least two distinct locations. Here's what the documentation says verbatim:

  • "Copilot respects disable-model‑invocation: nothing applies until you invoke the skill, same as Claude Code" (INSTALL.md, line 264)
  • "Installed, not invoked… Copilot honors disable‑model‑invocation: true in SKILL.md" (INSTALL.md, line 724)

The critical takeaway from these two statements: installation is always on record, but is always inactive until the user explicitly invokes it.

Core Implementation: How Copilot Checks the Front-Matter Flag

Copilot's runtime system runs a check in the SKILL.md front-matter parse. Because the i-have-adhd skill is only set as a descriptor, the model never does implicit activation if the front matter doesn't specify disable-model-invocation: false. The test suite confirms this flag is present and parsed correctly.

Verification: Testing disable-model-invocation in SKILL.md

The repository's test suite proactively verifies the flag exists. The unit test includes the disable-model-invocation: true assertion in the test package front matter, as seen in tests/test_omp_package.py (line 27).

This test does two things at once:

    • It ensures the disable-model-invocation key is physically bound in the skill's own front matter.
    • It protects against a future change that would then automatically activate the skill without user git invocation.

Key Files That Control the Activation

File Why it matters
[skills/i-have-adhd/SKILL.md](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) Declares disable-model-invocation: true in the skill's front matter.
[INSTALL.md](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) Documents Copilot's respect for flag and explicitly their need for user invocation.
[tests/test_omp_package.py](https://github.com/ayghri/i-have-adhd/blob/main/tests/test_omp_package.py) Tests confirm the flag is present in the skill package front matter.

Summary

  • disable-model-invocation: true is the official way to block implicit activation in a Copilot skill.
  • In ayghri/i-have-adhd, it's declared at the top of skills/i-have-adhd/SKILL.md.
  • The flag forces the entire skill to remain dormant until the user triggers it with /i-have-adhd.
  • The INSTALL.md documentation discloses this behavior guides to Copilot.
  • A unit test (tests/test_omp_package.py) verifies the flag is present, protecting the repo from accidental re-enabling.

Frequently Asked Questions

What is disable-model-invocation in GitHub Copilot?

disable-model-invocation is a front-matter flag in a skill's SKILL.md. When set to true, it tells GitHub Copilot not to activate the skill automatically — meaning the model is completely ignored until the user enters explicit command.

Q3: How do I know Copilot isn't applying the skill without my telling it? Q4: In this repository, which file the flag is set?

Defaults could get refined if user annotation is correct.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →