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

  1. A folder at skills/<category>/<slug>/.
  2. SKILL.md with a name and description (the field an agent scans first).
  3. metadata.json for category, tags, compatible agents, license, and author. Leave the permissions block alone: CI regenerates it.
  4. Optional scripts/, references/, assets/.
  5. A PR description naming 2-3 concrete use cases and the agents you tested it on.

What CI checks

  • validate-skill.ts frontmatter fields, folder size, and license.
  • generate-manifest.ts rebuilds the permissions block so disclosure is always current.
  • detect-duplicates.ts flags near matches. It is a note, not a gate: a fork stays as a real alternative, or gets canonical_of pointing at the entry it duplicates.

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>