Why Claude, and what it can't do
Claude is very good at the thinking part of ASO: expanding seed keywords, grouping them by intent, writing within strict character limits, and reading hundreds of reviews to find the phrases real users repeat.
It cannot see App Store search volume, difficulty or your current rankings. Treat every keyword it suggests as a hypothesis, then check it against real data (Apple Ads keyword popularity, or a rank tracker) before it goes into your metadata.
Every prompt below uses [BRACKETS] for the parts you replace.
Step 0: Set up a Claude Project for your app (5 minutes)
A Project lets Claude keep your app's context across every chat, so you don't paste your listing each time.
- In Claude, create a new Project named after your app.
- Add these as project knowledge (paste as text files or documents):
-
my-listing.txt: title, subtitle, keyword field, promotional text, description, screenshot headlines. -competitors.txt: the same fields for your 3–5 closest competitors (copy them from their App Store pages; the keyword field is private, so leave it out). -reviews.csv: 50–200 recent reviews of your app and competitors (rating, title, text, app name). The AI Review-Mining Kit shows how to export these. -facts.txt: who the app is for, the core job it does, features, pricing, and your main storefront. - Paste these custom instructions into the Project:
You are my App Store Optimization assistant for [APP NAME], an iOS app in [CATEGORY] for [TARGET USER].
Rules:
- Use the project knowledge files as your source of truth.
- Apple limits: title 30 chars, subtitle 30 chars, keyword field 100 chars (comma-separated, no spaces), promotional text 170 chars.
- Always count characters exactly and show the count next to anything with a limit.
- Never invent search volumes, rankings, download numbers or "industry benchmarks". If a decision needs data I haven't given you, say so.
- Never suggest competitor brand names or trademarks as keywords (App Review Guideline 2.3.7).
- Write like a human, not a marketer. No hype words like "revolutionary" or "ultimate".
A. Keyword research (5 prompts)
Prompt 1: Seed expansion
From my listing, facts and competitors in project knowledge, give me 10 seed keywords that describe the core job my app does. For each seed, list 10 variations a real iPhone user might type into App Store search (lowercase, 1–4 words). Prioritise how people describe the problem, not how developers describe features.
Prompt 2: Long-tail from user language
Read reviews.csv. List 30 phrases real users use to describe the problem my app solves or the outcome they want. Quote the exact wording and the review it came from. Then turn each into a likely App Store search query (1–4 words). Flag which ones a competitor already uses in its title or subtitle.
Prompt 3: Intent grouping
Here is my keyword list: [PASTE].
Group these keywords into clusters by search intent (what the person is trying to get done). For each cluster give: a name, the keywords, the user's intent in one sentence, and whether my app fully satisfies that intent (yes/partly/no). Recommend dropping keywords where the answer is "no".
Prompt 4: Competitor keyword gap
Compare the words in my title and subtitle with those in my competitors' titles and subtitles (project knowledge). Make a table: Word | Used by (which competitors) | Used by me? | Relevant to my app? Then list the 10 relevant words competitors use that I don't, and the words only I use (my potential differentiators).
Prompt 5: Shortlist for validation
From everything above, give me a shortlist of 25 keywords to validate with real search data. For each: keyword, cluster, relevance to my app (1–5, with one-line justification), and the field you'd consider it for (title, subtitle or keyword field). Don't estimate volume. I'll add volume and difficulty from my tools and come back.
B. Title and subtitle (4 prompts)
Prompt 6: Title options
Write 10 title options for my app. Each must: be ≤30 characters (show the count), start with or contain my brand "[BRAND]", include one keyword from my top cluster: [CLUSTER KEYWORDS], and read naturally. Mark the 3 you'd test first and why.
Prompt 7: Subtitle options
My chosen title is "[TITLE]". Write 10 subtitles, each ≤30 characters (show the count), that: (a) don't repeat any word from the title, (b) include words from my second cluster: [KEYWORDS], (c) state a benefit a user would care about. Avoid stacking keywords with no grammar unless you mark it as the "max-keyword" variant.
Prompt 8: Title + subtitle coverage check
For title "[TITLE]" and subtitle "[SUBTITLE]", list every word that will be indexed, and every 2–3 word search phrase that can be formed from those words that a real user might type. Mark which phrases match my shortlisted keywords and which shortlisted keywords are still uncovered.
Prompt 9: Stress test
Pretend you're a first-time user scrolling App Store search results for "[MAIN KEYWORD]". You see only my icon, title "[TITLE]" and subtitle "[SUBTITLE]" next to these competitors: [COMPETITOR TITLES + SUBTITLES]. In 2 sentences: what do you think my app does, and why would or wouldn't you tap it over the others? Then suggest one change.
C. Keyword field: 100 characters (3 prompts)
Prompt 10: Pack the keyword field
Title: "[TITLE]". Subtitle: "[SUBTITLE]". Candidate keywords, in priority order: [PASTE].
Build my 100-character keyword field:
- Single words only, comma-separated, no spaces
- No word that already appears in the title or subtitle
- No plurals if the singular is present, no "app", "iphone", "free", or my category name
- No competitor brands
Fill as close to 100 characters as possible, highest priority first. Show the final string, its exact character count, and the words you left out.
Prompt 11: De-duplicate and audit
Audit this keyword field: "[KEYWORD FIELD]" against title "[TITLE]" and subtitle "[SUBTITLE]". Report: exact character count, spaces found, duplicate words (across all three fields, case-insensitive, singular/plural treated as duplicates), filler words, likely trademarks, and words that look irrelevant to an app that [ONE-LINE DESCRIPTION]. Return a cleaned version and the characters it frees up.
Prompt 12: Secondary-locale field
My main storefront is the US. ASO practitioners report that the US storefront also indexes the Spanish (Mexico) locale's metadata (Apple doesn't document this, so I'll verify with rank tracking). Using the English keywords I couldn't fit: [PASTE LEFTOVERS], build a 100-character keyword field for my Spanish (Mexico) localization, with no word duplicated from my English title, subtitle or keyword field. Then suggest a Spanish (Mexico) title and subtitle that still make sense to Spanish-speaking users.
D. Description and promotional text (3 prompts)
Prompt 13: First three lines
Write 5 options for the first 3 lines of my App Store description (the part visible before "more"). Each should state who it's for, the main outcome and one proof point from my facts file. Maximum 250 characters per option. No hype words.
Prompt 14: Full description
Write my full App Store description using this structure: 3-line hook, "WHY PEOPLE USE IT" (4 bullets, benefit first), "WHAT YOU GET" (feature bullets), who it's perfect for, subscription terms placeholder. Use language from reviews.csv where possible. Keep it scannable and under 2,000 characters.
Prompt 15: Promotional text calendar
Write 6 promotional text variants (each ≤170 characters, show counts) for the next 3 months: 2 seasonal hooks relevant to [CATEGORY] in [MONTHS], 2 feature highlights ([FEATURES]), 1 social proof line using [REAL PROOF, e.g. rating, or leave a placeholder], 1 limited-time offer placeholder.
E. Competitor teardown (4 prompts)
Prompt 16: Positioning teardown
For each competitor in project knowledge, summarise: who they target, the main promise in their title/subtitle, the first 3 screenshot headlines (if I pasted them), pricing, and the gap or weakness I could position against. End with a 2x2 positioning map (axes you choose) and where my app should sit.
Prompt 17: Competitor review weaknesses
Using only the competitor reviews in reviews.csv, list each competitor's top 5 complaint themes with counts and a quote for each. Then tell me which complaints my app already solves (based on my facts file) and how I could say that in a screenshot headline without naming the competitor.
Prompt 18: Feature request mining
From all reviews in reviews.csv (mine and competitors'), extract feature requests ("I wish", "please add", "would be 5 stars if"). Group and count them. For the top 5, estimate build effort as S/M/L from my facts file, and suggest the "What's New" line I'd write when it ships.
Prompt 19: Listing rewrite challenge
Take [COMPETITOR]'s title, subtitle and description. Without copying their wording, write the version of MY listing that would win a user comparing us side by side. Explain the 3 choices that make it win.
F. Review mining (3 prompts)
Prompt 20: 1–3★ to roadmap
Filter reviews.csv to my app's 1–3★ reviews. Cluster them into themes, rank by frequency, and for each theme give: a likely root cause, a fix idea, and the keyword phrases users use when describing it. Output a table I can paste into my roadmap.
Prompt 21: Review replies
Draft replies to these 1–3★ reviews: [PASTE]. Each reply: under 350 characters, thanks them by addressing the specific issue, says what changed or when it will (use [VERSION] or [DATE] placeholders if unknown), and invites them to email [SUPPORT EMAIL]. No copy-paste feel. Vary the openings.
Prompt 22: "What's New" in users' words
I just shipped: [CHANGES]. Using phrases from the reviews that asked for these changes, write 3 versions of my "What's New" text: 1 line, 3 lines and a friendly 5-line version. Lead with the user benefit. No "bug fixes and performance improvements".
G. Screenshot captions (3 prompts)
Prompt 23: Headline set
My screens, in order, show: [DESCRIBE EACH SCREEN]. Write a benefit headline (max 6 words) and an optional subline (max 8 words) for each. The first 3 must work as a standalone story in search results. Naturally include these keywords where they fit: [KEYWORDS].
Prompt 24: Story order
Here are my current screenshot headlines in order: [PASTE]. Reorder them so screenshots 1–3 answer: what is it, what do I get, why this one. Explain any you'd cut or merge, and which single screen you'd test as screenshot 1 in a Product Page Optimization test.
Prompt 25: Custom product page variants
I want 3 custom product pages for these audiences: [e.g. people who want to lose weight, gym-goers tracking protein, busy parents]. For each: a screenshot 1 headline, a promotional text line (≤170 chars), and 5 keywords to assign to that page. No word repeats across a page's headline set.
Worked example: KalFit (my AI calorie counter)
Here's how the title, subtitle and keyword-field prompts apply to a real listing. These are KalFit's live title and subtitle on the US App Store (October 2026):
| Field | Text | Characters |
|---|---|---|
| Title | KalFit: AI Calorie Counter | 26 / 30 |
| Subtitle | Meal Scan Protein Macro Log | 27 / 30 |
What Prompt 8 surfaces: the indexed words are kalfit, ai, calorie, counter, meal, scan, protein, macro, log. That covers phrases like "calorie counter", "ai calorie counter", "meal scan", "macro log" and "protein counter", without any of them being repeated in the keyword field.
What Prompt 10 produces. This is an illustrative keyword field built only from words not already in the title or subtitle. It's not KalFit's private live field, and it's unvalidated until checked against real volume:
tracker,food,diary,diet,weight,loss,nutrition,carb,fat,photo,intake,fitness,keto,snap,lose,plan
95 / 100 characters. No spaces, no repeats, no "app" or "free". Combined with the title and subtitle, it can also cover phrases like "food diary", "macro tracker", "calorie tracker", "weight loss" and "photo calorie counter".
Try GROWNX free: Free plan available
Check every keyword Claude suggests against real volume and difficulty in GROWNX. Track keywords, audit your listing and watch competitors from one ASO dashboard, built by an indie developer with multiple live iOS apps.
Free plan available. Start free.
Start free →