### Bug Description When an extension or preset provides a command override, the command is correctly registered in Copilot skills mode. However, running: `specify integration upgrade --force` regenerates .github/skills/*/SKILL.md from the core command templates and removes the command content supplied by installed extensions or presets. Environment • Spec Kit: 0.14.2 • Integration: Copilot • Mode: --integration-options="--skills" • Affected assets: extensions and presets that provide command overrides ### Steps to Reproduce `specify extension add --dev /path/to/extension` # or `specify preset add --dev /path/to/preset` Verify that the generated skill contains custom command content. Then run: `specify integration upgrade --force` Inspect the skill again: `grep -n "custom marker or command-specific text" \ .github/skills/<skill-name>/SKILL.md` The extension- or preset-specific content is gone. ### Expected Behavior `integration upgrade` should preserve the effective command content from all active layers: 1. Project overrides 2. Presets 3. Extensions 4. Core templates Generated SKILL.md files should reflect the highest-priority effective command, including wrap , prepend , and append composition strategies. ### Actual Behavior `integration upgrade` rewrites skills from the core command templates only. This removes active extension and preset command overrides, even though those assets remain installed and registered. The registry may still list the corresponding entries under `registered_skills` , but the generated files no longer contain their effective content. ### Specify CLI Version 0.14.2 ### AI Agent GitHub Copilot ### Operating System macOS 26.5.1 ### Python Version 3.14.6 ### Error Logs ```shell ``` ### Additional Context **Root cause** Extension and preset installation paths perform command registration and skill reconciliation. The integration upgrade path regenerates integration files afterward but does not reconcile the active extension and preset command layers. **Suggested fix** After an integration upgrade regenerates agent skills, run the same reconciliation logic used after extension and preset installation/removal. The reconciliation should: • Resolve the effective command for each registered command. • Apply the complete extension/preset/core composition stack. • Generate the corresponding SKILL.md with the correct integration frontmatter. • Preserve user-managed files according to the existing manifest/hash rules. • Avoid changing unrelated integrations or skills.