Skill Library Manager
Manage a Git-versioned skill library with symlink-based enable/disable.
How It Works
Symlinks keep a single source of truth in the library directory while allowing Claude's skill loader to discover only the enabled subset. Enable/disable is instant — no file copying, no duplication.
When skill-creator is also active, this skill runs first to determine the
target directory and set up the skeleton, then skill-creator takes over for
writing the SKILL.md content and running evals.
Prerequisites Check
Before creating a new skill, check if skill-creator is available in the
current session's skill list. If not, suggest installing it:
npx skills add https://github.com/anthropics/skills --skill skill-creator
This is optional but recommended — skill-creator provides structured eval,
benchmark, and description optimization capabilities that significantly improve
skill quality. Without it, this skill can still manage library placement and
symlinks, but the user will need to write SKILL.md content manually.
Skip this check for non-creation operations (enable, disable, list).
Load Configuration
Before any operation, read EXTEND.md from config paths (in priority order):
.nby-skills/nby-skill-library-manager/EXTEND.md(project-level)~/.nby-skills/nby-skill-library-manager/EXTEND.md(user-level)
If neither exists, run First-Time Setup (see below).
Operations
Creating a New Skill
- Read
EXTEND.mdto getlibrary_pathandenabled_path - Create skill directory:
{library_path}/{skill-name}/ - After skill content is ready, enable it:
cd {enabled_path} && ln -s {library_path}/{skill-name} . - Update the library README skill table (if
readme_pathis configured) - Remind user to commit changes to Git
Enabling a Skill
cd {enabled_path} && ln -s {library_path}/{skill-name} .
Disabling a Skill
rm {enabled_path}/{skill-name}
Only removes the symlink, not the skill itself.
Listing Skills
# All available
ls {library_path}/
# Currently enabled
ls -la {enabled_path}/
First-Time Setup
If no EXTEND.md config is found, guide the user:
Ask: "Do you have an existing skill library directory?"
- Yes → Ask for the path, detect its structure
- No → Offer to create one (see Init below)
Ask: "Save config for this project only, or for all projects (user-level)?"
- Project:
.nby-skills/nby-skill-library-manager/EXTEND.md - User:
~/.nby-skills/nby-skill-library-manager/EXTEND.md
- Project:
Write the
EXTEND.mdconfig file
Init a New Library
mkdir -p {library_path} {enabled_path}
# Point Claude's skill loading to the enabled directory
ln -sf {enabled_path} ~/.claude/skills
Create a README with skill table template at {library_path}/../README.md (or wherever the repo root is).
README Update
When readme_path is configured and a skill is created/removed, update the
skill table in that README. Match the existing table format — scan for
| Skill | Description | header and append/remove rows.
Configuration Reference
See EXTEND.md.example for all available options.