Agent skill
kirby-content-migration
Plans and applies safe Kirby content migrations using runtime content tools, update schemas, and explicit confirmation. Use when users need to rename/move/transform fields, clean up content, or bulk-update pages/files across languages.
Install this agent skill to your Project
npx add-skill https://github.com/bnomei/kirby-mcp/tree/main/skills/kirby-content-migration
SKILL.md
Kirby Content Migration
Quick start
- Follow the workflow below for safe, confirm-first migrations.
KB entry points
kirby://kb/scenarios/16-batch-update-contentkirby://kb/scenarios/74-update-blocks-programmaticallykirby://kb/scenarios/34-content-file-cleanup-scriptkirby://kb/scenarios/75-update-file-metadata
Required inputs
- Source and target fields plus transform rules.
- Scope (templates/ids/sections) and batch size.
- Language and draft handling rules.
- Exclusions or derived fields that must not change.
Plan template
- List source field, target field, transform rule, and a before/after example.
- Specify scope (templates/ids), languages, and draft handling.
- Note exclusions (derived fields, computed values, or generated files).
Plan-validate-execute
- Write a
changes.jsonplan with explicit page ids/uuids and new values. - Validate the plan against blueprint and field schemas, plus a sample diff.
- Apply in batches (
confirm=falsepreview, thenconfirm=true).
Verification checklist
- Preview diffs for each field type before writing.
- Confirm language scope and batch boundaries.
- Re-render representative pages after apply.
Common pitfalls
- Writing updates before reading field update schemas.
- Migrating large batches without confirm previews.
Workflow
- Ask for exact transformations, scope (pages/templates/sections), languages, draft handling, and any derived fields that must not be written.
- Call
kirby:kirby_init, then ensure runtime availability withkirby:kirby_runtime_statusandkirby:kirby_runtime_installif needed. - Identify target pages:
- Prefer explicit page ids/uuids from the user.
- Otherwise derive a list using
kirby://rootsand the content directory structure.
- Search the KB with
kirby:kirby_searchfor related playbooks (examples: "batch update content", "update blocks programmatically", "content file cleanup script", "update file metadata"). - Read field storage rules before writing:
kirby://fields/update-schemakirby://field/{type}/update-schemafor each involved field type.
- Read a small sample with
kirby:kirby_read_page_content(orkirby://page/content/{encodedIdOrUuid}) and produce a diff-style preview. - Use
kirby://tool-examplesfor safe, copy-readykirby:kirby_update_page_contentpayloads.
Apply
- Call
kirby:kirby_update_page_contentwithconfirm=falseto preview changes (setpayloadValidatedWithFieldSchemas=true). - Ask for explicit confirmation, then re-run with
confirm=truein small batches. - Stop on first error; summarize what applied vs skipped.
Verify
- Render representative pages with
kirby:kirby_render_page(noCache=true)or re-read content to confirm the final state. - Report changes, remaining risks, and any follow-up manual checks.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
kirby-i18n-workflows
Manages Kirby multi-language workflows, translations, and localized labels. Use when dealing with languages, translation keys, placeholders, or importing/exporting translations.
kirby-security-and-auth
Secures Kirby sites with access restriction, user roles, permissions, and protected downloads. Use when implementing login/role-based access, permissions, or file protection.
kirby-headless-api
Exposes Kirby content to headless clients using the API, KQL, and JSON representations. Use when building API endpoints, KQL queries, or headless frontends.
kirby-performance-and-media
Improves Kirby performance and media delivery (cache tuning, CDN, responsive images, lazy loading). Use when optimizing page speed, caching, or image handling.
kirby-panel-and-blueprints
Designs Kirby blueprints and Panel UI, including blueprint reuse/extends, programmable blueprints, and custom Panel fields/sections/areas. Use when changing the Panel experience or schema.
kirby-upgrade-and-maintenance
Upgrades Kirby and maintains dependencies safely using composer audit, plugin compatibility checks, and official docs. Use when updating Kirby versions or making maintenance changes that affect runtime.
Didn't find tool you were looking for?