fix(toggle-external): handle source-only state in enable
`enable <tool>` for npx/external skills (darwin-skill, find-skills, emil-design-eng) only handled two states: symlink in skills-disabled/ (move) and symlink in skills/ (already enabled). Missed the state right after `make plugin` where the source dir exists at ~/.agents/skills/<tool> but no symlink has been created yet — first run errored "not installed — run: make plugin" misleadingly. Add a third branch: when the resolved source dir exists, create the symlink in place. Resolve source path per tool (skills-external for emil-design-eng, ~/.agents/skills for darwin-skill/find-skills). Error message now names the path checked so the caller can verify install vs symlink state without rereading the script. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
b2a5b5a602
commit
4535cce700
@ -159,14 +159,22 @@ enable_tool() {
|
||||
fi
|
||||
;;
|
||||
emil-design-eng|darwin-skill|find-skills)
|
||||
local src
|
||||
case "$tool" in
|
||||
emil-design-eng) src="$REPO/skills-external/$tool" ;;
|
||||
darwin-skill|find-skills) src="$HOME/.agents/skills/$tool" ;;
|
||||
esac
|
||||
if [ -e "$DISABLED_DIR/$tool" ]; then
|
||||
rm -rf "${SKILLS_DIR:?}/${tool:?}"
|
||||
mv "$DISABLED_DIR/$tool" "$SKILLS_DIR/$tool"
|
||||
ok "$tool enabled"
|
||||
elif [ -e "$SKILLS_DIR/$tool" ]; then
|
||||
warn "$tool already enabled"
|
||||
elif [ -d "$src" ]; then
|
||||
ln -sf "$src" "$SKILLS_DIR/$tool"
|
||||
ok "$tool enabled (symlink created → $src)"
|
||||
else
|
||||
err "$tool not installed — run: make plugin"
|
||||
err "$tool not installed at $src — run: make plugin"
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user