app-store-connect
Use the asc CLI for all App Store Connect tasks — releases, TestFlight, builds, metadata, screenshots, signing, subscriptions, IAPs, pricing, analytics, users, notarization, and more. Primary catch-all for any App Store Connect work. For deep workflows, also see specialized asc-* skills.
Best use case
app-store-connect is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use the asc CLI for all App Store Connect tasks — releases, TestFlight, builds, metadata, screenshots, signing, subscriptions, IAPs, pricing, analytics, users, notarization, and more. Primary catch-all for any App Store Connect work. For deep workflows, also see specialized asc-* skills.
Teams using app-store-connect should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/app-store-connect/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How app-store-connect Compares
| Feature / Agent | app-store-connect | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use the asc CLI for all App Store Connect tasks — releases, TestFlight, builds, metadata, screenshots, signing, subscriptions, IAPs, pricing, analytics, users, notarization, and more. Primary catch-all for any App Store Connect work. For deep workflows, also see specialized asc-* skills.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# App Store Connect (asc CLI)
Router skill. The `asc` CLI covers the full surface area of App Store Connect. Read the sub-skill that matches the task.
## Sub-skills
| Sub-skill | Use when |
|-----------|---------|
| `release-flow` | Uploading a build, distributing to TestFlight, or submitting to App Store review |
| `crash-triage` | Triaging TestFlight crashes and beta feedback |
| `shots-pipeline` | Automated screenshot capture + frame + upload |
| `metadata-sync` | Bulk metadata sync and legacy format migration |
| `localize-metadata` | Translating metadata to multiple languages |
| `signing-setup` | Onboarding a new app or rotating signing assets |
| `submission-health` | Preflight checks before submission |
| `testflight-orchestration` | Complex TF group / tester management |
| `ppp-pricing` | Territory-specific / PPP pricing |
| `revenuecat-catalog-sync` | Syncing ASC subs with RevenueCat |
| `xcode-build` | Building / archiving with xcodebuild |
| `notarization` | macOS Developer ID notarization |
| `subscription-localization` | Bulk-localizing subscription display names |
| `app-create-ui` | Creating a new app record (no public API, browser automation) |
| `workflow` | Multi-step asc workflow automations |
| `wall-submit` | Submitting to the Wall of Apps |
| `build-lifecycle` | Tracking build processing, finding latest builds, cleaning old builds |
| `id-resolver` | Resolving IDs (apps, builds, groups) from human-friendly names |
| `cli-usage` | asc CLI flags, output formats, pagination, auth, and discovery |
## Capability Map
| Area | Commands |
|------|----------|
| **Release** | `asc publish`, `asc submit`, `asc release` |
| **TestFlight** | `asc testflight`, `asc builds`, `asc build-localizations` |
| **Metadata** | `asc metadata`, `asc localizations`, `asc versions`, `asc app-info` |
| **Screenshots** | `asc screenshots`, `asc video-previews` |
| **Signing** | `asc signing`, `asc certificates`, `asc profiles`, `asc bundle-ids` |
| **Subscriptions / IAP** | `asc subscriptions`, `asc iap` |
| **Pricing** | `asc pricing` |
| **Analytics** | `asc analytics`, `asc insights`, `asc performance` |
| **Users** | `asc users`, `asc devices` |
| **Notarization** | `asc notarization` |
| **Workflows** | `asc workflow` |
| **Status** | `asc status --app <APP_ID>` |
Always run `asc <subcommand> --help` to verify flags. Output: `--output table` for humans, default JSON for scripts.
## Direct API fallback when `asc` is unavailable
If `asc` is not installed or not on PATH, use the App Store Connect API directly with credentials from `~/.asc/config.json` and the private key path in that config. This is especially useful for read-only metadata checks.
```python
import json, time, urllib.request, os, jwt
cfg = json.load(open(os.path.expanduser('~/.asc/config.json')))
key_path = os.path.expanduser(cfg.get('key_path') or cfg.get('private_key_path') or os.environ.get('ASC_PRIVATE_KEY_PATH', '~/.asc/AuthKey.p8'))
key = open(key_path).read()
token = jwt.encode(
{'iss': cfg['issuer_id'], 'exp': int(time.time()) + 1200, 'aud': 'appstoreconnect-v1'},
key,
algorithm='ES256',
headers={'kid': cfg['key_id'], 'typ': 'JWT'},
)
base = 'https://api.appstoreconnect.apple.com/v1'
def get(path):
req = urllib.request.Request(base + path, headers={'Authorization': 'Bearer ' + token})
return json.load(urllib.request.urlopen(req, timeout=30))
```
Useful read-only paths:
- Resolve app: `/apps?filter[bundleId]=$BUNDLE_ID&limit=1`
- Versions: `/apps/{app_id}/appStoreVersions?filter[platform]=IOS&limit=10`
- Version localization, includes `description`, `keywords`, `promotionalText`, `whatsNew`: `/appStoreVersions/{version_id}/appStoreVersionLocalizations?limit=200`
- App info: `/apps/{app_id}/appInfos?limit=10`
- App info localization, includes `name`, `subtitle`, privacy URLs: `/appInfos/{app_info_id}/appInfoLocalizations?limit=200`Related Skills
app-store-screenshots
Generate production-ready App Store marketing screenshots for iOS apps using a Next.js generator. Screenshots are designed as ads (not UI showcases) and exported at all 4 Apple-required sizes (6.9", 6.5", 6.3", 6.1"). Use when asked to create App Store screenshots, generate marketing screenshot assets, or build a screenshot page for an iOS app.
writer
Write content in Eric's voice — articles, blog posts, tweets, social media posts, marketing copy, newsletter drafts. Loads WRITING-STYLE.md and enforces kill phrases.
positioning-angles
Use when defining product positioning, choosing strategic angles, crafting value propositions, competitive positioning, product messaging, differentiation strategy, or go-to-market angles. Also use for 'how should I position my app', 'what angle should I use', 'painkiller vs vitamin', or 'market positioning'.
outline-generator
Use when generating outlines, article structures, content outlines, blog outlines, planning article sections, structuring posts, breaking down topics into sections, or organizing ideas for long-form content. Also use for 'outline this', 'structure this article', or 'plan the sections'.
last30days-open
Use only when the user explicitly asks for the open variant of last30days, including watchlists, briefings, and history queries. Sources: Reddit, X, YouTube, web.
last30days
Use when researching what happened in the last 30 days on a topic. Also triggered by 'last30'. Sources: Reddit, X, YouTube, web. Produces expert-level summary with copy-paste-ready prompts.
hooks
Use when generating hooks, headlines, titles, and scroll-stopping openers for content. Also use when analyzing viral posts, Reels, TikToks, YouTube Shorts, or successful social examples to extract reusable hook patterns and improve hook guidance.
evaluate-content
Use when judging content quality OR editing/improving existing copy: shareability, readability, voice, cuttability, angle, copy sweeps.
editor-in-chief
Use when a first draft is complete and all Phase 1 gates are done: topic selected (seo-research), title approved (hooks), outline approved (outline-generator), draft written (writer). Runs autonomous diagnosis-prescribe-rewrite loop before Substack.
copywriting
Write or improve marketing copy for any surface: pages, ads, app stores, landing pages, TikTok/Meta scripts, push notifications, UGC. Combines page copy frameworks with direct response principles.
content-strategy
Use when building content strategy: hooks, angles, and ideas from what's trending now. Covers organic and paid creative across TikTok, X, YouTube, Meta, LinkedIn.
content-pipeline
Orchestrator for the 3-article content pipeline — runs research phase, spawns parallel article sub-agents, creates Typefully drafts. Use when running the full content pipeline (usually via cron at 3am).