Back to list
bnomei

kirby-content-migration

by bnomei

CLI-first MCP server for composer-based Kirby CMS projects — inspect blueprints/templates/plugins, interact with a real Kirby runtime, and use a bundled Kirby knowledge base.

20🍴 0📅 Jan 20, 2026

SKILL.md


name: kirby-content-migration description: 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.

Kirby Content Migration

Quick start

  • Follow the workflow below for safe, confirm-first migrations.

KB entry points

  • kirby://kb/scenarios/16-batch-update-content
  • kirby://kb/scenarios/74-update-blocks-programmatically
  • kirby://kb/scenarios/34-content-file-cleanup-script
  • kirby://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.json plan with explicit page ids/uuids and new values.
  • Validate the plan against blueprint and field schemas, plus a sample diff.
  • Apply in batches (confirm=false preview, then confirm=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

  1. Ask for exact transformations, scope (pages/templates/sections), languages, draft handling, and any derived fields that must not be written.
  2. Call kirby:kirby_init, then ensure runtime availability with kirby:kirby_runtime_status and kirby:kirby_runtime_install if needed.
  3. Identify target pages:
    • Prefer explicit page ids/uuids from the user.
    • Otherwise derive a list using kirby://roots and the content directory structure.
  4. Search the KB with kirby:kirby_search for related playbooks (examples: "batch update content", "update blocks programmatically", "content file cleanup script", "update file metadata").
  5. Read field storage rules before writing:
    • kirby://fields/update-schema
    • kirby://field/{type}/update-schema for each involved field type.
  6. Read a small sample with kirby:kirby_read_page_content (or kirby://page/content/{encodedIdOrUuid}) and produce a diff-style preview.
  7. Use kirby://tool-examples for safe, copy-ready kirby:kirby_update_page_content payloads.

Apply

  1. Call kirby:kirby_update_page_content with confirm=false to preview changes (set payloadValidatedWithFieldSchemas=true).
  2. Ask for explicit confirmation, then re-run with confirm=true in small batches.
  3. Stop on first error; summarize what applied vs skipped.

Verify

  1. Render representative pages with kirby:kirby_render_page(noCache=true) or re-read content to confirm the final state.
  2. Report changes, remaining risks, and any follow-up manual checks.

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon