---
name: contentful-cms-editor-tasks
description: "Route CMS editing intents to site task playbooks via tasks-index (hosted MCP resources or local editor-pack files)."
---

# Skill: cms-edit editor tasks

Use this skill **before any Contentful edit** to pick the right capability playbook for the user's goal. Do not improvise workflows — read the site brain first.

## Pit-of-success order

1. **tasks-index** — which tasks apply on this site
2. **capabilities** — what content types and bulk mechanisms exist
3. **checklist** — pre-flight checks
4. **overview** + **routing** — site rules and URL shapes
5. **task-*** playbook — steps, confirmation gates, out-of-scope
6. **components-index** — when creating or editing page content

## Hosted (Claude Integrations + OAuth)

Claude cannot read `cms-edit://customer/*` URIs directly — use the MCP tools:

```text
cms_edit ["customer", "tasks-index"]
cms_edit ["customer", "capabilities"]
cms_edit ["customer", "checklist"]
cms_edit ["customer", "task-create-article"]   # example — pick from tasks-index
```

Or `cms_edit_customer` with resource `tasks-index`, then the `task-*` name from the index.

**Never pass `--space`** on hosted MCP — the deployment is already bound to one site.

After connect, verify with: `Read the cms-edit guide and tasks-index`.

## Local (Cursor / Grok / Codex / CLI)

Read committed files in the customer repo (paths vary by layout):

| Layout | Editor pack |
|--------|-------------|
| Single-site | `cms-edit/editor-pack/` |
| Multi-site | `cms-edit/<site>/editor-pack/` |

Minimum reads:

- `capabilities.json`
- `tasks-index.md`
- `checklist.md`
- Matching `task-*.md` for the user's intent

Then use **`contentful-cms-core`** for `cms-edit` CLI commands.

## Confirmation gates (all tasks)

Capability playbooks require:

1. **Propose** scope to the user — wait for approval
2. **Dry-run** when available (`--dry-run`, `bulk-rtf-replace --dry-run`, etc.)
3. **`diff`** before every `save`
4. **Summarize** what changed; remind that publish is manual in Contentful

## Media default

**Search and reuse assets first** (`index sync` → `asset search`). Upload only when no match; use `--if-exists-by-filename` when uploading.

**Space-wide media audit** (filename, alt, size, dimensions, usage) → read **`task-media-review`**, then skill **`contentful-cms-media-review`** for the spreadsheet.

## When the pack is stale

Run `contentful-cms-regenerate-editor-pack` after:

- New component/collection registrations
- `docs/cms-guidelines/**` changes
- `constants.ts` routing changes

Then `cms-edit project doctor --project-config cms-edit/<site>/project.json`.

## Related skills

| Skill | When |
|-------|------|
| `contentful-cms-core` | CLI command reference |
| `contentful-cms-setup` | First-time hosted MCP connect |
| `contentful-cms-regenerate-editor-pack` | Refresh editor-pack in git |
| `contentful-cms-media-review` | Space-wide asset audit + Excel report |