Skill Library Organizer

Organize skills

by OpenClaudia · MIT license · ★ 705 on GitHub

Organize skills cover

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…

---
name: organize-skills
description: 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".
user_invocable: true
argument-hint: "[optional: the prefix rule, e.g. 'acme-* if it calls the Acme API, local-* otherwise']"
---

# 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

Overview

Reorganize a skill library so names encode what each skill actually touches, and keep symlinks and cross-references consistent when you rename.

Manual install (npx, ZIP)
Claude Codenpx skills add OpenClaudia/openclaudia-skills --skill organize-skills -g -a claude-code
Claude Code (degit)npx degit OpenClaudia/openclaudia-skills/skills/organize-skills#main ~/.claude/skills/organize-skills
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.1 KB
Read SKILL.md here
OpenClaudia/main1 file shown
SKILL.md
Show the full text88 lines

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-* vs acme-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:

  1. Move the canonical dir.
    • Shared-library-resident: mv <lib>/OLD <lib>/NEW
    • Repo-resident: cd <repo> && git mv <skills-path>/OLD <skills-path>/NEW && git commit
    • Misplaced in the wrong repo? Move it to the shared library rather than just renaming in place.
  2. Rewire symlinks in every hub. Remove the stale link, create the new one pointing at the canonical dir. Do this for each tool hub that mirrors the library.
  3. Update the name: frontmatter inside NEW/SKILL.md to match the directory — the loader keys on it, not on the folder name.
  4. Fix cross-references. Other skills and any long-term memory/notes files may mention OLD by name or by old path:
    grep -rln "OLD" <lib> <memory-dirs> 2>/dev/null
    
    Replace the most-specific string first (full old path before the bare name) so a skill that also moved gets its path updated cleanly.

Step 4 — Verify

# broken symlinks in any hub
for hub in <hub-1> <hub-2>; do
  find -L "$hub" -maxdepth 1 -type l ! -exec test -e {} \; -print
done
# no lingering old names
grep -rn "OLD" <lib> 2>/dev/null
# each renamed skill's name: matches its dir
grep -m1 "^name:" <lib>/NEW/SKILL.md

Confirm the loader re-registers each renamed skill under its new name. Remove any pre-existing dead symlinks you find while sweeping — cheap to fix, confusing to leave.

Notes

  • Never drop a skill you didn't rename. Only touch what the convention requires.
  • Renames are cheap and reversible; broken cross-references are the real cost — Steps 3.4 and 4 are the point of this skill, not the mv.
  • Commit repo-resident renames one logical rename per commit so they bisect and revert independently.
1---
2name: organize-skills
3description: 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".
4user_invocable: true
5argument-hint: "[optional: the prefix rule, e.g. 'acme-* if it calls the Acme API, local-* otherwise']"
6---
7 
8# Organize Skills
9 
10Reorganize a skill library so names encode what each skill actually touches, and keep symlinks and
11cross-references consistent when you rename.
12 
13Many setups keep ONE canonical skill library in a shared dir and symlink it into each tool's hub
14(e.g. `~/.claude/skills/`, `~/.codex/skills/`). Some skills live inside a project repo and are
15symlinked into the hub. A single rename can therefore touch several symlinks plus every doc that
16references the old name — that fan-out is what this skill manages.
17 
18## Step 1 — Inventory
19 
20List every skill and where it really lives. A hub entry is usually a symlink to the canonical dir:
21 
22```bash
23for hub in <hub-1> <hub-2>; do
24 echo "== $hub =="; ls -la "$hub"
25done
26```
27 
28Resolve each name to its real directory with `readlink -f`. Note which skills live in a project repo
29versus the shared library — repo-resident renames must be `git mv` in that repo.
30 
31## Step 2 — Classify by backend (the naming rule)
32 
33The convention: **the prefix names the backend the skill depends on**, decided by what it actually
34calls, not by its topic. Grep each skill dir for the tell-tale dependency:
35 
36```bash
37grep -rlE "<api-host>/api|/api/<x>|<db-client>|<AUTH_TOKEN_NAME>" "$skill_dir"
38```
39 
40- Calls a specific product's API / database → that product's prefix (e.g. `acme-*`).
41- Pure-local (browser automation, offline SOP, file processing, no backend) → a generic/local prefix.
42- Keep a topical infix when a family is large (e.g. `acme-seo-*` vs `acme-reddit-*`) so related skills sort together.
43 
44State the classification back to the user before renaming. A skill that *feels* product-specific but
45makes zero backend calls belongs in the local bucket, and vice versa — go by the dependency.
46 
47## Step 3 — Rename (and fix everything a rename breaks)
48 
49For each rename `OLD → NEW`:
50 
511. **Move the canonical dir.**
52 - Shared-library-resident: `mv <lib>/OLD <lib>/NEW`
53 - Repo-resident: `cd <repo> && git mv <skills-path>/OLD <skills-path>/NEW && git commit`
54 - Misplaced in the wrong repo? Move it to the shared library rather than just renaming in place.
552. **Rewire symlinks in every hub.** Remove the stale link, create the new one pointing at the
56 canonical dir. Do this for each tool hub that mirrors the library.
573. **Update the `name:` frontmatter** inside `NEW/SKILL.md` to match the directory — the loader keys
58 on it, not on the folder name.
594. **Fix cross-references.** Other skills and any long-term memory/notes files may mention `OLD` by
60 name or by old path:
61 ```bash
62 grep -rln "OLD" <lib> <memory-dirs> 2>/dev/null
63 ```
64 Replace the most-specific string first (full old *path* before the bare *name*) so a skill that
65 also moved gets its path updated cleanly.
66 
67## Step 4 — Verify
68 
69```bash
70# broken symlinks in any hub
71for hub in <hub-1> <hub-2>; do
72 find -L "$hub" -maxdepth 1 -type l ! -exec test -e {} \; -print
73done
74# no lingering old names
75grep -rn "OLD" <lib> 2>/dev/null
76# each renamed skill's name: matches its dir
77grep -m1 "^name:" <lib>/NEW/SKILL.md
78```
79 
80Confirm the loader re-registers each renamed skill under its new name. Remove any pre-existing dead
81symlinks you find while sweeping — cheap to fix, confusing to leave.
82 
83## Notes
84- Never drop a skill you didn't rename. Only touch what the convention requires.
85- Renames are cheap and reversible; broken cross-references are the real cost — Steps 3.4 and 4 are the
86 point of this skill, not the `mv`.
87- Commit repo-resident renames one logical rename per commit so they bisect and revert independently.
88 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 705
Checked
Source
OpenClaudia/openclaudia-skills ↗
Creator
OpenClaudia · 78 listings
View creator

