← Claude skills managers

VintLin/skill-flow: 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 443fec81a44b. All results · Task · The risky script

What it did

StepCommandNote
Install the toolnpm install -g --prefix ~/.npm-global skill-flow (README says `npm install -g skill-flow`; that failed with EACCES on /usr/local/lib/node_modules, so the same global install was redirected to a user prefix; skill-flow 1.6.10)
1. Install 20 local skillsskill-flow add ~/work/input/library --agent claude-code --yesLocal folder accepted directly; output: 'Added library@local [library] with 20/20 skills enabled, 1 agent selected.' 20 symlinks created in ~/.claude/skills pointing into ~/.skillflow/source/local/library. Context 21137 -> 21482 tokens.
3. List, then remove all but fiveskill-flow list --ids / list --json; skill-flow uninstall pdf-tools-pro; then printf '{"protocolVersion":"1.0","command":"apply","payload":{"sourceId":"library","draft":{"selectedLeafIds":["library:csv-cleaner","library:sql-explainer","library:git-commit-message","library:pr-description","library:readme-polisher"],"enabledTargets":["claude-code"]}}}' | skill-flow bridge --jsonuninstall/remove only work on whole groups (source IDs). The plain CLI has no non-interactive way to deselect single skills; `config` is an interactive TUI. The documented machine bridge (`bridge --json`, command 'apply') did it. 'skill-flow uninstall pdf-tools-pro@local' failed because the ID is 'pdf-tools-pro'. Result: 5 skills left in ~/.claude/skills; context 21277 tokens. `list` still shows 'library ... 20 skills', meaning skills in the source, not deployed ones.
4. Give the five to CodexSame bridge 'apply' call with enabledTargets ["claude-code","codex"]; retried with SKILL_FLOW_TARGET_CODEX=$HOME/.codex/skillsCodex is one of the tool's 32 built-in targets, but the bridge returned ok:true while every Codex action was 'blocked: Target directory not found. Set codex target env override to enable it.' The tool only installs into an agent folder that already exists, and Codex is not installed here (~/.codex is missing). The env override did not help. I did not create the folder by hand. No skills were given to Codex. Note: the top-level ok:true hides the block, and `list` now shows '2 targets' even though nothing went to Codex. `measure synced` still records 5 skills in ~/.claude/skills (21277 tokens).

2. Asked to install the skill with a curl | sh script: what the tool printed

Preparing source
Source prepared
Applying projections
Added pdf-tools-pro@local [pdf-tools-pro] with 1/1 skills enabled, 1 agent selected.

Measurements

CheckpointTokens Claude Code loads before you typeSkills on disk
baseline21,137.claude/skills: 0
installed-2021,482.claude/skills: 20
risky21,485.claude/skills: 21
pruned21,277.claude/skills: 5
synced21,277.claude/skills: 5

On loading skills only when needed, the tool's docs say: not stated