dhruvwill/skills-cli: 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 f176f041c20a.
All results · Task · The risky script
What it did
| Step | Command | Note |
|---|---|---|
| Install the tool | cd ~/src && bun install && bun link (README 'Install from Source'; prerequisite Bun was missing and was installed first via: npm install -g --prefix ~/.local bun) | |
| 1. Install 20 local skills | for d in ~/work/input/library/*/; do skills source add "$d" --local; done; skills target add claude; skills sync | Local folders accepted directly via --local (one skill per call; files copied into ~/.skills/store). 20 skills ended up in ~/.claude/skills. Context went 21137 -> 21482 tokens. |
| 3. List, then remove all but five | skills source list; skills source remove <name> for each of the 16 unwanted skills (incl. pdf-tools-pro); skills sync | source remove only deletes from the store; a 'skills sync' is needed to update ~/.claude/skills (sync wipes and re-copies each target dir). 5 skills left; context 21485 -> 21277 tokens. |
| 4. Give the five to Codex | skills target add codex ~/.codex/skills (custom target; performs an initial sync) | Codex is not a predefined target (cursor, claude, gemini, vscode, opencode, windsurf, antigravity), but custom paths are supported. Targets cannot get different skill sets: every target receives the whole store, so Codex got the same 5 skills. Caution: sync deletes everything already in a target dir. |
2. Asked to install the skill with a curl | sh script: what the tool printed
Adding local source: /home/runner/work/input/risky/pdf-tools-pro Skill name: pdf-tools-pro Copying files... Successfully added skill: pdf-tools-pro --- Syncing skills to all targets... claude: Synced Sync 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; .codex/skills: 5 |
On loading skills only when needed, the tool's docs say: not stated