category-positioning
Recommend the App Store primary and secondary category for an app Product, scoring truth fit, competitive density, browse intent, chart reachability and featuring activity.
Written by Kwern, after the skill of the same name in Eronred's aso-skills, MIT. Updated 2026-09-24.
The file, as Kwern runs it
Nothing below is rewritten or cut. The description a model routes on comes first, then the file itself. The whole thing, frontmatter included, is at /skills/category-positioning.md.
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.
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
read_context— what the app does in one sentence, ICP, goal (installs, revenue, featuring, a top-100 rank), named competitors.connector_asc_categorieswhen the ASC Connector exists — the primary and secondary category as set. Without it, the genres ofapp_store_listingname them.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 fromread_outputsrecords the switch; otherwise say it is unknown.- Each competitor the Foundation doc names, through
fetch_urlon iTunes Search (https://itunes.apple.com/search?term=<name>&entity=software&country=<storefront>&limit=1) —primaryGenreName,userRatingCountandcurrentVersionReleaseDate. Rating count and release recency stand in for chart strength when no analytics exist. connector_asc_analyticswhen 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.fetch_urlon 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; read it before scoring. For the current pair and each candidate (two to four), score the six factors:
- Truth fit — the app honestly belongs; a mismatch is rejected or moved back by App Review. Required, gates everything else.
- Competitive density — how many top-100 apps compete head-on.
- Top-app strength — leaders rankable in six months (thin rating counts, stale updates) or fortified (multi-year leaders, hundreds of thousands of ratings).
- 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.
- Audience match — the people browsing this category are the ICP; a mismatch produces views that convert poorly.
- 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.
What it discloses
The Skill reads these files only when it needs them, so the model spends nothing on them the rest of the time.
references/category-selection.md
From your accounts to a proposal
- 01
Connect what it reads
Give the ASO agent the accounts it works on. Kwern never asks for a password, and an agent missing a connection says so instead of guessing.
- 02
The loop runs weekly
Before it writes a word it reads the foundation doc, which holds the positioning, the audience and the voice, and whatever its connectors return that day.
- 03
The category-positioning skill runs
The agent activates it when the run calls for it, and what the model then reads is the file on this page, word for word.
- 04
A proposal waits for you
Nothing is published and nothing is spent until you approve it. Approve and Kwern posts it where it holds the keys; where it does not, it hands you the text and the link.
The file, the agency, and the agent
| On your own | An agency | Kwern | |
|---|---|---|---|
| The method | Whatever you remember to do that week | Theirs, and you never get to read it | This file, open on this page |
| Who runs it | You, when there is time | An account manager, between other accounts | The ASO agent, weekly |
| What it reads | What you can pull by hand | What you remembered to send them | Your connected accounts and your foundation doc |
| What comes out | A draft, sometimes | A deck, and a report at the end of the month | A proposal you approve or throw away |
| What it costs | Your evenings | A retainer | One subscription, and the model on your own key |
Questions about category-positioning
Pair it with
The other skills the same agents reach for during a run.
Someone is asking for what you built today.
On Reddit, on X, in ChatGPT's answers. Kwern finds them every morning and drafts the reply in your voice; you decide what goes out.