Replica Architect
Plans the stack, schema and routes for an app clone from a recon map.
Install
npx skills add Jakeschincariol/replica-skill --skill replica-architect -g -a claude-code -y- Repository
- Jakeschincariol/replica-skill7k
- Category
- Engineering
- Updated
- 1mo ago
- License
- MIT
- Context cost
- Lightabout 1,011 tokens
- Runs scripts
- No, instructions only
What it does
Plans the stack, database schema and API for an app clone, from the recon map replica-recon wrote. Picks boring, managed tech, turns the inferred data model into real SQL with indexes and access rules, lists every route by flow, and orders the build as a thin vertical slice first. Use when the user says "plan the clone", "what stack should I use", "design the database", "write the schema", "plan the API", "architecture for my version of X", or after /replica-recon finishes.
replica-architect
Reads replica/recon.md and replica/features.csv. Writes
replica/architecture.md (template: architecture.md in this folder).
If there is no recon map, stop and run /replica-recon first. Planning a
clone from memory of what an app does is how you miss half of it.
Step 1: the stack
Use what the user already knows if they have a stack. Otherwise the default, because every part is managed, documented and cheap at zero users:
| layer | default | swap for |
|---|---|---|
| web app | Next.js (App Router) + TypeScript | Remix, SvelteKit, Rails |
| styling | Tailwind, tokens from replica-design | CSS modules |
| mobile | Expo (React Native) | SwiftUI, Kotlin |
| database | Postgres on Supabase or Neon | PlanetScale, SQLite (Turso) |
| ORM | Drizzle or Prisma | raw SQL |
| auth | Supabase Auth or Auth.js | Clerk |
| payments | Stripe Checkout + Billing | Lemon Squeezy, Paddle |
| Resend or Postmark | SES | |
| jobs | Vercel Cron, Inngest or Trigger.dev | a worker on Fly |
| files | Supabase Storage or Cloudflare R2 | S3 |
| hosting | Vercel | Netlify, Fly, Render |
Write each choice with one line of why. One database. No microservices. The clone does not need the original's architecture, it needs the original's features.
Step 2: the schema
Turn the inferred data model into SQL. For every table:
id uuid primary key default gen_random_uuid(),created_at,updated_at- an owner column (
user_idororg_id) on everything a user owns - foreign keys with an
on deleterule decided, not defaulted - indexes on every foreign key and every column you filter or sort by
- enums or check constraints for status fields
- times as
timestamptz, always, stored in UTC - money as integer cents plus a currency column
- access rules: Postgres row level security on Supabase, or one authorisation check per query in the data layer. Write which.
Example, for a booking app:
