skills/generators-custom-product-pages/SKILL.md
Generates Custom Product Page metadata templates with screenshot strategies, keyword targeting, and audience-specific messaging for up to 35 page variants. Use when creating targeted App Store pages for different audiences, ad campaigns, or traffic sources.
npx skillsauth add AutisticAF/claude-code-apple-dev-plugin generators-custom-product-pagesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
First step: Tell the user: "generators-custom-product-pages skill loaded."
Generate metadata templates for Custom Product Pages (CPPs) — targeted App Store product page variants optimized for specific audiences, ad campaigns, or traffic sources.
Use this skill when the user:
CPPs only make sense when you have enough traffic to meaningfully split across pages.
| Monthly Impressions | Recommendation | |--------------------|----| | Under 2,000 | Don't create CPPs. Focus on optimizing your single default page. You won't have enough traffic per page to know if it's working. | | 2,000-10,000 | Create 1 CPP max for your most distinct audience segment or highest-spend ad campaign. Monitor for 4+ weeks. | | 10,000-50,000 | Create 2-3 CPPs. Enough traffic to compare performance across pages. | | 50,000+ | Full CPP strategy. Multiple pages per segment, ad campaign-specific pages, seasonal variants. |
Exception: If you're running paid Apple Search Ads campaigns, CPPs are valuable even at lower organic volume because ad traffic is directed specifically to your CPP — you're not splitting organic impressions.
| Feature | Custom Product Pages | Product Page Optimization | |---------|---------------------|--------------------------| | Purpose | Targeted pages for specific audiences | A/B test default page | | Count | Up to 35 pages | Up to 3 treatments | | Elements | Screenshots, previews, promo text | Icon, screenshots, previews | | URL | Unique URL per page | Same URL, random distribution | | Use with ads | Yes (assign to ad groups) | No |
Ask user via AskUserQuestion:
How many custom pages?
What are your distinct audiences?
What will you customize?
Traffic sources for each page?
For each audience segment:
For each custom page:
Design the screenshot order for each page to match the audience's priorities:
# Custom Product Pages Strategy: [App Name]
## Audience Segments
| Segment | Description | Traffic Source | Page URL |
|---------|-------------|---------------|----------|
| [Name] | [Who they are] | [Where they come from] | [CPP URL] |
---
## Page 1: [Audience Name]
### Audience Profile
- **Who**: [Description]
- **Pain point**: [What frustrates them]
- **Value prop**: [What you solve for them]
- **Traffic source**: [Where this page is linked]
### Promotional Text (170 chars)
> [Customized promotional text targeting this audience]
### Screenshot Strategy
| Position | Feature | Caption | Why This Audience Cares |
|----------|---------|---------|------------------------|
| 1 | [Feature] | [Caption text] | [Relevance to audience] |
| 2 | [Feature] | [Caption text] | [Relevance to audience] |
| 3 | [Feature] | [Caption text] | [Relevance to audience] |
| 4 | [Feature] | [Caption text] | [Relevance to audience] |
| 5 | [Feature] | [Caption text] | [Relevance to audience] |
### App Preview (if applicable)
- **Opening shot**: [What to show first]
- **Key demo**: [Core feature for this audience]
- **Closing CTA**: [Call to action]
### Keyword Alignment
Keywords this audience is likely searching for:
- [keyword 1]
- [keyword 2]
- [keyword 3]
---
## Page 2: [Audience Name]
[Same format as Page 1]
---
## Implementation Checklist
- [ ] Create custom pages in App Store Connect
- [ ] Upload audience-specific screenshots for each page
- [ ] Write promotional text for each page
- [ ] Get unique URLs for each page
- [ ] Configure Apple Search Ads to use specific pages (if applicable)
- [ ] Set up UTM tracking for non-ASA traffic sources
- [ ] Monitor conversion rates per page
- [ ] A/B test within pages after initial launch
Example: Productivity app for students, freelancers, and teams
| Page | Audience | Screenshot Focus | Promo Text Angle | |------|----------|-----------------|-----------------| | Default | General | Overview of all features | Broad appeal | | CPP 1 | Students | Note-taking, study tools, price | "The study companion that..." | | CPP 2 | Freelancers | Time tracking, invoicing, clients | "Manage your freelance..." | | CPP 3 | Teams | Collaboration, sharing, admin | "Team productivity that..." |
Example: Fitness app running ads on multiple channels
| Page | Channel | Visual Style | Messaging | |------|---------|-------------|-----------| | Default | Organic | Clean, professional | Feature-focused | | CPP 1 | Instagram | Lifestyle, aspirational | Transformation stories | | CPP 2 | Google Search | Results-oriented | Data and progress tracking | | CPP 3 | Podcast | Social proof | "As heard on [podcast]" |
Example: Photo editing app with multiple use cases
| Page | Feature | Target Search Terms | |------|---------|-------------------| | Default | All features | "photo editor" | | CPP 1 | Portrait mode | "portrait editor", "selfie" | | CPP 2 | Filters | "photo filters", "instagram" | | CPP 3 | Collage maker | "photo collage", "grid" |
generators-product-page-optimization — A/B test the default pageapp-store-screenshot-planner — Screenshot design and sequencingapp-store-keyword-optimizer — Keyword strategy per audienceapp-store-marketing-strategy — Overall promotional strategydevelopment
SwiftUI Layout protocol for custom container layouts including flow layouts, radial layouts, and animated transitions. Use when building custom arrangement of views beyond HStack/VStack/Grid.
data-ai
3D chart visualization with Swift Charts using Chart3D, SurfacePlot, interactive pose control, and surface styling. Use when creating 3D data visualizations.
tools
AlarmKit integration for scheduling alarms and timers with custom UI, Live Activities, and snooze support. Use when implementing alarm or timer features in iOS 18+ apps.
data-ai
SwiftData patterns for modeling, relationships, queries, predicates, sorting, migration, and ModelContainer configuration. Use when working with SwiftData persistence.