agentsclimarketplace

Appstore aso auditor

Skill Xopoko/plug-n-skills/plugins/build-swift-apps/skills/appstore-aso-auditor

Ready-to-install skills and plugins for Codex, Claude Code, and AI coding agents: practical workflows for app delivery, architecture, research, design, and agent tooling.

Install
npx -y skills add Xopoko/plug-n-skills --skill appstore-aso-auditor

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 8 stars8 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

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`.

SKILL.md

3.3 KB, 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 export or asc localizations download output before auditing.
  • Read references/aso_rules.md for rule details.
  • Use highest semantic version under metadata/version/.
  • Primary locale is en-US unless 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 list or ask before flagging it.

Offline Checks

  1. Keyword waste: tokens in subtitle or name also present in keywords. For Arabic also compare variants without ال; for CJK split by punctuation/character groups.
  2. Underused fields: keywords below 90/100 or subtitle below 20/30 chars.
  3. Missing fields: empty subtitle, keywords, description, whatsNew; only flag name if present and empty.
  4. Bad keyword separators: spaces after commas, semicolons, or pipes.
  5. Cross-locale gaps: non-primary locale keywords identical to the primary locale.
  6. 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_keywords for locales/territories before querying non-US stores;
  • run extract_competitors_keywords for 3-5 competitor app IDs;
  • call get_keyword_suggestions and search_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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.