Use when managing Apple Ads with asc, including auth, org lookup, campaigns, ad groups, ads, keywords, reports, raw API calls, and safe live testing.
SkillScore96Maintained
Automatic
◆Marketing & Content pack
Last verified 8/28/2026
What it changes
Passed 23 of 24 test cases with the skill, and 11 of 24 without it.
Without skill46%
With skill96%
Checks it passed that the model alone missed
Requires the --confirm flag for creation.
Uses asc ads me view to check user identity.
Rejects raw top-level array JSON structures.
and 24 more in the full report
13 fixed10 passed either way0 still failing1 broke
Pass-rate lift
+50 pp
Tokens
+139%
Agent turns
0%
Response time
-34%
Model gemini-3.6-flashMeasured 8/28/2026v323 of 24 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 13
Prompt
We need to create a shared budget order in Apple Ads using the CLI. What command group should be used, does it take ad-account context, and is safety confirmation needed?
What was checked, without and with the skill
Checked
Without skill
With skill
Uses the asc ads budget-orders command group.
Missed
Passed
Requires the --confirm flag for creation.
Missed
Passed
case-12 · gemini-3.6-flash · 8/28/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md260 linessingle file
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:
Triage TestFlight crashes, beta feedback, and performance diagnostics using asc. Use when the user asks about TF crashes, TestFlight crash reports, beta tester feedback, app hangs, disk writes, launch diagnostics, or wants a crash summary for a build or app.