replica-backend — скилл для Claude Code: бэкенд клона приложения
Собирает бэкенд клона приложения: авторизацию, миграции базы, доступы, платежи Stripe, письма и фоновые задачи. Читает replica/architecture.md и ведёт чек-лист в replica/backend.md.
npx skills add Jakeschincariol/replica-skill --skill replica-backend -a claude-codeЧто делает replica-backend
Скилл работает по карте, которую оставила разведка: берёт replica/architecture.md, пишет миграции и серверный код, обновляет replica/backend.md с проставленными галочками. Авторизация — регистрация по почте с подтверждением, сброс пароля, magic link, если он есть в оригинале, OAuth через ваши собственные приложения Google или Apple. Сессии на http-only secure cookies, роли и команды с одной функцией, отвечающей на вопрос, может ли этот пользователь сделать это с этой записью.
Платежи идут через Stripe Checkout и Customer Portal, карточные формы скилл не строит. Вебхуки проверяют подпись, хранят id события, обработчики идемпотентны, потому что Stripe повторяет доставку. Статус подписки живёт в вашей базе и обновляется вебхуками. Отмена — в один клик: тяжёлая отмена подписки входит в топ жалоб на приложения и во многих местах незаконна.
Ключи создаёте вы сами. Скилл не регистрируется в сервисах и не вводит пароли или боевые ключи: проекты Stripe, Supabase, Resend и Google Cloud заводит пользователь, значения попадают в .env.local, а скилл пишет .env.example со списком переменных без значений. До деплоя всё держится на тестовых ключах и тестовых картах. Учтите сроки: областям Google вроде Calendar нужно OAuth-подтверждение Google до публичного запуска, это недели, и начинать надо заранее.
Какие задачи решает
- поднять регистрацию с подтверждением почты и сбросом пароля
- написать миграции и правила доступа к таблицам
- подключить Stripe Checkout и обработать вебхуки подписки
- настроить транзакционные письма со своего домена
- поставить фоновые задачи с ретраями и журналом недоставленных
Примеры запросов агенту
- добавь авторизацию в мой клон
- подключи Stripe и подписки
- настрой письма и фоновые задачи
Как установить replica-backend
1Через Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-backend -a claude-code2Вручную: положить файлы
~/.claude/skills/replica-backend/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/replica-backend/
1Через Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-backend -a codex2Вручную: положить файлы
.agents/skills/replica-backend/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-backend -a cursor2Вручную: положить файлы
.cursor/skills/replica-backend/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Jakeschincariol/replica-skill replica-backend2Вручную: положить файлы
.github/skills/replica-backend/SKILL.md1Через Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-backend -a gemini-cli2Командой платформы
gemini skills install https://github.com/Jakeschincariol/replica-skill --path replica-backendВручную: положить файлы
.devin/skills/replica-backend/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-backend -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о replica-backend
Как установить replica-backend в Claude?
Выполните npx skills add Jakeschincariol/replica-skill --skill replica-backend -a claude-code. Скилл окажется в ~/.claude/skills/replica-backend/SKILL.md.
Что делает replica-backend?
Собирает серверную часть клона приложения: авторизацию, миграции и правила доступа, платежи Stripe, письма, фоновые задачи и интеграции через официальные API. Ведёт чек-лист безопасности в replica/backend.md.
Какие ключи нужны для работы?
Свои собственные: проекты Stripe, Supabase, Resend или Google Cloud создаёте вы, а значения кладёте в .env.local. Скилл пишет .env.example со всеми именами переменных без значений и до деплоя работает на тестовых ключах Stripe.
Исходный текст
SKILL.md · MIT
--- name: replica-backend description: >- 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. --- # replica-backend Reads `replica/architecture.md`. Writes migrations and server code, and keeps `replica/backend.md` (checklist below) up to date. ## The rules - **Official, public APIs only, with the user's own keys.** Never call the original app's private endpoints, never reuse its OAuth client, never proxy through it. - **The user creates accounts and keys.** Claude never signs up for services, never types a password, card or live key. The user creates the Stripe, Supabase, Resend or Google Cloud project and puts keys in `.env.local`. Claude writes `.env.example` with every variable name and no values. - **Test mode first.** Stripe test keys and test cards until replica-deploy. ## Auth - Email sign up with verification, password reset, magic link if the original has it. OAuth (Google, Apple) with the user's own developer apps. - Sessions: http-only secure cookies. Sign out everywhere. - Roles and teams if the recon map has them: owner, admin, member, with one function that answers "can this user do this to this record". - Account deletion that actually deletes. Apple requires it for apps with sign up. ## Database - Migrations from `architecture.md`, checked in, run by a script. - Access rules on every table: row level security policies on Supabase, or the authorisation function called in every query. Test it: a second user must get nothing back. - Seed script with realistic fake data (no real people). - Backups on (the host's daily backups count, check they are enabled). ## Payments - Stripe Checkout for sign up to a plan, the Customer Portal for changes and cancelling. Do not build card forms. - Webhooks: verify the signature, store the event id, make every handler idempotent (Stripe retries). Handle `checkout.session.completed`, `customer.subscription.updated`, `customer.subscription.deleted`, `invoice.payment_failed`. - Subscription status lives in your database, updated by webhooks, read by your app. Never trust the client. - Cancelling is one click. Hard-to-cancel billing is a top complaint about most apps, and in many places it is illegal. ## Email and jobs - Transactional email through Resend or Postmark from your own domain. Templates written fresh. - Jobs for anything time-based (reminders, digests, sync, cleanup) with retries and a dead-letter log. Times in UTC, shown in the user's zone. ## Integrations For each integration in the feature matrix: the official API, the OAuth scopes needed (fewest possible), the provider's review process, rate limits. Google scopes like Calendar need Google's OAuth verification before public launch, which takes weeks. Start it early and write that in `backend.md`. ## Security checklist - [ ] secrets only in env vars, `.env*` in `.gitignore`, nothing in client bundles - [ ] input validated on the server (zod or similar) on every route - [ ] authorisation checked on every read and write, tested with a second user - [ ] rate limits on auth, sign up, and anything that sends email or SMS - [ ] webhooks verify signatures - [ ] uploads: size and type limits, served from a separate domain or bucket - [ ] no user data in URLs or logs - [ ] dependencies audited (`npm audit`) - [ ] privacy policy lists every processor (Stripe, Resend, host, analytics) ## Output Working auth, database, payments in test mode, email and the integrations, `.env.example`, `replica/backend.md` with the checklist ticked, feature matrix rows updated. Next: `/replica-test`.
© Jakeschincariol · MIT · Jakeschincariol/replica-skill