Skip to content

disable-model-invocation: true in SKILL.md blocks explicit user invocation via $ / Skill tool #341

@axisrow

Description

@axisrow

Problem

When a standalone skill has disable-model-invocation: true in its SKILL.md frontmatter, the skill is completely excluded from the system-reminder's available skills list. This means even when a user explicitly types $skill-name or /skill-name, the model cannot invoke it via the Skill tool because it doesn't appear in the available skills.

Expected Behavior

disable-model-invocation: true should only prevent the model from proactively invoking the skill on its own. When a user explicitly requests a skill via $skill-name, it should still work — the user's intent is clear.

Current Behavior

The flag completely removes the skill from the model's available skills list, making it impossible to invoke in any way (including explicit user request).

Reproduction

  1. Create ~/.claude/skills/my-skill/SKILL.md with:
    ---
    name: my-skill
    description: My test skill
    disable-model-invocation: true
    ---
    # My skill content
  2. In a session, type $my-skill
  3. Model responds: "The skill 'my-skill' is not available"

Suggested Fix

When building the available skills list for the system-reminder, include skills with disable-model-invocation: true but mark them as "user-invocable only". The model should be instructed not to invoke these proactively, but should honor explicit user requests.

Analysis

The skill discovery in cli/src/modules/common/skills.ts returns all skills (no filtering by frontmatter). The filtering by disable-model-invocation happens upstream when generating the system-reminder. The fix should be in the system-reminder generation logic — either:

  1. Include disable-model-invocation skills in the available list with an annotation
  2. Or separate "model-invocable" vs "user-invocable" skill categories in the system-reminder

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions