/ Directory / Playground / claude-code-aso-skill
● Community alirezarezvani ⚡ Instant

claude-code-aso-skill

by alirezarezvani · alirezarezvani/claude-code-aso-skill

App Store Optimization automation with 4 sub-agents — real iTunes API data, character-validated metadata for Apple and Google, 47-item launch checklist.

A Claude Code skill (also deployable to Claude Desktop) that automates App Store Optimization for iOS and Android. Four agents — Master, Research, Optimizer, Strategist — coordinate via slash commands to deliver copy-paste-ready titles, subtitles, descriptions, and keyword strategies validated against platform character limits.

Why use it

Key features

Live Demo

What it looks like in practice

claude-code-aso-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "claude-code-aso-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/alirezarezvani/claude-code-aso-skill",
        "~/.claude/skills/claude-code-aso-skill"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "claude-code-aso-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/alirezarezvani/claude-code-aso-skill",
        "~/.claude/skills/claude-code-aso-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "claude-code-aso-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/alirezarezvani/claude-code-aso-skill",
        "~/.claude/skills/claude-code-aso-skill"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "claude-code-aso-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/alirezarezvani/claude-code-aso-skill",
        "~/.claude/skills/claude-code-aso-skill"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "claude-code-aso-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/alirezarezvani/claude-code-aso-skill",
        "~/.claude/skills/claude-code-aso-skill"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "claude-code-aso-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/alirezarezvani/claude-code-aso-skill",
          "~/.claude/skills/claude-code-aso-skill"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add claude-code-aso-skill -- git clone https://github.com/alirezarezvani/claude-code-aso-skill ~/.claude/skills/claude-code-aso-skill

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use claude-code-aso-skill

Generate a complete ASO asset pack before app store submission

👤 Indie developers and small studios launching a new app ⏱ ~60 min intermediate

When to use: You're 2 weeks from submission and need titles, keywords, descriptions, and screenshots captions.

Prerequisites
  • App concept and category — A 1-paragraph description and the App Store category
Flow
  1. Run the pre-launch command
    /aso pre-launch — my app is a focus timer for developers, category Productivity.✓ Copied
    → aso-research scans similar apps via iTunes API; aso-optimizer drafts metadata
  2. Review and iterate
    Title feels too generic — give me 5 alternatives that include 'Pomodoro' without keyword stuffing.✓ Copied
    → Variants within char limits
  3. Walk the 47-item checklist
    Run the launch checklist.✓ Copied
    → Pass/fail per item with fixes

Outcome: A submission-ready ASO asset pack plus a checked-off launch list.

Pitfalls
  • Keyword stuffing triggers store rejection — aso-optimizer flags this; trust the warnings
Combine with: claude-ads-skill

Analyze the top 10 competitors in your category

👤 PMs and founders positioning against incumbents ⏱ ~30 min intermediate

When to use: You want to understand how competitors describe themselves before writing your own copy.

Flow
  1. Run competitive analysis
    /aso competitive in category 'Productivity' — top 10.✓ Copied
    → Real iTunes data on title, subtitle, keywords, rating patterns
  2. Find the positioning gap
    Where are all 10 saying the same thing? What's the whitespace?✓ Copied
    → Concrete positioning angle

Outcome: A differentiated positioning statement backed by live data.

Pitfalls
  • Top 10 may be dominated by one big player — skewed signal — Filter by category refinement or include mid-tail apps

Optimize metadata for an existing app that's underperforming

👤 App owners with a live app and stagnant downloads ⏱ ~30 min intermediate

When to use: Your app has been live 6+ months and ranking has plateaued.

Flow
  1. Run optimization
    /aso optimize — my app is MyApp, current metadata [paste].✓ Copied
    → Suggestions grounded in current top-ranking apps for the keyword set
  2. A/B plan
    Which changes should I A/B test first, and in what order?✓ Copied
    → Prioritized test roadmap

Outcome: A testing roadmap to improve rank.

Pitfalls
  • Too many concurrent changes make attribution impossible — Skill recommends one variable at a time

Combinations

Pair with other MCPs for X10 leverage

claude-code-aso-skill + claude-ads-skill

Align ASO keywords with paid-ads keyword strategy

Take the ASO keyword list and have claude-ads plan a UA campaign around the same terms.✓ Copied

Generate App Store screenshot-caption image prompts

For each screenshot caption the ASO skill suggests, recommend a visual prompt via nano-banana.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
/aso full-audit app concept or URL New app or comprehensive review Tokens + iTunes API (free)
/aso optimize current metadata Refreshing an existing app Tokens
/aso pre-launch concept + category Before submission Tokens
/aso competitive category or competitor list Positioning work Tokens + iTunes API

Cost & Limits

What this costs to run

API quota
iTunes Search API is free, generous limits
Tokens per call
5-15k per command
Monetary
Free — skill is local
Tip
Run full-audit once, then use optimize + competitive periodically.

Security

Permissions, secrets, blast radius

Credential storage: No credentials — iTunes Search API is unauthenticated
Data egress: iTunes Search API only

Troubleshooting

Common errors and fixes

iTunes API returns empty for a known app

Check the bundleID or the country code; country defaults to US.

Suggested title exceeds 30 chars

The optimizer should catch this; if not, re-run with explicit '30 char max' reminder.

Slash commands not recognized

Ensure the skill is cloned into ~/.claude/skills/ and Claude Code is restarted.

Verify: ls ~/.claude/skills/claude-code-aso-skill/commands/

Alternatives

claude-code-aso-skill vs others

AlternativeWhen to use it insteadTradeoff
AppTweak / Sensor Tower (paid)You need deeper keyword volume data and can payBetter data, real cost
claude-ads-skillYou're focused on paid UA rather than organic ASODifferent funnel stage

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills