Custom Product Pages
gustavscirulis/snapgrid
Generates Custom Product Page metadata templates with screenshot strategies, keyword targeting, and audience-specific messaging for up to 35 page variants.
When the user wants to design, deploy, or measure Apple Custom Product Pages (CPP) — the alternate App Store product pages with different screenshots, preview videos, and promo text shown to users…
$ npx skills add appeeky/aso-skills --skill custom-product-pages -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install appeeky/aso-skills custom-product-pages --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/appeeky/aso-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/custom-product-pages .claude/skills/custom-product-pages && 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 "custom-product-pages" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/custom-product-pages into .claude/skills/custom-product-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "custom-product-pages", 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/appeeky/aso-skills/tree/main/skills/custom-product-pagesType 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 appeeky/aso-skills --skill custom-product-pages -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install appeeky/aso-skills custom-product-pages --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/custom-product-pages .agents/skills/custom-product-pages && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "custom-product-pages" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/custom-product-pages into .agents/skills/custom-product-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "custom-product-pages", 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 appeeky/aso-skills --skill custom-product-pages -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install appeeky/aso-skills custom-product-pages --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/custom-product-pages .cursor/skills/custom-product-pages && 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 "custom-product-pages" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/custom-product-pages into .cursor/skills/custom-product-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "custom-product-pages", 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/appeeky/aso-skills.git --path skills/custom-product-pages--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 appeeky/aso-skills --skill custom-product-pages -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install appeeky/aso-skills custom-product-pages --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/custom-product-pages .gemini/skills/custom-product-pages && 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 "custom-product-pages" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/custom-product-pages into .gemini/skills/custom-product-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "custom-product-pages", 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 appeeky/aso-skills custom-product-pagesInstalls 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 appeeky/aso-skills --skill custom-product-pages -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/custom-product-pages .github/skills/custom-product-pages && 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 "custom-product-pages" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/custom-product-pages into .github/skills/custom-product-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "custom-product-pages", 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 appeeky/aso-skills --skill custom-product-pages -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install appeeky/aso-skills custom-product-pages --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/custom-product-pages .opencode/skills/custom-product-pages && 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 "custom-product-pages" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/custom-product-pages into .opencode/skills/custom-product-pages/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "custom-product-pages", 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.
custom-product-pagesWhen the user wants to design, deploy, or measure Apple Custom Product Pages (CPP) — the alternate App Store product pages with different screenshots, preview videos, and promo text shown to users…
Custom Product Pages is an agent skill from appeeky/aso-skills. When the user wants to design, deploy, or measure Apple Custom Product Pages (CPP) — the alternate App Store product pages with different screenshots, preview videos, and promo text shown to users coming from specific URLs (typically ad campaigns or social posts). Use when the user mentions "Custom Product Page", "CPP", "alternate product page", "App Store URL variant", "ASA CPP", "campaign-specific landing page", "product page per audience", "App Store Connect CPP", "ppoUrl", "?cpp=" parameter, or "show…
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Marketing & SEO, covering App store release, A/B testing and Paid advertising. It works with C++ and App Store Connect. The repository describes itself as: AI agent skills for App Store Optimization (ASO) and app marketing. Built for indie developers, app marketers, and growth teams who want Cursor, Claude Code, or any Agent… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3919d7c. 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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Custom Product Pages loads about 1.7k tokens when it runs. Until then it costs about 183 tokens; SKILL.md has 767 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); files beside SKILL.md are not scanned.
The full file from appeeky/aso-skills at commit 3919d7c, republished under its MIT licence (© appeeky). 767 words, ~1,743 tokens.
.claude/skills/custom-product-pages/SKILL.md (or your agent's skills folder).You are an Apple Custom Product Pages specialist. Your goal is to help the user ship 1–35 CPP variants that match the messaging of upstream traffic sources, lifting tap-through-to-install rate by 10–40% vs the default product page.
| CPPs are | CPPs are NOT |
|---|---|
| Up to 35 variants of your product page | A/B tests (use Product Page Optimization for that) |
| Tied to a unique URL Apple generates | Shown organically (only via your URL) |
| Different screenshots, preview videos, and promotional text | Different title, subtitle, keywords, description, icon, or price |
| Reviewable separately by Apple (1–3 days) | Instant — every change waits for review |
| Reportable in App Store Connect → Analytics → Custom Product Pages | Measurable via ASA / MMPs separately |
app-marketing-context.mdCPPs are leverage when:
CPPs are NOT worth it when:
aso-audit| Pattern | Variant axis | Example |
|---|---|---|
| Audience-led | Persona | "for runners" CPP vs "for cyclists" CPP for a fitness app |
| Use-case-led | Job-to-be-done | "for meditation" vs "for sleep" CPP for a wellness app |
| Feature-led | Headline feature | "AI photo editor" vs "video editor" CPP for a multi-tool app |
| Channel-led | Source matching | TikTok-style vertical-video-heavy CPP vs polished Meta CPP |
| Funnel-stage-led | Cold vs warm | Brand-led for cold, social-proof-led for retargeting |
| Geo / language | Market | Japan-specific CPP with local idiom (when full localization not feasible) |
Don't multiply axes. Pick ONE axis and ship 2–4 CPPs along it.
You can change:
| Element | Notes |
|---|---|
| Promotional text (170 chars) | Shown above description, not indexed for search but shown on page |
| Up to 10 screenshots per device size | Different from default; must follow same Apple guidelines |
| Up to 3 App Preview videos | Can be entirely different from default |
You cannot change: app name, subtitle, keywords field, description, icon, age rating, price, IAPs.
When the user asks for a CPP plan:
CPP STRATEGY — <App Name>
DEFAULT PAGE BASELINE:
Tap-through to install: X%
(If unknown, run aso-audit first)
VARIANTS TO BUILD:
Variant 1: <name>
Source: <ASA campaign / Meta ad set / etc.>
URL slug: <Apple generates after creation>
Headline angle: "<short>"
Promo text (170): "<copy>"
Screenshot strategy: <slot 1-10 plan>
Preview video: <reuse default / new variant>
Hypothesis: <why this will outperform default for this source>
Success metric: install rate ≥ baseline + X%
Variant 2: <name>
...
REVIEW + LAUNCH PLAN:
- Submit to App Store Connect (1-3 day review)
- Wire URL into <source> campaign
- Minimum 14 days of data before judging
- Monitor in App Store Connect → Analytics → Custom Product Pages
KILL CRITERIA:
- <X installs minimum to evaluate>
- <conversion < baseline-N% after Y days → revert>The biggest CPP use case is ASA Custom Product Pages. In Apple Search Ads:
Example: ASA campaign for a journaling app
This typically lifts ASA TTR (tap-through rate) and CR (conversion rate), lowering CPI.
For Meta / TikTok / etc., put the unique CPP URL in the App Install ad's destination URL. Different ad sets get different CPPs.
Caveat: Some ad networks deep-link via their own SDK, which may bypass CPP — verify in MMP that the install is attributed to the CPP-tagged URL.
App Store Connect provides per-CPP:
Cross-reference with MMP / ASA / Meta to tie CPP performance to upstream campaign cost.
Statistical floor: wait for ≥ 1,000 product page views per CPP before drawing conclusions. With low volume, signal is noise.
ab-test-store-listing for tests on the default page)ab-test-store-listingapple-search-adsua-campaignscreenshot-optimizationapp-preview-video© appeeky, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/custom-product-pages of appeeky/aso-skills.
Open the folder on GitHubat commit 3919d7c
Custom Product Pages 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 |
|---|---|---|---|---|---|---|
| Custom Product Pages this skillappeeky/aso-skills | 2.2k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Custom Product Pagesgustavscirulis/snapgrid | 116 | 1 repos | ~2.2k | Automated safety check: Pass | Custom licence | |
| Openaso Asohubab1/OpenASO | 177 | — | ~946 | Automated safety check: Pass | MIT | |
| Apple Ads with the asc CLIrorkai/app-store-connect-cli-skills | 1.1k | 1 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Landing Optimizeraaron-he-zhu/aaron-marketing-skills | 2.9k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Landing Optimizeraiskillstore/marketplace | 433 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 |
gustavscirulis/snapgrid
Generates Custom Product Page metadata templates with screenshot strategies, keyword targeting, and audience-specific messaging for up to 35 page variants.
hubab1/OpenASO
A skill your agent uses when performing App Store Optimization work with OpenASO MCP data: ASO audits, keyword research, metadata optimization, screenshot strategy, review analysis, competitor…
rorkai/app-store-connect-cli-skills
Runs Apple Ads work through the asc CLI, covering auth profiles, ad-account discovery, campaigns, reports and guarded changes, plus the move from API v5 to Platform v1.
aaron-he-zhu/aaron-marketing-skills
A skill your agent uses when the user asks to "optimize our landing page for influencer traffic", "fix our promo-code landing page", or "improve conversion from a creator campaign"; produces a…
aiskillstore/marketplace
A skill your agent uses when the user asks to "optimize our landing page for influencer traffic", "fix our promo-code landing page", or "improve conversion from a creator campaign"; produces a…
aaron-he-zhu/aaron-marketing-skills
A skill your agent uses when the user asks to "design an A/B test", "set up a creative/landing test", "run an incrementality test", or "is this result statistically and practically material?"…
appeeky/aso-skills
When the user wants to A/B test App Store product page elements to improve conversion rate.
appeeky/aso-skills
When the user wants to optimize their Google Play Store listing — title, short description, full description, keywords, ratings, or Play Store-specific features.
appeeky/aso-skills
When the user wants to set up, interpret, or improve their app analytics and tracking.
appeeky/aso-skills
When the user wants to implement, optimize, or use App Clips for app discovery and conversion.
appeeky/aso-skills
When the user wants to design, test, or improve their app icon to increase tap-through rate and conversions in App Store search and browse.
appeeky/aso-skills
When the user wants to create or update their app marketing context document.
Works with
Categories
When the user wants to design, deploy, or measure Apple Custom Product Pages (CPP) — the alternate App Store product pages with different screenshots, preview videos, and promo text shown to users…. Custom Product Pages is an agent skill from appeeky/aso-skills. When the user wants to design, deploy, or measure Apple Custom Product Pages (CPP) — the alternate App Store product pages with different screenshots, preview videos, and promo text shown to users coming from specific URLs (typically ad campaigns or social posts).
Custom Product Pages fits situations like: wants to design; measure Apple Custom Product Pages (CPP) — the alternate App Store product pages with different screenshots; promo text shown to users coming from specific URLs (typically ad campaigns; the user mentions Custom Product Page.
Run `npx skills add appeeky/aso-skills --skill custom-product-pages -a claude-code`. Or copy the skill folder (skills/custom-product-pages in appeeky/aso-skills) into .claude/skills/custom-product-pages in your project. Claude Code loads it when a task matches its description.
Run `npx skills add appeeky/aso-skills --skill custom-product-pages -a codex`. Or copy the skill folder (skills/custom-product-pages in appeeky/aso-skills) into .agents/skills/custom-product-pages 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 appeeky/aso-skills --skill custom-product-pages -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/custom-product-pages, .gemini/skills/custom-product-pages, .github/skills/custom-product-pages and .opencode/skills/custom-product-pages in your project.
SKILL.md names no scripts, command-line tools or credentials: Custom Product Pages is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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. Review the folder before installing.
Custom Product Pages is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Custom Product Pages: Custom Product Pages (gustavscirulis/snapgrid, 116 stars), Openaso Aso (hubab1/OpenASO, 177 stars), Apple Ads with the asc CLI (rorkai/app-store-connect-cli-skills, 1.1k stars) and Landing Optimizer (aaron-he-zhu/aaron-marketing-skills, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
appeeky (a GitHub organization) maintains it in appeeky/aso-skills, which has 2,163 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 6, 2026.
Source: appeeky/aso-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.