Community라이팅 & 에디팅github.com

ASOScan/aso-skills

ASO Agent Skills for Claude, Cursor, and any Agent-Skills-compatible AI assistant - App Store Optimization powered by the ASOScan API. 9 skills incl. two that work with no API key. MIT.

aso-skills란 무엇인가요?

aso-skills is a Claude Code agent skill that aSO Agent Skills for Claude, Cursor, and any Agent-Skills-compatible AI assistant - App Store Optimization powered by the ASOScan API. 9 skills incl. two that work with no API key. MIT.

지원 대상Claude Code~Codex CLICursor
npx skills add ASOScan/aso-skills

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, affaan-m/seo, affaan-m/brand-voice · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Keyword Spy

See the full keyword footprint of an app — yours or a tracked competitor's — with ASOScan, and mine it for real terms you should be targeting too.

When to use

  • "What keywords does <app> rank for?"
  • "Spy on <competitor>'s keywords."
  • "Which of their terms am I not tracking?"

Calling the ASOScan API

Base https://asoscan.com/api/public/v1 · header Authorization: Bearer $ASOSCAN_API_KEY. JSON, camelCase. The API is owner-scoped — it only sees the user's own apps + their tracked competitors. If the key is unset, hand off to asoscan-setup.

  1. Find the appGET /apps → use the id.
    • Own app → spy it directly.
    • A rival → it must be a tracked competitor first. Check GET /apps/{id}/competitors; if absent, add it via POST /apps/{id}/competitors { "storeUrl": "…" } (2 credits, write key), then spy the returned competitor's id. Add-by-URL only — there's no lookup by app name.
  2. SpyGET /apps/{id}/keyword-spy?country= (2 credits) → { appName, totalKeywordsFound, communityPoolSize, discoveryStatus, keywords[]{ term, rank, volume, difficulty, origin, isTracked } }.
    • origin = "community" | "discovered"; isTracked = already in your set.
    • discoveryStatus = "cached" | "none". The public API doesn't trigger a fresh crawl, so a just-added competitor may be sparse until ASOScan's background discovery has cached results — re-calling won't add more right away.

How to analyze

  1. Coverage — how many terms, split by origin.
  2. Steal list (the payoff) — terms the competitor ranks for that are relevant to your app AND isTracked = false. Filter for relevance first.
  3. Overlap — terms you both rank for (battlegrounds).
  4. Feed the best into keyword-intelligence (validate) then keyword-opportunities (track) — the natural next steps in ASOScan.

Output template

### Keyword spy — {target app} ({country})   ·  credits left: {remaining}

Ranks for **{totalKeywordsFound}** keywords ({communityPoolSize} pooled · rest discovered).

**Terms worth stealing** (they rank, relevant, not yours yet)
| Keyword | Rank | Origin | Note |
|---|---|---|---|

**Shared battlegrounds**
| Keyword | Their rank | Origin |
|---|---|---|

Errors, credits & honesty

  • 401 → asoscan-setup · 403 no API access (or read-only key on the add) · 402 out of credits · 404 not owned/tracked · 503 not enabled yet. Spy = 2 credits, add-competitor = 2.
  • A term appearing in spy is a ranking signal, not proof it suits your app — filter for relevance. Clean numbers only.
  • Full reference: https://asoscan.com/api/developers

Related

  • competitor-analysis — the fuller competitive picture.
  • keyword-intelligence — validate stolen terms.
  • keyword-opportunities — track the winners.

관련 스킬

steipete/notion

Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.

community

affaan-m/seo

Audit, plan, and implement SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and content strategy. Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping.

community

affaan-m/brand-voice

Build a source-derived writing style profile from real posts, essays, launch notes, docs, or site copy, then reuse that profile across content, outreach, and social workflows. Use when the user wants voice consistency without generic AI writing tropes.

community

affaan-m/crosspost

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

community

affaan-m/x-api

X/Twitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.

community

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

community