github / github/copilot-cli

Avoid duplicate skill lookup for slash-invoked skills with disable-model-invocation

オープン
#4,637 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

triage
主要言語
Shell
スター
11.2k
フォーク
1.9k
平均マージ
14時間 16分
マージ済み PR(30日)
6

説明

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 /implement workflow 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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

明示的なスラッシュコマンドの呼び出し経路と、自動的な skill の検索またはレジストリ経路を分けて調査し、検索語として disable-model-invocation/implement #1147 を使用します。Copilot CLI 1.0.80 で issue を再現し、明示的に呼び出した skill が重複した Skill not found メッセージなしで実行される一方、自動呼び出しが無効のままであることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
shell
領域
cli, developer-experience
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
52/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。