Skip to content

feat(skills): preselect installed skills and remove deselected ones#48

Merged
BlackHole1 merged 1 commit into
mainfrom
improve-skills-install-2
Mar 30, 2026
Merged

feat(skills): preselect installed skills and remove deselected ones#48
BlackHole1 merged 1 commit into
mainfrom
improve-skills-install-2

Conversation

@BlackHole1
Copy link
Copy Markdown
Member

The interactive skill picker now preselects skills already installed from the same package. Clearing a preselected skill removes it when the command completes, turning the picker into a reconciliation tool rather than an install-only interface.

Extract TerminalProgressRenderer base class from the update progress reporter and introduce SkillsInstallProgressReporter to show animated spinner progress for both install and removal steps during interactive flows. Non-interactive paths continue to emit plain text output.

The interactive skill picker now preselects skills already installed
from the same package. Clearing a preselected skill removes it when
the command completes, turning the picker into a reconciliation tool
rather than an install-only interface.

Extract TerminalProgressRenderer base class from the update progress
reporter and introduce SkillsInstallProgressReporter to show animated
spinner progress for both install and removal steps during interactive
flows. Non-interactive paths continue to emit plain text output.

Signed-off-by: Kevin Cui <bh@bugs.cc>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 30, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: db52e249-4d36-446e-b4e6-30333f193449

📥 Commits

Reviewing files that changed from the base of the PR and between 0d6d2fd and b99f52c.

📒 Files selected for processing (12)
  • docs/commands.md
  • docs/commands.zh-CN.md
  • src/application/commands/skills/index.test.ts
  • src/application/commands/skills/install-progress.test.ts
  • src/application/commands/skills/install-progress.ts
  • src/application/commands/skills/interactive-prompts.test.ts
  • src/application/commands/skills/interactive-prompts.ts
  • src/application/commands/skills/progress-renderer.ts
  • src/application/commands/skills/registry-skill-install.ts
  • src/application/commands/skills/shared.ts
  • src/application/commands/skills/update-progress.ts
  • src/i18n/catalog.ts

Summary by CodeRabbit

  • New Features

    • Interactive skills picker now allows deselecting previously installed skills to remove them during installation.
    • Pre-selected installed skills appear automatically in the interactive picker for better clarity.
    • Enhanced progress reporting with visual indicators (◆ markers) during skill installation and removal operations.
  • Documentation

    • Updated oo skills install documentation to clarify interactive picker behavior and deselection workflow.

Walkthrough

This PR implements uninstallation of skills through the interactive picker by introducing a new progress rendering infrastructure and enhancing the installation flow. It adds a TerminalProgressRenderer abstract base class for managing terminal spinner output, a new SkillsInstallProgressReporter for showing install/remove progress with formatted status messages, and updates the interactive picker to pre-select already-installed skills. The installRegistrySkills function now resolves both install and uninstall actions based on user selections, executes removals for deselected skills, and displays progress via the new reporter. Documentation and i18n entries are updated to reflect the new behavior.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • PR #41: Continues refinement of the interactive skills picker and registry install flow with related modifications to interactive-prompts and install/remove rendering infrastructure.
  • PR #43: Modifies shared uninstall functions and adjusts uninstall-related behavior with direct code-level changes to uninstallManagedSkill.
  • PR #35: Modifies skills shared code with bundled-skill install/uninstall behavior adjustments that interact with the removal logic introduced here.

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 and usage tips.

@BlackHole1 BlackHole1 merged commit be892c9 into main Mar 30, 2026
4 of 5 checks passed
@BlackHole1 BlackHole1 deleted the improve-skills-install-2 branch March 30, 2026 10:37
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