← Claude skills managers

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

StepCommandNote
Install the toolpython3 -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 skillsmcptoon skills sync ~/work/input/library ~/.claude/skillsmcptoon 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 fivemcptoon 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 linksskills 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 Codexmcptoon skills sync ~/work/input/library ~/.codex/skills5 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

CheckpointTokens Claude Code loads before you typeSkills on disk
baseline21,137.claude/skills: 0
installed-2021,487.claude/skills: 21
risky21,484.claude/skills: 22
pruned21,293.claude/skills: 6
synced21,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.