---
name: category-positioning
description: Recommend the App Store primary and secondary category for an app Product, scoring truth fit, competitive density, browse intent, chart reachability and featuring activity. Use for "which category", "primary category", "secondary category", "change my category", "Health & Fitness vs Lifestyle", "rank higher in a smaller category", "Games subcategory". For the listing beyond category use aso; for the editorial pitch once the category is set use app-store-featured.
metadata:
  version: 1.0.0
---

# Category Positioning

Choose the category pair where the Product's honest fit meets a chart it can plausibly reach. Output is a **category recommendation** — primary, secondary, rationale, and a switch plan when the pair changes — that the User applies in App Store Connect (App Information → Category); a category change ships with the next version, nothing is published by this Skill.

## Gather

1. `read_context` — what the app does in one sentence, ICP, goal (installs, revenue, featuring, a top-100 rank), named competitors.
2. `connector_asc_categories` when the ASC Connector exists — the primary and secondary category as set. Without it, the genres of `app_store_listing` name them.
3. `app_store_listing` — the Product's rating and rating count. How long it has lived in the current category (a recent switch resets chart signals) is known when a past category recommendation from `read_outputs` records the switch; otherwise say it is unknown.
4. Each competitor the Foundation doc names, through `fetch_url` on iTunes Search (`https://itunes.apple.com/search?term=<name>&entity=software&country=<storefront>&limit=1`) — `primaryGenreName`, `userRatingCount` and `currentVersionReleaseDate`. Rating count and release recency stand in for chart strength when no analytics exist.
5. `connector_asc_analytics` when the ASC Connector exists — impressions, product page views and downloads **by source** (App Store Browse vs Search vs Referrer), 28d + trend. Browse share is the category's current contribution; downloads/day is the baseline against a chart's floor. Without it, say the Browse share is unknown and estimate reachability from the competitors' listings only.
6. `fetch_url` on the public top-charts page of the candidate category (`apps.apple.com/<storefront>/charts/iphone/<category>-apps/<genre id>`) when a candidate's leaders are unknown — flagged untrusted, used only to name the top apps and look them up on iTunes Search.

## Score

Rules, the category list, the recurring trade-offs and the switch mechanics are in [`references/category-selection.md`](references/category-selection.md); read it before scoring. For the current pair and each candidate (two to four), score the six factors:

1. **Truth fit** — the app honestly belongs; a mismatch is rejected or moved back by App Review. Required, gates everything else.
2. **Competitive density** — how many top-100 apps compete head-on.
3. **Top-app strength** — leaders rankable in six months (thin rating counts, stale updates) or fortified (multi-year leaders, hundreds of thousands of ratings).
4. **Chart reachability** — the Product's downloads/day (from analytics) against the candidate's floor; a floor is estimated from the rating velocity of the apps sitting at #50–#100.
5. **Audience match** — the people browsing this category are the ICP; a mismatch produces views that convert poorly.
6. **Featuring activity** — how often Apple's editorial team curates in the category.

The winner is the **highest audience-match category the Product can reach top 100 in within six months**. Games pick the strongest mechanic, never the broadest theme.

## Output: category recommendation

- **Current** — primary, secondary, tenure, Browse share of downloads when known.
- **Candidates** — one block per candidate with the six scores, the named leaders, and a verdict: recommend / hold / avoid.
- **Recommendation** — primary and secondary, each with a one-line reason; the secondary is chosen as a second discovery surface, never left empty.
- **Expected outcome** — reachable rank and horizon, featuring odds, the risk.
- **Switch plan** when the pair changes — the version to ship it with (clear of any launch window, see `launch`), listing changes that address the new audience (screenshots, subtitle), and the monitoring cadence during the four-to-eight-week re-indexing.
- **Apply** — App Store Connect → App Information → Primary / Secondary Category; effective with the next version.

Done when every candidate carries all six scores, the recommended primary passes truth fit, the rationale names the leaders it will compete with, and the recommendation states which data it lacked (downloads by source, chart floor) when a Connector was absent.

## Related Skills

- `app-store-featured` — editorial pitch inside the chosen category.
- `competitors` — deeper competitive analysis of the new category's leaders.
- `aso` — full listing audit after the category is set.
- `localization` — the category pair is global, but the listing that matches its audience is per storefront.
