# cms-edit and agent skills

## Two skill channels

| Channel | Package | Install | Use case |
|---------|---------|---------|----------|
| **Full SE Studio skills** | `@se-studio/skills` | `npx skills add @se-studio/skills`, `pnpm skills:sync` in monorepo, or auto-sync via `prepare` in consumer sites (see `packages/project-build/README.md`) | Marketing sites, CMS guidelines, app tasks |
| **Bundled cms-edit skills** | `@se-studio/contentful-cms` | `npx skills add @se-studio/skills` | Minimal set shipped with the CLI (`core`, `editor-tasks`, `templates`, `setup`) |

## Where to edit

1. **Always edit** `packages/skills/skills/<skill-dir>/SKILL.md` in this monorepo.
2. Run `pnpm skills:validate` then `pnpm skills:sync` to update `.agents/skills/`.
3. Bundled cms-edit copies are regenerated by `pnpm --filter @se-studio/contentful-cms sync:skills` (also runs on `build` and `test`).

Never edit:

- `.agents/skills/` or `.cursor/skills/` by hand (generated)
- `packages/contentful-cms/skills/` by hand (generated — see `skills/README.md`)
- `.claude/skills/` in the repo (untracked local installs; not a source of truth)

## `.claude/skills` vs `.agents/skills`

- **`.agents/skills/`** — Monorepo target for `pnpm skills:sync`; gitignored; symlinked to `.cursor/skills/`.
- **`.claude/skills/`** — Optional per-machine path used by some Claude setups; **intentionally untracked**. Skills should come from this repo (`@se-studio/skills`) or third-party skill packs — not from committed copies under `.claude/`.

## Installing bundled skills

`npx skills add @se-studio/skills` installs cms-edit skills into `.agents/skills/` in the current project. In the monorepo, prefer `pnpm skills:sync` from `@se-studio/skills`.
