activeing123/mcptoon: 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 5f73721cfe4f.
All results · Task · The risky script
What it did
| Step | Command | Note |
|---|---|---|
| Install the tool | python3 -m venv ~/.mcptoon-venv && ~/.mcptoon-venv/bin/pip install ~/src (README's PEP 668 venv option; plain 'pip install -e ~/src' was refused with externally-managed-environment and pipx isn't installed) | |
| 1. Install 20 local skills | mcptoon skills sync ~/work/input/library ~/.claude/skills | mcptoon has no per-skill 'install from path'. Its model is one source catalog synced as symlinks into agent skill folders. 20 symlinks were created in ~/.claude/skills. On first run it also auto-installed its own 'mcptoon' skill there (a real directory), so the measurement showed 21 skills. Token count went from 21137 to 21487. |
| 3. List, then remove all but five | mcptoon skills index; mcptoon skills list; for each unwanted skill: mcptoon skills remove ~/work/input/library <name> (and mcptoon skills remove ~/work/input/risky pdf-tools-pro); then mcptoon skills sync ~/work/input/library ~/.claude/skills and mcptoon skills sync ~/work/input/risky ~/.claude/skills to prune the links | skills list only works after 'skills index'. 'skills remove' works at the source: it moves the skill folder out of the source (here ~/work/input/library and ~/work/input/risky) into ~/work/input/_archive/removed/, and the next sync prunes the links. That means the input material itself was changed, though the move can be undone. I also removed mcptoon's own skill with 'mcptoon skills remove ~/.claude/skills mcptoon', but the tool's first-run self-heal put it back on the next command. Final state: 5 wanted skills plus 'mcptoon' (6 total). Tokens: 21293. |
| 4. Give the five to Codex | mcptoon skills sync ~/work/input/library ~/.codex/skills | 5 symlinks were created in ~/.codex/skills, pointing at the same source. The sync output did not print an added count, so I confirmed with ls. Running sync without an explicit view would also write to ~/.agents, ~/.cursor, ~/.catpaw and ~/.codeium/windsurf skill folders. |
2. Asked to install the skill with a curl | sh script: what the tool printed
mcptoon skills sync
source: /home/runner/work/input/risky (1 skills)
/home/runner/.claude/skills
+1 new, 20 left alone (other manager)
one source, many views — edits at the source are already live.
Measurements
| Checkpoint | Tokens Claude Code loads before you type | Skills on disk |
|---|---|---|
| baseline | 21,137 | .claude/skills: 0 |
| installed-20 | 21,487 | .claude/skills: 21 |
| risky | 21,484 | .claude/skills: 22 |
| pruned | 21,293 | .claude/skills: 6 |
| synced | 21,293 | .claude/skills: 6; .codex/skills: 5 |
On loading skills only when needed, the tool's docs say: README: 'Skills the same way. One resident pointer (39 tokens) plus one lookup (501 tokens) replaces loading every SKILL.md in full' through `mcptoon skills manifest` and `mcptoon skills resolve`. In practice skills synced into ~/.claude/skills are still normal Claude Code skills, so their frontmatter is loaded as usual (measured 21137 -> 21487 tokens with 21 skills). The on-demand path only applies if the agent uses `mcptoon skills resolve` instead of the native skills folder.