jakeschincariol/replica-skill

replica-architect

Plans the stack, database schema and API for an app clone, from the recon map replica-recon wrote.

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/jakeschincariol/replica-skill --skill replica-architect

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

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:

layerdefaultswap for
web appNext.js (App Router) + TypeScriptRemix, SvelteKit, Rails
stylingTailwind, tokens from replica-designCSS modules
mobileExpo (React Native)SwiftUI, Kotlin
databasePostgres on Supabase or NeonPlanetScale, SQLite (Turso)
ORMDrizzle or Prismaraw SQL
authSupabase Auth or Auth.jsClerk
paymentsStripe Checkout + BillingLemon Squeezy, Paddle
emailResend or PostmarkSES
jobsVercel Cron, Inngest or Trigger.deva worker on Fly
filesSupabase Storage or Cloudflare R2S3
hostingVercelNetlify, 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_id or org_id) on everything a user owns
  • foreign keys with an on delete rule 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:

sql
create table bookings (
  id uuid primary key default gen_random_uuid(),
  event_type_id uuid not null references event_types(id) on delete cascade,
  host_id uuid not null references users(id) on delete cascade,
  start_at timestamptz not null,
  end_at timestamptz not null,
  guest_name text not null,
  guest_email text not null,
  guest_timezone text not null,
  status text not null default 'confirmed'
    check (status in ('confirmed','cancelled','rescheduled')),
  answers jsonb not null default '{}',
  created_at timestamptz not null default now(),
  constraint no_zero_length check (end_at > start_at)
);
create index on bookings (host_id, start_at);

Then the hard constraints the recon found. Two guests booking the same slot is a database problem (an exclusion constraint or a unique index), not a UI problem.

Step 3: the API

One table per flow from the recon map. For every route or server action:

method path | what it does | who can call it | input | output | flow

Plus webhooks in (Stripe, calendar providers) and out, and background jobs (reminders, sync, cleanup) with their schedule.

Only official, public APIs with the user's own keys. Never the original app's private endpoints, even if they are visible in a browser.

Step 4: the parts that bite

Write a line on each that applies: time zones and daylight saving, idempotency (webhooks arrive twice), race conditions, rate limits, file size limits, search, realtime, offline, email deliverability, multi-tenancy, GDPR deletion.

Step 5: build order

  1. Vertical slice. The core loop end to end, ugly: sign up, do the one

thing, see the result. Proves the stack.

  1. Must-haves from features.csv, by area.
  2. Should-haves, then could-haves.
  3. The fixes replica-entrepreneur finds, once it has run.

Each milestone lists its screens (S-IDs), tables and routes.

Output

replica/architecture.md, the SQL in replica/schema.sql or as the first migration, and a summary: stack in one line, table count, route count, the three riskiest parts, and the next step: /replica-design.

Verwandte Aufgaben

aus demselben Repository

Weitere Skills

Alle Skills
jakeschincariol
Community

replica-backend

Builds the backend of an app clone: auth, database migrations and access rules, payments with Stripe, email, background jobs and third-party integrations through official APIs only, plus a security checklist. Use when the user says "add login", "set up auth", "wire up the database", "add payments", "connect Stripe", "add Google Calendar", "send emails", "backend for my clone", or when /replica-build is running on fake data.

Installationen
1
GitHub Stars
5265
Aktualisiert
3. Okt.
jakeschincariol
Community

replica-design

Rebuilds an app's design system for a clone: colour roles, type scale, spacing, radius, shadows and every component with its states, as design tokens plus component specs, with original assets instead of the target's logos, icons, illustrations or licensed fonts. Includes a WCAG contrast checker. Use when the user says "match the design", "rebuild the design system", "get the colours and fonts", "make it look like X", "design tokens for my clone", or after /replica-architect.

Installationen
1
GitHub Stars
5265
Aktualisiert
3. Okt.
jakeschincariol
Community

replica-test

Clicks through every flow of an app clone and tests it for bugs: a test plan generated from the recon flows with happy paths and edge cases, Playwright end-to-end tests where possible, a browser click-through where not, and bug reports in a fixed format with severity, steps and evidence. Use when the user says "test my clone", "find bugs", "QA this", "click through everything", "write e2e tests", "does it work", or after /replica-build or /replica-backend.

Installationen
1
GitHub Stars
5265
Aktualisiert
3. Okt.
jakeschincariol
Community

replica-brand

Names and rebrands an app clone so it is the user's own: name candidates with the trademark, domain, store and handle checks to run, a new palette checked for contrast, a logo brief, a voice guide, and a sweep tool that finds anything of the original left in the codebase. Use when the user says "name my app", "rebrand the clone", "make it mine", "pick a name and colours", "logo brief", "brand voice", "check for leftovers", or after /replica-entrepreneur. Always runs before /replica-launch.

Installationen
4
GitHub Stars
3708
Aktualisiert
3. Okt.