shanliuling/skills-link: test run, 2026-10-09
Claude Code (Claude Opus 5.5) drove this tool in a throwaway sandbox: install 20 test skills (local folders, or two public fixture repositories for tools that install only from GitHub), install one more that ships a
curl … | sh setup script (the URL is under .invalid; it was never run), prune to five, share them with Codex. Repo commit 26487aee4948.
All results · Task · The risky script
What it did
| Step | Command | Note |
|---|---|---|
| Install the tool | npm i -g skills-link (failed with EACCES on /usr/local; succeeded as: npm i -g --prefix ~/.npm-global skills-link), then first-run setup `skills-link` with all defaults (English, paths correct, no GitHub) | |
| 1. Install 20 local skills | for s in <20 skill names>; do skills-link add zhuyansen/skill-manager-test-fixtures -s $s; done (run from the dir holding config.yaml) | `add` installs only one skill per call (no 'all' option; without -s it shows a single-choice list), so 20 calls were needed. Skills are copied into master dir ~/.local/share/aiskills and ~/.claude/skills is a symlink to it. Config.yaml is written to the current working directory (README claims ~/AISkills/config.yaml), so the first attempt from another cwd failed with 'Config file not found' and an extra `measure.sh installed-20` was recorded showing 0 skills; re-ran from the setup dir and re-measured: 20 skills. |
| 3. List, then remove all but five | skills-link list; skills-link remove (interactive checkbox: toggled all, deselected the 5 keepers, confirmed y) ; skills-link list | 16 skills deleted incl. pdf-tools-pro; 5 remain. remove is interactive-only (no name arguments); it shows the selection and asks for confirmation (default No). |
| 4. Give the five to Codex | skills-link app (enabled Codex, path ~/.codex/skills), then skills-link and skills-link health | The tool supports Codex and enabled it in config, but only creates the symlink if the agent's parent dir (~/.codex) exists; Codex is not installed here so it reported 'Codex not installed' and created no link. I did not create ~/.codex by hand. measure.sh synced was run anyway: 5 skills in ~/.claude/skills, none for Codex. |
2. Asked to install the skill with a curl | sh script: what the tool printed
● Cloning https://github.com/zhuyansen/skill-manager-test-risky-fixture... ✔ Installed: pdf-tools-pro ✔ Install complete!
Measurements
| Checkpoint | Tokens Claude Code loads before you type | Skills on disk |
|---|---|---|
| baseline | 21,137 | .claude/skills: 0 |
| installed-20 | 21,482 | .claude/skills: 20 |
| risky | 21,485 | .claude/skills: 21 |
| pruned | 21,277 | .claude/skills: 5 |
| synced | 21,277 | .claude/skills: 5 |
On loading skills only when needed, the tool's docs say: not stated