# cli-skills/ — generated mirror, do not hand-edit

Every `cli-skills/pp-<slug>/SKILL.md` in this directory is a **verbatim mirror** of `library/<category>/<slug>/SKILL.md`, regenerated by `tools/generate-skills/main.go`.

**Do not edit files in this directory.** Hand-edits are:

- Silently overwritten on the next post-merge regen (`generate-skills.yml`).
- Auto-reverted on PRs by the parity step in `verify-library-conventions.yml`.
- Rejected by the `Guard against hand-edits to cli-skills mirror` step in the same workflow — any non-bot commit touching `cli-skills/pp-*/SKILL.md` fails the PR.

## What to edit instead

| You want to change | Edit this file |
|---|---|
| A CLI's skill content (frontmatter, body, commands listed) | `library/<category>/<slug>/SKILL.md` |
| Skill structure/shape across all CLIs (sections, fields) | `internal/generator/templates/skill.md.tmpl` in [cli-printing-press](https://github.com/mvanhorn/cli-printing-press), then run `tools/sweep-canonical/` here to retrofit existing entries |
| The directory structure of `cli-skills/` itself | `tools/generate-skills/main.go` |

After editing `library/<cat>/<slug>/SKILL.md`, the post-merge `generate-skills.yml` workflow regenerates the matching `cli-skills/pp-<slug>/SKILL.md`. You don't need to commit the mirror in the same PR.

## Why this directory exists

`cli-skills/` is the install surface for `npx -y skills@latest add pp-<slug>` and the `@mvanhorn/printing-press` npm installer. Skill consumers (Claude Code, agent frameworks) read from here. `library/` is the human-authored source of truth; this directory is the consumable output.

See the repo-root [`AGENTS.md`](../AGENTS.md) → **"Generated artifacts: `registry.json`, `cli-skills/`"** for the full convention.
