Skip to content

feat(copilot): default integration to skills - #3976

Merged
mnriem merged 2 commits into
github:mainfrom
mnriem:mnriem-deprecate-copilot-commands
Aug 4, 2026
Merged

feat(copilot): default integration to skills#3976
mnriem merged 2 commits into
github:mainfrom
mnriem:mnriem-deprecate-copilot-commands

Conversation

@mnriem

@mnriem mnriem commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Description

Make Copilot use the skills layout by default while keeping the commands layout supported through --integration-options="--commands".

This also preserves historical command-layout projects during use and upgrade, keeps --skills as an explicit migration override, rejects conflicting mode flags before switch teardown, and updates the integration documentation.

Testing

  • Tested locally with uv run specify --help
  • Ran existing tests with the worktree virtualenv (951 passed across integration, lifecycle, extension, preset, and setup-task coverage)
  • Tested with sample projects through the CLI integration tests for default skills, explicit commands, migration, and layout preservation

AI Disclosure

  • I did not use AI assistance for this contribution
  • I did use AI assistance (describe below)

Implemented and reviewed on behalf of @mnriem by GitHub Copilot (model: GPT-5.6 Sol). Copilot generated the code, tests, and documentation changes autonomously; @mnriem directed the behavior and naming decisions.

Make Copilot skills the default while retaining the commands layout behind --integration-options="--commands". Preserve historical project layouts and validate conflicting mode flags before switch teardown.

Assisted-by: GitHub Copilot (model: GPT-5.6 Sol, autonomous)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 930d846b-8921-44ef-9f45-3e77c036b6b5
Copilot AI review requested due to automatic review settings August 3, 2026 22:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Makes Copilot’s skills layout the default while retaining explicit commands mode and preserving existing layouts.

Changes:

  • Adds default skills and --commands mode selection.
  • Preserves historical layouts and validates conflicting flags.
  • Updates tests and integration documentation.
Show a summary per file
File Description
src/specify_cli/integrations/copilot/__init__.py Implements Copilot layout selection.
src/specify_cli/integrations/_migrate_commands.py Validates switch options earlier.
src/specify_cli/integrations/base.py Updates base documentation.
src/specify_cli/integration_runtime.py Documents the new separator default.
tests/integrations/test_integration_copilot.py Tests both Copilot layouts.
tests/integrations/test_integration_subcommand.py Tests switching and upgrades.
tests/integrations/test_integration_state.py Tests persisted separator state.
tests/integrations/test_cli.py Updates CLI expectations.
tests/test_extension_skills.py Updates rescaffolding scenarios.
docs/reference/integrations.md Documents Copilot options.
AGENTS.md Updates contributor guidance.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 11/11 changed files
  • Comments generated: 2
  • Review effort level: Balanced

Comment thread src/specify_cli/integrations/_migrate_commands.py Outdated
Comment thread src/specify_cli/integrations/copilot/__init__.py Outdated
Keep target integration options isolated from fallback state, prefer the Copilot manifest when resolving layouts, and update dispatch coverage for the skills-first default.

Assisted-by: GitHub Copilot (model: GPT-5.6 Sol, autonomous)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 930d846b-8921-44ef-9f45-3e77c036b6b5
Copilot AI review requested due to automatic review settings August 3, 2026 22:43
@mnriem

mnriem commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

Addressed both review findings in 6e26a2bc: preserved target --commands options across multi-integration fallback handling, and made the Copilot manifest authoritative over stray layout artifacts. Updated the commands dispatch test for the new default; uvx ruff@0.15.0 check src tests and the full uv run pytest suite (6,284 passed, 8 skipped) complete successfully.\n\nPosted on behalf of @mnriem by GitHub Copilot (model: GPT-5.6 Sol).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review details

  • Files reviewed: 12/12 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@mnriem
mnriem merged commit 0fbd99d into github:main Aug 4, 2026
14 checks passed
@mnriem
mnriem deleted the mnriem-deprecate-copilot-commands branch August 4, 2026 11:17
kanfil added a commit to tikalk/agentic-sdlc-spec-kit that referenced this pull request Aug 5, 2026
Upstream merge (ab468c4..03d71b3): Copilot skills-default flip (github#3976),
events context injection for opencode + JSON-envelope hooks (github#3934, by fork
maintainer upstream), non-UTF-8/hardening fixes (github#3955/github#3957/github#3960/github#3962/
github#3963/github#3980), community catalog additions (github#3981/github#3982/github#3983), docs (github#3985/
github#3987).

5 conflicts resolved: AGENTS.md (optional-overrides section + PR-prioritization),
copilot/__init__.py (re-applied fork customizations + prefix-aware
is_skills_mode), test_cli.py/test_integration_copilot.py/test_integration_
subcommand.py (adapted to fork naming for skills-default).

Fork fix: build_command_invocation() bare-name canonicalization before alias
resolution. Ruff clean (ruff@0.15.0). 1375+ tests pass.

Assisted-by: opencode (model: glm-5.2, supervised)
kanfil added a commit to tikalk/agentic-sdlc-spec-kit that referenced this pull request Aug 5, 2026
…tion

Two CI failures from github#3976 copilot skills-default flip:

1. build_command_invocation: only canonicalize truly bare names (no dot).
   "git.commit" is a dotted alias-form name, not bare — prepending speckit.
   made it speckit.git.commit which resolves differently in clean envs (CI
   checkout has no .specify/ → no alias → /speckit-git-commit instead of
   /git-commit). Test documents the contract: "git.commit is not in the alias
   map as a key, so it's always unchanged".

2. test_upgrade_preserves_historical_copilot_commands_without_options:
   fork's _register_model_invocation_skills (since 0.12.8+adlc6) generates
   .github/skills/quick-* during init for commands-mode agents (agentic-quick
   is preinstalled with model-invocation:true commands). These skills exist
   before the upgrade runs — not an upgrade bug. Assert the migration signal
   (no command-derived speckit-plan/spec-plan skill dir) instead of skills-dir
   absence.

Assisted-by: opencode (model: glm-5.2, supervised)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants