Every real SKILL.md this repo ships, in one durable catalog.
A Skill is a SKILL.md file -- YAML frontmatter (name, description) plus a markdown body -- that Claude Code loads automatically when the description matches, or a human invokes directly with /skill-name. This repo's 20 cwc-* plugins ship 123 of them (counts live from D1, not baked into this page). Rather than let that fact live only as a directory listing, this site records each one as a durable, queryable row -- name, plugin, description (copied verbatim from its own frontmatter), a short summary, whether its action is gated per that plugin's own gates.toml, and the exact repo-relative file path it came from.
Every row's source_path is a real SKILL.md in the repo, and the rows are generated programmatically from those files by scripts/gen-seed.py -- the catalog can be re-derived from repo truth at any time. No invented skill, no approximate path.
4 rows are tagged gated -- the skill→gate attributions a human verified against each plugin's own gates.toml. Gates are declared per tool at plugin level, so per-skill gating can't be reliably inferred by a script: every unverified row defaults to open, and each plugin's gates.toml stays the source of truth.
The catalog groups skills the same way the repo does: each plugin is one coworker persona, shipping however many skills it really has -- from a single playbook to a dozen-plus.
Live catalog
All 123 rows are reseeded programmatically from the real SKILL.md files into this Worker's own D1 database (skills). Browse by plugin → or hit the JSON API.
Honest history: this catalog served the 5 rows from its 2026-07-01 seeding -- back when the repo really did ship 5 plugins with one skill each -- until the 2026-07-10 full reseed from repo truth (migration 0003_reseed_all_skills.sql, generated by scripts/gen-seed.py).
How these skills actually get updated
Claude Tag's own docs describe a specific pattern for maintaining skills at scale: a git repository as the skill source, with Claude proposing pull requests and a human merging them. This repo already runs that exact pattern for real -- see how.