From faos-cmo
<!-- AUTO-GENERATED by export-plugins.py — DO NOT EDIT -->
npx claudepluginhub frank-luongt/faos-skills-marketplace --plugin faos-cmoThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Generates or updates index.md listing all files and subdirectories in a target folder with 3-10 word descriptions from file contents. Use for indexing documentation directories.
Comprehensive ASO framework for iOS App Store and Google Play — keyword research, listing optimization, visual asset strategy, rating management, and A/B testing store pages. The mobile equivalent of SEO.
seo-audit)campaign-analytics)Understanding these differences is critical — ASO strategy must be platform-specific:
| Factor | Apple App Store | Google Play |
|---|---|---|
| Title | 30 characters | 30 characters |
| Subtitle | 30 characters | N/A (use short description) |
| Short Description | N/A | 80 characters |
| Long Description | Not indexed for search | Indexed for search — keywords matter here |
| Keyword Field | 100 characters (hidden, comma-separated) | N/A — keywords from title + description |
| Category | Primary + secondary | Primary + secondary + tags |
| Screenshots | Up to 10 per device | Up to 8 per device |
| Preview Video | Up to 3 (30 sec, auto-play muted) | 1 (auto-play on listing) |
| A/B Testing | Product Page Optimization (3 treatments) | Store Listing Experiments (5 variants) |
| Rating Reset | Can reset on major version | Cannot reset — cumulative |
| Review Response | Developer can respond | Developer can respond |
| Source | Method | What You Get |
|---|---|---|
| Competitor analysis | Analyze top 10 competitors' titles, subtitles, descriptions | High-value keywords proven in your category |
| Auto-suggest mining | Type partial keywords in store search | Real user search patterns |
| Related searches | Check "You might also like" and related apps | Adjacent keyword opportunities |
| Review mining | Analyze your and competitors' reviews for language | Words real users use (not marketing speak) |
| Web keyword tools | Google Keyword Planner, Sensor Tower, App Annie | Volume estimates (directional, not exact) |
| Keyword | Search Volume (1-10) | Relevance (1-10) | Difficulty (1-10) | Score | Priority |
|---|---|---|---|---|---|
| Vol x Rel / Diff |
Priority Rules:
| Placement | Impact on Ranking | Character Limit | Strategy |
|---|---|---|---|
| App Title | Highest | 30 chars | Brand name + #1 primary keyword |
| Subtitle (iOS) | High | 30 chars | 2-3 secondary keywords, natural phrasing |
| Keyword Field (iOS) | High | 100 chars | Comma-separated, no spaces after commas, no duplicates from title/subtitle |
| Short Description (Android) | Medium | 80 chars | Primary CTA + 1-2 keywords |
| Long Description (Android) | Medium | 4000 chars | Natural keyword density, mention keywords 3-5 times |
| In-App Purchase Names | Low | — | Additional keyword surface area |
Rules for 100-character keyword field:
- No spaces after commas (saves characters)
- No duplicates of words already in title or subtitle
- Use singular form only (Apple handles plurals)
- No prepositions (the, a, an, of) — Apple ignores them
- Include common misspellings if characters allow
- Test with Sensor Tower or AppTweak for indexing confirmation
[Brand Name] — [Primary Keyword/Value Prop]
Examples:
✅ "Notion — Notes, Docs, Tasks"
✅ "Calm — Sleep & Meditation"
✅ "Duolingo — Language Lessons"
❌ "MyApp: The Best App For Everything You Need" (too generic)
❌ "MA" (too short, no keywords)
Paragraph 1: Hook + primary value proposition (include primary keywords)
Paragraph 2: Key features with benefits (include secondary keywords)
Paragraph 3: Social proof (awards, press, user count)
Paragraph 4: Call to action + differentiator
| Decision Factor | Guidance |
|---|---|
| Primary category | Choose the most specific category that fits |
| Secondary category | Choose for additional visibility (cross-category browsing) |
| Competitive density | If your primary category is overcrowded, secondary can help rank higher in a less competitive space |
| User expectation | Category affects which users find you — align with user intent |
| Position | Purpose | Content Strategy |
|---|---|---|
| Screenshot 1-2 | First impression (shown in search results) | Hero benefit — the #1 reason to download |
| Screenshot 3-4 | Feature showcase | Key features with clear benefit text |
| Screenshot 5-6 | Social proof / differentiation | Awards, ratings, press quotes, unique features |
| Screenshot 7-10 | Deep features | Advanced functionality for engaged browsers |
| Principle | Details |
|---|---|
| Text overlay | Large, readable text (min 60pt equivalent) — users scan, not read |
| Benefit-first | Lead with outcome ("Save 2 hours daily") not feature ("Task management") |
| Sequential story | Screenshots should tell a story left-to-right |
| Device frame | Optional — some categories perform better without frames |
| Localization | Translate text overlays for each market (not just the app itself) |
| Dark backgrounds | Often outperform light in A/B tests (higher contrast on store pages) |
| Platform | Duration | Auto-Play | Best Practice |
|---|---|---|---|
| iOS | 15-30 seconds | Yes (muted) | First 3 seconds = hook; show core workflow; add text overlays for muted viewing |
| Android | 30 seconds - 2 minutes | Yes (with sound) | Start with benefit, demonstrate 3 key features, end with CTA |
| Principle | Rationale |
|---|---|
| Simple, recognizable at 29x29px | Icon appears at many sizes — must be legible small |
| Limited color palette (2-3 colors) | Visual clarity in store browse |
| No text in icon | Unreadable at small sizes; redundant with app name |
| Test against competitors | Your icon appears alongside competitors in search results |
Positive Review (4-5 stars):
Thank you for the kind words, [Name]! We're glad [specific feature/benefit]
is working well for you. If you have any ideas for improvement, we'd love
to hear them at [feedback channel].
Negative Review — Bug Report (1-3 stars):
We're sorry about this issue, [Name]. Our team is looking into [specific
problem]. Could you reach out to [support email] with your device details
so we can resolve this quickly? We want to make this right.
Negative Review — Feature Request (1-3 stars):
Thanks for the feedback, [Name]. We hear you on [feature request] — it's
on our radar. In the meantime, you might find [workaround] helpful.
We'll update you when this ships!
| Factor | Best Practice |
|---|---|
| Timing | Prompt after a success moment (completed task, achieved goal, used for N days) |
| Frequency | iOS: SKStoreReviewController (3 prompts per year max, Apple enforced) |
| Pre-screen | Show in-app satisfaction question first; only route happy users to store rating |
| Never | Prompt on first launch, after an error, during onboarding, or mid-workflow |
| Element | Max Variants | Duration | Min Traffic |
|---|---|---|---|
| Icon | 3 | 7+ days | 1000+ visitors per variant |
| Screenshots | 3 | 7+ days | 1000+ visitors per variant |
| Short description | 3 | 7+ days | 1000+ visitors per variant |
| Long description | 3 | 7+ days | 1000+ visitors per variant |
| Element | Max Treatments | Duration | Notes |
|---|---|---|---|
| Icon | 3 treatments | 90-day max | Cannot test app name or subtitle |
| Screenshots | 3 treatments | 90-day max | Can test order and content |
| App preview | 3 treatments | 90-day max | Video thumbnail and content |
# ASO Audit Report — [App Name]
**Date:** [YYYY-MM-DD]
**Platforms:** [iOS / Android / Both]
**Current Rating:** [X.X] (iOS) / [X.X] (Android)
**Current Ranking:** #[X] in [Category]
## Keyword Analysis
| Keyword | Current Rank | Volume | Difficulty | Opportunity |
|---------|-------------|--------|------------|-------------|
| | | | | High/Med/Low |
## Listing Audit
| Element | Current | Score (1-5) | Recommendation |
|---------|---------|-------------|----------------|
| Title | | | |
| Subtitle / Short Desc | | | |
| Keywords (iOS) | | | |
| Description | | | |
| Screenshots | | | |
| Video | | | |
| Icon | | | |
## Rating Health
- **Current rating:** [X.X] ([N] reviews)
- **Recent trend:** [improving/declining/stable]
- **Top complaint themes:** [list]
- **Response rate:** [X]% of negative reviews responded
## Competitive Comparison
| Metric | Our App | Competitor A | Competitor B |
|--------|---------|-------------|-------------|
| Rating | | | |
| Reviews | | | |
| Category Rank | | | |
| Keywords Overlap | | | |
## Priority Actions
1. [Action] — Expected impact — Effort
2. [Action] — Expected impact — Effort
3. [Action] — Expected impact — Effort
seo-audit (web SEO counterpart), campaign-analytics (acquisition channel analysis)