Replica Launch
Jakeschincariol/replica-skill
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…
Generate App Store screenshots and header/search images for iPhone, iPad and Mac from a codebase or landing page, or re-render a set.
$ npx skills add luongnv89/skills --skill appstore-assets -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install luongnv89/skills appstore-assets --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/appstore-assets .claude/skills/appstore-assets && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "appstore-assets" agent skill from https://github.com/luongnv89/skills/tree/main/skills/appstore-assets into .claude/skills/appstore-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appstore-assets", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/luongnv89/skills/tree/main/skills/appstore-assetsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add luongnv89/skills --skill appstore-assets -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install luongnv89/skills appstore-assets --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/appstore-assets .agents/skills/appstore-assets && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "appstore-assets" agent skill from https://github.com/luongnv89/skills/tree/main/skills/appstore-assets into .agents/skills/appstore-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appstore-assets", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add luongnv89/skills --skill appstore-assets -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install luongnv89/skills appstore-assets --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/appstore-assets .cursor/skills/appstore-assets && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "appstore-assets" agent skill from https://github.com/luongnv89/skills/tree/main/skills/appstore-assets into .cursor/skills/appstore-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appstore-assets", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/luongnv89/skills.git --path skills/appstore-assets--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add luongnv89/skills --skill appstore-assets -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install luongnv89/skills appstore-assets --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/appstore-assets .gemini/skills/appstore-assets && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "appstore-assets" agent skill from https://github.com/luongnv89/skills/tree/main/skills/appstore-assets into .gemini/skills/appstore-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appstore-assets", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install luongnv89/skills appstore-assetsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add luongnv89/skills --skill appstore-assets -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/appstore-assets .github/skills/appstore-assets && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "appstore-assets" agent skill from https://github.com/luongnv89/skills/tree/main/skills/appstore-assets into .github/skills/appstore-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appstore-assets", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add luongnv89/skills --skill appstore-assets -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install luongnv89/skills appstore-assets --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/appstore-assets .opencode/skills/appstore-assets && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "appstore-assets" agent skill from https://github.com/luongnv89/skills/tree/main/skills/appstore-assets into .opencode/skills/appstore-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appstore-assets", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
appstore-assetsGenerate App Store screenshots and header/search images for iPhone, iPad and Mac from a codebase or landing page, or re-render a set.
Appstore Assets is an agent skill from luongnv89/skills. Generate App Store screenshots and header/search images for iPhone, iPad and Mac from a codebase or landing page, or re-render a set. Use when preparing a submission. Don't use for ASO keywords, review audits, icons, videos, or Google Play.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 23 other files, including scripts, reference files and assets (for example `agents/app-explorer.md`, `agents/asset-reviewer.md` and `assets/template/config.js`).
It sits in Frontend & Design, covering App store release and Landing pages. The repository describes itself as: Supercharge your AI agents/bots with reusable skills. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 132152c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (JavaScript, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
gitpython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Appstore Assets loads about 3.1k tokens when it runs, and up to ~9.5k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 1,538 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from luongnv89/skills at commit 132152c, republished under its MIT licence (© luongnv89). 1,538 words, ~3,093 tokens.
.claude/skills/appstore-assets/SKILL.md (or your agent's skills folder). This skill also uses 17 other files; get the full folder from GitHub.Turn an app's codebase or landing page into an upload-ready App Store asset set: screenshots for each required display class plus optional creative assets, rendered from HTML by headless Chrome and verified against Apple's specs. Prime directive: show only what the shipped app does. Never invent UI, features or claims (App Review Guideline 2.3).
Terms used throughout:
<out>/ holding src/, one folder per display class, creative/, sheets/ and PLAN.md.iphone-6.9, iphone-6.3, ipad-13 or mac.path:line) or a landing-page image.references/input-discovery.md.Use when someone needs App Store screenshots or header/search creative assets for an iPhone, iPad or Mac app, from its code or landing page, or wants an existing asset set edited and re-rendered. Not for listing copy, review audits, app icons, preview videos, or Google Play assets.
Step 0 branch → 1 discover → 2 refresh specs → 3 plan and approve → 4 build →
5 render and verify → 6 review → 7 hand off. After each step, print a Step
Completion Report: √/× rows tied to commands, files or counts, then
Result: PASS | FAIL | PARTIAL.
| Condition | Branch |
|---|---|
The input holds an Xcode project, Package.swift, Swift sources, or a Flutter/React Native app with an ios/ or macos/ target | Codebase: Steps 1–7 |
The input is a landing-page URL or .html file, with no codebase | Landing page: Steps 1–7; screens come only from page imagery |
<out>/src/config.js exists and the user asks for edits or a re-render | Update: edit config.js, then Steps 5–7 |
| Only watchOS, tvOS or visionOS, or no Apple target | Stop: report BLOCKED with the reason; write nothing |
| No input named or found | Ask for the codebase path or landing-page URL; write nothing |
Prerequisites: run python3 <skill>/scripts/render.py --preflight. It requires Pillow and
Chrome or Chromium and prints the fix for a missing one (use the project's venv when it has
one). If it fails, report BLOCKED. Without the Agent tool, run Steps 1 and 6 inline and say so.
For a landing page, confirm the user publishes the app before building; never make assets
for someone else's app.
Before the first write of Step 4 (the backup included), sync the repo that will hold <out>.
Skip it, and record why, when that folder is not in a git repo or the repo has no origin.
repo="$(git -C "<existing parent of out>" rev-parse --show-toplevel)"; branch="$(git -C "$repo" rev-parse --abbrev-ref HEAD)"
[ -n "$(git -C "$repo" status --porcelain)" ] && git -C "$repo" stash push -u -m appstore-assets-presync && stashed=1
if git -C "$repo" fetch origin && git -C "$repo" pull --rebase origin "$branch"; then sync=ok
elif [ -d "$repo/.git/rebase-merge" ] || [ -d "$repo/.git/rebase-apply" ]; then git -C "$repo" rebase --abort; sync=conflict
else sync=failed; fi
[ "${stashed:-0}" = 1 ] && git -C "$repo" stash popsync=failed (network, auth, missing branch): record it and continue. sync=conflict:
write nothing and ask the user how to continue. This skill never commits, pushes or uploads.
This skill optionally invokes frontend-design (Step 3), emil-design-eng (Step 6) and
browse (landing-page fetch), declared in frontmatter dependencies. Before Step 1:
command -v asm >/dev/null || echo "asm not installed: npm install -g agent-skill-manager"
asm deps discover "<this skill's directory>" --json
printf 'aa_session=%s\n' "appstore-assets-$(date +%s)-$$" # record it; reuse it verbatimAt a dependency's first use, run asm deps acquire <reference> --session <aa_session> --json
with its frontmatter reference, and read the returned skillMdPath. Without asm, look for
~/.claude/skills/<name>/SKILL.md or ~/.agents/skills/<name>/SKILL.md. Never acquire a
dependency whose step is not reached. At the end, including an early stop, run
asm deps release --session <aa_session> --json. All three are fail-soft: without
frontend-design or emil-design-eng, use references/design-direction.md and note it
under Uncertainty; without browse, use the host's web-fetch tool.
Spawn the explorer. Input: agents/app-explorer.md, references/input-discovery.md, the
input path or URL, and whether browse is available. Output: the app brief JSON. Do not
read the source tree yourself in this step; the explorer keeps it out of your context budget.
Bar: every platform carries evidence and every screen has a source. If stop_reason is set, take the Stop branch.
Fetch the three source URLs in references/apple-specs.md and compare the required classes
and sizes. The kit's sizes are fixed in render.py and check_assets.py, so if a class
changed, render only the unchanged classes, report PARTIAL, and list each difference. If
the fetch fails, use the snapshot and record its date under Uncertainty.
Bar: each platform's required display class and pixel size are named.
Read references/apple-guidelines.md and references/design-direction.md. Acquire
frontend-design and apply its Design Thinking to the marketing canvas only, with the
app's brand as the explicit brief.
approved_wording.Bar: the plan is approved or pre-authorized, and nothing was written before that. If the run ends unanswered, report BLOCKED with the pending question as the Decision.
<out>: the user's path; else metadata/screenshots/<version>/ when the repo has metadata/; else appstore-assets/<version>/ at the repo root (the working directory in landing-page mode). Without a version, use today's date. For several languages, add a <locale>/ level per set.<out> exists outside the Update branch, move it to <out>.bak-<timestamp> and record the move.assets/template/ to <out>/src/, then run scripts/fetch_font.py "<caption face>" <out>/src. Offline, delete fonts.display from config.js and record it.<out>/src/captures/ and any logo the UI shows to <out>/src/.config.js with references/render-pipeline.md. Put // Source: path:line above every screen builder.<out>/PLAN.md: per frame, the id, headline, UI source, evidence, and any element left out on purpose (for example a "Coming soon" row).Bar: grep -c "TODO:" <out>/src/config.js prints 0, and every screen builder cites a source.
python3 "<skill>/scripts/render.py" <out>/src
python3 "<skill>/scripts/check_assets.py" <out> --platforms <list> --sheet <out>/sheetsrender.py also fails on unknown icons, missing images and caption contrast below 3:1
(headline) or 4.5:1 (supporting line), and removes PNGs of dropped frames. If a script
fails, apply the fix it prints and re-run it. Bar: both commands exit 0.
<out>/sheets/. Fix text overlapping a device, clipped strings and blank screens.emil-design-eng and spawn a polish worker with the slice and task in references/design-direction.md. Apply its accepted rows to config.js only (css and brand tokens), then re-run Step 5.agents/asset-reviewer.md, references/apple-guidelines.md, the full-size PNGs, config.js, PLAN.md, the brief, and source access.NEEDS_FIX, fix each blocking finding, re-run Step 5, and spawn a new reviewer. Stop after two fix cycles.Bar: the latest verdict is PASS on the latest render, or two cycles ran and the report is PARTIAL.
If the user asked for a preview, publish a gallery of the sheets with the host's page tool,
or point to <out>/src/index.html opened without a query string. Never upload: offer
asc, fastlane deliver or a manual App Store Connect upload as a next step that needs
approval. Release the dependency session.
PLAN.md.A run is COMPLETE only when you verify every item:
render.py and check_assets.py exit 0 on the final state: exact sizes, RGB without alpha, at most 10 per class, the required class per platform, caption contrast, no dropped-frame leftovers.iphone-6.9/ and iphone-6.3/ hold the same frame names.config.js holds no TODO: and every screen builder cites // Source:.PASS, with no blocking finding.Expected output: open with the result and keep the four labels.
Result: COMPLETE | PARTIAL | BLOCKED — <what was produced, where, frames per class>
Evidence: <checks that ran: render.py and check_assets.py summaries, lowest contrast, reviewer verdict, spec refresh, sync>
Uncertainty: <recreated or approximated screens to verify on a build, classes not rendered, fallbacks, assumptions>
Decision: <the approval needed next (upload, commit, a dropped frame), or "No approval needed">PARTIAL means assets exist but a check or blocking finding remains; BLOCKED means no assets were written. State that nothing was committed or uploaded, and name the recreated frames. When grading runs, also check that a reader finds the result first, can tell verified facts from assumptions, can trace each claim to evidence, and sees the next decision. Without a human review, mark that understanding as unconfirmed.
references/apple-specs.md: sizes, required classes, creative specs, source URLs (Steps 2, 5).references/apple-guidelines.md: content rules, overclaim traps, story and captions (Steps 3, 6).references/input-discovery.md: where each brief field comes from (explorer slice, Step 1).references/design-direction.md: frontend-design and emil-design-eng mapping, polish checklist (Steps 3, 6).references/render-pipeline.md: asset set layout, commands, config shape, kit API, troubleshooting (Steps 4, 5).agents/app-explorer.md and agents/asset-reviewer.md: worker contracts (Steps 1, 6).© luongnv89, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 17 other files (scripts, references, assets) in skills/appstore-assets of luongnv89/skills.
Open the folder on GitHubat commit 132152c
Appstore Assets next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Appstore Assets this skillluongnv89/skills | 131 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Replica LaunchJakeschincariol/replica-skill | 1.4k | — | ~1k | Automated safety check: Pass | MIT | |
| Web Presencershankras/claude-code-apple-skills | 787 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Docskmworks/kmreader | 113 | — | ~551 | Automated safety check: Pass | MIT | |
| Screenshots Marketingnexu-io/open-design | 100k | — | ~301 | Automated safety check: Pass | Apache-2.0 | |
| Aesthetic Usability Effecthashgraph-online/awesome-codex-plugins | 1.3k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 |
Jakeschincariol/replica-skill
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…
rshankras/claude-code-apple-skills
The discovery surfaces outside the App Store app — your apps.apple.com product page ranking on Google, an owned landing page with a Smart App Banner, and the deal-site ecosystem that auto-amplifies…
kmworks/kmreader
Regenerate README.md, APPSTOREDESCRIPTION.txt, and the KMReader landing page (src/pages/reader/index.tsx in the kmworks/website repo) based on current important product features in the codebase.
nexu-io/open-design
Generate marketing screenshots with Playwright. An agent skill from nexu-io/open-design.
hashgraph-online/awesome-codex-plugins
A skill your agent uses when the design's perceived quality affects whether users will tolerate friction, give the product a chance, or judge it as well-made — which is most consumer-facing…
dotnetdreamer/open-screenshot-generator
Builds an App Store App Preview video (and a Play Store or landing page promo cut) from a screen recording of the app, using the open-screenshot-generator CLI (osg video): it starts from one of 20…
luongnv89/skills
Review UI usability using Steve Krug's principles and produce a scannable report.
luongnv89/skills
Manage AI agent fleets in Herdr: tile root + sub-agents in one tab, start/prompt/wait/read/monitor via the herdr agent CLI, steer any pane; help lists every operation.
luongnv89/skills
Optimize Ollama configuration for the current machine's hardware.
luongnv89/skills
Install local-first security hardening: pre-commit secret detection, offline dependency scans, static analysis, reports, and gated free CI.
luongnv89/skills
Audit and optimize websites for technical SEO, content SEO, and AI bot accessibility.
luongnv89/skills
Generate sprint-based development tasks from a PRD. An agent skill from luongnv89/skills.
Categories
Generate App Store screenshots and header/search images for iPhone, iPad and Mac from a codebase or landing page, or re-render a set. Appstore Assets is an agent skill from luongnv89/skills. Generate App Store screenshots and header/search images for iPhone, iPad and Mac from a codebase or landing page, or re-render a set.
Appstore Assets fits situations like: preparing a submission; tasks that involve App store release; tasks that involve Landing pages.
Run `npx skills add luongnv89/skills --skill appstore-assets -a claude-code`. Or copy the skill folder (skills/appstore-assets in luongnv89/skills) into .claude/skills/appstore-assets in your project. Claude Code loads it when a task matches its description.
Run `npx skills add luongnv89/skills --skill appstore-assets -a codex`. Or copy the skill folder (skills/appstore-assets in luongnv89/skills) into .agents/skills/appstore-assets in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add luongnv89/skills --skill appstore-assets -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/appstore-assets, .gemini/skills/appstore-assets, .github/skills/appstore-assets and .opencode/skills/appstore-assets in your project.
Going by SKILL.md and its folder, Appstore Assets needs JavaScript for the scripts in its folder and the command-line tools its instructions call (git and python3). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Appstore Assets is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Appstore Assets: Replica Launch (Jakeschincariol/replica-skill, 1.4k stars), Web Presence (rshankras/claude-code-apple-skills, 787 stars), Docs (kmworks/kmreader, 113 stars) and Screenshots Marketing (nexu-io/open-design, 100k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
luongnv89 (a GitHub user) maintains it in luongnv89/skills, which has 131 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 10, 2026.
Source: luongnv89/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.