Avoid duplicate skill lookup for slash-invoked skills with disable-model-invocation
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
Summary
A skill that is explicitly invoked with a slash command can execute and inject its instructions into context, while another lookup path reports Skill not found, creating misleading context noise.
Reproduction
Use a skill with this frontmatter:
---
name: implement
description: "Implement a piece of work based on a spec or set of tickets."
disable-model-invocation: true
---
The local skill is C:\Users\omzig\.copilot\skills\implement\SKILL.md; the relevant setting is line 4: disable-model-invocation: true.
Then run:
/implement #1147
Observed behavior:
- The
/implementworkflow is recognized and its instructions are injected into context. - A separate skill lookup reports:
Skill not found: implement. - The command can continue, but the error is misleading and makes it appear that the skill failed to load.
Environment: Copilot CLI 1.0.80 on Windows.
Expected behavior
disable-model-invocation: true should prevent automatic/model-driven invocation. It should not make an explicit slash-command invocation unavailable. When the explicit command path succeeds, the runtime should not perform a second conflicting lookup or emit Skill not found.
Suggested fix
Distinguish explicit slash-command invocation from automatic skill invocation. Resolve the command/skill once, honor disable-model-invocation only for automatic loading, and suppress the registry error when the explicit command path has already loaded the skill successfully.
This is primarily a context-quality issue: the implementation workflow works, but the duplicate/conflicting lookup adds noise and obscures the actual result.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the explicit slash-command invocation path and the separate automatic skill lookup or registry path, using disable-model-invocation and /implement #1147 as search terms. Reproduce the issue on Copilot CLI 1.0.80, then verify that an explicitly invoked skill executes without a duplicate Skill not found message while automatic invocation remains disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli, developer-experience
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100