← All playbooks · Raw API
task-create-page
# Capability: Create a page
## Intent phrases
- create a new page
- add a landing page
- new marketing page
## Requires capabilities
`pages`
## Prerequisites
- Read `cms-edit://customer/components-index` and `cms-edit://customer/routing`
- `cms_edit ["index", "sync"]` for template lookup
## Steps
1. `cms_edit ["list", "--type", "template"]` — pick template ID
2. `cms_edit ["create", "page", "--slug", "<slug>", "--title", "<title>", "--template-id", "<id>"]`
3. `cms_edit ["snapshot"]` — review structure
4. Add components: `add <ComponentType>`; set fields with `set` / `rtf`
5. `cms_edit ["diff"]` → `cms_edit ["save"]`
For multi-component pages, prefer `create from-json --json '{…}' --dry-run --strict` first.
After each `add`, set `heading` then `cmsLabel` (not left as `New Generic`).
Test/agent pages: `indexed: false`, omit `hidden` (visible on production when published).
## Confirmation gates
1. Confirm slug, title, and template with user
2. `create from-json --dry-run --strict` before create when using JSON
3. `diff` before `save`
## Out of scope
- Publish
## Related resources
- `cms-edit://customer/components-index`
- `task-create-from-document` for doc-driven pages