Files
marketingskills/skills/aso/references/scoring-criteria.md
T
Corey Haines 30f9b9a729 feat: v2.0 skill renames and CRO consolidation (#291)
* feat: v2.0 skill renames and CRO consolidation

BREAKING CHANGE: Users must reinstall skills after this update.

## Skill Renames (16)
- ab-test-setup → ab-testing
- analytics-tracking → analytics
- aso-audit → aso
- competitor-alternatives → competitors
- email-sequence → emails
- free-tool-strategy → free-tools
- launch-strategy → launch
- onboarding-cro → onboarding
- paywall-upgrade-cro → paywalls
- popup-cro → popups
- pricing-strategy → pricing
- product-marketing-context → product-marketing
- referral-program → referrals
- schema-markup → schema
- signup-flow-cro → signup
- social-content → social

## Consolidations (1)
- page-cro + form-cro → cro (form content in references/form.md)

## Why 2.0?
- Shorter, cleaner skill names
- Consistent naming (no -strategy, -setup, -cro suffixes)
- All cross-references updated across 100+ files

Total skills: 40

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(v2.0): update evals for renamed skills, fix validate script, clear warnings

- Update 32 evals.json files to reference new skill names (page-cro → cro,
  product-marketing-context → product-marketing, etc.) — these were missed
  in the initial v2.0 rename pass since only SKILL.md and marketplace.json
  were updated.
- Fix validate-skills.sh: replace GNU-only `head -n -1` with portable awk
  so frontmatter extraction works on macOS.
- Move Copy Editing Checklist (56 lines) to references/checklist.md to
  bring copy-editing SKILL.md under the 500-line limit (508 → 457).
- Add "see X" pointers to marketing-psychology description for skill
  discovery (cro, pricing, copywriting).
- Update skill-request.yml issue template placeholder (page-cro → cro).

All 40 skills now pass validation with zero warnings.

* fix(v2.0): add evals for 8 missing skills, strip stale frontmatter from cro/form.md

Adds 48 new eval cases (6 per skill) for skills that previously had no evals:
aso, co-marketing, community-marketing, competitor-profiling, directory-submissions,
image, lead-magnets, video. All 40 skills now have eval coverage (251 total cases).

Strips leftover frontmatter from skills/cro/references/form.md — it was inherited
from the old form-cro SKILL.md before consolidation. Reference files don't need
frontmatter.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): rename paid-ads → ads

One more v2.0 simplification — drops the redundant 'paid-' qualifier. Updates
the skill directory, SKILL.md frontmatter, evals.json, README skill table, the
v2.0 rename table in VERSIONS.md (now 17 renames), and all cross-references in
related skills (ad-creative, aso, competitor-profiling, customer-research,
lead-magnets, marketing-ideas) plus the tools/integrations guides.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): bump SKILL.md frontmatter version to 2.0.0 for all 40 skills

VERSIONS.md was already updated to 2.0.0 but the metadata.version field inside
each SKILL.md was still on 1.x. That mismatch would have caused the update-check
flow to perpetually report 'update available' since it compares VERSIONS.md
against local SKILL.md metadata versions.

Caught by codex review (P1).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): add legacy product-marketing-context.md filename fallback

Before this fix, users upgrading from v1.x who had a `product-marketing-context.md`
file would lose automatic context loading — every skill only checked the new
`product-marketing.md` filename. Now all 40 skills also accept the legacy
filename (in either `.agents/` or `.claude/`), and the README migration command
covers both legacy and current filenames.

Caught by codex review (P1 + P2).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): re-sort README skills table alphabetically, fix ads box width

The skills table had a few entries out of alphabetical order from the renames
(co-marketing was after cold-email, ads was at the renamed position).
Re-sorted alphabetically per sync-skills.js. Also padded the 'ads' cell in the
ASCII flow diagram to keep the box width consistent.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(v2.0): document folder cleanup on upgrade, stop sync-skills from re-adding skills array

README upgrade guide now includes:
- A clear cleanup step for stale v1.x skill folders (renamed + consolidated) so
  users don't end up with both old and new folders side-by-side after upgrading
- The full v1 to v2 rename map for reference
- Existing product-marketing-context.md migration steps (preserved)

