Skip to content

Add the u key, skillz upgrade, and an installers list on install plans - #44

Open
archae0pteryx wants to merge 1 commit into
mainfrom
feat/upgrade-update-key-installers
Open

archae0pteryx wants to merge 1 commit into
mainfrom
feat/upgrade-update-key-installers

Conversation

@archae0pteryx

Copy link
Copy Markdown
Contributor

What

Three related changes to updating and installing plugins.

u in the plugins list (skillz list): updates the installed package under the cursor through the existing update change (plan, progress, result). It works in the project list and in list -g. The user's rows below the divider stay display-only.

skillz upgrade: updates every Claude and Codex plugin and marketplace, in the project (-p DIR) and at user level, that has something newer. -y skips the questions and --dry-run shows the plans. A plugin counts as current when its marketplace is. UpdateCheck gains can_tell, so what the check cannot judge (every Codex item today) is always updated; Codex's own commands do nothing when there is nothing new. Each level has its own plan, and a failure in one does not stop the other.

Installers list on install plans: the plan starts with claude, codex and npx as boxes, and every box checked runs its own installer.

  • claude and codex start checked. npx starts unchecked, except for a package of skills with no plugin, where nothing else could install it.
  • From skillz list, a package's skills install with one npx skills run for the whole source (--skill '*'), not one run per skill. Its skill entries are no longer installed a second time next to its plugin. app::route holds the routing.
  • skillz install gets --npx, re-plans when the boxes change, and does not re-ask the plugin or skill pickers (install::tools). --skill tdd still installs by name; library install still installs the exact entries picked.
  • A source with no plugin for an agent still falls back to npx skills as before. The npx box then shows checked, and unchecking it leaves that agent out.

Review notes

  • Behavior change in install planning and a trait change (UpdateCheck::can_tell), so this wants an independent review before merge.
  • Not covered by a real-terminal run: the new list rows and plan boxes are exercised through key and render tests only. skillz upgrade --dry-run was run against a copy of a real ~/.claude and ~/.codex.
  • Codex project-scope plugins are still not updated: the existing Codex update steps only handle user-level installs.

Validation

task dev, task test, cargo fmt --all --check, cargo clippy --workspace --all-targets -- -D warnings pass. Line coverage 92.5%.

u in the plugins list updates the package under the cursor through the
existing update change: plan, progress, result.

skillz upgrade updates every Claude and Codex plugin and marketplace, in the
project and at user level, that the check does not show current. UpdateCheck
gains can_tell so what cannot be checked (Codex) is always updated.

An install plan now lists claude, codex and npx as boxes, and every box
checked runs its own installer. From the list, a package's skills install with
one npx run for the whole source instead of one per skill, and are no longer
installed a second time next to the package's plugin. skillz install gets
--npx, re-plans when the boxes change, and does not re-ask the pickers.
@coderabbitai

coderabbitai Bot commented Oct 28, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one): 1
  • needs-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

1 participant