block-to-element-migration
Installation
SKILL.md
Block → Element Migration
A repeatable workflow for moving legacy SilverStripe Blocks (sheadawson or dynamic-blocks modules) into the modern Elemental system, while preserving exact visual parity with the pre-upgrade site.
Distilled from three production migrations: rockline-iatric, youth-sailing, and sheboygan-safeharbor. Each project re-invented the same skeleton — this skill captures the shared shape so you don't start from scratch.
The two halves of a block-to-element migration
- Data migration — a one-shot
BuildTaskthat readsBlockandSiteTree_Blockstables and writesElement+ subtype +_Live+_Versionsrows. - Template parity — element templates that produce the same HTML the legacy block templates produced, so existing CSS/JS continues to work without rewriting.
Most failed migrations get half 1 right and skip half 2, leaving the CMS populated but the frontend visually broken. Both halves are required.