
Aso
Audit a live Apple App Store listing from a URL and get a scored fix list with exact metadata and visual changes.
Overview
Aso is an agent skill for the Launch phase that audits Apple App Store listings with a six-dimension weighted scorecard and prioritized, character-aware metadata and creative recommendations.
Install
npx skills add https://github.com/coreyhaines31/marketingskills --skill asoWhat is this skill?
- Runs an Apple App Store audit from a listing URL with product-marketing.md context when present
- Scores six weighted dimensions (title/subtitle, description, visuals, ratings, metadata, conversion) to 100 with a grade
- Classifies brand maturity (Dominant, Established, Challenger) before interpreting scores
- Enforces Apple limits (title/subtitle 30 chars, promotional text 170 chars) in every copy recommendation
- Delivers top 3 quick wins plus change-X-from-Y-to-Z actions with character counts and keyword/visual guidance
- 6 scored dimensions with defined percentage weights totaling 100
- Title and subtitle recommendations respect 30-character limits; promotional text respects 170 characters
- Outputs top 3 quick wins plus change-from-X-to-Y recommendations with character counts
Adoption & trust: 14.2k installs on skills.sh; 32.4k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have a live App Store link but no objective score or concrete, limit-compliant changes to improve discovery and installs.
Who is it for?
Solo iOS builders or tiny teams preparing a listing refresh, launch push, or post-release ASO pass when you can share the public App Store URL.
Skip if: Google Play–only products, apps not yet on the store, or teams that only need high-level marketing strategy without a listing-specific audit.
When should I use this skill?
User shares an Apple App Store listing URL or asks to audit, score, or improve App Store Optimization for an existing iOS app.
What do I get? / Deliverables
You get a graded ASO scorecard, top quick wins, and a prioritized action plan with specific field-by-field copy and visual fixes ready for App Store Connect.
- Weighted ASO scorecard with grade out of 100
- Top 3 quick wins and prioritized action plan with specific metadata edits
- Keyword suggestions and visual asset recommendations
Recommended Skills
Journey fit
Store listing copy, screenshots, and metadata are the primary discovery and conversion levers when you ship or refresh a mobile app. The skill implements a full App Store Optimization audit workflow aligned with Prism’s ASO shelf under Launch.
How it compares
Use for a weighted Apple ASO audit with scored dimensions—not generic SEO checklists or unstructured chat critiques of your app idea.
Common Questions / FAQ
Who is aso for?
Indie and solo mobile builders shipping on Apple’s App Store who want a repeatable audit of an existing public listing, especially before updating metadata or creative in App Store Connect.
When should I use aso?
Use it in Launch when polishing a new or updated listing, before a version release that changes screenshots or copy, or in Grow when revisiting store conversion after you have ratings and traffic—you share the App Store URL and optional product-marketing.md.
Is aso safe to install?
Treat it like any third-party agent skill: review what agents can read or fetch from URLs and files on your machine. Confirm pass/fail details and findings on this page’s Security Audits panel before relying on it in production workflows.
SKILL.md
READMESKILL.md - Aso
{ "skill_name": "aso", "evals": [ { "id": 1, "prompt": "Here's our app on the App Store: https://apps.apple.com/us/app/example/id123456789. Can you audit our listing and tell me what to fix?", "expected_output": "Should check for product-marketing.md first. Should detect this is an Apple App Store URL and run the full ASO audit workflow. Should fetch the listing and extract Apple-specific fields (title 30 chars, subtitle 30 chars, description, promotional text 170 chars, category, screenshots, video, ratings). Should classify the app's brand maturity tier (Dominant/Established/Challenger) before scoring. Should score all 6 dimensions (Title & Subtitle 20%, Description 15%, Visual Assets 25%, Ratings & Reviews 20%, Metadata & Freshness 10%, Conversion Signals 10%) with weighted total out of 100 and a grade. Should output a scorecard, top 3 quick wins, detailed findings, keyword suggestions, visual recommendations, and prioritized action plan with specific 'change X from Y to Z' recommendations including character counts.", "assertions": [ "Checks for product-marketing.md", "Identifies as Apple App Store URL", "Classifies brand maturity tier", "Scores all 6 dimensions with weights", "Provides scorecard with grade", "Lists top 3 quick wins", "Recommendations include character counts", "Recommendations are specific (X to Y format)" ], "files": [] }, { "id": 2, "prompt": "We're a small fintech startup with about 5,000 downloads. Our Play Store listing has a 2.8 rating and we haven't updated the description in 8 months. Help us figure out what to fix first.", "expected_output": "Should recognize this as a Challenger-tier Google Play app. Should immediately flag the always-flag issues: rating below 4.0 (critical), last update >3 months ago. Should apply strict Challenger scoring against textbook best practices. Should focus on Google Play-specific guidance: full description is indexed for search (target 2-3% keyword density), no hidden keyword field, feature graphic required (1024x500), max 8 screenshots, Android Vitals affect ranking. Should prioritize fixing the rating issue (response strategy, in-app review prompts) and refreshing the description with keyword strategy. Should recommend updating the listing soon to break the >3 month stale signal.", "assertions": [ "Identifies as Google Play app", "Classifies as Challenger tier", "Flags rating below 4.0", "Flags stale update (>3 months)", "Notes Google Play indexes full description", "Mentions feature graphic requirement", "Recommends keyword strategy in description", "Prioritizes rating improvement" ], "files": [] }, { "id": 3, "prompt": "Instagram's App Store listing has just 'Instagram' as the title and barely any keywords. Should they fix that?", "expected_output": "Should classify Instagram as a Dominant-tier app and apply tier-adjusted scoring. Should explain that brand-only titles are valid for Dominant apps (score 8+ if brand IS the keyword) because users search by brand name, not generic keywords. Should NOT flag this as a missed opportunity. Should explain the key principle: 'Is this a mistake or a deliberate choice by a team that has data I don't?' Should note that other dimensions (screenshots, description, what's new) are also evaluated against tier — lifestyle/brand photography and brief release notes are acceptable for Dominant apps. Should contrast with what would be a problem for a Challenger app.", "assertions": [ "Classifies Instagram as Dominant tier", "Explains brand-only titles are valid for Dominant", "Does NOT flag the title as a problem", "Contrasts Dominant vs Challenger treatment", "Cites the 'mistake vs deliberate choice' principle" ], "files": [] }, {