asc-apple-ads

asc-apple-ads is a skill for Claude Code from rorkai/app-store-connect-cli-skills. It costs 50 tokens per session (3,216 once invoked), scanned A, original, MIT.

A guide for managing Apple Ads, Apple's advertising service, through the asc command-line tool. It covers authentication, campaign and targeting data, reports, uploads, recommendations, and two Apple Ads APIs.

In plain words
What is it for?
Use it to discover ad accounts, manage campaigns and targeting, generate reports, upload assets, request recommendations, send guarded changes, or work with raw API requests.
Why use it?
It helps prevent mixing separate Apple Ads and App Store Connect credentials or confusing account identifiers between the current and older APIs.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the asc plugin — 25 skills shipped together

not rated 1.0krepo +18 4d ago A scan Socket: warnSnyk: warnSkillSpector: warn 50 tokens original MIT

Good fit Use it to discover ad accounts, manage campaigns and targeting, generate reports, upload assets, request recommendations, send guarded changes, or work with raw API requests.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/rorkai/app-store-connect-cli-skills/asc-apple-ads
About the project

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.

rorkai/app-store-connect-cli-skills · 1,025 stars · on GitHub · asccli.sh

Install

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.

Any agent
npx skills add rorkai/app-store-connect-cli-skills --skill asc-apple-ads
Clone the repo
git clone --depth 1 https://github.com/rorkai/app-store-connect-cli-skills

Made for: Claude Code.

Or install asc, the plugin that ships this one along with the rest of its 25 skills.

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

agentmods badge for asc-apple-ads

README.md
[![agentmods](https://agentmods.dev/badge/skills/rorkai/app-store-connect-cli-skills/asc-apple-ads/github.svg)](https://agentmods.dev/skills/rorkai/app-store-connect-cli-skills/asc-apple-ads)
Your own site
<a href="https://agentmods.dev/skills/rorkai/app-store-connect-cli-skills/asc-apple-ads"><img src="https://agentmods.dev/badge/skills/rorkai/app-store-connect-cli-skills/asc-apple-ads/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.

agentmods 80×15 button for asc-apple-ads

Your own site · 80×15
<a href="https://agentmods.dev/skills/rorkai/app-store-connect-cli-skills/asc-apple-ads"><img src="https://agentmods.dev/badge/skills/rorkai/app-store-connect-cli-skills/asc-apple-ads.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 50 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,216 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Socket warn 18 Aug 2026
  • Snyk warn 18 Aug 2026
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 2 findings, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Privilege Escalation · line 43
    Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
    Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
  • medium Data Exfiltration · line 216
    Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
    Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00050 $0.03216
Opus 5 $0.00025 $0.01608
Sonnet 5 $0.00010 $0.00643
Haiku 4.5 $0.00005 $0.00322

Measured 12d ago against content hash 2dd8b220d439, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

asc-apple-ads 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 12d 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.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

skills/asc-apple-ads/SKILL.md · 266 lines

How it starts

The opening of the file, as written. The whole thing — 266 lines — stays where its author put it; the contents beside it link to each section on GitHub.

asc Apple Ads

Run Apple Ads work through asc ads. Apple Ads credentials are separate from App Store Connect credentials; asc auth login does not configure Ads.

Pick the API first

  • Direct asc ads <resource> ... commands use Apple Ads Platform API v1 and an ad account ID.
  • Deprecated Campaign Management API v5 commands live under asc ads v5 ... and use an organization ID. Apple retires v5 on January 26, 2027.
  • Never substitute an org ID for an ad account ID. The CLI keeps them separate.
  • Run the exact leaf command with --help before building a request file. Platform v1 payloads and response envelopes differ from v5; the CLI does not translate them.
  • For non-interactive pipelines, pass --file - to read a JSON request body from stdin; the CLI rejects it when stdin is a terminal.
  • Resource, report, upload, and raw commands emit lossless JSON. Use jq for projections instead of asking for table or markdown output.

Authenticate and pin the account

Store both contexts when a profile must support v1 and legacy v5:

asc ads auth login \
  --name "Marketing" \
  --client-id "$ASC_ADS_CLIENT_ID" \
  --team-id "$ASC_ADS_TEAM_ID" \
  --key-id "$ASC_ADS_KEY_ID" \
  --private-key "$ASC_ADS_PRIVATE_KEY_PATH" \
  --ad-account "987654" \
  --org "123456" \
  --network

For CI, set Ads-specific variables and bypass the host keychain:

export ASC_ADS_CLIENT_ID="SEARCHADS_CLIENT_ID"
export ASC_ADS_TEAM_ID="SEARCHADS_TEAM_ID"
export ASC_ADS_KEY_ID="KEY_ID"
export ASC_ADS_PRIVATE_KEY_PATH="$HOME/.asc/apple-ads-private-key.pem"
export ASC_ADS_AD_ACCOUNT_ID="987654"
export ASC_ADS_BYPASS_KEYCHAIN=1

ASC_ADS_PRIVATE_KEY and ASC_ADS_PRIVATE_KEY_B64 also work. If another trusted process minted a short-lived token, set ASC_ADS_ACCESS_TOKEN; scoped v1 calls still need an ad account ID.

Check auth without printing a token:

asc ads auth status --validate --output json
asc ads auth discover --ads-profile "Marketing" --output json
asc ads auth doctor --output json

Read the full file on GitHub · 266 lines

Changes

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.

  1. 12d ago First seen · 266 lines · 50 tokens per session scan A 2dd8b220d439

Subscribe to this mod's changes

asc-apple-ads is a skill published in the GitHub repository rorkai/app-store-connect-cli-skills (1,025 stars, last pushed 4d ago), licensed MIT. It adds 50 tokens to every session and 3,216 once invoked, about $0.0003 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.

Related

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…

markdavidgan/apple-dev-skills · 132 tokens

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…

markdavidgan/apple-dev-skills · 78 tokens

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.

markdavidgan/apple-dev-skills · 66 tokens

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…

markdavidgan/apple-dev-skills · 104 tokens

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

markdavidgan/apple-dev-skills · 85 tokens

submission-preflight

Pre-submission risk audit for App Store review — catch the rejection triggers (metadata, privacy, IAP, design, account, legal) BEFORE you submit, by app type. Use when the user says "preflight", "will this get rejected", "check before submitting", "review readiness", "submission checklist", "App Review guidelines"…

markdavidgan/apple-dev-skills · 100 tokens