replica-launch — Claude Code skill: launch an app clone
Creates launch materials for an app clone: a landing page, pricing, store copy and a launch plan. Use it after you have positioning and brand research.
npx skills add Jakeschincariol/replica-skill --skill replica-launch -a claude-codeWhat replica-launch does
The skill reads replica/fixes.md, replica/brand.md, and replica/brand.json, then writes landing.md, pricing.md, listing.json, and launch-plan.md under replica/launch/. The landing page leads with documented fixes rather than a feature-parity list.
For pricing, it compares the original's public plans and alternatives with feedback on price and billing. It outlines subscription options, up to three tiers, and Stripe products for the user to create. Gather feedback.md first, because the pricing rationale depends on those complaints.
Store copy is checked with python3 listing.py replica/launch/listing.json. The script checks App Store and Google Play limits, questionable claims, emoji, keywords, and names in avoid; it exits with 1 on an error. The skill keeps the original app's name out of the app name, ads, and store listing.
What it helps with
- draft a landing page from positioning and documented fixes
- compare original pricing with alternatives
- outline pricing tiers and Stripe products
- check App Store and Google Play listing copy
- write a launch plan with a beta list and first users
Example prompts for the agent
- Create the landing page, pricing, and launch plan for my app clone.
- Build
replica/launch/listing.jsonand check it withlisting.py. - Draft App Store and Google Play listings without using the original app's name.
How to install replica-launch
1Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-launch -a claude-code2Manually: put the files in place
~/.claude/skills/replica-launch/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/replica-launch/
1Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-launch -a codex2Manually: put the files in place
.agents/skills/replica-launch/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-launch -a cursor2Manually: put the files in place
.cursor/skills/replica-launch/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Jakeschincariol/replica-skill replica-launch2Manually: put the files in place
.github/skills/replica-launch/SKILL.md1Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-launch -a gemini-cli2Platform CLI
gemini skills install https://github.com/Jakeschincariol/replica-skill --path replica-launchManually: put the files in place
.devin/skills/replica-launch/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Jakeschincariol/replica-skill --skill replica-launch -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about replica-launch
How do I install replica-launch in Claude Code?
Run npx skills add Jakeschincariol/replica-skill --skill replica-launch -a claude-code, then run npx skills add Jakeschincariol/replica-skill --skill replica-launch -a claude-code again. The skill file is at ~/.claude/skills/replica-launch/SKILL.md.
What does replica-launch do?
It writes launch materials for an app clone: landing-page copy, pricing, store listings, and a launch plan. It uses the project's positioning and brand files as source material.
What is required to check a store listing?
You need Python 3 and a completed replica/launch/listing.json. Run python3 listing.py replica/launch/listing.json to validate it.
Source text
SKILL.md · MIT
---
name: replica-launch
description: >-
Writes the launch for an app clone: the landing page built on the
positioning angle, pricing set against the original's public pricing and
its users' complaints, and the App Store and Google Play listing linted
against the stores' limits and copycat rules. Use when the user says
"landing page", "pricing", "how much should I charge", "App Store
listing", "store screenshots", "launch plan", "Product Hunt", or after
/replica-brand.
---
# replica-launch
Reads `replica/fixes.md` (the angle and the evidence), `replica/brand.md`,
and `replica/brand.json`. Writes `replica/launch/`: `landing.md`,
`pricing.md`, `listing.json`, `launch-plan.md`.
```bash
python3 listing.py replica/launch/listing.json # limits, claims, the original's name
```
Start from `listing.example.json` in this folder.
## The rules
- **No fake proof.** No invented testimonials, user counts, star ratings,
press logos or "trusted by" rows. An empty proof section is better than a
fake one. Real beta users, with permission, are fine.
- **No reviewer quotes as testimonials.** The original's reviews are research.
- **The original's name stays out** of your app name, store listing, keywords
and ads. Apple and Google reject it, and it invites a takedown.
## Step 1: landing page
`landing.md`, section by section, then build it in the project:
1. **Hero**: the angle as a headline (what you do, for whom), one line under
it, one button. Screenshot of the real product.
2. **The problem**: the top two "hate" themes, in plain words. Paraphrase,
do not quote reviewers.
3. **How it works**: three steps, from the core flow.
4. **Features**: each tied to a fix from `fixes.md`. Lead with the fixes,
not the parity features. Parity is the price of entry.
5. **Pricing**: the table from step 2.
6. **FAQ**: the real objections, including "can I import from {{category}}
tools?" if you built an importer.
7. **Final call to action.**
Copy in the brand voice. Run replica-design's contrast check on the page.
## Step 2: pricing
`pricing.md`:
- The original's public pricing page and 2 or 3 alternatives, in one table,
with the URL and the date read. Prices change, so the date matters.
- What reviewers said about price and billing, from `feedback.md`, with counts.
- The model: free plan or trial, per seat or flat, monthly and annual
(annual usually 2 months free).
- Three tiers at most. Name them by who they are for.
- Fix the billing complaints in the product: one-click cancel, clear renewal
emails, no surprise per-seat jumps.
- The Stripe products and prices to create (the user creates them).
## Step 3: store listing
Fill `listing.json`, then:
```bash
python3 listing.py replica/launch/listing.json
```
It checks App Store limits (name 30, subtitle 30, promotional text 170,
keywords 100, description 4000) and Google Play's (title 30, short
description 80, full 4000), counts characters the way a person does, flags
ranking and price claims in short fields, emoji, wasted keyword characters,
and **any name from `avoid`** anywhere in the listing. Exit 1 on an error.
Apple's App Review Guideline 4.1 (Copycats) rejects apps that simply copy a
popular app or make minor changes to another app's name or UI. Your fixes
and your own brand are what get you through review, so make them visible in
the screenshots and the first lines of the description.
Also prepare: screenshots at the current required sizes (check App Store
Connect and Play Console when you upload, they change), privacy labels and
the data safety form, privacy policy and support URLs, age rating, and review
notes with a demo account the reviewer can use.
## Step 4: launch plan
`launch-plan.md`: a waitlist or beta list before launch, analytics and error
tracking live, where the original's unhappy users talk (the Reddit threads
and communities from the research), a Product Hunt or Hacker News post that
leads with the fix, and the first 10 users to talk to by hand.
## Output
`replica/launch/` complete, the landing page built, `listing.py` passing.
Next: `/replica-deploy`.
© Jakeschincariol · MIT · Jakeschincariol/replica-skill