What problem does it solve?
Porting a moderator page from the main Next.js app into the apps/moderator SvelteKit spoke is error-prone: child components hide extra tRPC mutations, mutations fan out to side effects like notifications and cache busts, and partial cutovers leave two disagreeing tools live. This Skill provides a structured process to inventory, port, cut over, and verify a complete page migration.
Core Features & Use Cases
- Full slice inventory: Enumerates every procedure, child-component mutation, service function, and side effect a page touches before any code is written.
- Side-effect classification: Buckets each mutation effect as port, delegate, defer, or equivalent, with a parity checklist so nothing is silently dropped.
- Prisma-to-Kysely mapping: Maps tRPC procedures to SvelteKit loads and form actions, with guidance on index-predicate matching, timestamp handling, and shared @civitai/* packages.
- Cutover and cleanup: Deletes the legacy page, registers redirects in MIGRATED_ROUTES, trims orphaned procedures and services, and runs three Svelte review passes.
- Use Case: When asked to move /moderator/images or any /moderator/* page into the spoke app, follow the checklist-driven workflow to reach full functional parity and remove the legacy page in one unit of work.
Quick Start
Migrate the /moderator/<page> page from the main Next.js app into apps/moderator, porting its tRPC procedures and Prisma services to SvelteKit loads and Kysely, then cut over the route and trim the orphaned code.