Repository navigation
fix(skills): name the remove command when install refuses a duplicate - #12711
redswimmer wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 WalkthroughWalkthroughThe canonical skill-add command accepts an optional removal command and includes it in the refusal when a skill destination already exists. The sandbox action supplies a sandbox-scoped removal command. ChangesCanonical skill installation
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Low Suggested reviewers: Merge Risk: ⚪ Minimal · up to The change provides sandbox-scoped removal guidance while refusing to replace an existing canonical skill. The inspected quoting and refusal path reveal no actionable merge-blocking risk. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Andrew Savala <andrew@redswimmer.com>
972dcf4 to
f573e14
Compare
Outcome
skill installrefuses to replace a skill that is already in the canonical writable root. Before, the refusal didn't say how to recover. Now it ends with the exact command to run, for exampleRemove it first with: nemoclaw alpha skill remove code-review.Reason
Agents without a native add command, such as Hermes, use the canonical-root fallback. When a skill was already installed, users had to look up or guess the supported removal command.
Related issues
Fixes #12668
Changes
buildCanonicalSkillAddCommandtakes an optional remove command and prints it in the refusal. It is passed toprintfas a quoted argument, not interpolated into the format string.installSandboxSkillpasses<cli> <sandbox> skill remove <name>.Verification
skill installonmainexited 1 with the issue's message. On this branch it exited 1 and printedRemove it first with: nemoclaw skilltest skill remove code-review. Running that command and then installing again exited 0.npx vitest run src/lib/skill-install.test.ts src/lib/actions/sandbox/skill-install.test.tspassed (48 tests). Both new(#12668)tests fail without the fix.npm run test:titles:check,npm run source-shape:check,tsc -p tsconfig.cli.json, oxfmt and oxlint all passed.Review notes
The local
pi-qualification-receipt-refreshandhadolinthooks also fail on unmodifiedmain, so they were skipped for this push. This change touches neither area.Signed-off-by: Andrew Savala andrew@redswimmer.com
Summary by CodeRabbit