Similar skills

See all →
SkillCode Review Feedback Analyzerobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillCode Review ExpertHoangNguyen0403/agent-skills-standard · by HoangNguyen0403Conduct high-quality, persona-driven code reviews. Use when reviewing PRs, critiquing code quality, or analyzing changes for team feedback.★ 569 GitHub starsSkillContent ExplainerJohnQinAMD/llm-output-explainer · by JohnQinAMDExplain something in the format that is fastest to understand, from controlled English (ASD-STE100 style), to a diagram, to an interactive HTML page, to a narrated explainer video. Check facts against their sources, using parallel subagents for independent evidence streams when the host supports them. Use when the user wants to understand a substantial concept, algorithm, code change, pull request, paper, benchmark result, or agent output, or asks for an explainer, diagram, HTML explanation, STE, or video. Not for one-line answers, drafting a pull request description, or code review.★ 4 GitHub starsSkillCode Review Requesterobra/superpowers · by obraUse when completing tasks, implementing major features, or before merging to verify work meets requirements★ 290k GitHub starsSkillMulti-Axis Code Reviewaddyosmani/agent-skills · by addyosmaniConducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to assess code quality across multiple dimensions before it enters the main branch.★ 98.7k GitHub starsSkillCode Clarity Simplifieraddyosmani/agent-skills · by addyosmaniSimplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.★ 98.7k GitHub stars

More from OpenClaudia

SkillA/B Testing FrameworkOpenClaudia/openclaudia-skills · by OpenClaudiaDesign, plan, and analyze A/B tests with statistical rigor. Use when the user asks about A/B testing, split testing, experiment design, statistical significance, sample size calculation, test duration, multivariate testing, or conversion experiments. Trigger phrases include "A/B test", "split test", "experiment", "statistical significance", "sample size", "test duration", "which version wins", "conversion experiment", "hypothesis test", "variant testing".★ 705 GitHub starsSkillAffiliate Marketing ProgramOpenClaudia/openclaudia-skills · by OpenClaudiaBuild and manage an affiliate marketing program. Use when the user says "affiliate program", "affiliate marketing", "affiliate partners", "referral commissions", "affiliate network", "partner program", "affiliate tracking", or asks about creating, managing, or growing an affiliate or partner program.★ 705 GitHub starsSkillAhrefs API ManagerOpenClaudia/openclaudia-skills · by OpenClaudiaManages Ahrefs API usage in Python using `ahrefs-python` library. Use when working with SEO / marketing related tasks or with data including backlinks, keywords, domain ratings, organic traffic, site audits, rank tracking, and brand monitoring. Covers `ahrefs-python` usage including AhrefsClient / AsyncAhrefsClient, typed request/response models, error handling, and all API sections.★ 705 GitHub starsSkillAI Citations Report GeneratorOpenClaudia/openclaudia-skills · by OpenClaudiaGenerate an AI Citations Report (GEO) for a domain — which AI-search prompts cite the site across Google AI Overview and ChatGPT, plus organic-traffic context and per-article citation coverage. Use when the user asks for an 'AI citations report', 'GEO citations report', or 'which AI prompts cite <domain>'.★ 705 GitHub starsSkillB2B Lead EnricherOpenClaudia/openclaudia-skills · by OpenClaudiaResearch and enrich B2B leads using the Apollo.io API. Use when the user says "find leads", "prospect research", "company enrichment", "find decision makers", "B2B leads", "lead research", "enrich contacts", "find VP of marketing at", or asks about finding people at specific companies or in specific roles.★ 705 GitHub starsSkillBacklink Health CheckerOpenClaudia/openclaudia-skills · by OpenClaudiaAudit a domain's backlink profile using the SemRush API. Use when the user says "audit backlinks", "check my backlinks", "backlink analysis", "link profile", "toxic links", "disavow", "link building opportunities", "referring domains", "anchor text", or asks about a site's link authority.★ 705 GitHub stars