Agent skill

Ad Attribution

by rshankras in rshankras/claude-code-apple-skills

Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution, conversion-value strategy under crowd anonymity, and end-to-end postback…

MITAuto-check passedMobile

Install Ad Attribution

skills CLI
$ npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rshankras/claude-code-apple-skills ad-attribution --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rshankras/claude-code-apple-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/app-store/ad-attribution .claude/skills/ad-attribution && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ad-attribution
GitHub stars
785
Token cost
~1.5k tokens
SKILL.md length
654 words
Files
1
Skills in repo
41
Repo updated
First seen
Licence
MIT

At a glance

Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution, conversion-value strategy under crowd anonymity, and end-to-end postback…

  • Running paid acquisition beyond Apple Ads
  • SKILL.md covers When This Skill Activates, How it works (the 60-second…, Conversion-value strategy (the… and Publisher-side mechanics (if…, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Measuring re-engagement campaigns

What it does

Ad Attribution is an agent skill from rshankras/claude-code-apple-skills. Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution, conversion-value strategy under crowd anonymity, and end-to-end postback testing. Use when running paid acquisition beyond Apple Ads, measuring re-engagement campaigns, designing conversion values, or migrating from SKAdNetwork.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering App store release. The repository describes itself as: Claude Code skills for Apple platform development (iOS, macOS, iPadOS) — product validation, code generation, App Store optimization, and more. The licence is MIT.

When your agent uses it

  • Running paid acquisition beyond Apple Ads
  • Measuring re-engagement campaigns
  • Designing conversion values
  • Migrating from SKAdNetwork

Example prompts

  • “/ad-attribution”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Edit, Glob, Grep

What it can do on your machine

Read from SKILL.md and the folder at commit 9ffb831. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • developer.apple.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ad Attribution loads about 1.5k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 654 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~92
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rshankras/claude-code-apple-skills at commit 9ffb831, republished under its MIT licence (© rshankras). 654 words, ~1,506 tokens.

Download SKILL.mdSave it as .claude/skills/ad-attribution/SKILL.md (or your agent's skills folder).
name
ad-attribution
description
Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution, conversion-value strategy under crowd anonymity, and end-to-end postback testing. Use when running paid acquisition beyond Apple Ads, measuring re-engagement campaigns, designing conversion values, or migrating from SKAdNetwork.
allowed-tools
Read, Write, Edit, Glob, Grep
last_verified
2026-07-16
review_by
2027-06-22
os_version
iOS 27 / macOS 27

Ad Attribution (AdAttributionKit)

You can't optimize paid traffic you can't measure. AdAttributionKit is Apple's privacy-preserving attribution framework — interoperable with SKAdNetwork, and the go-forward path (it also works in alternative marketplaces). This skill covers the advertised-app side: what an indie running paid campaigns must implement and how to design conversion signals that survive privacy thresholds.

Note the seam: Apple Ads attribution uses the AdServices framework, not AdAttributionKit — campaigns there are measured in the Apple Ads console (see app-store/apple-search-ads). This skill is for every other paid channel (ad networks, social, publishers).

When This Skill Activates

  • Running or planning paid user acquisition outside Apple Ads
  • "How do I know which campaign drove installs?" / measuring re-engagement ads
  • Designing or debugging conversion values / postbacks
  • Migrating from SKAdNetwork (fully interoperable — registered networks need no re-enrollment)

How it works (the 60-second model)

Ad network signs an ad (compact JWS impression) → publisher app shows it → user installs (or re-engages) → after a privacy-delayed measurement window, a postback with your conversion info goes to the ad network (and optionally to you). Attribution requires no user tracking; the price is coarser data, governed by crowd anonymity.

Conversion-value strategy (the part that's actually yours)

  • Two granularities: fine value 0–63 and coarse low/medium/high. Low crowd sizes downgrade fine → coarse and can trim the 4-digit campaign source-identifier to as few as its first 2 digits — so encode what matters most (campaign family, geo tier) in the first two digits, detail in the rest.
  • Map values to revenue-predictive early behavior (completed onboarding, trial start, first purchase), not vanity events. 64 slots go fast; reserve ranges (e.g. 0–15 activation, 16–47 monetization ladder, 48–63 reserved).
  • Update with updateConversionValue(_:) / PostbackUpdate; set lockPostback when the value is final to schedule transmission (still privacy-delayed, never instant).
  • Re-engagement postbacks are separate from install postbacks: update them independently via conversionTypes (.install / .reengagement); the first re-engagement update must land within 48 hours.
  • Multiple simultaneous re-engagement campaigns need conversion tags (iOS 18.4+): read the tag from the re-engagement URL's query items, store it, and pass it in PostbackUpdate — without a tag, updates hit only the most recent conversion.

Publisher-side mechanics (if your app also shows ads)

  • Click-through: UIEventAttributionView over the tappable ad + appImpression.handleTap() within 15 minutes of creating the impression.
  • View-through: beginView()/endView() on the same instance; ≥2 seconds on screen to count; one open view-through per network per advertised app.
  • SKOverlay / SKStoreProductViewController: attach the impression — they count view on present, click on tap.
Show full SKILL.md (255 more words)Show less

Attribution windows & cooldowns (iOS 18.4+ configurability)

  • Defaults: 30 days click-through, 1 day view-through (install ads).
  • Override per ad network and interaction type in Info.plist (AdAttributionKitConfigurations → AttributionWindows); you can ignore "view" or "click" (not both) per network.
  • Set cooldowns (install-cooldown-hours, reengagement-cooldown-hours) so a re-engagement tap minutes after an install isn't double-attributed.
  • Country-level postback data (iOS 18.4): storefront country at install, gated behind an extra crowd-anonymity tier — a bonus signal when volume allows, never guaranteed.
  • Overlapping re-engagement conversions require opting in: EligibleForAdAttributionKitOverlappingConversions = YES in Info.plist.

Testing — never ship blind

  • Developer Mode → Settings → Developer → Ad Attribution Testing: removes time randomization, shortens all conversion windows, sends postbacks on demand — full end-to-end rehearsal in minutes instead of days.
  • Point development postbacks at a separate dev endpoint, never production: they're signed with a different key (kid), the network ID is always development.adattributionkit, and the advertised item ID may be 0 from Xcode.
  • ✅ Verify the postback pipeline before spending a dollar. ❌ Debugging attribution after a live campaign burns budget on unmeasurable installs.

Checklist

  • Conversion-value map documented (0–63 + coarse fallback + first-2-digit priority)
  • lockPostback fired once value is final; re-engagement first update < 48h
  • Conversion tags wired if >1 re-engagement campaign runs at once
  • Cooldowns configured; windows tuned per network where defaults don't fit
  • Dev-endpoint postback rehearsal done in Developer Mode
  • Campaign readout joined with growth/analytics-interpretation (source-type funnel) — attribution tells you which ad, App Analytics tells you what they did after

References

© rshankras, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/app-store/ad-attribution of rshankras/claude-code-apple-skills.

Open the folder on GitHubat commit 9ffb831

Compare with similar skills

Ad Attribution next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ad Attribution compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ad Attribution this skillrshankras/claude-code-apple-skills785—~1.5kAutomated safety check: PassMIT
Asocoreyhaines31/marketingskills54k1 repos~4kAutomated safety check: PassMIT
App Store Optimizationmanojbajaj95/claude-gtm-plugin105—~4.2kAutomated safety check: PassMIT
App Store Featuredappeeky/aso-skills2.2k—~1.9kAutomated safety check: PassMIT
Aso Auditappeeky/aso-skills2.2k—~1.6kAutomated safety check: PassMIT
Apple Appstore Reviewergithub/awesome-copilot40k2 repos~2.9kAutomated safety check: PassMIT

Similar skills

  • Aso

    coreyhaines31/marketingskills

    When the user wants to audit or optimize an App Store or Google Play listing.

    54k GitHub starsUsed in 1 repo~4k tokens
    MobileAuto-check passed
  • App Store Optimization

    manojbajaj95/claude-gtm-plugin

    A skill your agent uses when optimizing app store listings, researching keywords, or tracking mobile app performance on Apple App Store and Google Play Store.

    105 GitHub stars~4.2k tokensUpdated 21 days ago
    MobileAuto-check passed
  • App Store Featured

    appeeky/aso-skills

    When the user wants to get featured on the App Store or understand the editorial process.

    2.2k GitHub stars~1.9k tokensUpdated 3 days ago
    MobileAuto-check passed
  • Aso Audit

    appeeky/aso-skills

    When the user wants a full ASO health audit, review their App Store listing quality, or diagnose why their app isn't ranking.

    2.2k GitHub stars~1.6k tokensUpdated 3 days ago
    MobileAuto-check passed
  • Apple Appstore Reviewer

    github/awesome-copilot

    Official

    Serves as a reviewer of the codebase with instructions on looking for Apple App Store optimizations or rejection reasons.

    40k GitHub starsUsed in 2 repos~2.9k tokens
    MobileAuto-check passed
  • Aso Router

    appeeky/aso-skills

    Single entry point that routes any ASO, App Store, Google Play, app marketing, paid UA, monetization, retention, reviews, ratings, market-intel, or app-analytics question to the correct specialist…

    2.2k GitHub stars~2.7k tokensUpdated 3 days ago
    MobileAuto-check passed

More from rshankras/claude-code-apple-skills

All 41 skills in this repo
  • Accessibility Generator

    rshankras/claude-code-apple-skills

    Generate accessibility infrastructure for VoiceOver, Dynamic Type, and accessibility features.

    785 GitHub stars~1.4k tokensUpdated 2 mo ago
    Auto-check: notes
  • Animation Patterns

    rshankras/claude-code-apple-skills

    SwiftUI animation patterns including springs, transitions, PhaseAnimator, KeyframeAnimator, SF Symbol effects, scroll-driven effects, mesh gradients, text renderers, and shader effects.

    785 GitHub stars~2.1k tokensUpdated 2 mo ago
    Auto-check passed
  • App Description Writer

    rshankras/claude-code-apple-skills

    Generate compelling App Store descriptions that convert browsers into users.

    785 GitHub stars~1.3k tokensUpdated 2 mo ago
    Auto-check passed
  • App Icon Generator

    rshankras/claude-code-apple-skills

    Generates an app icon for macOS or iOS — a fast CoreGraphics placeholder and/or flat layered source art to finish in Icon Composer (the Liquid Glass / iOS 26+ standard).

    785 GitHub stars~5.1k tokensUpdated 2 mo ago
    Auto-check: notes
  • App Namer

    rshankras/claude-code-apple-skills

    Turn an app idea into validated, App-Store-ready name candidates.

    785 GitHub stars~3.4k tokensUpdated 2 mo ago
    Auto-check passed
  • Bundles And Licensing

    rshankras/claude-code-apple-skills

    Revenue beyond the single-app price tag — own-app bundles, Family Sharing as a conversion lever, cross-developer bundles & suites, and institutional licensing via Group Purchases / Apple School &…

    785 GitHub stars~1.8k tokensUpdated 2 mo ago
    Auto-check passed

Questions about Ad Attribution

What does Ad Attribution do?

Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution, conversion-value strategy under crowd anonymity, and end-to-end postback…. Ad Attribution is an agent skill from rshankras/claude-code-apple-skills. Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution, conversion-value strategy under crowd anonymity, and end-to-end postback testing.

When should I use Ad Attribution?

Ad Attribution fits situations like: running paid acquisition beyond Apple Ads; measuring re-engagement campaigns; designing conversion values; migrating from SKAdNetwork.

How do I install Ad Attribution in Claude Code?

Run `npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a claude-code`. Or copy the skill folder (skills/app-store/ad-attribution in rshankras/claude-code-apple-skills) into .claude/skills/ad-attribution in your project. Claude Code loads it when a task matches its description.

How do I install Ad Attribution in Codex?

Run `npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a codex`. Or copy the skill folder (skills/app-store/ad-attribution in rshankras/claude-code-apple-skills) into .agents/skills/ad-attribution in your project. Codex loads it when a task matches its description.

Can I use Ad Attribution in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ad-attribution, .gemini/skills/ad-attribution, .github/skills/ad-attribution and .opencode/skills/ad-attribution in your project.

What does Ad Attribution need to run?

SKILL.md names no scripts, command-line tools or credentials: Ad Attribution is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep.

Does Ad Attribution access the network?

SKILL.md names 1 domain. As links in the text: developer.apple.com. This is read from the text; nothing was executed.

Is Ad Attribution safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ad Attribution use?

Ad Attribution is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ad Attribution use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ad Attribution?

Skills that share tags, products or a category with Ad Attribution: Aso (coreyhaines31/marketingskills, 54k stars), App Store Optimization (manojbajaj95/claude-gtm-plugin, 105 stars), App Store Featured (appeeky/aso-skills, 2.2k stars) and Aso Audit (appeeky/aso-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ad Attribution?

rshankras (a GitHub user) maintains it in rshankras/claude-code-apple-skills, which has 785 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on July 24, 2026.

Source: rshankras/claude-code-apple-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.