Optimize App Store and Google Play listings with keyword strategy, metadata, and localization. Use when asked to improve app store visibility, ASO, or app discoverability. Don't use for web SEO, paid UA/ad campaigns, or pre-submission compliance/review audits.
Key Insight: One of the most context-heavy skills (7-phase pipeline, heavy file reads). Each phase maps to a subagent. Main agent orchestrates phase transitions and manages the critical user approval gate after Phase 3 compliance check.
ASO Marketing — Full-Lifecycle App Store Optimization
A comprehensive, iterative ASO workflow that takes your mobile app from analysis through planning, execution, verification, and reporting — covering both Apple App Store and Google Play Store.
Repo Sync Before Edits (mandatory)
Before creating/updating/deleting files in an existing repository, sync the current branch with remote:
is missing, pull is unavailable, or rebase/stash conflicts occur, stop and ask the user before continuing.
Philosophy
ASO is not a one-time task — it's a continuous optimization cycle. The best ASO strategies combine data-driven keyword research with compelling creative assets and ongoing measurement. This skill guides you through the full cycle, but always defers to the user on business priorities and brand voice. The goal is to make the app easier to find and more compelling to download.
Before You Start
Read
references/aso_best_practices.md
for the complete ASO knowledge base covering both stores — especially the "Store Policy Compliance" section which details prohibited keywords, trademark rules, and listing policy restrictions for both Apple and Google.
Determine which store(s) the user wants to optimize for (App Store, Google Play, or both).
Identify whether the user has existing metadata files, a live store listing, or is launching fresh.
Workflow Overview
The skill follows a 7-phase cycle. Each phase produces visible output for the user. Never skip the policy compliance check or the planning approval gate — the user must approve a policy-compliant plan before execution begins.
The analysis phase gathers everything needed to build an informed ASO plan. Investigate all available sources.
1.1 Codebase & Project Analysis
Understand what the app does by reading the codebase:
Read README, package.json, build.gradle, Podfile, Info.plist, AndroidManifest.xml, or any project config files
Identify the app's core features, target audience, and value proposition
Detect the app's category, supported platforms (iOS/Android/both), and supported languages
Look for existing metadata directories (
metadata/
,
fastlane/
,
supply/
, or custom paths)
1.2 Existing Store Metadata Audit
If metadata files exist locally:
App Store (iOS): Check
metadata/app-info/{locale}.json
and
metadata/version/{version}/{locale}.json
for name, subtitle, keywords, description, whatsNew, promotionalText
Google Play (Android): Check
fastlane/metadata/android/{locale}/
or
supply/metadata/
for title.txt, short_description.txt, full_description.txt, changelogs/
Audit each field for character limit compliance, keyword utilization, and quality
If the
asc-aso-audit
skill is available, recommend running it first for iOS metadata — it provides detailed offline checks that complement this skill's broader scope.
1.3 Competitive Landscape
Ask the user to identify 3-5 direct competitors. For each:
Note their app name, subtitle/short description, and apparent keyword strategy
Identify what makes them rank well (keywords in title, strong ratings, etc.)
Look for gaps — keywords they miss that the user's app could target
Trademark warning: Competitive analysis is for strategic insight only. Never carry competitor brand names into the proposed metadata (title, subtitle, keywords, descriptions). Using competitor trademarks in metadata violates Apple guideline 2.3.7/5.2.1 and Google Play policy, and can result in app rejection, de-indexing, or account termination.
1.4 Current Performance Baseline
If available, gather:
Current keyword rankings (from ASO tools, App Store Connect analytics, or Google Play Console)
Build a prioritized, actionable plan based on the analysis. The plan must cover all relevant optimization areas and be specific enough that the user can evaluate each recommendation.
Plan Structure
markdown
## ASO Marketing Plan### Objectives- Primary: [e.g., "Increase organic installs by improving search visibility for [category] keywords"]
- Secondary: [e.g., "Improve conversion rate from listing page views to installs"]
### Target Keywords#### Primary Keywords (high volume, core relevance)| Keyword/Phrase | Est. Volume | Competition | Target Field | Rationale ||---------------|-------------|-------------|--------------|-----------|#### Secondary Keywords (moderate volume, good fit)| Keyword/Phrase | Est. Volume | Competition | Target Field | Rationale ||---------------|-------------|-------------|--------------|-----------|#### Long-Tail Keywords (lower volume, high intent)| Keyword/Phrase | Est. Volume | Competition | Target Field | Rationale ||---------------|-------------|-------------|--------------|-----------|### Metadata Optimization Plan#### App Name / Title- Current: "[current]"
- Proposed: "[proposed]"
- Rationale: [why this change improves discoverability]
#### Subtitle (iOS) / Short Description (Android)- Current: "[current]"
- Proposed: "[proposed]"
- Rationale: [keyword + conversion reasoning]
#### Keywords Field (iOS only)- Current: "[current]"
- Proposed: "[proposed]"
- Characters used: [X/100]
- Cross-field combinations enabled: [list key search queries this enables]
#### Description / Full Description- Key changes: [what to add/remove/restructure]
- Keyword integration points: [where keywords appear naturally]
- Conversion optimization: [how the description drives installs]
#### What's New / Release Notes- Strategy: [how to leverage release notes for engagement]
### Visual Asset Recommendations-**App Icon:** [assessment and suggestions]
-**Screenshots:** [ordering, messaging, keyword captions]
-**Preview Video:** [if applicable — recommendation]
### Localization Strategy- Priority markets: [ranked by opportunity]
- Localization approach per market: [translate vs. localize vs. transcreate]
### Ratings & Reviews Strategy- Current rating: [X.X]
- Target rating: [X.X]
- Actions: [in-app review prompt timing, response strategy]
### Timeline & Priorities| Priority | Action | Impact | Effort | Timeline ||----------|--------|--------|--------|----------|| P0 | [highest impact, do first] | High | Low | Week 1 || P1 | ... | ... | ... | ... || P2 | ... | ... | ... | ... |
Iteration Gate
Present the plan to the user and explicitly ask for approval — but only after the policy compliance check (Phase 3) has validated all proposed metadata.
Phase 3: Policy Compliance Check
Before presenting the plan for approval, validate every piece of proposed metadata against Apple App Store and Google Play Store policies. This phase prevents rejected submissions and protects the developer account.
3.1 Prohibited Keyword Scan
Check all proposed metadata fields (title, subtitle, keywords, short description, full description) for prohibited terms:
Apple App Store — Banned in title, subtitle, and keywords:
Competitor brand names — Any mention of competitor app names (e.g., "WhatsApp", "Instagram", "Nike Training Club") must be removed from title, subtitle, keywords, and descriptions
Trademarked terms — Any trademarked term the user doesn't own or have a license for must be flagged
If competitor analysis was done in Phase 1, verify that competitor names referenced in the analysis are not carried into the proposed metadata. Competitor analysis is for strategic insight only — never embed competitor names in metadata.
3.3 Formatting Compliance
No emojis or special characters in title/subtitle (both stores)
No ALL CAPS in title/subtitle unless it's the registered brand name
No repeated special characters
Title within character limits (30 chars both stores)
No unattributed user testimonials or fake reviews in metadata
No graphic elements in icon suggesting store rankings (Google Play)
3.4 Content Accuracy Check
No unverifiable claims ("fastest", "most popular", "award-winning" without evidence)
Description accurately reflects app features — no features the app doesn't have
Screenshots show the actual app in use (not just marketing art)
In-app purchases and subscriptions clearly disclosed
No misleading descriptions of app functionality
3.5 Produce the Compliance Report
Output a compliance report alongside the plan:
markdown
## Store Policy Compliance Report### Prohibited Keyword Check| Proposed Term | Field | Store | Status | Issue | Fix ||--------------|-------|-------|--------|-------|-----|| [term] | [field] | [iOS/Android] | PASS/FAIL | [issue if any] | [replacement if needed] |### Trademark Check| Term | Field | Risk Level | Action ||------|-------|-----------|--------|| [term] | [field] | None/Low/High | [keep/remove/replace] |### Formatting Check- [x] or [ ] for each formatting rule
### Content Accuracy Check- [x] or [ ] for each accuracy rule
### Overall Status: PASS / NEEDS REVISION[If NEEDS REVISION, list all required changes before the plan can be approved]
If any violations are found, revise the plan to fix all issues before presenting to the user. The user should only see a compliant plan.
Present for Approval
After the compliance check passes, present both the ASO plan and the compliance report to the user:
"Here's the ASO plan based on my analysis. All proposed metadata has been validated against Apple App Store and Google Play Store listing policies — no prohibited keywords, trademark violations, or policy issues found.
Please review each section. Let me know:
Which recommendations you approve
Which you'd like to modify
Any you want to skip
Any additional ideas to include
I'll revise the plan based on your feedback before executing anything."
Do not proceed to Phase 4 until the user explicitly approves the plan. Iterate on the plan as many times as needed. Each revision should clearly show what changed and why — and each revision must pass the compliance check again.
Phase 4: Execute the Plan
Once the user approves, implement the changes systematically. Work through the priority list in order.
4.1 Metadata Updates
For each approved metadata change:
App Store (iOS) — if canonical metadata exists:
Update
metadata/app-info/{locale}.json
for name, subtitle
Update
metadata/version/{version}/{locale}.json
for keywords, description, whatsNew, promotionalText
Validate character limits after each edit
Cross-check keywords field: no duplicates with title/subtitle, no spaces after commas, single words preferred
Google Play (Android) — if fastlane/supply metadata exists:
Do not embed competitor brand names anywhere in metadata — trademark owners can file complaints leading to app removal
4.3 Description Optimization
Optimize descriptions for both search and conversion:
First 1-3 lines are critical — this is what users see before "Read More"
Lead with the strongest value proposition and a clear call-to-action
Use bullet points or short paragraphs for scannability
Naturally integrate target keywords without forcing them
Include social proof (awards, press mentions, user count) if available
End with a clear reason to download now
4.4 Localization Execution
For each target locale:
Research locale-specific keywords (not just translations of English keywords)
Adapt the messaging to local culture and usage patterns
Verify character limits in the target language (some languages are more verbose)
If the
asc-localize-metadata
skill is available, recommend it for bulk translation workflows
4.5 Visual Asset Guidance
Provide specific, actionable guidance:
Screenshots: Recommend ordering (lead with the strongest feature), caption text with keywords (OCR-indexed on App Store since June 2025), and visual hierarchy
App Icon: Assess current icon for clarity at small sizes, color contrast, and category conventions
Preview Video: Recommend whether one is needed and what to show in the first 3 seconds
Phase 5: Review the Implementation
After execution, review all changes for quality and correctness.
Review Checklist
All metadata fields within character limits
No keyword duplication across indexed fields (iOS)
Keywords field properly formatted (commas, no spaces)
Descriptions read naturally with keywords integrated
No spelling or grammar errors in any locale
Cross-field keyword combinations produce intended search queries
Visual asset recommendations are specific and actionable
Localized metadata is genuinely localized (not just translated)
No sensitive or brand-risky terms introduced
No prohibited keywords — re-scan all fields for banned terms (see Phase 3)
No competitor trademarks — verify no competitor brand names leaked into any metadata field
No unverifiable claims — no superlatives without evidence ("fastest", "best", "#1")
No platform references — no "Android"/"Google Play" in iOS metadata or vice versa
No formatting violations — no emojis, ALL CAPS (unless brand name), or special characters in titles
Accurate feature descriptions — every claimed feature exists in the app
Self-Audit
Run through the Phase 1 analysis checks again on the updated metadata to verify improvements:
Field utilization percentages improved
Keyword coverage expanded
No new issues introduced
Phase 6: Verify Against Best Practices
Cross-reference the implementation against the best practices in
references/aso_best_practices.md
:
Title/name includes primary keyword
Subtitle/short description includes secondary keyword and value prop
Keywords field maximizes character budget (iOS)
Description is conversion-optimized with keyword integration
Localization is market-aware, not just translated
Visual assets support conversion
Rating/review strategy addressed
Ongoing optimization recommendations provided
All metadata passes Store Policy Compliance rules (see "Store Policy Compliance" section in best practices)
No trademark violations — final check that no competitor or third-party trademarks appear in any metadata
No prohibited keywords — final scan against the prohibited terms lists for both stores
If any best practice or policy rule is violated, fix it before moving to the summary.
Phase 7: Summarize
Produce a final summary report for the user:
markdown
## ASO Marketing Summary Report### Changes Made|#| Area | Change | Before | After | Expected Impact ||---|------|--------|--------|-------|-----------------|### Metadata Comparison| Field | Platform | Before | After | Improvement ||-------|----------|--------|-------|-------------|### Keyword Strategy Summary-**Total unique keywords targeted:** [X]
-**Primary keywords:** [list]
-**Cross-field combinations enabled:** [list key search queries]
-**Keyword field utilization:** [X/100 chars (Y%)]
### Store Policy Compliance-**Prohibited keyword check:** PASS — no banned terms in any metadata field
-**Trademark check:** PASS — no competitor or third-party trademarks used
-**Formatting check:** PASS — no emojis, ALL CAPS, or special characters in titles
-**Content accuracy check:** PASS — all features described exist in the app
-**Overall compliance:** PASS for [App Store / Google Play / Both]
### Expected Outcomes- [Outcome 1: e.g., "Improved visibility for [keyword] searches"]
- [Outcome 2: e.g., "Higher conversion rate from improved first-impression copy"]
### Next Steps1.**Upload metadata** to the store(s) — [specific instructions]
2.**Monitor rankings** for target keywords after 1-2 weeks
3.**A/B test** screenshots and descriptions (use Custom Product Pages on iOS or Store Listing Experiments on Google Play)
4.**Re-run this skill** in 4-6 weeks to iterate based on performance data
### Files Modified- [list all files created or modified with paths]
Expected Output
A complete run produces the following artifacts:
1. ASO Analysis Report (Phase 1)
## ASO Analysis Report
### App Overview
- App Name: FocusFlow – Deep Work Timer
- Platforms: iOS, Android
- Category: Productivity
- Core Value Proposition: Distraction-free Pomodoro-style focus sessions with team accountability
- Target Audience: Knowledge workers, students, remote teams
### Current Metadata Status
| Field | Platform | Current Value | Length | Limit | Usage % | Issues |
|---------------|----------|--------------------------------------|--------|-------|---------|------------------------------|
| Title | iOS | FocusFlow: Work Timer | 22 | 30 | 73% | No primary keyword in title |
| Keywords | iOS | timer,focus,work,productivity | 34 | 100 | 34% | 66 chars unused |
| Short Desc | Android | A simple timer for focused work. | 36 | 80 | 45% | Weak value prop, low density |
2. ASO Plan + Compliance Report (Phases 2–3), then Updated Metadata Files (Phase 4):
Example
metadata/app-info/en-US.json
after execution:
json
{"name":"FocusFlow: Focus & Work Timer","subtitle":"Deep Work Sessions & Tracking"}
(97/100 chars, all prohibited terms cleared, no title/subtitle duplicates)
3. ASO Marketing Summary Report (Phase 7)
## ASO Marketing Summary Report
### Changes Made
| # | Area | Change | Before | After | Expected Impact |
|---|--------------|---------------------------------|-------------------------------|--------------------------------|------------------------------|
| 1 | iOS Title | Added primary keyword | FocusFlow: Work Timer | FocusFlow: Focus & Work Timer | +rankings for "focus timer" |
| 2 | iOS Keywords | Expanded from 34 to 97 chars | timer,focus,work,productivity | pomodoro,deep,work,... | 3× more indexable queries |
| 3 | Android Desc | Rewrote opening hook + keywords | A simple timer for focused... | Block distractions. Build... | Higher conversion rate |
### Store Policy Compliance
- Prohibited keyword check: PASS — no banned terms in any metadata field
- Trademark check: PASS — no competitor or third-party trademarks used
- Overall compliance: PASS for App Store + Google Play
Edge Cases
No local metadata files — The app has no
metadata/
,
fastlane/
, or equivalent directory. The skill creates the canonical directory structure and writes optimized files from scratch, then provides upload instructions for each store.
Single-platform app — User wants to optimize only the App Store or only Google Play. Skip all phases and checks for the irrelevant store. Do not propose a keywords field for Android (it has none).
No competitor access — User cannot name competitors or has no market data. Skip Phase 1.3; base keyword strategy on app features alone. Flag this gap in the analysis report.
Unverifiable keyword volume data — No ASO tool is available. Proceed with heuristic priority (feature-specific terms over generic terms, long-tail phrases over head terms) and note the limitation.
Pre-launch app — No live listing, no existing downloads or ratings data. Skip all performance-baseline steps; focus on metadata creation and visual guidance only.
Metadata policy violation in proposed plan — The compliance check (Phase 3) catches a prohibited keyword in the draft. The skill revises the plan silently, replaces the violation, re-runs the compliance check, and only presents the corrected plan to the user.
Non-English primary locale — If the app's main locale is not
en-US
, adapt all metadata templates, character limits, and keyword strategies to the target language. Note that some languages require more characters to express the same concept.
User rejects the plan — Do not execute. Iterate on the plan in Phase 2, incorporating the user's feedback, then re-run the Phase 3 compliance check before presenting the revised plan.
Acceptance Criteria
The skill run is considered successful when all of the following are verifiable:
Description ≤40 words with imperative verb — The skill frontmatter description passes the asm eval description check.
Analysis report produced — Phase 1 output includes App Overview, Current Metadata Status table, and Key Findings.
ASO plan covers all required fields — Plan includes title, subtitle/short description, keywords (iOS), full description, and visual asset recommendations for each targeted store.
Compliance check ran and passed — Phase 3 compliance report is present and shows PASS overall status before any plan is presented to the user.
User approval gate respected — Phase 4 execution does not begin until the user explicitly approves the plan.
All metadata fields within character limits — Title ≤30, subtitle ≤30, iOS keywords ≤100, Android short description ≤80, full description ≤4000. No truncation.
No prohibited keywords in any output metadata — Final scan finds zero banned terms (no "free", "best", "#1", competitor names, etc.) in any field.
No trademark violations — No competitor brand names appear in any proposed metadata field.
iOS keywords field has no duplicates with title/subtitle — The keyword field does not repeat words already in the title or subtitle.
Metadata files written — At least one metadata file (or the correct directory structure) exists on disk after Phase 4.
Summary report produced — Phase 7 output includes a Changes Made table, Metadata Comparison, Store Policy Compliance section, and Next Steps.
Step Completion Reports
After completing each major step, output a status report in this format: