Explicit slash skill is redundantly reloaded through model registry and fails with “Skill not found”
まだ誰も着手していません。
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
インタラクティブな /skill resolver と、モデル向けの skill() レジストリパスから開始し、agents/openai.yaml のポリシーと関連する issue #4438 に記載された挙動をコンテキストとして使用します。解決後に明示的な invocation がどのように渡されるかを追跡し、その後 allow_implicit_invocation: false によって二度目の検索を発生させることなく skills が自動選択から引き続き除外されることを確認します。/implement 5514365 で再現し、workflow が開始されることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- shell
- 領域
- cli
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 58/100