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.

9 stars

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

$curl -o ~/.claude/skills/app-store-connect/SKILL.md --create-dirs "https://raw.githubusercontent.com/exiao/skills/main/app-store/app-store-connect/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/app-store-connect/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How app-store-connect Compares

Feature / Agentapp-store-connectStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

9
from exiao/skills

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

9
from exiao/skills

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

9
from exiao/skills

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

9
from exiao/skills

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

9
from exiao/skills

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

9
from exiao/skills

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

9
from exiao/skills

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

9
from exiao/skills

Use when judging content quality OR editing/improving existing copy: shareability, readability, voice, cuttability, angle, copy sweeps.

editor-in-chief

9
from exiao/skills

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

9
from exiao/skills

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

9
from exiao/skills

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

9
from exiao/skills

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).