Skilllibrary skill-registry-manager
Maintain the skill library catalog: add entries, update metadata, manage tags, track maturity/status, enforce naming conventions, and generate the library index. Use when adding a new skill to the registry, updating skill metadata after changes, auditing catalog consistency, or generating a publishable skill index. Do not use for editing skill content (edit SKILL.md directly) or for deprecating skills (use skill-deprecation-manager).
git clone https://github.com/merceralex397-collab/skilllibrary
T=$(mktemp -d) && git clone --depth=1 https://github.com/merceralex397-collab/skilllibrary "$T" && mkdir -p ~/.claude/skills && cp -r "$T/01-package-scaffolding/skill-registry-manager" ~/.claude/skills/merceralex397-collab-skilllibrary-skill-registry-manager && rm -rf "$T"
01-package-scaffolding/skill-registry-manager/SKILL.mdSkill Registry Manager
Owns the library catalog — the index, metadata, tags, maturity status, and consistency of all skills in the ecosystem.
Procedure
1. Scan skill inventory
# Find all active skills find . -name "SKILL.md" -not -path "*/ARCHIVE/*" -not -path "*/node_modules/*" | sort # Extract metadata from each for skill_md in $(find . -name "SKILL.md" -not -path "*/ARCHIVE/*"); do dir=$(dirname "$skill_md") name=$(grep "^name:" "$skill_md" | head -1 | cut -d: -f2- | tr -d ' "') maturity=$(grep "maturity:" "$skill_md" | head -1 | cut -d: -f2- | tr -d ' ') echo "$name | $maturity | $dir" done
2. Validate catalog consistency
For each skill, check:
| Check | Criteria | Severity |
|---|---|---|
| Frontmatter exists | YAML between delimiters | Error |
field present | Non-empty string | Error |
field present | Non-empty, 20-100 words | Error |
| Name matches directory | field = directory name | Warning |
| No duplicate names | Each name unique across catalog | Error |
| Tags are valid | Tags exist in the controlled vocabulary | Warning |
| Maturity is valid | One of: , , , | Warning |
3. Register a new skill
When adding a skill to the catalog:
- Verify SKILL.md has required frontmatter (
,name
)description - Assign maturity level (default:
)draft - Add to
with metadata snapshotskills-lock.json - Verify no name collision with existing skills
- Update library index
4. Update skill metadata
When a skill changes:
- Read current
entryskills-lock.json - Update changed fields (description, maturity, tags)
- Record modification timestamp
- Regenerate affected index entries
5. Generate library index
Produce a machine-readable index and a human-readable catalog:
skills-lock.json (machine-readable):
{ "version": "1.0.0", "generated": "<ISO timestamp>", "skills": { "<skill-name>": { "path": "<relative path>", "description": "<description>", "maturity": "<draft|beta|stable|deprecated>", "tags": ["<tag1>", "<tag2>"], "license": "<SPDX>", "last_updated": "<ISO date>" } } }
CATALOG.md (human-readable):
# Skill Catalog ## Active Skills | Name | Maturity | Description | |------|----------|-------------| | [name] | [maturity] | [description] | ## Deprecated Skills | Name | Replacement | Deprecated Date | |------|-------------|----------------|
6. Enforce naming conventions
- Skill names: kebab-case, descriptive, 2-4 words
- Directory names match skill names exactly
- No abbreviations unless universally understood (e.g.,
,pr
)qa
Output contract
- Updated
with current catalog stateskills-lock.json - Updated
with human-readable indexCATALOG.md - Validation report listing any consistency issues found
Failure handling
- Duplicate skill name: Reject registration, report collision with existing skill
- Missing frontmatter: Flag as invalid, do not register until fixed
- Orphaned lock entries: Remove entries for skills that no longer exist on disk
- Name/directory mismatch: Report as warning, recommend rename
References
- This skill manages the catalog layer — does not modify skill content
- Works with: skill-deprecation-manager (retirement), skill-packager (distribution)