Per-tool skill dirs are gitignored and materialised at bootstrap¶
Status: superseded by 0004 — skills and subagents are no longer vendored in this repo; they ship as a repository plugin and link-skills.sh has been removed.
The template previously committed ~400 symlinks into .claude/skills/, .codex/skills/, and .kilo/skills/ using absolute paths, meaning every symlink broke on any machine other than the author's. Two options were considered: (a) switch to relative symlinks and keep committing them, or (b) gitignore the per-tool dirs entirely and materialise them via link-skills.sh on first clone. We chose (b) because it eliminates the category of defect structurally — no symlink is ever committed, so there is nothing to break — and drops the tracked file count by ~86%, which is a meaningful improvement for clone speed and git noise. It also sets up cleanly for the future plugin extraction (P1) where the per-tool dirs will be populated by a harness plugin installer rather than a local script.
Consequences¶
link-skills.shmust be run once per clone (documented in bootstrap and README).- CI runs
link-skills.shbefore any step that needs skills. scripts/doctor.shchecks that.claude/skills/is populated and matchesskills/skills/.