A lightweight, file-based registry of reusable Claude skills. Each skill is a Markdown file with YAML frontmatter. A build script generates a manifest.json that Claude can fetch at runtime to discover and load skills on demand.
skills/
<skill-name>/
SKILL.md ← frontmatter + instructions
scripts/
build-manifest.py ← generates manifest.json
manifest.json ← auto-generated index of all skills
bootstrap-prompt.md ← paste into a Claude Project to activate the registry
- Author a skill — create
skills/<name>/SKILL.mdwith valid frontmatter. - Build the manifest — run
python scripts/build-manifest.py. This writesmanifest.json. - Wire up Claude — paste the prompt from
bootstrap-prompt.mdinto your Claude Project's system prompt, replacingREPO_OWNER/REPO_NAME. - Claude fetches skills at runtime — on each conversation Claude fetches
manifest.json, matches the user's request to a skill, then fetches and follows the matchingSKILL.md.
The GitHub Action runs build-manifest.py automatically on every push to main and commits the updated manifest if anything changed.
Every SKILL.md must start with a YAML frontmatter block:
---
name: skill-name
description: One-line description of what this skill does
version: 1.0.0
triggers: ["keyword1", "keyword2", "example phrase"]
---
# Skill Title
Actual instructions for Claude follow here...| Field | Type | Description |
|---|---|---|
name |
string | Matches the directory name (used as the skill ID) |
description |
string | One-line summary shown in the manifest |
version |
semver | e.g. 1.0.0 — increment when instructions change meaningfully |
triggers |
list | Keywords/phrases that should activate this skill |
mkdir skills/my-new-skill
# create skills/my-new-skill/SKILL.md with frontmatter
python scripts/build-manifest.py # verify it parses cleanly
git add skills/my-new-skill manifest.json
git commit -m "feat: add my-new-skill"
git pushThe CI action will rebuild and commit manifest.json automatically after the push.
python scripts/build-manifest.pyThe script exits with a non-zero status and prints clear errors if any skill is missing required frontmatter fields.
.github/
workflows/
build-manifest.yml # CI: rebuild manifest on push to main
scripts/
build-manifest.py # stdlib only, no external deps
skills/
example-greeter/
SKILL.md # sample skill for end-to-end testing
bootstrap-prompt.md # ready-to-paste Claude Project system prompt
manifest.json # auto-generated — do not edit manually
README.md # this file