What problem does it solve? During a legacy frontend migration, element-indexed style specs and jsdom-based DOM tests cannot see CSS divergences on dynamically injected markup (CMS rich text, i18n HTML, editor output), and full visual parity checks require both legacy and target hosts running. This Skill compares the two compiled stylesheets directly on the page's real markup, catching rule-level divergences like reset collisions and dropped global rules using only legacy's compiled CSS. ## Core Features & Use Cases - Stylesheet-only cascade diffing: Compares legacy's compiled global CSS against the migrated app's CSS on the page's own markup, with the stylesheet as the only variable, producing a cascade-diff.json report. - Divergence classification: Every divergence is bucketed as real (fix it), consequence (fixed by its cause), or artifact (harness leak), preventing misleading counts and unnecessary rule ports. - Gate integration and regression tests: Records results in the migration tracker, routes unfixed divergences to owner approval, and converts each fixed divergence into a negative-control-verified e2e regression assertion. - Use Case: A migrated hotel booking page renders CMS-injected rich text differently than legacy. Run this stage after verification to find that a legacy reset rule was dropped, port it, re-run the diff, and lock the fix in with a regression test before e2e. ## Quick Start Run the fm-cascade skill for the booking-detail page to diff its stylesheet cascade against legacy and classify any divergences.