robertguss/app-store-listing-optimizer
Optimize iOS App Store and Google Play Store listings for maximum discoverability and conversion. Perform competitive keyword research, craft keyword-optimized titles/subtitles/descriptions, design screenshot sequences, and generate A/B test variants. Use when the user has a built app and needs to write or improve their store listing, do ASO keyword research, optimize app metadata, plan screenshot strategy, or create listing variants for testing. Triggers on "optimize my app listing", "ASO", "app store optimization", "keyword research for my app", "improve my store listing", "screenshot strategy", "app store keywords", "play store listing".
npx skills add https://github.com/robertguss/claude-code-toolkit --skill app-store-listing-optimizer
Craft high-converting, keyword-optimized App Store and Google Play listings
through competitive research, strategic keyword selection, and data-driven
screenshot planning.
listings)
1. App Analysis — Understand the app, audience, differentiators
2. Competitive Research — Browse competitor listings, extract keywords
3. Keyword Selection — Identify high-intent, low-competition keywords
4. Craft the Listing — Write optimized metadata for each platform
5. Screenshot Strategy — Plan visual sequence and caption copy
6. A/B Test Variants — Generate 2-3 alternatives for split testing
Gather everything needed to position the app effectively. Ask the user:
Document the answers in a structured brief before proceeding.
Browse 8-12 competitor listings on the target store(s) using Chrome. For
detailed methodology and search patterns, see
references/keyword-research.md.
| Field | Where to Find |
| ---------------- | ----------------------------------------- |
| App name | Title on store listing |
| Subtitle / short | Below title (iOS) or short desc (Android) |
| Full description | Store listing body |
| Rating + count | Store listing header |
| Category rank | Store listing or chart position |
| Screenshots | Visual carousel — note caption text |
targets.
variations.
search. The description is NOT searchable — it exists purely for conversion.
avoid stuffing. The short description carries extra weight.
Narrow the master list to the highest-value keywords.
| Factor | What to Look For |
| --------------- | ------------------------------------------------------------- |
| Relevance | Directly describes what the app does or solves |
| Intent | User searching this term wants what the app offers |
| Competition | Fewer top-rated apps ranking for this term = better chance |
| Volume | Term appears across multiple competitor listings |
| Length | Longer phrases (2-3 words) = lower competition, higher intent |
Place in title or subtitle.
field or Google Play description.
remaining keyword space.
The 100-character keyword field has specific optimization rules:
Write optimized metadata for each target platform.
keyword
BrandName - Keyword Phrase or Keyword Phrase: BrandNameApply the rules from Step 3. Present the final keyword string with character
count. Example format:
sleep,tracker,insomnia,white,noise,meditation,relax,bedtime,routine,calm
(87/100 characters)
iOS (not searchable — optimize for conversion):
Google Play (searchable — balance keywords + conversion):
These lines appear in search results before the user taps "Read More." They must
accomplish three things: (1) state the core benefit, (2) differentiate from
competitors, (3) compel the tap.
{Primary benefit statement — what the user gets}
{Differentiator — why this app, not the others}
{Social proof or specificity — numbers, awards, or unique method}
Plan the visual sequence for maximum conversion. For detailed caption formulas,
device specs, and sequence patterns, see
references/screenshot-formulas.md.
alone
has visual appeal
| Position | Purpose | Caption Focus |
| -------- | ---------------------- | --------------------------------- |
| 1 | Hero / primary benefit | Strongest value proposition |
| 2 | Key feature #1 | Most differentiating feature |
| 3 | Key feature #2 | Second strongest feature |
| 4 | Social proof | Ratings, user count, press quote |
| 5 | Feature #3 | Unique capability |
| 6 | Customization / UI | Show personalization options |
| 7 | Before/after or result | Outcome the user achieves |
| 8 | Pricing / value | What they get for the price |
| 9-10 | Additional features | Remaining noteworthy capabilities |
search. Feature graphic (1024x500) is required and prominently displayed.
Generate 2-3 alternatives for the highest-impact elements. Present all variants
in a comparison table.
search results
vs rational, specific vs broad)
## A/B Test Plan
### Subtitle Variants (iOS)
| Variant | Text | Hypothesis | Chars |
| ------- | -------------------- | -------------------- | ----- |
| A | {current or default} | Benefit-focused | XX/30 |
| B | {alternative} | Feature-focused | XX/30 |
| C | {alternative} | Social-proof-focused | XX/30 |
### First 3 Lines Variants
| Variant | Lines | Hypothesis |
| ------- | -------------- | ---------------- |
| A | {3-line block} | Emotional hook |
| B | {3-line block} | Data-driven hook |
### Screenshot 1 Caption Variants
| Variant | Caption | Hypothesis |
| ------- | --------- | --------------- |
| A | {caption} | Problem-focused |
| B | {caption} | Outcome-focused |
significantly — each locale has its own keyword index
(Simplified)
lines
outperforms
Present the final optimized listing as a structured document:
Save the complete listing document as ASO-{AppName}.md.
Take robertguss/app-store-listing-optimizer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.