CLAUDE.md · git:20260824.c71bceb · 2026-08-24 · sha256 3d17fbaaf01bc5d6
CLAUDE.md git:20260824.c71bcebA
Immutable. This exact content never changes and is served at /api/v1/blob/3d17fbaaf01bc5d6.
# agent-skills An agent-agnostic skill catalog published to Claude Code, Codex, Cursor, Grok, Copilot, Windsurf and Kiro. ## Hard rules - `catalog/skills.json` is the ONLY source of truth for plugin and skill metadata. Everything else is generated. - NEVER hand-edit a generated file. Generated files carry `<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->`. Generated: every `plugins/*/.claude-plugin/plugin.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/`, `.grok-plugin/`, `adapters/`, `.windsurf/rules/`, `.kiro/steering/`, `.github/prompts/`, `.github/copilot-instructions.md`. - Canonical skill content lives at `plugins/olko-<plugin>/skills/<skill>/SKILL.md` and nowhere else. - After ANY catalog or skill change, run `./scripts/build-adapters.sh` and commit the result. CI fails if the generated tree is stale. - Plugin names are kebab-case and prefixed `olko-`. Skill `name:` frontmatter is unprefixed and must match its directory name. - Every skill belongs to exactly one plugin. Every plugin has at least one skill. - No em dashes in skill content or generated text. - Commit messages are conventional (`feat:`, `fix:`, `refactor:`, `docs:`, `test:`, `chore:`); semantic-release parses them. Never mention an assistant. ## Adding a skill 1. Create `plugins/olko-<plugin>/skills/<skill>/SKILL.md` with valid frontmatter. 2. Register it under that plugin's `skills` array in `catalog/skills.json`. 3. Add it to `PLUGIN_ASSIGNMENT` in `scripts/lib/catalog.mjs`. 4. Add its row to the README table. 5. Run `./scripts/build-adapters.sh && npm test`. ## Commands - `npm run build` regenerates every manifest and adapter. - `npm run validate` checks frontmatter and catalog integrity. - `npm test` runs the validators plus the bash tests in `tests/`.