rorkai/app-store-connect-cli-skills is a community-maintained collection of Agent Skills for using the asc command-line tool with Apple App Store Connect and Apple Ads. It helps coding agents automate builds, TestFlight, metadata, submissions, signing, and advertising workflows.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add rorkai/app-store-connect-cli-skills --skill asc-metadata-syncgit clone --depth 1 https://github.com/rorkai/app-store-connect-cli-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/rorkai/app-store-connect-cli-skills/asc-metadata-sync)<a href="https://agentmods.dev/skills/rorkai/app-store-connect-cli-skills/asc-metadata-sync"><img src="https://agentmods.dev/badge/skills/rorkai/app-store-connect-cli-skills/asc-metadata-sync/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/rorkai/app-store-connect-cli-skills/asc-metadata-sync"><img src="https://agentmods.dev/badge/skills/rorkai/app-store-connect-cli-skills/asc-metadata-sync.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00039 | $0.01967 |
| Opus 5 | $0.00019 | $0.00983 |
| Sonnet 5 | $0.00008 | $0.00393 |
| Haiku 4.5 | $0.00004 | $0.00197 |
Grade A, and why
asc-metadata-sync scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- asc-metadata-sync — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
asc metadata sync
Use this skill to keep App Store metadata in sync with App Store Connect. Prefer the canonical asc metadata workflow for app-info and version localization fields. Use the lower-level asc localizations and asc migrate commands only when the user specifically needs .strings files or legacy fastlane-format metadata.
Current canonical workflow
1. Pull canonical metadata
asc metadata pull --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"
If the app has multiple app-info records, resolve the app-info ID first and pass it explicitly:
asc apps info list --app "APP_ID" --output table
asc metadata pull --app "APP_ID" --app-info "APP_INFO_ID" --version "1.2.3" --platform IOS --dir "./metadata"
2. Edit local files
Canonical files are written under:
metadata/app-info/<locale>.jsonfor app-level fields:name,subtitle,privacyPolicyUrl,privacyChoicesUrl,privacyPolicyTextmetadata/version/<version>/<locale>.jsonfor version fields:description,keywords,marketingUrl,promotionalText,supportUrl,whatsNew
Copyright is not a localization field. Manage it with:
asc versions update --version-id "VERSION_ID" --copyright "2026 Your Company"
3. Validate before upload
asc metadata validate --dir "./metadata" --output table
For subscription apps, include the extra Terms of Use / EULA heuristic:
asc metadata validate --dir "./metadata" --subscription-app --output table
4. Preview and apply
Run a dry run first:
asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --dry-run --output table
Apply after the plan looks correct:
asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"
Use asc metadata apply when the user wants the apply-named command shape for the same canonical files:
asc metadata apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --dry-run
asc metadata apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 174 lines · 39 tokens per session scan A 1a4b5b2dfc42
asc-metadata-sync is a skill published in the GitHub repository rorkai/app-store-connect-cli-skills (1,020 stars, last pushed 2d ago), licensed MIT. It adds 39 tokens to every session and 1,967 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
app-rejection-recovery
Diagnoses App Store rejections, drafts Resolution Center responses, and plans the fix for resubmission. Use when the user says "my app was rejected", "Apple rejected my app", "App Review rejection", "guideline violation", "Resolution Center response", "guideline 2.1", "guideline 4.3", "guideline 5.1.1", "binary…
asc-build-check
Check the latest CI build status and debug failures using the App Store Connect MCP server. Use when user says "check build", "what broke", "CI status", "build failing", or asks about recent build failures. Also use for signing issues, provisioning profiles, bundle ID capabilities, or Developer Portal queries.
asc-submission
Prepare an app for App Store submission or TestFlight distribution using the App Store Connect MCP server. Use when user says "prepare submission", "submit to app store", "prepare for review", "update metadata", "set what's new", "check submission readiness", "distribute to testflight", or wants to manage App Store…
review-management
Pull, cluster, triage, and respond to App Store reviews via the App Store Connect MCP. Use when you need to fetch recent reviews, analyze sentiment, draft developer responses, track recurring themes as product signals, or close the loop on a rating recovery campaign. Trigger phrases: "triage reviews", "respond to…
asc-audit
Read-only drift check between live App Store Connect state, the repo, and whatever launch/submission docs claim. Use before quoting any build/version/TestFlight number back to the user, before trusting a canonical "where we stand" doc block, and as the required first step of submission-preflight before any submit.…
asc-crash-logs
Pull TestFlight crash feedback and full crash logs via the App Store Connect API when Xcode Organizer can't. Use when the user says "pull the crash log", "TestFlight crash", "crash feedback", "get the .ips", or a beta tester reports a crash and you need the stack trace without a device.