What Is the disable-model-invocation Flag and Which Platforms Honor It?
The disable-model-invocation flag is a boolean setting in a skill's YAML front-matter that prevents automatic activation, requiring users to explicitly invoke the skill via commands like /i-have-adhd before its behavior takes effect.
The disable-model-invocation flag controls how AI coding assistants register and activate skills in the ayghri/i-have-adhd repository. This metadata field determines whether the runtime automatically applies the skill's behavior to every interaction or waits for an explicit user command.
What Is the disable-model-invocation Flag?
The disable-model-invocation flag resides in the YAML front-matter block at the top of a skill's SKILL.md file. When set to true, it instructs the runtime that the skill must not be invoked automatically. Instead, the skill's rules and modifications only activate after the user explicitly calls it (for example, by typing /i-have-adhd).
This mechanism is essential for skills that modify response style, enforce long-running policies, or alter the assistant's default behavior. Without this flag, harnesses might activate the skill on every request, interfering with standard operations.
In skills/i-have-adhd/SKILL.md, the flag appears as:
---
name: i-have-adhd
description: "Shape output for a reader with ADHD …"
disable-model-invocation: true
license: MIT
---
Platforms That Honor the disable-model-invocation Flag
Not all AI runtimes recognize this metadata field. According to the source code and installation documentation in INSTALL.md, the following platforms explicitly respect the flag.
Claude Code and Qwen Code
Claude Code reads the disable-model-invocation: true setting from SKILL.md and defers skill execution until explicitly invoked. Qwen Code mirrors this behavior, also waiting for explicit user commands rather than auto-enabling the skill at startup.
GitHub Copilot
The installation guide at INSTALL.md (lines 263-264) confirms that GitHub Copilot follows the flag, remaining inactive until the user explicitly invokes the skill via the defined command.
Generic and Other Runtimes
Other harnesses or generic runtimes may load skill descriptions at startup and automatically enable them by default. These platforms do not honor the disable-model-invocation flag unless explicitly programmed to check for it in the YAML front-matter.
OpenAI Codex Exception
For the Codex runtime, the equivalent control mechanism differs. Instead of using disable-model-invocation, Codex uses policy.allow_implicit_invocation: false defined in agents/openai.yaml (lines 724-726). This achieves similar behavior through a different configuration schema.
How Runtime Harnesses Process the Flag
A runtime that respects the flag typically implements logic similar to this Python pseudo-code:
def load_skill(skill_path):
frontmatter = read_frontmatter(skill_path)
if frontmatter.get('disable-model-invocation'):
# Do not register the skill for automatic calls
register_explicit_invocation(skill_path)
else:
# Normal automatic registration
register_implicit_invocation(skill_path)
The function checks the disable-model-invocation key in the parsed YAML. If present and true, the skill registers only for explicit invocation patterns (such as slash commands), bypassing the default automatic registration pipeline.
Summary
- The
disable-model-invocationflag is defined in the YAML front-matter ofSKILL.mdfiles within theayghri/i-have-adhdrepository. - When set to
true, it prevents automatic skill activation, requiring explicit user invocation (e.g.,/i-have-adhd). - Claude Code, Qwen Code, and GitHub Copilot explicitly honor this flag according to
INSTALL.md. - Other runtimes may ignore the flag unless specifically programmed to recognize it.
- OpenAI Codex uses a different mechanism (
policy.allow_implicit_invocationinagents/openai.yaml) rather than thedisable-model-invocationflag.
Frequently Asked Questions
What happens if I omit the disable-model-invocation flag in my skill?
If the flag is absent or set to false, the runtime assumes implicit invocation is allowed. The skill may activate automatically on every request, applying its behavior globally rather than waiting for an explicit user command. This can interfere with normal assistant operations if the skill significantly alters output formatting or response style.
How do I invoke a skill that has disable-model-invocation set to true?
Users must trigger the skill explicitly using its defined invocation command. For the i-have-adhd skill in the ayghri/i-have-adhd repository, this means typing /i-have-adhd in the interface. The skill's rules and modifications only take effect after this explicit call, not during standard automatic processing.
Does GitHub Copilot support the disable-model-invocation flag?
Yes. According to the documentation in INSTALL.md (lines 263-264), GitHub Copilot respects the disable-model-invocation flag and will not activate the skill automatically. The skill remains dormant until the user explicitly invokes it through the appropriate slash command or interface trigger.
Why doesn't OpenAI Codex use the disable-model-invocation flag?
OpenAI Codex implements access control through a different configuration schema. Instead of the front-matter flag, Codex uses policy.allow_implicit_invocation: false in the agents/openai.yaml file (lines 724-726). This setting achieves the same functional result—preventing automatic skill activation—but uses a platform-specific parameter rather than the standard disable-model-invocation metadata field.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →