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:
-
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:
-
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
Debug logs available on request.
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 withSkill not found, and the requested workflow does not start.This differs from #4438: the interactive
/skillresolver 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:Start an interactive Copilot CLI session using GPT-5.6 Sol.
Invoke the skill directly:
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:
The tool returns:
The same session shows that skills with
allow_implicit_invocation: falseare absent from the model-facing registry, while skills without that policy are present. Skills under%USERPROFILE%\.copilot\skillswithout 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-facingskill()tool again.allow_implicit_invocation: falseshould prevent automatic model selection without breaking a direct/skillinvocation that the CLI has already resolved.Additional context
Debug logs available on request.