Agent skill · civitai

retool-migration

Port a Retool app's functionality into a page in apps/moderator. Use when given a Retool JSON export (or asked to migrate/replace a Retool moderation tool) and a page needs to be built in the moderator app. Decodes the export, inventories its queries, and builds the page with shadcn + Tailwind under the Retool nav group.

What it needs

About 12k tokens when loaded.

What this skill does

Retool → moderator app migration Ports what a Retool app does into apps/moderator. Retool's layout, styling and component tree are not ported — the JSON is a spec for behaviour, not a design. Sibling skill: moderator-page-migration, for the other inbound path — pages coming from the main Next.js app's src/pages/moderator/. Same app, same conventions, same reviews; different source, and a cutover step this path does not have (deleting the legacy page and trimming what it orphans). If the thing you are porting is a /moderator/ page rather than a Retool export, use that one. Setup (once per checkout) The export is not plain JSON: page.data.appState is a transit-js encoded string (~#iR tag, ["^ ", k, v, …] maps, ^N back-references). JSON.parse alone gets you an opaque blob. extract.mjs handles it; don't try to read the raw file. 0. Check the scope and tracker first CLICKUP-SCOPE.md holds the content of the two ClickUp tickets that define this work — what to build (868kkxqpn) and which tables to move (868kn67aq) — as checklists, so the work does not depend on ClickUp access. Read it for why; read the tracker for how far. MIGRATIONS.md in this directory lists every app handed to us and how far each has got. Read it before starting — a slice may already be shipped, blocked, or deliberately dropped. Keep it current as part of the work: a new export arrives → add its row (status not started) before writing any code a slice ships and verifies → tick it something is skipped → record it with the reason Do not tick a slice because the page renders — an app is not done until the Retool original is switched off. Moderator-database slices can be ticked once they work: the app reads and writes that data live (see below), so there is no data migration to wait for. The moderator database (retooldb in the exports) User notes and image help requests live in a database of their own, never in Civitai's. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills civitai/retool-migration

View the source on GitHub

Browse the @skills marketplace