Claude-skill-registry 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
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/kirby-content-migration" ~/.claude/skills/majiayu000-claude-skill-registry-kirby-content-migration && rm -rf "$T"
manifest:
skills/data/kirby-content-migration/SKILL.mdtags
source content
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
plan with explicit page ids/uuids and new values.changes.json - Validate the plan against blueprint and field schemas, plus a sample diff.
- Apply in batches (
preview, thenconfirm=false
).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
- Ask for exact transformations, scope (pages/templates/sections), languages, draft handling, and any derived fields that must not be written.
- Call
, then ensure runtime availability withkirby:kirby_init
andkirby:kirby_runtime_status
if needed.kirby:kirby_runtime_install - Identify target pages:
- Prefer explicit page ids/uuids from the user.
- Otherwise derive a list using
and the content directory structure.kirby://roots
- Search the KB with
for related playbooks (examples: "batch update content", "update blocks programmatically", "content file cleanup script", "update file metadata").kirby:kirby_search - Read field storage rules before writing:
kirby://fields/update-schema
for each involved field type.kirby://field/{type}/update-schema
- Read a small sample with
(orkirby:kirby_read_page_content
) and produce a diff-style preview.kirby://page/content/{encodedIdOrUuid} - Use
for safe, copy-readykirby://tool-examples
payloads.kirby:kirby_update_page_content
Apply
- Call
withkirby:kirby_update_page_content
to preview changes (setconfirm=false
).payloadValidatedWithFieldSchemas=true - Ask for explicit confirmation, then re-run with
in small batches.confirm=true - Stop on first error; summarize what applied vs skipped.
Verify
- Render representative pages with
or re-read content to confirm the final state.kirby:kirby_render_page(noCache=true) - Report changes, remaining risks, and any follow-up manual checks.