Contributing
Submit a skill
The catalog is curated, not scraped. Work lands as a folder in this repo, and CI checks it before a maintainer assigns a badge.
What a PR needs
- A folder at
skills/<category>/<slug>/. SKILL.mdwith a name and description (the field an agent scans first).metadata.jsonfor category, tags, compatible agents, license, and author. Leave thepermissionsblock alone: CI regenerates it.- Optional
scripts/,references/,assets/. - A PR description naming 2-3 concrete use cases and the agents you tested it on.
What CI checks
validate-skill.tsfrontmatter fields, folder size, and license.generate-manifest.tsrebuilds the permissions block so disclosure is always current.detect-duplicates.tsflags near matches. It is a note, not a gate: a fork stays as a real alternative, or getscanonical_ofpointing at the entry it duplicates.
Start a contribution
Read the workflow on GitHub, then open a PR with your skill folder.
Skill spec
The canonical package layout and the metadata.json schema you must follow.
Validate locally first
Run the same checks CI runs, before you push. These live at the repo root and read your submitted skill.
npm run validate-skills
node --experimental-strip-types scripts/generate-manifest.ts
node --experimental-strip-types scripts/detect-duplicates.ts --candidate=skills/<category>/<slug>