App marketing context
Skill markdavidgan/apple-dev-skills/src/skills/app-marketing-context
Apple platform development skills for Claude Code, Cursor, Kimi Code, Antigravity, Codex CLI, and Agy.
npx -y skills add markdavidgan/apple-dev-skills --skill app-marketing-contextAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 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
Gather and persist go-to-market context for an Apple app into app-marketing-context.md so every marketing skill reads it without re-asking questions. Use when starting ASO, launch planning, ad campaigns, or any growth work; when the user says "set up marketing context", "capture app context", "marketing brief", "GTM", "go-to-market", "positioning", or "before we do ASO". Distinct from product-spec (PRD/requirements) — this captures positioning, competitors, and KPIs that asc-aso, app-launch, apple-search-ads, app-store-pricing, app-brand-identity, and asc-submission all depend on.
SKILL.md
8.3 KB, as published. Nobody here has run it
App Marketing Context
Produce a single persistent brief that every marketing skill reads first, so you never answer the same questions twice.
This is the foundation skill for the growth cluster. Run it once per app (or when positioning shifts); every downstream skill — asc-aso, app-launch, apple-search-ads, app-store-pricing, app-brand-identity — checks for this file before asking you anything.
This is not a PRD.
product-speccaptures what to build and why;app-marketing-contextcaptures how to position, price, and grow what you've built. If you need both, runproduct-specfirst.
When to Run
- Starting any growth or marketing work on an Apple app for the first time.
- Onboarding to a new client's app — capture the landscape before touching metadata.
- Positioning has shifted (new audience, rebrand, major feature, pricing change).
- Another skill says "load app-marketing-context.md" and the file doesn't exist.
Before creating, check for an existing file
Does app-marketing-context.md exist in the project root or .claude/?
YES → Offer to review and update specific sections rather than recreate.
NO → Proceed with the full template below.
When updating, ask which sections changed. Don't overwrite data that's still accurate.
The Context Document Template
Save the completed file to .claude/app-marketing-context.md (preferred) or the project root. Use this skeleton verbatim — downstream skills parse it by section heading.
# App Marketing Context
<!-- Generated by app-marketing-context skill. Update don't recreate. -->
## App Overview
| Field | Value |
|-------|-------|
| App name | |
| Apple App ID | |
| Primary category | |
| Secondary category | |
| Platforms | iOS / iPadOS / macOS / watchOS / visionOS |
| Price model | Free / Freemium / Paid / Paymium |
| Launch date | |
| Current version | |
| App Store URL | https://apps.apple.com/app/id<APP_ID> |
## Value Proposition
**Problem:** Who has what pain, and what evidence proves it (reviews, support tickets, churn)?
**Target audience:** Primary persona (one paragraph: demographics, device habits, Jobs To Be Done).
**Differentiator:** What do you do that the top 3 competitors don't — and why does it matter to that persona?
**One-line pitch:** "For [audience], [App] is the [category] that [unique benefit] — unlike [alternative]."
## Competitor Landscape
| App | App ID | Strengths | Weaknesses | Our angle |
|-----|--------|-----------|------------|-----------|
| | | | | |
| | | | | |
| | | | | |
> Tip: Use `asc_get_app_info` on each competitor's App ID to pull current ratings and review counts without leaving Claude.
## Current ASO State
Pull live data via ASC MCP before filling these in:
```
asc_get_metadata(appId: "<APP_ID>", platform: "IOS")
asc_get_app_info(appId: "<APP_ID>")
```
| Field | Current value | Char limit | Notes |
|-------|--------------|:----------:|-------|
| Title | | 30 | |
| Subtitle | | 30 | |
| Keyword field | | 100 | |
| Promotional text | | 170 | editable without review |
| Average rating | | — | pull from asc_get_app_info |
| Rating count | | — | |
| Last metadata update | | — | |
## Goals & KPIs
Focus on three. More dilutes accountability.
| # | Goal | Metric | Target | Date |
|---|------|--------|--------|------|
| 1 | | | | |
| 2 | | | | |
| 3 | | | | |
## Resources & Constraints
| Resource | Detail |
|----------|--------|
| Budget (paid UA) | |
| Team size | |
| ASO tool | App Store Connect / third-party |
| Design capacity | |
| Release cadence | |
| Key constraint | |
## Markets & Localization
| Market | Priority | Languages | Notes |
|--------|----------|-----------|-------|
| | Primary | | |
| | Secondary | | |
Gathering the Data
Work through sections in this order — it's the dependency chain:
- App Overview — Apple App ID unlocks everything else (ASC MCP calls, App Store URL, competitor cross-reference). Get it first.
- Value Proposition — Write the one-line pitch before looking at competitors; otherwise competitors anchor your framing.
- Competitor Landscape — Now look outward. Pull their App IDs, run
asc_get_app_infoon each, read their top reviews for recurring complaints (those are your wedge). - Current ASO State — Run
asc_get_metadatato get the live title/subtitle/keyword field. Don't transcribe from memory — the live state is the only truth that matters for gap analysis. - Goals & KPIs — Force a priority order. If everything is #1, nothing is.
- Resources & Constraints — Honest constraints prevent wasted strategies. A solo dev with no paid UA budget needs a different playbook than a funded team.
- Markets — Localization is the highest-ROI ASO lever most teams underuse. Name it explicitly.
ASC MCP quick reference
| What you need | Tool call |
|---|---|
| App name, rating, subtitle | asc_get_app_info(appId: "…") |
| Live title / subtitle / keywords / promo text | asc_get_metadata(appId: "…", platform: "IOS") |
| Same for macOS | asc_get_metadata(appId: "…", platform: "MAC_OS") |
These calls require the ASC MCP server (
src/mcp/asc/) to be configured. If it isn't, fill the ASO State section manually and note the date so you know when to refresh.
Output Step
After the file is written:
- Save to
.claude/app-marketing-context.md(create.claude/if it doesn't exist). - Summarize in this format:
Saved: .claude/app-marketing-context.md
Strengths identified:
- …
Gaps to address:
- …
Recommended next skills (in order):
1. asc-aso — keyword and metadata strategy
2. app-brand-identity — if visual identity is undefined
3. app-launch — if launch or relaunch is upcoming
4. apple-search-ads — if paid UA budget exists
5. app-store-pricing — if price model is unsettled
- Do not run those skills automatically — let the user choose the order.
Distinction: This Skill vs. Siblings
| Skill | What it captures | When to run it |
|---|---|---|
product-spec | PRD: problem, user stories, acceptance criteria, non-goals | Before building a feature |
app-marketing-context | Go-to-market: positioning, competitors, KPIs, ASO state, markets | Before any growth or marketing work |
asc-aso | Keyword strategy and metadata execution | After this file exists |
app-launch | Launch plan: timeline, channels, press, ratings prompt | After positioning is locked |
apple-search-ads | Paid UA campaigns on Apple Search Ads | After context and ASO baseline exist |
app-store-pricing | Price tier selection, in-app purchases, subscription design | When monetization model is in question |
app-brand-identity | Visual identity: icon, wordmark, design tokens | When brand is undefined or being refreshed |
product-spec and app-marketing-context are complementary, not competing. A well-run app has both: the spec tells engineers what to build; this file tells the growth team how to sell it.
Keeping It Fresh
Stale context is worse than no context — other skills will make decisions on bad assumptions.
Update triggers:
- Major version release (new features change the value proposition and keyword opportunities).
- Price model change (affects every downstream skill).
- New primary market or localization push.
- Competitive landscape shift (a major competitor launches or shuts down).
- KPIs are hit or reset (new goals need a new brief).
Add the update date to the file header comment so you always know how old the data is.