Organize Skills
Audit and reorganize a Claude Code / Codex skill library, enforce a naming convention...
Install
npx skills add OpenClaudia/openclaudia-skills --skill organize-skills -g -a claude-code -y- Repository
- OpenClaudia/openclaudia-skills724
- Category
- AI and agents
- Updated
- 7d ago
- License
- MIT
- Context cost
- Lightabout 885 tokens
- Runs scripts
- No, instructions only
What it does
Audit and reorganize a Claude Code / Codex skill library, enforce a naming convention (prefix each skill by which backend or product it touches), rename skills consistently, fix the symlinks and cross-references a rename breaks, and report broken symlinks and stale name references. Use when the user says "organize my skills", "rename these skills", "clean up the skill library", "enforce a skill naming convention", or "fix broken skill symlinks".
Organize Skills
Reorganize a skill library so names encode what each skill actually touches, and keep symlinks and cross-references consistent when you rename.
Many setups keep ONE canonical skill library in a shared dir and symlink it into each tool's hub
(e.g. ~/.claude/skills/, ~/.codex/skills/). Some skills live inside a project repo and are
symlinked into the hub. A single rename can therefore touch several symlinks plus every doc that
references the old name, that fan-out is what this skill manages.
Step 1, Inventory
List every skill and where it really lives. A hub entry is usually a symlink to the canonical dir:
for hub in <hub-1> <hub-2>; do
echo "== $hub =="; ls -la "$hub"
done
Resolve each name to its real directory with readlink -f. Note which skills live in a project repo
versus the shared library, repo-resident renames must be git mv in that repo.
Step 2, Classify by backend (the naming rule)
The convention: the prefix names the backend the skill depends on, decided by what it actually calls, not by its topic. Grep each skill dir for the tell-tale dependency:
grep -rlE "<api-host>/api|/api/<x>|<db-client>|<AUTH_TOKEN_NAME>" "$skill_dir"
- Calls a specific product's API / database → that product's prefix (e.g.
acme-*). - Pure-local (browser automation, offline SOP, file processing, no backend) → a generic/local prefix.
- Keep a topical infix when a family is large (e.g.
acme-seo-*vsacme-reddit-*) so related skills sort together.
State the classification back to the user before renaming. A skill that feels product-specific but makes zero backend calls belongs in the local bucket, and vice versa, go by the dependency.
Step 3, Rename (and fix everything a rename breaks)
For each rename OLD → NEW:

