#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" TARGET="${1:-claude}" case "$TARGET" in claude) SKILLS_DEST="$HOME/.claude/skills" GLOBAL_CONTEXT="$HOME/.claude/CLAUDE.md" ;; pi) SKILLS_DEST="$HOME/.pi/agent/skills" GLOBAL_CONTEXT="$HOME/.pi/agent/AGENTS.md" ;; *) echo "usage: $0 [claude|pi]" >&2 exit 1 ;; esac # Symlink GLOBAL_CONTEXT.md -> target global context file if [ -L "$GLOBAL_CONTEXT" ]; then echo "skipped GLOBAL_CONTEXT.md (already linked)" else ln -s "$SCRIPT_DIR/GLOBAL_CONTEXT.md" "$GLOBAL_CONTEXT" echo "linked GLOBAL_CONTEXT.md -> $GLOBAL_CONTEXT" fi mkdir -p "$SKILLS_DEST" for skill in "$SCRIPT_DIR"/skills/*/; do name="$(basename "$skill")" target="$SKILLS_DEST/$name" if [ -e "$target" ] || [ -L "$target" ]; then echo "skipped $name (already exists)" continue fi ln -s "$skill" "$target" echo "linked $name -> $target" done echo "done. $(ls -1d "$SKILLS_DEST"/*/ 2>/dev/null | wc -l | tr -d ' ') skills installed to $SKILLS_DEST"