feat(copilot): warn before skills default rollout#3256
Conversation
|
Thanks for tackling this, @WOLIKIMCHENG. Defaulting Copilot to skills mode is a reasonable long-term direction, but I'd like to push back on both the rollout and the justification. 1. Drop "Fixes #865" — this PR doesn't fix it. 2. The legacy mode becomes unreachable, not just non-default. 3. This needs a deprecation cycle.
So this PR shouldn't merge the flip yet — let's split it into "add deprecation warning now" and "flip default later." 4. Add an explicit |
|
Thanks for the detailed guidance. That makes sense. I revised the PR to remove the default flip and keep the current markdown layout as the default. The PR now only adds a deprecation warning for default Copilot legacy markdown setup and points users to I also removed the |
There was a problem hiding this comment.
Pull request overview
Adds a user-visible warning when Copilot is initialized in the legacy “.agent.md + .prompt.md” default mode, nudging users to opt into --skills ahead of an eventual default switch.
Changes:
- Emit a
UserWarningduring Copilot setup when--skillswas not provided (legacy default path). - Add direct integration-level tests verifying the warning behavior (warns in default mode, no warning in skills mode).
- Add CLI init tests verifying the same warning behavior through
specify init.
Show a summary per file
| File | Description |
|---|---|
| tests/integrations/test_integration_copilot.py | Adds unit + CLI coverage around the new deprecation warning behavior for default vs --skills Copilot setup. |
| src/specify_cli/integrations/copilot/init.py | Introduces _warn_legacy_markdown_default() and triggers it only for default (non-skills) Copilot scaffolding. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 1
- Review effort level: Low
mnriem
left a comment
There was a problem hiding this comment.
Please address Copilot feedback
|
Addressed the Copilot feedback by changing the skills-mode warning assertion to check only that the legacy markdown deprecation warning is absent. The focused Copilot integration test file passes locally. |
#3313) * docs: document copilot skills mode (--skills) and markdown deprecation as of #3256 (v0.12.3) the copilot integration supports a skills mode via `--integration-options "--skills"`, and installing without it warns that the legacy markdown default is being phased out. this was undocumented: - the copilot row in the supported-agents table had an empty notes cell while other skills-capable agents describe their behavior there. - `--skills` was missing from the integration-specific options table (only generic and kimi were listed). fill both. wording matches the code: skills scaffold as speckit-<name>/SKILL.md under .github/skills/ and are invoked as /speckit-<name>; without the flag the install emits the deprecation warning from _warn_legacy_markdown_default(). fixes #3300 * docs: describe copilot default as legacy markdown mode (.agent.md + .prompt.md) the copilot rows said the default installs .agent.md files, but the default scaffold also writes companion .prompt.md files under .github/prompts/. also reworded to 'legacy markdown mode' to match the deprecation warning users actually see and to avoid ambiguity, since skills are markdown too. * docs: spell out copilot legacy markdown paths and use <command> in copilot rows address the follow-up copilot review: name where the default scaffold writes files (.github/agents/*.agent.md plus .github/prompts/*.prompt.md and a .vscode/settings.json merge), and switch speckit-<name> to speckit-<command> to match the rest of the table. verified all three paths against the copilot integration source. * docs: use --integration-options="..." form in copilot notes cell match the equals form the rest of the doc uses (generic row, the options table, and the install example) so readers don't mistake the quotes for part of the value. addresses copilot review feedback.
Description
Adds a deprecation warning for Copilot's legacy markdown scaffold when users initialize Copilot without
--skills.This keeps the current
.github/agents/*.agent.md+.github/prompts/default behavior intact, while pointing users to opt in early with--integration-options "--skills"before skills mode becomes the default in a future release.Scope of this change:
--skillsinstalls warning-freeTesting
uv run specify --helpFocused validation run:
.venv/bin/python -m pytest tests/integrations/test_integration_copilot.py -q.venv/bin/python -m pytest tests/integrations/test_cli.py -q.venv/bin/python -m pytest tests/integrations/test_integration_subcommand.py -quvx ruff check src/specify_cli/integrations/copilot/__init__.py tests/integrations/test_integration_copilot.pygit diff --checkAll focused checks above passed locally.