skeleton: plugin layout + docs, skill/agent migration deferred to iter 1
Establishes the repository structure for the skills plugin: - README + INSTALL describing the two-layer split (plugin mechanics vs per-project profile) - docs/design, profile-schema, pipeline, agent-template covering the universal discipline constants and the profile slot model - templates/project-profile.yml as a copy-and-fill starting point - templates/CLAUDE.md.fragment with the baseline orchestrator rules a project can import - install.sh / uninstall.sh wiring skills/ + agents/ into ~/.claude/ via idempotent symlinks - skills/ and agents/ directories empty except for migration READMEs; the actual SKILL bodies and agent files migrate from ~/dev/ailang/skills/ in the next iteration. No skill or agent runs yet — this commit only stands up the structure and documents the substitution model.
This commit is contained in:
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
# Uninstall the skills plugin from ~/.claude/.
|
||||
#
|
||||
# Removes only the symlinks that point into this repo. Other
|
||||
# entries under ~/.claude/skills/ and ~/.claude/agents/ are left
|
||||
# alone.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
unlink_pointing_here() {
|
||||
local dir="$1"
|
||||
[ -d "$dir" ] || return 0
|
||||
for entry in "$dir"/*; do
|
||||
[ -L "$entry" ] || continue
|
||||
target="$(readlink "$entry")"
|
||||
case "$target" in
|
||||
"$REPO_DIR"/*)
|
||||
rm "$entry"
|
||||
echo "removed $entry"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
unlink_pointing_here "$HOME/.claude/skills"
|
||||
unlink_pointing_here "$HOME/.claude/agents"
|
||||
|
||||
echo "Uninstall complete."
|
||||
Reference in New Issue
Block a user