fix(cli): skill uninstall --case skips a symlinked skills dir instead of exiting 1 (#613 merge-time fix)

A shared-skills layout (`.agents/skills -> ../.claude/skills`) made
`codeman skill uninstall --case` report the symlink refusal as a failure and
exit 1 on every run, even with nothing left to remove. The refusal itself is
kept (nothing is written through the link); it is now reported as a skipped
directory.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Codeman maintainer committed 2026-10-13 17:44:07 +02:00
1 parent 50a1b58d2b
commit e65b4f35e6
1 file changed
+6
+6
View File
@@ -298,6 +298,12 @@ skillCmd
const target = resolveSkillTarget({ case: options.case, skillDir }); const target = resolveSkillTarget({ case: options.case, skillDir });
const result = await removeAgentSkillFrom(target); const result = await removeAgentSkillFrom(target);
if (result === 'absent') continue; if (result === 'absent') continue;
if (result === 'symlink') {
// A shared-skills layout (`.agents/skills -> ../.claude/skills`) is deliberate:
// skip it rather than fail the whole sweep.
console.log(palette.warn(`- Skipped ${target}: it (or its parent) is a symlink, so it was not touched`));
continue;
}
removedAny = true; removedAny = true;
const message = describeSkillResult(result, target); const message = describeSkillResult(result, target);
if (message.ok) console.log(palette.ok(`✓ ${message.text}`)); if (message.ok) console.log(palette.ok(`✓ ${message.text}`));