sync-skills.js no longer (re-)introduces a `skills` array on marketplace.json --
Claude Code's plugin schema discovers skills via the `skills/` directory, and the
explicit array was failing validation. The script now refreshes the description
count and strips the stale array if present.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-13 22:05:15 -07:00

13 KiB

ASO Scoring Criteria

Score each dimension 0-10 using the rubrics below. Apply brand maturity tier adjustments from Phase 1.5 of the main skill.


Brand Maturity Adjustments (apply to all dimensions)

Before scoring, determine the app's tier: Dominant, Established, or Challenger.

Dominant apps (Instagram, Uber, Spotify, WhatsApp, Netflix):

  • Brand-only titles score 8+ (the brand IS the keyword)
  • Lifestyle/brand screenshots score same as captioned UI screenshots
  • Generic What's New at weekly+ cadence scores 8+
  • Missing in-app events for utility apps is not a penalty
  • Description scored on conversion quality only, not keyword presence
  • Localization scored relative to actual market footprint
  • Missing preview video is acceptable if brand awareness is near-universal

Established apps (Duolingo, Strava, Notion, Calm, Cash App):

  • Brand-first titles with 1-2 keywords score normally
  • Strategic description/visual choices get benefit of the doubt
  • All other dimensions scored normally

Challenger apps (most apps):

  • Scored strictly against textbook ASO — every character and feature matters

Key principle: Before docking points, ask: "Is this a mistake or a data-informed choice by a team with more information than I have?"


1. Title & Subtitle (Weight: 20%)

Challenger rubric:

Score Criteria
9-10 Brand + high-value keyword in title, complementary keywords in subtitle, no word repetition across fields, near max character usage, instantly communicates app purpose
7-8 Good keyword presence, minor character waste (5+ unused chars), clear purpose
5-6 Has keywords but poor placement, some repetition between fields, purpose somewhat clear
3-4 Title is brand-only or generic, subtitle missing or weak, poor character usage
1-2 No keyword strategy, title doesn't communicate purpose, major character waste
0 Cannot assess (data unavailable)

Dominant/Established adjustment: Brand-only titles (e.g., "Instagram") are valid if the brand has high search volume. Score 8+ for Dominant apps where brand recognition eliminates the need for generic keywords. Evaluate whether unused characters represent waste or intentional simplicity.

Check for:

  • Characters used vs limit (title: 30, subtitle/short desc: 30/80). "Near max" = within 3 chars of the limit (27+/30, 77+/80)
  • Primary keyword in title
  • Keyword duplication between title and subtitle
  • Whether app purpose is immediately clear
  • Unnecessary words (articles, prepositions) consuming space
  • Special characters or claims ("#1", "best") that risk rejection (Apple)

2. Description (Weight: 15%)

Apple App Store

Score Criteria
9-10 First 3 lines hook with clear value prop, structured with features/benefits/social proof/CTA, promotional text actively used, compelling and scannable
7-8 Good opening, decent structure, could improve scannability or CTA
5-6 Generic opening ("Welcome to..."), some structure, missing CTA or social proof
3-4 Wall of text, no clear value prop above fold, no promotional text
1-2 Minimal or boilerplate description, no effort
0 Cannot assess

Google Play

Score Criteria
9-10 Keywords in first 3 sentences, 2-3% natural density throughout, HTML formatting used, structured sections, strong CTA, keywords feel natural
7-8 Good keyword presence, some structure, density slightly off (1-2% or 3-4%)
5-6 Keywords present but sparse (<1%) or stuffed (>5%), weak structure
3-4 No keyword strategy visible, poor formatting, wall of text
1-2 Minimal description, no keywords, no structure
0 Cannot assess

Check for:

  • First 3 lines quality (visible before "Read More")
  • Feature-benefit framing (not just feature lists)
  • Social proof (downloads, awards, press mentions)
  • Call to action
  • Keyword density (Google Play only - count target keywords / total words)
  • HTML formatting usage (Google Play)
  • Promotional text presence and quality (Apple)

3. Visual Assets (Weight: 25%)

