Skip to content

fix(extensions): preserve skills mode on update - #5120

Open
mikamikasuki wants to merge 1 commit into
github:mainfrom
mikamikasuki:fix/5105-preserve-skills-on-update
Open

mikamikasuki wants to merge 1 commit into
github:mainfrom
mikamikasuki:fix/5105-preserve-skills-on-update

Conversation

@mikamikasuki

Copy link
Copy Markdown

Closes #5105

Description

Updating an extension while Claude skills mode is enabled must preserve its skill registration without registering command files. This change passes the current skills-mode setting through the update installation paths, so updates keep the skills integration active and do not reintroduce commands.

Testing

  • 231 extension update tests passed.
  • Ruff checks passed.

AI Disclosure

OpenAI Codex (GPT-6 Luna high, autonomous mode) assisted with implementation and regression-test generation. The contributor reviewed and understands the submitted changes.

Keep command registration disabled when updating extensions in AI-skills mode, allowing the update path to continue registering the rendered skill artifact.

Assisted-by: OpenAI Codex (model: GPT-6 Luna high, autonomous)
@mikamikasuki
mikamikasuki requested a review from mnriem as a code owner October 25, 2026 20:00
@mnriem mnriem added the triage-must-have Verdict: high-value, important work for Spec Kit — do first label Oct 25, 2026
@mnriem
mnriem requested a max review from Copilot October 26, 2026 14:12

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.

🟡 Changes recommended

Unresolved skill-registration regressions and incompatible update test doubles block approval.

5 open issues
What changed in this PR

This PR aims to preserve skills-mode extension registration during updates, addressing #5105 by passing the saved project mode through archive installation.

Changes:

  • Adds command-registration control to archive and ZIP installers.
  • Applies the saved skills-mode setting during extension updates.
  • Adds a Claude skills-mode regression test and updates an installer test double.

Verification used source inspection and an isolated signature check; project tests were not run.

AI-generated review: GitHub Copilot, model unknown, automated, for the requester.

File Description
tests/​specify_cli/​extensions/​test_command_update.py Adds skills-mode update coverage and forwards the registration flag in a test double.
src/​specify_cli/​extensions/​_command_update_transaction.py Selects registration behavior from saved skills-mode options.
src/​specify_cli/​extensions/​__init__.py Forwards registration control through archive and ZIP installation.

Review effort: Max

Comment on lines +557 to +559
register_commands=not is_ai_skills_enabled(
_commands.load_init_options(project_root)
),
Comment on lines +557 to +559
register_commands=not is_ai_skills_enabled(
_commands.load_init_options(project_root)
),
Comment on lines +557 to +559
register_commands=not is_ai_skills_enabled(
_commands.load_init_options(project_root)
),
Comment on lines 554 to 561
_ = manager.install_from_zip(
archive_path,
speckit_version,
register_commands=not is_ai_skills_enabled(
_commands.load_init_options(project_root)
),
catalog_name=update.catalog_name,
)

manager = ExtensionManager(project_dir)
v1_dir = self._create_extension_source(tmp_path, "1.0.0")
manager.install_from_directory(v1_dir, "0.1.0", register_commands=False)
@mnriem

mnriem commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

Please address Copilot feedback. If not applicable, please explain why

@mnriem mnriem added the author-awaiting Waiting on author response label Oct 26, 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

author-awaiting Waiting on author response triage-must-have Verdict: high-value, important work for Spec Kit — do first

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: extension update renders the github extension's Claude skill differently from extension add, and its README links a missing file

4 participants