aso-audit

When the user wants a full ASO health audit, review their App Store listing quality, or diagnose why their app isn't ranking. Also use when the user mentions "ASO audit", "ASO score", "why am I not ranking", "listing review", or "optimize my app store page". For keyword-specific research, see keyword-research. For metadata writing, see metadata-optimization.

9 stars

Best use case

aso-audit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

When the user wants a full ASO health audit, review their App Store listing quality, or diagnose why their app isn't ranking. Also use when the user mentions "ASO audit", "ASO score", "why am I not ranking", "listing review", or "optimize my app store page". For keyword-specific research, see keyword-research. For metadata writing, see metadata-optimization.

Teams using aso-audit should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/aso-audit/SKILL.md --create-dirs "https://raw.githubusercontent.com/exiao/skills/main/app-store/aso/aso-audit/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/aso-audit/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How aso-audit Compares

Feature / Agentaso-auditStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

When the user wants a full ASO health audit, review their App Store listing quality, or diagnose why their app isn't ranking. Also use when the user mentions "ASO audit", "ASO score", "why am I not ranking", "listing review", or "optimize my app store page". For keyword-specific research, see keyword-research. For metadata writing, see metadata-optimization.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# ASO Audit

You are an expert in App Store Optimization with deep knowledge of Apple's and Google's ranking algorithms. Your goal is to perform a comprehensive ASO health audit and provide a prioritized action plan.

## Initial Assessment

1. Check for `app-marketing-context.md` — read it if available for app context
2. Ask for the **App ID** (Apple numeric ID or Google Play package name)
3. Ask for the **target country** (default: US)
4. Ask which **platform** to audit (iOS / Android / Both)

## Data Collection

Use DataForSEO to fetch data. Bloom's App ID is `$BLOOM_APP_STORE_ID`.

1. **Fetch current App Store keyword rankings:**
   ```bash
   curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/apple/keywords_for_app/live" \
     -H "Authorization: Basic $DATAFORSEO_AUTH_BASE64" \
     -H "Content-Type: application/json" \
     -d '[{"app_id": "$BLOOM_APP_STORE_ID", "location_code": 2840, "language_code": "en", "limit": 100}]'
   ```
   Returns: keyword list with App Store positions and Google search volume.
   Parse: `result[0]['items']` — each item has `keyword_data.keyword`, `keyword_data.keyword_info.search_volume`, `ranked_serp_element.serp_item.rank_absolute`.

2. **Fetch competitor apps:**
   ```bash
   curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/apple/app_competitors/live" \
     -H "Authorization: Basic $DATAFORSEO_AUTH_BASE64" \
     -H "Content-Type: application/json" \
     -d '[{"app_id": "$BLOOM_APP_STORE_ID", "location_code": 2840, "language_code": "en", "limit": 10}]'
   ```
   Returns: top competitor `app_id`s and titles, sorted by keyword overlap.

3. **Fetch Bloom's App Store metadata (async task):**

   Step 1 — Post task:
   ```bash
   curl -s -X POST "https://api.dataforseo.com/v3/app_data/apple/app_info/task_post" \
     -H "Authorization: Basic $DATAFORSEO_AUTH_BASE64" \
     -H "Content-Type: application/json" \
     -d '[{"app_id": "$BLOOM_APP_STORE_ID", "language_code": "en", "location_code": 2840}]'
   ```
   Save the task `id`.

   Step 2 — Poll until ready:
   ```bash
   curl -s "https://api.dataforseo.com/v3/app_data/apple/app_info/tasks_ready" \
     -H "Authorization: Basic $DATAFORSEO_AUTH_BASE64"
   ```

   Step 3 — Fetch results:
   ```bash
   curl -s "https://api.dataforseo.com/v3/app_data/apple/app_info/task_get/advanced/<TASK_ID>" \
     -H "Authorization: Basic $DATAFORSEO_AUTH_BASE64"
   ```
   Returns: full metadata — title, subtitle, description, rating, reviews count, screenshots info.

If DataForSEO calls fail, ask the user to provide their current metadata directly.

## Audit Framework

Score each factor on a 0-10 scale. Calculate an overall ASO Score (weighted average).

### 1. Title (Weight: 20%)

| Check | What to look for |
|-------|-----------------|
| Keyword presence | Does the title contain the #1 target keyword? |
| Character usage | Using close to 30 characters? (iOS) |
| Brand vs keyword balance | Is the brand name necessary, or wasting space? |
| Readability | Natural reading, not keyword-stuffed? |
| Uniqueness | Distinct from competitors? |

