Aso
coreyhaines31/marketingskills
When the user wants to audit or optimize an App Store or Google Play listing.
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…
$ npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rshankras/claude-code-apple-skills ad-attribution --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "ad-attribution" agent skill from https://github.com/rshankras/claude-code-apple-skills/tree/main/skills/app-store/ad-attribution into .claude/skills/ad-attribution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-attribution", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rshankras/claude-code-apple-skills/tree/main/skills/app-store/ad-attributionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rshankras/claude-code-apple-skills ad-attribution --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rshankras/claude-code-apple-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/app-store/ad-attribution .agents/skills/ad-attribution && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ad-attribution" agent skill from https://github.com/rshankras/claude-code-apple-skills/tree/main/skills/app-store/ad-attribution into .agents/skills/ad-attribution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-attribution", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rshankras/claude-code-apple-skills ad-attribution --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rshankras/claude-code-apple-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/app-store/ad-attribution .cursor/skills/ad-attribution && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ad-attribution" agent skill from https://github.com/rshankras/claude-code-apple-skills/tree/main/skills/app-store/ad-attribution into .cursor/skills/ad-attribution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-attribution", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rshankras/claude-code-apple-skills.git --path skills/app-store/ad-attribution--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rshankras/claude-code-apple-skills ad-attribution --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rshankras/claude-code-apple-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/app-store/ad-attribution .gemini/skills/ad-attribution && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ad-attribution" agent skill from https://github.com/rshankras/claude-code-apple-skills/tree/main/skills/app-store/ad-attribution into .gemini/skills/ad-attribution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-attribution", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rshankras/claude-code-apple-skills ad-attributionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rshankras/claude-code-apple-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/app-store/ad-attribution .github/skills/ad-attribution && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ad-attribution" agent skill from https://github.com/rshankras/claude-code-apple-skills/tree/main/skills/app-store/ad-attribution into .github/skills/ad-attribution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-attribution", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rshankras/claude-code-apple-skills --skill ad-attribution -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rshankras/claude-code-apple-skills ad-attribution --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rshankras/claude-code-apple-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/app-store/ad-attribution .opencode/skills/ad-attribution && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ad-attribution" agent skill from https://github.com/rshankras/claude-code-apple-skills/tree/main/skills/app-store/ad-attribution into .opencode/skills/ad-attribution/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-attribution", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ad-attributionPrivacy-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. 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.
Read from SKILL.md and the folder at commit 9ffb831. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGlobGrepFrom allowed-tools in the SKILL.md frontmatter.
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.
Links to these hosts (documentation or services it may open):
developer.apple.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from rshankras/claude-code-apple-skills at commit 9ffb831, republished under its MIT licence (© rshankras). 654 words, ~1,506 tokens.
.claude/skills/ad-attribution/SKILL.md (or your agent's skills folder).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).
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.
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.updateConversionValue(_:) / PostbackUpdate; set lockPostback when the value
is final to schedule transmission (still privacy-delayed, never instant).conversionTypes (.install / .reengagement); the first re-engagement update must land
within 48 hours.PostbackUpdate —
without a tag, updates hit only the most recent conversion.UIEventAttributionView over the tappable ad + appImpression.handleTap()
within 15 minutes of creating the impression.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.AdAttributionKitConfigurations → AttributionWindows); you can ignore "view" or "click"
(not both) per network.install-cooldown-hours, reengagement-cooldown-hours) so a
re-engagement tap minutes after an install isn't double-attributed.EligibleForAdAttributionKitOverlappingConversions = YES in Info.plist.kid), the network ID is always development.adattributionkit, and
the advertised item ID may be 0 from Xcode.lockPostback fired once value is final; re-engagement first update < 48hgrowth/analytics-interpretation (source-type funnel) —
attribution tells you which ad, App Analytics tells you what they did afterapp-store/apple-search-ads (Apple Ads uses AdServices, not this), growth/analytics-interpretation, growth/store-growth-audit (P7.3 halo tracking)© rshankras, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/app-store/ad-attribution of rshankras/claude-code-apple-skills.
Open the folder on GitHubat commit 9ffb831
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ad Attribution this skillrshankras/claude-code-apple-skills | 785 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Asocoreyhaines31/marketingskills | 54k | 1 repos | ~4k | Automated safety check: Pass | MIT | |
| App Store Optimizationmanojbajaj95/claude-gtm-plugin | 105 | — | ~4.2k | Automated safety check: Pass | MIT | |
| App Store Featuredappeeky/aso-skills | 2.2k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Aso Auditappeeky/aso-skills | 2.2k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Apple Appstore Reviewergithub/awesome-copilot | 40k | 2 repos | ~2.9k | Automated safety check: Pass | MIT |
coreyhaines31/marketingskills
When the user wants to audit or optimize an App Store or Google Play listing.
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.
appeeky/aso-skills
When the user wants to get featured on the App Store or understand the editorial process.
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.
github/awesome-copilot
Serves as a reviewer of the codebase with instructions on looking for Apple App Store optimizations or rejection reasons.
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…
rshankras/claude-code-apple-skills
Generate accessibility infrastructure for VoiceOver, Dynamic Type, and accessibility features.
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.
rshankras/claude-code-apple-skills
Generate compelling App Store descriptions that convert browsers into users.
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).
rshankras/claude-code-apple-skills
Turn an app idea into validated, App-Store-ready name candidates.
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 &…
Categories
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.
Ad Attribution fits situations like: running paid acquisition beyond Apple Ads; measuring re-engagement campaigns; designing conversion values; migrating from SKAdNetwork.
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.
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.
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.
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.
SKILL.md names 1 domain. As links in the text: developer.apple.com. This is read from the text; nothing was executed.
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.
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.
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.
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.
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.