Appstore aso auditor
Skill Xopoko/plug-n-skills/plugins/build-swift-apps/skills/appstore-aso-auditor
Run an offline ASO audit on canonical App Store metadata under `./metadata` and, when available, add Astro MCP keyword-gap analysis and Apple app-tag context. Use after `asc metadata pull`.From its SKILL.md
npx -y skills add Xopoko/plug-n-skills --skill appstore-aso-auditorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 9 stars9 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.
- runs commandsInstructs the agent to run 3 commands, including `asc app-tags list --app "APP_ID" --output json` and 2 more.
- fetches URLsInstructs the agent to fetch 5 URLs, including get_app_keywords and 4 more.
SKILL.md
3.3 KB, 688 tokens by cl100k_base, as published. Nobody here has run it
App Store ASO Auditor
Audit the latest local metadata version first; Astro keyword gaps and Apple-generated tags are additive signals.
Preconditions
- Canonical metadata from
asc metadata pull --app "APP_ID" --version "1.2.3" --dir "./metadata". - Normalize
asc migrate exportorasc localizations downloadoutput before auditing. - Read
references/aso_rules.mdfor rule details. - Use highest semantic version under
metadata/version/. - Primary locale is
en-USunless the user specifies another.
Paths:
- App-info fields:
metadata/app-info/{locale}.json - Version fields:
metadata/version/{latest-version}/{locale}.json - App name may be absent; fetch with
asc apps info listor ask before flagging it.
Offline Checks
- Keyword waste: tokens in
subtitleornamealso present inkeywords. For Arabic also compare variants withoutال; for CJK split by punctuation/character groups. - Underused fields: keywords below 90/100 or subtitle below 20/30 chars.
- Missing fields: empty
subtitle,keywords,description,whatsNew; only flagnameif present and empty. - Bad keyword separators: spaces after commas, semicolons, or pipes.
- Cross-locale gaps: non-primary locale keywords identical to the primary locale.
- Description coverage: keywords absent from description as conversion evidence, not Apple indexing evidence. Ignore Latin keywords in non-Latin descriptions when they target separate search paths.
Optional app tags:
asc app-tags list --app "APP_ID" --output json
asc app-tags view --app "APP_ID" --id "TAG_ID" --output json
Use tags only as classification evidence. Do not promise metadata changes will immediately alter Apple-generated tags.
Astro Keyword Gaps
If Astro MCP is connected and the app is tracked:
- call
get_app_keywords; - add per-store tracking with
add_keywordsfor locales/territories before querying non-US stores; - run
extract_competitors_keywordsfor 3-5 competitor app IDs; - call
get_keyword_suggestionsandsearch_rankings; - diff suggestions against title, subtitle, and keywords;
- rank gaps by popularity and note source.
Skip with an explicit note when Astro is unavailable, the app is not tracked, or a store is not tracked.
Recommendations
Prioritize errors, keyword waste, utilization gaps, exact cross-locale duplicates, then Astro opportunities. Consider cross-field combos such as title/subtitle + keyword terms (for example adding a missing word that combines with an existing subtitle word).
Output
Produce one report for the latest version directory:
### ASO Audit Report
**App:** ... | **Primary Locale:** ...
**Metadata source:** metadata/version/<version>
#### Field Utilization
| Field | Value | Length | Limit | Usage |
#### Offline Checks
| # | Check | Severity | Field | Locale | Detail |
#### Keyword Gap Analysis
| Keyword | Popularity | Source | In Metadata? | Suggested Action |
#### Recommendations
1. ...
After edits, re-run the audit. For keyword-only follow-up prefer asc metadata keywords diff/apply/sync.
What ships with it: 1 file
3.9 KB alongside SKILL.md
references/
- aso_rules.md3.9 KB
Gives 0 of the 12 instructions most audit compliance skills give in 688 tokens
Counted across 960 of the 1,589 authors here whose files we hold, read 2026-09-06
- Read product marketing context before asking questionsin 29 of 960, across 11 files
- Rank findings by severityin 29 of 960, across 22 files
- Generate audit reportin 22 of 960
- Run the audit scriptin 20 of 960, across 19 files
- Generate a prioritized action plan reportin 19 of 960, across 11 files
- Ensure one H1 per pagein 15 of 960, across 5 files
- Ensure sitemap exists and is accessiblein 14 of 960, across 4 files
- Verify alt text on all imagesin 12 of 960, across 3 files
- Determine the audit scope before startingin 12 of 960, across 4 files
- Verify important pages allowed in robots.txtin 11 of 960, across 2 files
- Detect business type from homepage signalsin 11 of 960, across 7 files
- Delegate specialized tasks to subagentsin 11 of 960, across 7 files
Said here and by no other author read
- Audit the latest local metadata version first
- Use highest semantic version under metadata version
- Treat primary locale as en-US unless specified
- Check for keyword waste in subtitle or name
- Check for underused metadata fields
- Check for bad keyword separators
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.