Explicit slash skill is redundantly reloaded through model registry and fails with “Skill not found”
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
Describe the bug
An explicitly invoked interactive slash skill is successfully resolved and expanded into the conversation, but the assistant then attempts to load the same skill through the model-facing skill() tool. For skills excluded from model invocation, that redundant call fails with Skill not found, and the requested workflow does not start.
This differs from #4438: the interactive /skill resolver succeeds and provides the skill context. The failure happens afterward because the assistant routes the already-resolved explicit invocation back through the model-only registry.
Affected version
GitHub Copilot CLI 1.0.79
Steps to reproduce the behavior
-
Create a personal skill at
%USERPROFILE%\.agents\skills\implement. -
Configure
agents\openai.yaml:interface: display_name: "Implement" short_description: "Build work from a spec or tickets" policy: allow_implicit_invocation: false -
Start an interactive Copilot CLI session using GPT-5.6 Sol.
-
Invoke the skill directly:
/implement 5514365 -
The CLI successfully injects an explicit invocation message and
<skill-context name="implement">containing the skill's base directory and instructions. -
Instead of following that supplied context, the assistant calls the model-facing tool:
skill: "implement" -
The tool returns:
Skill not found: implement
The same session shows that skills with allow_implicit_invocation: false are absent from the model-facing registry, while skills without that policy are present. Skills under %USERPROFILE%\.copilot\skills without this policy are also present.
Expected behavior
Once an interactive slash command has resolved a skill and supplied its <skill-context>, the assistant should execute those instructions directly. It should not call the model-facing skill() tool again.
allow_implicit_invocation: false should prevent automatic model selection without breaking a direct /skill invocation that the CLI has already resolved.
Additional context
- OS: Microsoft Windows 10.0.26200, x64
- PowerShell: 7.6.4
- Model: GPT-5.6 Sol
- Related registry/filtering issue: #4438
Debug logs available on request.
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 at the interactive /skill resolver and the model-facing skill() registry path, using the agents/openai.yaml policy and the behavior described in related issue #4438 as context. Trace how an explicit invocation is passed after resolution, then verify that allow_implicit_invocation: false still excludes skills from automatic selection without causing a second lookup; reproduce with /implement 5514365 to confirm the workflow starts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100