feat(dashboard): add batch deletion for skills - #9906
Conversation
There was a problem hiding this comment.
Hey - I've reviewed your changes and they look great!
Sourcery assessment
Needs a human reviewer. A confirmed batch operation calls the delete API for every selected skill, so a selection or implementation error can permanently remove multiple stored skills. Reverting the change stops future batch deletions but cannot restore skills already deleted; the impact is bounded to the selected records.
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5a38a2665e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Closes #8857
Problem
The Skills page currently supports deleting only one Skill at a time. Removing many local Skills requires users to repeat the same select, confirm, and delete flow for every item.
Skills provided by plugins or sandbox presets are read-only and must not be exposed to deletion.
Solution
This PR adds an opt-in batch selection mode to the installed Skills list.
It reuses the existing single-Skill deletion API and processes selected Skills sequentially. The list is refreshed once after all deletion attempts finish. This keeps the change frontend-only, avoids introducing a new API, and prevents a burst of concurrent deletion requests.
Failed deletions do not stop the remaining operations. Any retryable failed items remain selected after the batch completes.
Changes
Testing
Automated verification:
Results:
Covered scenarios:
Manual verification was also completed against an Ubuntu Docker deployment:
Screenshots
Batch selection
Deletion confirmation
Notes for Reviewer
isReadOnlySourceSkillrule is reused so batch deletion follows the same source restrictions as single deletion.Checklist
Summary by Sourcery
Enable safe batch deletion of locally installed Skills from the Dashboard while preserving read-only protections and existing deletion behavior.
New Features:
Enhancements:
Tests:
Chores: