Skip to content

feat(copilot): add --no-model-invocation integration option - #5118

Open
echarrod wants to merge 2 commits into
github:mainfrom
echarrod:feat/2654-copilot-no-model-invocation
Open

echarrod wants to merge 2 commits into
github:mainfrom
echarrod:feat/2654-copilot-no-model-invocation

Conversation

@echarrod

@echarrod echarrod commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Description

Refs #2654. Follow-up to #4919 (Claude) and #5116 (Droid).

Adds a Copilot-only integration option:

specify init my-project --integration copilot --integration-options="--no-model-invocation"
  • In the default skills layout it writes disable-model-invocation: true on the core speckit-* command skills, including preset overrides of them. VS Code's agent skills docs say this requires manual invocation through the / slash command only. The default is unchanged (the key is omitted, which VS Code treats as false).
  • Extension skills stay model-invocable, because mandatory hooks such as git's speckit.git.feature need the model to invoke them.
  • The option persists through integration.json, so specify integration upgrade copilot reapplies it.

Differences from Droid:

  • Copilot has two layouts. Under --commands the files are .agent.md and .prompt.md, not skills, so the option is ignored and no flag is written.
  • Only the VS Code docs list the field; GitHub's Copilot CLI skills docs do not. In a manual check with Copilot CLI 1.0.70 the model called its skill tool for speckit-specify without the flag and did not with it, and an explicit /speckit-specify still ran. With the flag the model could still read the skill's SKILL.md as a plain file, so it is not a hard block. Neither source says whether a flagged skill keeps its description out of the model's context, so the context-budget benefit from Allow opting out of model invocation for installed skills (large monorepo skill-budget pain) #2654 is unverified.
  • Copilot is not multi_install_safe; the existing multi-install note is unchanged.
  • The frontmatter injection preserves CRLF line endings, as Claude's does.
  • Copilot already has other options, so the docs add a section rather than editing a "no options" line.

Only the Copilot package, its tests and docs/integrations/copilot.md change; no shared base.py change.

AI Disclosure

  • I did not use AI assistance for this contribution
  • I did use AI assistance (fill in the disclosure below)

AI disclosure: Written for @echarrod by Claude Code (claude-sonnet-5-5) running autonomously. It wrote the code, tests and docs, ran the test suite and an automated /code-review medium. @echarrod reviewed it before marking it ready.

`specify init --integration copilot --integration-options="--no-model-invocation"`
writes `disable-model-invocation: true` on the core command skills in the
skills layout (github#2654). VS Code documents the field as requiring manual `/`
invocation; Copilot CLI docs do not list it. The default is unchanged, the
option persists through integration.json so `integration upgrade` reapplies
it, extension skills stay model-invocable, and `--commands` ignores it.

Confined to the Copilot integration, its tests and docs.

Assisted-by: Claude Code (claude-sonnet-5-5)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XhaPZg7kBwheHtH9wf2AZv
@echarrod
echarrod requested a review from mnriem as a code owner October 25, 2026 18:41
Assisted-by: Claude Code (claude-sonnet-5-5)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XhaPZg7kBwheHtH9wf2AZv
@mnriem mnriem added the triage-nice-to-have Verdict: evidence-backed fix or greenlit feature — land after review label Oct 25, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage-nice-to-have Verdict: evidence-backed fix or greenlit feature — land after review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants