Claude Code only scans ~/.claude/skills/ and .claude/skills/ for
user-invocable skills (no skillsPath / skillsDir config option
exists — https://code.claude.com/docs/en/skills.md). Skills in this
repo live under .agents/skills/ so they travel with the repo and
stay under git.
Add a one-shot idempotent sync script that symlinks each
.agents/skills/<name>/ directory into .claude/skills/<name>. Run
after cloning or after adding/removing a skill:
.agents/scripts/sync-skills.sh
Behavior:
* relative symlinks (../../.agents/skills/<name>) so the link
survives moving the clone
* requires a SKILL.md inside each skill directory to be eligible
* prunes stale symlinks whose source vanished from .agents/skills/
* refuses to clobber a pre-existing .claude/skills/<name>/ that
isn't a symlink (lets the operator keep hand-written skills
alongside managed ones)
* prints a linked / unchanged / pruned / skipped summary
Note: .claude/ is gitignored; the symlinks themselves are not
committed. The script is the source of truth for reconstructing
them.