Score Criteria
9-10 8-10 screenshots with clear messaging/captions, preview video present, screenshots tell a story in sequence, each communicates one benefit, icon is distinctive and memorable
7-8 6-7 screenshots with captions, good icon, no video OR good video but some screenshot messaging unclear
5-6 5+ screenshots but weak/no captions, basic icon, no video, screenshots are UI dumps
3-4 3-4 screenshots, no captions, generic icon, no storytelling
1-2 Fewer than 3 screenshots, or screenshots are raw unedited UI, poor icon
0 Cannot assess

Check for:

  • Screenshot count (minimum 5, ideal 8-10)
  • Caption/overlay text on screenshots (one message per screen, 5-7 words max)
  • First 3 screenshots (highest conversion impact on Apple)
  • Preview video presence and quality
  • Icon distinctiveness (no text in icon, bold shapes, stands out)
  • Feature graphic presence (Google Play - mandatory for featured placements)
  • Screenshot storytelling flow (do they tell a coherent story?)
  • Localized visual assets (for non-English markets)
  • Caption keywords (Apple - indexed since June 2025)

4. Ratings & Reviews (Weight: 20%)

Score Criteria
9-10 4.5+ stars, 10K+ ratings, recent reviews positive, developer responds to negatives, steady review flow
7-8 4.0-4.4 stars, 1K+ ratings, mostly positive recent reviews, some developer responses
5-6 3.5-3.9 stars, 500+ ratings, mixed recent reviews, no developer responses
3-4 3.0-3.4 stars, <500 ratings, negative themes in recent reviews
1-2 Below 3.0 stars, few ratings, no developer engagement, visible complaints
0 No ratings yet or cannot assess

Check for:

  • Average rating (target: 4.0+ minimum, 4.5+ ideal)
  • Total rating count
  • Recent review sentiment (last 5-10 visible reviews)
  • Common complaint themes (bugs, crashes, pricing, UX)
  • Developer response presence and quality
  • Rating trend (improving or declining, if visible)
  • Review recency (fresh reviews signal active user base)

5. Metadata & Freshness (Weight: 10%)

Score Criteria
9-10 Updated within last month, 10+ localizations, optimal category choice, in-app events/LiveOps active, data safety complete
7-8 Updated within 2 months, 5+ localizations, good category, data safety present
5-6 Updated within 3 months, 2-4 localizations, acceptable category
3-4 Updated 3-6 months ago, 1-2 localizations, possibly wrong category
1-2 Not updated in 6+ months, single language, poor category choice
0 Cannot assess

Check for:

  • Last update date and recency
  • Number of supported languages/localizations
  • Category selection (is it the best fit? less competitive alternative?)
  • In-app events (Apple) or promotional content (Google) presence
  • Data safety / privacy nutrition label completeness
  • Age rating appropriateness
  • Version history quality (do release notes communicate value?)
  • What's New text quality

6. Conversion Signals (Weight: 10%)

Score Criteria
9-10 Clear value before download, transparent pricing/IAP, social proof visible (press, awards), download range suggests strong traction, developer credibility strong
7-8 Good value communication, pricing clear, some social proof
5-6 Value prop exists but weak, pricing unclear or IAP heavy, limited social proof
3-4 Unclear what user gets, confusing pricing, no social proof, low downloads visible
1-2 No value communication, suspicious pricing, app looks abandoned
0 Cannot assess

Check for:

  • Price transparency (free, freemium, paid - is it clear?)
  • In-app purchase list quality (do IAP names communicate value?)
  • Download range (Google Play - 10K+, 100K+, 1M+ signals trust)
  • Developer name/brand recognition
  • "Editors' Choice" or featured badges
  • Press mentions or awards in description
  • Related apps from same developer (portfolio trust signal)
  • Privacy practices transparency

Calculating Final Score

Final Score = (Title * 0.20) + (Description * 0.15) + (Visuals * 0.25)
            + (Ratings * 0.20) + (Metadata * 0.10) + (Conversion * 0.10)

Scale to 100: Final Score * 10

Example: Title: 7, Description: 6, Visuals: 8, Ratings: 9, Metadata: 5, Conversion: 7

(7 * 0.20) + (6 * 0.15) + (8 * 0.25) + (9 * 0.20) + (5 * 0.10) + (7 * 0.10)
= 1.4 + 0.9 + 2.0 + 1.8 + 0.5 + 0.7
= 7.3 → 73/100 → Grade: B