Asoscan router
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.
npx -y skills add ASOScan/aso-skills --skill asoscan-routerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 24 days oldThe repository was created 24 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
When the user wants any App Store Optimization (ASO) task powered by ASOScan — keyword volume or difficulty, app rank or rank tracking, keyword opportunities, spying on a competitor's keywords, competitor analysis, review sentiment, or a metadata/listing audit. Also use when the user mentions "ASO", "app store optimization", "keyword volume", "keyword difficulty", "my app's rank", "keywords my competitor ranks for", or "audit my app listing". Start here — it makes sure the ASOScan API key is set, then routes to the right ASOScan skill.
SKILL.md
4.7 KB, as published. Nobody here has run it
ASOScan Router
The entry point for the ASOScan skill pack. ASOScan gives you real ASO data — keyword volume & difficulty, your live rank, opportunities, competitor keywords, and review sentiment — so you optimize from numbers instead of guessing. This skill (1) makes sure the API key is set, then (2) routes to the right specialist.
Step 0 — General ASO question? No key needed.
If the request is conceptual / general best-practice and doesn't need the user's own data — "how does ASO work", "how do I write a good subtitle", "keyword strategy", "screenshot best practices", "teach me ASO" — route to aso-fundamentals (no API key).
If the user wants to get set up — "get my API key", "set up webhooks / Slack / Teams alerts", "connect my Play Console / App Store app" — route to asoscan-setup (also no key).
Step 1 — Ensure the API key (for the data skills)
For anything that needs the user's real data, check the ASOSCAN_API_KEY
environment variable ([[ -n "$ASOSCAN_API_KEY" ]]).
- If it's empty: route to asoscan-setup, which walks the user through
creating an ASOScan account, adding an app, and minting a key — then they
export ASOSCAN_API_KEY=…and come back. Don't call the API without a key. - If it's set: optionally validate once with
GET /usage(free), then continue.
Never print or echo the key.
Step 2 — Resolve the app
The ASOScan API is owner-scoped — it only sees apps in the user's ASOScan
account. Call GET /apps and match the user's app by name/store; use its id (a
GUID) in every /apps/{id}/… path. If the user names a rival that isn't
tracked, note it must be added as a competitor first (see competitor-analysis).
Step 3 — Route to the right skill
| The user wants… | Route to |
|---|---|
| General ASO advice / best practices / "how does X work" (no data) | aso-fundamentals (no key) |
| Get an API key · webhooks / Slack / Teams alerts · connect Play Console or App Store | asoscan-setup (no key) |
| Keyword volume, difficulty, their rank, rank history, or research on a term | keyword-intelligence |
| "What keywords should I target?" / gap-scored suggestions | keyword-opportunities |
| "What keywords does this app rank for?" (reverse lookup) | keyword-spy |
| Compare against competitors / add a rival / category rank | competitor-analysis |
| What users say — sentiment, complaints, feature requests | review-insights |
| Audit / improve the listing (title, subtitle, description, keywords) + ASO score | metadata-audit |
| A full ASO review | run metadata-audit first, then pull in keyword-opportunities and competitor-analysis |
If the intent is ambiguous, ask one clarifying question, then route.
Calling the ASOScan API (shared conventions)
- Base:
https://asoscan.com/api/public/v1· Auth: headerAuthorization: Bearer $ASOSCAN_API_KEY. JSON, camelCase fields. - Safe call — capture the status so you can handle errors:
URL-encode multi-word query values:BASE="https://asoscan.com/api/public/v1"; AUTH="Authorization: Bearer $ASOSCAN_API_KEY" resp="$(curl -s -w '\n%{http_code}' -H "$AUTH" "$BASE/apps")" code="$(printf '%s' "$resp" | tail -n1)"; body="$(printf '%s' "$resp" | sed '$d')"-G --data-urlencode "term=habit tracker". - Errors:
401missing/invalid key → asoscan-setup ·403no API access → upgrade, or read-only key on a write → needs a write key ·402out of credits (readX-ApiCredits-Remaining/-Reset) ·429back off ·404not owned/tracked ·503API not enabled for this account yet. - Credits: successful (2xx) calls spend credits; failed calls are free; live
research is the expensive one (8) — cache it. Watch
X-ApiCredits-Remaining. - Full reference + try-it console: https://asoscan.com/api/developers
Honesty
Present volume/difficulty as clean numbers (don't call them "estimated" or guess their source); never claim review replies or ads boost search ranking; never invent reviews; recommend outcomes, not mechanisms.