Apple router
Dispatcher that points a vague app request to the right Apple dev skill(s) and the order to run them. Use when the request is broad or you are unsure which skill applies — "help me grow my app", "get ready to ship", "improve my App Store presence", "my app isn't making money", "what should I do next", or any goal that spans discovery, conversion, lifecycle, submission, or launch. Routes; it does not do the work itself.From its SKILL.md
npx -y skills add markdavidgan/apple-dev-skills --skill apple-routerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 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.
SKILL.md
5.3 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Apple Router
Turn a fuzzy goal into the right skill, in the right order. When a request is broad ("grow my app", "get ready to launch", "why is revenue flat"), don't guess — map the goal to the lifecycle stage, hand off to the specific skill(s), and sequence them. This skill routes; the named skills do the work.
If the request already names a clear task (e.g. "audit my keywords", "fix this rejection"), skip the router and go straight to that skill. Use this only to disambiguate.
How to route
- Classify the intent into a stage (table below).
- If foundational context is missing, run the foundation skill first:
app-marketing-contextfor any growth/marketing work,product-specfor a feature. - Dispatch to the matched skill(s).
- If the goal spans stages, run them in the order given and tell the user the sequence up front.
Intent → skill map
Discovery & growth ("more installs", "rank higher", "grow")
| The user wants… | Route to |
|---|---|
| Set up reusable marketing context first | app-marketing-context (do this before the rest) |
| Rank for more / better keywords, audit the listing | asc-aso |
| Run paid acquisition on the App Store | apple-search-ads |
| Plan a launch or major-version release | app-launch |
| Get featured by Apple editors | app-store-featured |
| Brand, icon, screenshots, marketing assets | app-brand-identity → app-icon-composer |
Conversion & money ("more revenue", "improve the paywall")
| The user wants… | Route to |
|---|---|
| Design / fix the paywall | paywall-design |
| Set or restructure pricing | app-store-pricing |
| Implement purchases in code | storekit-purchases |
| Manage the subscriber journey (trials, churn, win-back) | subscription-lifecycle |
Activation & retention ("users drop off", "keep users")
| The user wants… | Route to |
|---|---|
| Fix the first-run / onboarding flow | onboarding-optimization |
| Improve D1/D7/D30 retention | retention-optimization |
| Decide what to measure | app-analytics |
| Get more / better ratings | rating-prompt-strategy |
| Respond to and learn from reviews | review-management |
| Re-engage with notifications | push-notifications |
Ship & compliance ("get ready to submit", "rejected")
| The user wants… | Route to |
|---|---|
| Check CI build / signing | asc-build-check |
| Risk-audit before submitting | submission-preflight |
| Privacy manifest / required-reason APIs | privacy-manifest |
| Actually submit / TestFlight | asc-submission |
| Recover from a rejection | app-rejection-recovery |
| Monitor post-release crashes / phased release | asc-build-check |
Build & craft ("write the feature", "review my code")
Engineering and design requests route to the existing skills — e.g. apple-design, ios-accessibility, swift6-concurrency, performance-instruments, apple-review, complete-feature. These are usually named directly; the router only needs to catch the growth/ship side above.
Common multi-skill sequences
When a goal spans stages, run in this order and say so up front:
- "Help me grow my app" →
app-marketing-context→asc-aso→ (apple-search-adsif budget) →rating-prompt-strategy+review-management. - "Get ready to launch" →
app-marketing-context→app-brand-identity/app-icon-composer→asc-aso→submission-preflight→asc-submission→app-launch→app-store-featured. - "Revenue is flat" →
app-analytics(find the leak) →paywall-designorsubscription-lifecycleorapp-store-pricing(fix the identified stage). - "Users churn" →
app-analytics→onboarding-optimization(if early drop) orretention-optimization(if later) →push-notifications. - "I got rejected" →
app-rejection-recovery→ fix →submission-preflight→asc-submission.
Disambiguation rules
product-specvsapp-marketing-context— product requirements vs. go-to-market positioning. A feature request →product-spec; a growth request →app-marketing-context.asc-asovsapple-search-ads— organic discoverability vs. paid placement. They share keyword research; do ASO first.paywall-designvsapp-store-pricingvsstorekit-purchases— the screen vs. the economics vs. the code.onboarding-optimizationvsretention-optimization— Day-0 activation vs. Day-7+ return.submission-preflightvsasc-submission— will-it-pass-review audit vs. the actual submission mechanics. Preflight first.app-icon-composervsapp-brand-identity— producing the layered icon files vs. deciding the brand/concept. Concept first.
When two skills genuinely both apply, run the upstream one first and name the sequence rather than picking one silently.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most product growth skills give in ~1.2k tokens
Counted across 728 of the 1,010 authors here whose files we hold, read 2026-08-07
- Read product marketing context before asking questionsin 24 of 728, across 18 files
- Define the ideal customer profilein 21 of 728, across 3 files
- Document a rollback plan before deploymentin 21 of 728, across 12 files
- Analyze the codebase to understand the productin 19 of 728, across 1 file
- Ask clarifying questions about the value propositionin 19 of 728, across 1 file
- Search for companies matching the criteriain 19 of 728, across 1 file
- Look for signals of immediate needin 19 of 728, across 1 file
- Assign a fit score from one to tenin 19 of 728, across 1 file
- Identify the target decision-maker rolein 19 of 728, across 1 file
- Suggest a personalized contact strategyin 19 of 728, across 1 file
- Provide conversation starters for outreachin 19 of 728, across 1 file
- Format results in a scannable markdown templatein 19 of 728, across 1 file
Said here and by no other author read
- classify the request intent into a lifecycle stage
- run foundation skills before specific skills
- dispatch to the matched skill or skills
- tell the user the skill sequence upfront
- skip the router if the request names a clear task
- do aso work before paid placement work
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.