mcpbeat Sign in

Asc Apple Ads Agent Skill

Use when managing Apple Ads with asc, including auth, org lookup, campaigns, ad groups, ads, keywords, reports, raw API calls, and safe live testing.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
946
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-apple-ads

The instruction itself

8 sections, as written by the author

asc Apple Ads

Use this skill when a task involves Apple Ads or asc ads.

Ground Rules

  • Run asc ads --help or the specific subgroup help before scripting a command.
  • Apple Ads auth is separate from App Store Connect auth. asc auth login does not configure asc ads.
  • Use JSON output for automation: --output json.
  • Most commands need an org ID. Prefer --org for one-off commands and ASC_ADS_ORG_ID for a scoped session.
  • Never guess payload fields. Use Apple Ads request JSON in a file and pass it with --file.
  • Do not mutate a live account until the user has named the org and approved the resource type. Prefer read-only checks first.

Auth

Stored profile:

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" \
  --org "$ASC_ADS_ORG_ID" \
  --network

Environment auth:

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_ORG_ID="123456"

Short-lived token auth:

export ASC_ADS_ACCESS_TOKEN="ACCESS_TOKEN"
export ASC_ADS_ORG_ID="123456"

Useful checks:

asc ads auth status --validate --output json
asc ads auth doctor --output json
asc ads me view --output json
asc ads acls --output json

Org Resolution

When the org ID is unknown:

asc ads acls --output json

Use the returned org ID:

asc ads campaigns --org "123456" --limit 10 --output json

Org precedence is --org, ASC_ADS_ORG_ID, stored profile org_id, then config ads.org_id.

Read Workflows

Campaigns and ad groups:

asc ads campaigns --org "123456" --limit 100 --output json
asc ads campaigns --org "123456" --paginate --output json
asc ads campaigns view --org "123456" --campaign 987654321 --output json
asc ads ad-groups list --org "123456" --campaign 987654321 --output json

Discovery:

asc ads apps search --org "123456" --query "My App" --limit 10 --output json
asc ads product-pages list --org "123456" --adam-id 1234567890 --states VISIBLE --output json
asc ads creatives list --org "123456" --limit 100 --output json
asc ads geo search --org "123456" --query "San Francisco" --country-code US --limit 10 --output json

Reports:

asc ads reports campaigns --org "123456" --file reporting-request.json --output json
asc ads reports keywords --org "123456" --campaign 987654321 --file reporting-request.json --output json

Reporting and find endpoints keep pagination in the JSON body.

Mutating Workflows

Create and update commands take Apple Ads JSON files:

asc ads campaigns create --org "123456" --file campaign.json --output json
asc ads campaigns update --org "123456" --campaign 987654321 --file campaign-update.json --output json
asc ads ad-groups create --org "123456" --campaign 987654321 --file ad-group.json --output json

Bulk endpoints often require arrays:

asc ads targeting-keywords create-bulk \
  --org "123456" \
  --campaign 987654321 \
  --ad-group 123456789 \
  --file keywords.json \
  --output json

Delete commands require --confirm:

asc ads targeting-keywords delete-bulk \
  --org "123456" \
  --campaign 987654321 \
  --ad-group 123456789 \
  --file keyword-ids.json \
  --confirm \
  --output json

asc ads campaigns delete --org "123456" --campaign 987654321 --confirm

For live tests, create paused resources with names such as ASC CLI Live Test <timestamp>. Clean up only the parent campaign or ad group created for that test. Apple may reject direct deletion for default product page creative ads, but deleting the test parent campaign or ad group can clean up the test resource.

Raw API

Use raw requests when Apple adds a field before the first-class command surface changes:

asc ads api request \
  --method POST \
  --path v5/campaigns/find \
  --org "123456" \
  --file selector.json \
  --output json

Raw requests accept only Apple Ads v5 paths or https://api.searchads.apple.com/api/v5/... URLs. DELETE still requires --confirm.

Live Test Checklist

  • Start with asc ads me view --output json and asc ads acls --output json.
  • Print the target org ID before mutations.
  • Create paused or future-dated resources.
  • Use a unique test name.
  • Save created IDs from JSON output.
  • Delete only the test parent campaign or ad group created during the run.
  • Run a final campaigns find/list query to confirm cleanup.

Other skills for the same job

different authors, same section of the catalogue
Internal Comms
by anthropics
vendor ×13

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

6k tokens
Competitive Ads Extractor
by frostant
×10

Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.

2k tokens
Lead Research Assistant
by frostant
×8

Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.

2k tokens
Developer Growth Analysis
by frostant
×6

Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.

4k tokens
App Store Optimization
by alirezarezvani
×3

Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store

55k tokens scripts
Deeptools
by christophacham
×3

NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.

21k tokens scripts
Pymatgen
by christophacham
×3

Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.

26k tokens scripts
Enhance Prompt
by google-labs-code
vendor ×2

Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.

3k tokens

How to use it

Copy the folder

Take rorkai/asc-apple-ads from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.