Skip to content

feat: Support disable-model-invocation field in skill frontmatter #11972

Description

@rian-dolphin

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Claude Code supports a disable-model-invocation: true frontmatter field in SKILL.md files that prevents skills from being loaded into the model's context while still allowing users to invoke them via slash commands.

Currently, OpenCode appears to ignore this field. Skills with disable-model-invocation: true are still visible to the model.

Steps to reproduce:

  1. Create a skill with disable-model-invocation: true in the frontmatter
  2. Start a new OpenCode chat
  3. Ask the model what skills it has access to
  4. Observe that the skill appears in the list, even though it shouldn't be visible to the model

Use case

When working with many skills (either project-specific or in a global user config), loading all skill names and descriptions into every chat consumes context unnecessarily. Some skills are better suited for direct user invocation rather than model discovery—for example, utility scripts or workflows that the user knows when to trigger.

Supporting disable-model-invocation would allow users to retain access to these skills via /skill-name while keeping the model's context cleaner.

Note on scope

I understand this is a Claude Code-specific feature, and OpenCode isn't aiming for full feature parity. If this falls outside the project's goals, that's completely understandable—just wanted to surface the use case in case it aligns with the direction you're heading.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions