All skills
jakeschincariol avatar

/replica-architect

@77c9436

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.

Use this Skill: https://skilld.dev/gh/jakeschincariol/replica-skill/replica-architect

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

SKILL.md

≈124 tokens for metadata: the name and description. ≈1k when used: this file. ≈179 more on demand in 1 file.

Description uses 6.2% of example budget

Before choosing a Skill, your Agent reads its name and description. All available Skills share that space.

  • A shorter description leaves more room for other Skills. This entry exceeds our 1% size suggestion.

In our Claude Code example, all Skill names and descriptions share 8,000 characters. This Skill uses ≈498 characters, or 6.2%.

The 1% threshold is a size suggestion. Longer descriptions can still fit.

Your model, settings, and other Skills decide how much text your Agent can read.

Example settings and source

The example uses a 200k-token context and default Claude Code settings. The count includes the name, description, separators, and when_to_use when present. Codex also counts local file paths.

Skit's source and limits: Codex 0.160.1, Claude Code 2.1.292.

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
email 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_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:

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.
  2. Must-haves from features.csv, by area.
  3. Should-haves, then could-haves.
  4. 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.

Source: SKILL.md on GitHub

No rule matched.

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

No alerts4d3 checks · Risk SAFE
  • Gen Agent Trust Hub4d

    The replica-architect skill is a design planner that creates application architectures and database schemas based on reconnaissance data. It encourages security best practices like row-level security and official API usage. No malicious patterns, obfuscation, or unauthorized data access were detected.

  • Socket4d

    No alerts

  • Snyk4d

    Risk: LOW · No issues

Signed by skilld at 77c9436. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 45 minutes ago.

Activeupdated 5 days ago

README badge

README badge for jakeschincariol/replica-skill/replica-architect