skills/aso-audit/SKILL.md
When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO audit,' 'app store optimization,' 'optimize my app listing,' 'improve app visibility,' 'app store ranking,' 'audit my listing,' 'why aren't people downloading my app,' 'improve my app conversion,' 'keyword optimization for app,' or 'compare my app to competitors.' Use when the user shares an App Store or Google Play URL and wants to improve it.
npx skillsauth add irismaker/ai-agent-skills-hub aso-auditInstall 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.
Analyze App Store and Google Play listings against ASO best practices. Fetches live listing data, scores metadata, visuals, and ratings, then produces a prioritized action plan.
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Apple: apps.apple.com/{country}/app/{name}/id{digits}
Google: play.google.com/store/apps/details?id={package}
If the user gives an app name instead of a URL, search the web for:
site:apps.apple.com "{app name}" or site:play.google.com "{app name}"
Use WebFetch to retrieve the listing page. Extract every available field:
Apple App Store fields:
Google Play fields:
If WebFetch returns incomplete data (stores render client-side), note gaps and work with what's available. Ask the user to paste missing fields if critical.
WebFetch cannot extract screenshot images or caption text. Take a screenshot of the listing page to get visual data:
Promotional text (Apple): This 170-char field appears above the description but is often indistinguishable from it in scraped HTML. If you cannot confirm its presence, note this and recommend the user check App Store Connect.
Before scoring, classify the app into one of three tiers. This determines how you interpret "textbook ASO" deviations — a deliberate brand choice by a household name is not the same as a missed opportunity by an unknown app.
| Tier | Signals | Examples | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------- | | Dominant | Household name, 1M+ ratings, top-10 in category, near-universal brand recognition. Users search by brand name, not generic keywords. | Instagram, Uber, Spotify, WhatsApp, Netflix | | Established | Well-known in their category, 100K+ ratings, strong organic installs, recognized brand but not universally known. | Strava, Notion, Duolingo, Cash App, Calm | | Challenger | Building awareness, <100K ratings, needs discovery through keywords and ASO tactics. Most apps fall here. | Your app, most indie/startup apps |
Dominant apps get adjusted scoring in these areas:
Established apps get partial adjustment:
Challenger apps are scored strictly against textbook ASO best practices — every character, screenshot, and keyword matters.
Key principle: Before docking points, ask: "Is this a mistake or a deliberate choice by a team that has data I don't?" If the app has 1M+ ratings and a dedicated ASO team, assume their choices are data-informed unless clearly wrong.
Score each dimension 0-10 using the criteria in references/scoring-criteria.md.
Apply the brand maturity tier adjustments from Phase 1.5.
Reference files for platform specs and benchmarks:
references/apple-specs.md — Official Apple character limits, screenshot/video specs, CPP/PPO rules, rejection triggersreferences/google-play-specs.md — Official Google Play limits, screenshot specs, Android Vitals thresholds, policiesreferences/benchmarks.md — Conversion data, rating impact, video lift, screenshot behavior, CPP/event benchmarks| # | Dimension | Weight | What It Covers | | --- | -------------------- | ------ | ------------------------------------------------------------------------- | | 1 | Title & Subtitle | 20% | Character usage, keyword presence, clarity, brand + keyword balance | | 2 | Description | 15% | First 3 lines, keyword density (Google), CTA, structure, promotional text | | 3 | Visual Assets | 25% | Screenshot count/quality/messaging, video, icon, feature graphic | | 4 | Ratings & Reviews | 20% | Average rating, volume, recency, developer responses | | 5 | Metadata & Freshness | 10% | Category choice, update recency, localization count, data safety | | 6 | Conversion Signals | 10% | Price positioning, IAP transparency, social proof, download range |
Final score = weighted sum, out of 100.
| Score | Grade | Meaning | | ------ | ----- | --------------------------------------------------------- | | 85-100 | A | Well-optimized; focus on A/B testing and iteration | | 70-84 | B | Good foundation; clear opportunities to improve | | 50-69 | C | Significant gaps; prioritized fixes will have high impact | | 30-49 | D | Major optimization needed across multiple dimensions | | 0-29 | F | Listing needs a complete overhaul |
If the user provides competitor URLs or asks for comparison:
If no competitors are specified, suggest the user provide 2-3 or offer to search for top apps in their category.
Use the template in references/report-template.md to structure the output.
The report must include:
references/apple-specs.md for full specs, dimensions, and rejection triggersreferences/google-play-specs.md for full specs and policy details| Field | Apple Indexed? | Google Indexed? | | --------------------- | ---------------- | ---------------------- | | Title | Yes | Yes (strongest signal) | | Subtitle / Short desc | Yes | Yes | | Keyword field | Yes (hidden) | Does not exist | | Long description | No | Yes (heavily) | | Screenshot captions | Yes (since 2025) | No | | In-app events | Yes | N/A (LiveOps instead) | | Developer name | No | Partial | | IAP names | Yes | Yes |
Flag these if found. Items marked (tier-dependent) should be evaluated against the app's brand maturity tier — they may be deliberate choices for Dominant apps.
Always flag (all tiers):
Flag for Challenger/Established only (not mistakes for Dominant apps):
Flag for all tiers but note context:
tools
When the user wants to create, generate, or produce video content using AI tools or programmatic frameworks. Also use when the user mentions 'video production,' 'AI video,' 'Remotion,' 'Hyperframes,' 'HeyGen,' 'Synthesia,' 'Veo,' 'Runway,' 'Kling,' 'Pika,' 'video generation,' 'AI avatar,' 'talking head video,' 'programmatic video,' 'video template,' 'explainer video,' 'product demo video,' 'video pipeline,' or 'make me a video.' Use this for video creation, generation, and production workflows. For video content strategy and what to post, see social-content. For paid video ad creative, see ad-creative.
tools
When the user wants to create, plan, or optimize a lead magnet for email capture or lead generation. Also use when the user mentions "lead magnet," "gated content," "content upgrade," "downloadable," "ebook," "cheat sheet," "checklist," "template download," "opt-in," "freebie," "PDF download," "resource library," "content offer," "email capture content," "Notion template," "spreadsheet template," or "what should I give away for emails." Use this for planning what to create and how to distribute it. For interactive tools as lead magnets, see free-tool-strategy. For writing the actual content, see copywriting. For the email sequence after capture, see email-sequence.
development
When the user wants to create, generate, edit, or optimize images for marketing — blog heroes, social graphics, product mockups, profile banners, listing visuals, or brand assets. Also use when the user mentions 'AI image generation,' 'generate an image,' 'create a graphic,' 'product mockup,' 'hero image,' 'social media graphic,' 'banner image,' 'cover photo,' 'profile banner,' 'listing screenshot,' 'Flux,' 'Midjourney,' 'DALL-E,' 'GPT Image,' 'Ideogram,' 'Gemini image,' 'Canva,' 'Figma,' 'image optimization,' 'compress images,' 'WebP,' or 'OG image.' Use this for general-purpose marketing image creation and optimization. For paid ad image creative and platform-specific ad specs, see ad-creative. For video production, see video.
testing
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases. Credits: Original skill by @blader - https://github.com/blader/humanizer