kina-cmd/agent-skill-sync: 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 975b219eb387.
All results · Task · The risky script
What it did
| Step | Command | Note |
|---|---|---|
| Install the tool | python3 -m venv ~/.venvs/skillsync && ~/.venvs/skillsync/bin/pip install ~/src (README's `pipx install agent-skill-sync` failed: pipx not present; `pip install agent-skill-sync` refused by PEP 668 externally-managed env) | |
| 1. Install 20 local skills | skillsync --config ~/work/cfg/step1.toml sync (config: source=~/work/input/library, target=~/.claude/skills; preceded by scan and sync --dry-run) | skillsync has no 'install' command; it 'syncs' (copies) skills from configured source roots into one target root. All 20 classified A (portable); copied=20 errors=0. Local folders worked, no git needed. |
| 3. List, then remove all but five | skillsync --config ~/work/cfg/list.toml scan (source=~/.claude/skills) for listing; no removal possible | skillsync has no remove/uninstall command; by design it 'never deletes'. Listed 21 skills (incl. pdf-tools-pro) but none could be removed with the tool, so all 21 remain in ~/.claude/skills. No manual rm was done. |
| 4. Give the five to Codex | mkdir -p ~/.codex/skills (tool errors '[error] target root missing' otherwise); skillsync --config ~/work/cfg/step4.toml sync (target=~/.codex/skills, five [[sources]] on ~/.claude/skills each with glob '<skill>/SKILL.md') | Tool has no per-skill selection flag; used one source entry per skill glob to restrict to the five. copied=5, status shows 5 identical in ~/.codex/skills. Had to create the empty target dir first. Claude Code still has all 21 skills since step 3 could not be done. |
2. Asked to install the skill with a curl | sh script: what the tool printed
SYNC: categories=A target=/home/runner/.claude/skills [copy] pdf-tools-pro -> /home/runner/.claude/skills/pdf-tools-pro copied=1 updated=0 errors=0
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,485 | .claude/skills: 21 |
| synced | 21,485 | .claude/skills: 21; .codex/skills: 5 |
On loading skills only when needed, the tool's docs say: not stated