**Scoring:**
- 9-10: Primary keyword + brand, natural, full character usage
- 7-8: Has keyword but room for optimization
- 4-6: Missing primary keyword or poor balance
- 0-3: Generic, no keywords, or truncated

### 2. Subtitle (Weight: 15%) — iOS only

| Check | What to look for |
|-------|-----------------|
| Keyword presence | Contains secondary keywords not in title? |
| No repetition | Doesn't repeat title keywords? |
| Value proposition | Communicates a benefit? |
| Character usage | Using close to 30 characters? |

### 3. Keyword Field (Weight: 15%) — iOS only

| Check | What to look for |
|-------|-----------------|
| No repetition | No keywords repeated from title/subtitle? |
| No spaces | Commas without spaces? |
| Singular forms | Using singular (Apple indexes both forms)? |
| Character usage | Using all 100 characters? |
| Relevance | All keywords relevant to the app? |
| No wasted words | No brand names, category names, or "app"? |

### 4. Description (Weight: 5% iOS / 15% Android)

| Check | What to look for |
|-------|-----------------|
| First 3 lines | Compelling hook above the fold? |
| Feature highlights | Clear benefits, not just features? |
| Keyword density (Android) | Natural keyword usage throughout? |
| Formatting | Uses line breaks, bullets, or emoji for readability? |
| Call to action | Ends with a clear CTA? |
| Social proof | Mentions awards, press, or user count? |

### 5. Screenshots (Weight: 15%)

| Check | What to look for |
|-------|-----------------|
| Count | All 10 slots used? |
| First 3 | Most compelling features shown first? |
| Text overlays | Clear, readable benefit-driven captions? |
| Consistency | Cohesive design language? |
| Localization | Localized for target market? |
| Device frames | Modern device frames (or frameless)? |

### 6. App Preview Video (Weight: 5%)

| Check | What to look for |
|-------|-----------------|
| Exists | Has a preview video? |
| First 3 seconds | Hook in the first 3 seconds? |
| Length | 15-30 seconds optimal? |
| Sound | Works without sound (captions)? |

### 7. Ratings & Reviews (Weight: 15%)

| Check | What to look for |
|-------|-----------------|
| Average rating | 4.5+ stars? |
| Rating count | Sufficient for category? |
| Recent reviews | Positive trend in last 30 days? |
| Review responses | Developer responds to negative reviews? |
| Rating prompts | Strategic in-app rating prompts? |

### 8. Icon (Weight: 5%)

| Check | What to look for |
|-------|-----------------|
| Distinctiveness | Stands out in search results? |
| Simplicity | Clear at small sizes? |
| Category fit | Matches category expectations? |
| No text | Avoids text (unreadable at small sizes)? |

### 9. Keyword Rankings (Weight: 10%)

| Check | What to look for |
|-------|-----------------|
| Top 10 keywords | Ranking in top 10 for target keywords? |
| Keyword coverage | Ranking for enough relevant keywords? |
| Trend | Rankings improving or declining? |
| Competitor gap | Missing keywords competitors rank for? |

### 10. Conversion Signals (Weight: 5%)

| Check | What to look for |
|-------|-----------------|
| Promotional text | Using promotional text for timely messaging? |
| What's New | Recent, informative update notes? |
| In-App Events | Using in-app events for visibility? |
| Custom Product Pages | Multiple product pages for different audiences? |
| Off-store demand | Any recent TikTok/Reels/X/creator spike creating download velocity? |

**Off-store demand diagnostic:** If an app ranks unusually high or jumps quickly, do not assume metadata caused it. Check external demand engines: viral posts, creator accounts, multi-account testing, paid/organic Reels, and bookmark/save-heavy formats. WayShot hit top App Store visibility off 150M+ views across 8 accounts and 500K+ downloads in one month; the listing benefited from demand created elsewhere. (Source: Social Growth Engineers, May 2026)

## Output Format

### ASO Score Card

```
Overall ASO Score: [X]/100

Title:              [X]/10  ████████░░
Subtitle:           [X]/10  ██████░░░░
Keyword Field:      [X]/10  ████░░░░░░
Description:        [X]/10  ████████░░
Screenshots:        [X]/10  ██████████
Preview Video:      [X]/10  ██░░░░░░░░
Ratings & Reviews:  [X]/10  ████████░░
Icon:               [X]/10  ████████░░
Keyword Rankings:   [X]/10  ██████░░░░
Conversion Signals: [X]/10  ████░░░░░░
```

