Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Aso

ASecurity

Audit and optimize App Store and Google Play listings — platform indexation rules (what Apple vs Google indexes), character/byte limits, a weighted 6-dimension scoring rubric, brand-maturity-tiered evaluation, and conversion benchmarks (video lift, screenshot behavior). Use when the user shares an app store URL, asks why downloads are low, or wants keyword/listing optimization.

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentsgotestinggit

Works with

cli

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add Mixard/fable-pack --skill aso --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aso?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Aso
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mixard-aso/badge)](https://www.skillsdirectory.com/skills/mixard-aso)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: aso
description: Audit and optimize App Store and Google Play listings — platform indexation rules (what Apple vs Google indexes), character/byte limits, a weighted 6-dimension scoring rubric, brand-maturity-tiered evaluation, and conversion benchmarks (video lift, screenshot behavior). Use when the user shares an app store URL, asks why downloads are low, or wants keyword/listing optimization.
---

# ASO Audit

Analyze App Store and Google Play listings against ASO best practices: fetch live listing data, score metadata, visuals, and ratings, then produce a prioritized action plan.

## Before Auditing

If `.agents/product-marketing.md` exists (created by the product-marketing skill), read it first.

## Phase 1 — Identify Store & Fetch

URL patterns:
```
Apple:  apps.apple.com/{country}/app/{name}/id{digits}
Google: play.google.com/store/apps/details?id={package}
```

If given an app name instead, search `site:apps.apple.com "{app name}"` or `site:play.google.com "{app name}"`.

Fetch the listing and extract every available field:

**Apple:** app name (30-char limit), subtitle (30), description (not search-indexed — conversion only), promotional text (170 chars, updatable without release), categories, screenshots (count/order/captions), preview video, rating + count, recent reviews, price/IAP, last updated, version notes, localizations, in-app events.

**Google Play:** title (30), short description (80), full description (4,000 chars — IS indexed), category + tags, feature graphic, screenshots, video, rating + count, reviews, price/IAP, last updated, what's new, downloads range, data safety, languages.

Stores render client-side — if the fetch is incomplete, note gaps and ask the user to paste missing fields. Screenshots/captions can't be extracted from HTML: take a browser screenshot of the listing page, or ask the user for one.

## Phase 1.5 — Assess Brand Maturity

Classify the app before scoring — 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; users search by brand | Instagram, Uber, Spotify |
| **Established** | Category-known, 100K+ ratings, strong organic installs | Strava, Notion, Duolingo |
| **Challenger** | Building awareness, <100K ratings; needs keyword discovery. Most apps. | Most indie/startup apps |

**Dominant apps** get adjusted scoring: brand-only titles are valid (the brand IS the keyword); descriptions scored purely on conversion; lifestyle photography instead of UI demos is legitimate; generic release notes at weekly cadence are fine; missing in-app events isn't a penalty for utility apps; localization scored relative to actual market.

**Established:** brand-first titles fine but should include 1-2 keywords; other dimensions scored normally.

**Challenger:** scored strictly against textbook ASO — every character, screenshot, and keyword matters.

Principle: before docking points, ask "Is this a mistake, or a deliberate choice by a team with data I don't have?"

## Phase 2 — Score Each Dimension

Score 0-10 per dimension, apply tier adjustments, weight:

| # | Dimension | Weight | Covers |
|---|-----------|--------|--------|
| 1 | Title & Subtitle | 20% | Character usage, keyword presence, clarity, brand/keyword balance |
| 2 | Description | 15% | First 3 lines, keyword density (Google), CTA, structure, promo text |
| 3 | Visual Assets | 25% | Screenshot count/quality/messaging, video, icon, feature graphic |
| 4 | Ratings & Reviews | 20% | Average, volume, recency, developer responses |
| 5 | Metadata & Freshness | 10% | Category choice, update recency, localization, data safety |
| 6 | Conversion Signals | 10% | Price positioning, IAP transparency, social proof |

**Final score** = weighted sum out of 100.

| Score | Grade | Meaning |
|-------|-------|---------|
| 85-100 | A | Well-optimized; focus on A/B testing |
| 70-84 | B | Good foundation; clear opportunities |
| 50-69 | C | Significant gaps; prioritized fixes high-impact |
| 30-49 | D | Major optimization needed |
| 0-29 | F | Complete overhaul |

## Phase 3 — Competitor Comparison (optional)

Fetch 2-3 competitors in the category, run the same scoring, build a comparison table, and identify keyword gaps.

## Phase 4 — Generate Report

Must include: score card (6 dimensions + grade), top 3 quick wins (<1 hour, highest impact), per-dimension findings with specific fixes, keyword suggestions with rationale, visual asset recommendations, and a priority action plan ordered by impact vs effort.

Report rules: every recommendation specific ("Change subtitle from X to Y," with character counts), flag Apple-vs-Google differences, note what can't be assessed without paid tools (search volume, exact rankings).

---

## Platform-Specific Rules

### Apple App Store — Key Facts

- Indexed text = Title (30 chars) + Subtitle (30 chars) + hidden Keyword field (100 **bytes** — Arabic/CJK chars use 2-3 bytes each)
- Long description is NOT indexed — optimize it for conversion only
- Promotional text (170 chars) does NOT affect search (Apple confirmed)
- Never repeat words across title/subtitle/keyword field — Apple indexes each word once
- Keyword field format: commas, no spaces ("photo,editor,filter")
- Screenshots: up to 10 per device; first 3 visible in search — ~90% of users never scroll past the 3rd
- Screenshot captions are indexed (AI extraction, since June 2025)
- In-app events: max 10 published, max 31 days each; indexed and appear in search
- Custom Product Pages (up to 70) appear in organic search; industry-reported estimate of +5.9% average conversion lift (not an Apple-published figure)
- App preview video: up to 3, 15-30s, autoplays muted — +20-40% conversion lift
- SKStoreReviewController: max 3 rating prompts per 365 days
- Apple has human editorial curation — design quality matters more

### Google Play — Key Facts

- Indexed text = Title (30) + Short description (80) + Full description (4,000 — target 2-3% keyword density, naturally)
- No hidden keyword field — all keywords must be in visible text; NLP detects and penalizes stuffing
- Prohibited in title: emojis, ALL CAPS, "best"/"#1"/"free", CTAs (enforced since 2021)
- Screenshots: min 2, **max 8** per device (not 10 like Apple)
- Feature graphic (1024x500 exact) required for featured placements
- Video does NOT autoplay — only ~6% tap play (low ROI vs iOS)
- **Android Vitals directly affect ranking**: crash rate >1.09% or ANR >0.47% = reduced visibility (verify these thresholds against current Play Console docs — they change)
- Promotional Content: submit 14 days early for featuring; participating apps see ~2x explore acquisitions
- Custom Store Listings: up to 50 (target churned users, countries, ad campaigns)
- Store Listing Experiments: up to 3 variants, run 7+ days, 1 experiment at a time

### What Apple Indexes vs What Google Indexes

| Field | Apple | Google |
|-------|-------|--------|
| 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 |

---

## Common Issues Checklist

**Always flag (all tiers):**
- [ ] Rating below 4.0
- [ ] Last update > 3 months ago
- [ ] Google Play description with no keyword strategy (under ~1% density)
- [ ] Google Play missing feature graphic
- [ ] Apple keyword field likely repeating title/subtitle words
- [ ] Category mismatch — less competition available in another category
- [ ] Fewer than 5 screenshots

**Flag for Challenger/Established only** (may be deliberate for Dominant):
- [ ] Title wastes characters on brand-only (no keywords)
- [ ] Subtitle/short description duplicating title keywords
- [ ] Generic first 3 description lines
- [ ] No preview video
- [ ] Screenshots are UI dumps with no captions/messaging
- [ ] Only 1-2 localizations (score relative to actual market)
- [ ] No in-app events / promotional content

**Flag with context:** no developer responses to negative reviews (note review volume); generic "What's New" (acceptable at weekly+ cadence for big apps).

## Questions to Ask

1. App Store or Google Play URL?
2. Your app or a competitor's?
3. Competitor URLs to compare against?
4. Focus: search visibility, conversion, or both?
5. Access to App Store Connect / Play Console data?

## Related Skills

- Use the **ad-creative** skill for app-install ad creatives
- Use the **customer-research** skill to mine reviews for listing copy language

Attribution

MixardMixard
View sourceMore from Mixard →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →