Disable-model-invocation: true completely hides plugin-delivered skills from / command palette

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Skills delivered through Cursor plugins that have disable-model-invocation: true in their YAML frontmatter are completely hidden from the / slash command palette. They cannot be invoked at all — neither automatically by the model nor manually by the user.

According to the docs (Agent Skills | Cursor Docs), this flag should only prevent automatic invocation. The skill should still be available for explicit manual invocation via /skill-name:

“Set disable-model-invocation: true to make a skill behave like a traditional slash command, where it is only included in context when you explicitly type /skill-name in chat.”

This works correctly for repo-level skills (.cursor/skills/), but is broken for plugin-delivered skills (installed via the Cursor marketplace).

Steps to Reproduce

  1. Create two repo-level test skills in .cursor/skills/:

    .cursor/skills/test-with-flag/SKILL.md:

    name: test-with-flag
    description: “Test skill WITH flag.”
    disable-model-invocation: true

    Test With Flag

    .cursor/skills/test-without-flag/SKILL.md:

    name: test-without-flag
    description: “Test skill WITHOUT flag.”

    Test Without Flag

  2. Reload Cursor. Type /test- in Agent chat.
    Result: BOTH skills appear in the / palette. Correct behavior.

  3. Now install any marketplace plugin that has skills with disable-model-invocation: true in the frontmatter alongside skills without it.

  4. Reload Cursor. Type / and search for the skill names.
    Result: Only skills WITHOUT the flag appear. Skills WITH the flag are completely absent and cannot be invoked.

Summary table:

Source Flag set Shows in / palette
Repo-level (.cursor/skills/) true Yes (correct)
Repo-level (.cursor/skills/) false Yes (correct)
Plugin (marketplace) false Yes (correct)
Plugin (marketplace) true No (BUG)

Expected Behavior

Skills with disable-model-invocation: true should appear in the / command palette regardless of whether they come from a repo-level skill or a marketplace plugin. The flag should only control automatic model invocation, not manual user invocation. Behavior should be consistent between repo-level and plugin-delivered skills.

Operating System

MacOS

Version Information

Cursor 2.6.20
b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760
arm64

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hi @Alon_Levy_Shavit ,

Thanks for the detailed report with the comparison table. The distinction between repo-level and plugin-delivered skills is helpful.

Based on my investigation, the expected behavior documented at Agent Skills is that disable-model-invocation: true should prevent automatic invocation while still allowing manual invocation via the / command palette, regardless of whether the skill is repo-level or plugin-delivered. So what you’re seeing with plugin skills being hidden entirely is a bug.

I’ve filed this with our engineering team for investigation. The issue appears to involve how plugin-delivered skills interact with the slash command palette when the disable-model-invocation flag is set.

In the meantime, if you have control over the plugin’s SKILL.md, removing the disable-model-invocation: true flag will restore visibility in the palette (though the skill will then also be auto-invoked by the model). For marketplace-installed plugins, this would require a change from the plugin author.

I’ll update here when we have more information from the engineering team.