### Quick Wins (implement today)

List 3-5 changes that can be made immediately with high impact.

### High-Impact Changes (this week)

List 3-5 changes that require more effort but have significant impact.

### Strategic Recommendations (this month)

List 3-5 longer-term strategic improvements.

### Competitor Comparison

Brief comparison table showing how the app stacks up against top 3 competitors on key metrics.

## Related Skills

- `keyword-research` — Deep dive into keyword opportunities found during audit
- `metadata-optimization` — Implement the metadata improvements identified
- `screenshot-optimization` — Redesign screenshots based on audit findings
- `competitor-analysis` — Detailed competitive analysis
- `review-management` — Address review issues found in audit

## Structured Deliverable Format

Every audit must include these five sections in this order:

### 1. Keyword Analysis
- Primary keywords: volume, competition score, relevance rating
- Long-tail opportunities (high intent, lower competition)
- Competitor keyword gaps: keywords top 3 competitors rank for that you don't

### 2. Metadata Optimization
- Current vs recommended title (iOS: 30 chars, Android: 50 chars)
- Current vs recommended subtitle/short description
- Keyword field analysis (iOS: 100 chars, no spaces wasted, no duplicates from title)

### 3. Visual Asset Assessment
- Icon: competitive differentiation, readability at 16x16px equivalent
- Screenshot 1 (hero): value prop clarity score (1-10)
- Screenshot sequence: story arc completeness (problem → solution → proof)

### 4. Prioritized Action Plan
- Quick wins: implement this week, high impact, low effort
- Medium-term: 1 month out
- Strategic: 3 month horizon

### 5. Success Metrics
- Organic download growth target (%)
- Keyword ranking targets (top 10 for N specific terms)
- Conversion rate baseline and goal (store listing visit → download)

Related Skills

skill-audit

9
from exiao/skills

Audit and score any skill against best practices. Use when: audit this skill, review this skill, check this skill, score this skill, is this skill good, skill health check, skill review, rate this skill. Takes a skill directory path, evaluates structure/content/patterns against a checklist, and outputs a scorecard with specific fixes.

audit

9
from exiao/skills

Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns. Generates a scored report with P0-P3 severity ratings and actionable plan. Use when the user wants an accessibility check, performance audit, or technical quality review.

writer

9
from exiao/skills

Write content in Eric's voice — articles, blog posts, tweets, social media posts, marketing copy, newsletter drafts. Loads WRITING-STYLE.md and enforces kill phrases.

positioning-angles

9
from exiao/skills

Use when defining product positioning, choosing strategic angles, crafting value propositions, competitive positioning, product messaging, differentiation strategy, or go-to-market angles. Also use for 'how should I position my app', 'what angle should I use', 'painkiller vs vitamin', or 'market positioning'.

outline-generator

9
from exiao/skills

Use when generating outlines, article structures, content outlines, blog outlines, planning article sections, structuring posts, breaking down topics into sections, or organizing ideas for long-form content. Also use for 'outline this', 'structure this article', or 'plan the sections'.

last30days-open

9
from exiao/skills

Use only when the user explicitly asks for the open variant of last30days, including watchlists, briefings, and history queries. Sources: Reddit, X, YouTube, web.

last30days

9
from exiao/skills

Use when researching what happened in the last 30 days on a topic. Also triggered by 'last30'. Sources: Reddit, X, YouTube, web. Produces expert-level summary with copy-paste-ready prompts.

hooks

9
from exiao/skills

Use when generating hooks, headlines, titles, and scroll-stopping openers for content. Also use when analyzing viral posts, Reels, TikToks, YouTube Shorts, or successful social examples to extract reusable hook patterns and improve hook guidance.

evaluate-content

9
from exiao/skills

Use when judging content quality OR editing/improving existing copy: shareability, readability, voice, cuttability, angle, copy sweeps.

editor-in-chief

9
from exiao/skills

Use when a first draft is complete and all Phase 1 gates are done: topic selected (seo-research), title approved (hooks), outline approved (outline-generator), draft written (writer). Runs autonomous diagnosis-prescribe-rewrite loop before Substack.

copywriting

9
from exiao/skills

Write or improve marketing copy for any surface: pages, ads, app stores, landing pages, TikTok/Meta scripts, push notifications, UGC. Combines page copy frameworks with direct response principles.

content-strategy

9
from exiao/skills

Use when building content strategy: hooks, angles, and ideas from what's trending now. Covers organic and paid creative across TikTok, X, YouTube, Meta, LinkedIn.