Suede Aso
JasonColapietro/suede-creator-skills
Suede-owned app-store optimization discipline for keyword fields, titles, subtitles, descriptions, screenshots, ratings context, and competitor listing audits.
When the user wants to set up, debug, or interpret app install attribution — including SKAdNetwork (SKAN), Apple's AdAttributionKit, Google Play Install Referrer, MMPs (AppsFlyer, Adjust, Singular…
$ npx skills add appeeky/aso-skills --skill attribution-setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install appeeky/aso-skills attribution-setup --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/appeeky/aso-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/attribution-setup .claude/skills/attribution-setup && 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 "attribution-setup" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/attribution-setup into .claude/skills/attribution-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "attribution-setup", 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/appeeky/aso-skills/tree/main/skills/attribution-setupType 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 appeeky/aso-skills --skill attribution-setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install appeeky/aso-skills attribution-setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/attribution-setup .agents/skills/attribution-setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "attribution-setup" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/attribution-setup into .agents/skills/attribution-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "attribution-setup", 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 appeeky/aso-skills --skill attribution-setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install appeeky/aso-skills attribution-setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/attribution-setup .cursor/skills/attribution-setup && 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 "attribution-setup" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/attribution-setup into .cursor/skills/attribution-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "attribution-setup", 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/appeeky/aso-skills.git --path skills/attribution-setup--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 appeeky/aso-skills --skill attribution-setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install appeeky/aso-skills attribution-setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/attribution-setup .gemini/skills/attribution-setup && 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 "attribution-setup" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/attribution-setup into .gemini/skills/attribution-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "attribution-setup", 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 appeeky/aso-skills attribution-setupInstalls 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 appeeky/aso-skills --skill attribution-setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/attribution-setup .github/skills/attribution-setup && 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 "attribution-setup" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/attribution-setup into .github/skills/attribution-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "attribution-setup", 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 appeeky/aso-skills --skill attribution-setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install appeeky/aso-skills attribution-setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appeeky/aso-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/attribution-setup .opencode/skills/attribution-setup && 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 "attribution-setup" agent skill from https://github.com/appeeky/aso-skills/tree/main/skills/attribution-setup into .opencode/skills/attribution-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "attribution-setup", 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.
attribution-setupWhen the user wants to set up, debug, or interpret app install attribution — including SKAdNetwork (SKAN), Apple's AdAttributionKit, Google Play Install Referrer, MMPs (AppsFlyer, Adjust, Singular…
Attribution Setup is an agent skill from appeeky/aso-skills. When the user wants to set up, debug, or interpret app install attribution — including SKAdNetwork (SKAN), Apple's AdAttributionKit, Google Play Install Referrer, MMPs (AppsFlyer, Adjust, Singular, Branch, Kochava), deep links, deferred deep links, conversion values, postback windows, or privacy thresholds. Use when the user mentions "SKAdNetwork", "SKAN", "SKAN 4", "AdAttributionKit", "AAK", "MMP", "AppsFlyer", "Adjust", "Singular", "Branch", "attribution", "conversion value", "postback", "Install Referrer"…
Its SKILL.md is about 2k 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 Paid advertising and App store release. It works with iOS. The repository describes itself as: AI agent skills for App Store Optimization (ASO) and app marketing. Built for indie developers, app marketers, and growth teams who want Cursor, Claude Code, or any Agent… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3919d7c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From 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.
No URLs in SKILL.md.
From 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.
Attribution Setup loads about 2k tokens when it runs. Until then it costs about 189 tokens; SKILL.md has 851 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 appeeky/aso-skills at commit 3919d7c, republished under its MIT licence (© appeeky). 851 words, ~2,022 tokens.
.claude/skills/attribution-setup/SKILL.md (or your agent's skills folder).You are an app attribution specialist. Your goal is to set up — or debug — a measurement stack that tells the user which paid campaigns drove which installs and revenue, while respecting iOS privacy constraints.
app-marketing-context.md| Mechanism | Status | Use for |
|---|---|---|
| IDFA (with ATT opt-in) | Available but ~25% opt-in rate | Deterministic attribution where you have it |
| SKAdNetwork (SKAN 4.0) | Apple's privacy-preserving attribution | Default for ad networks |
| AdAttributionKit (AAK) | iOS 17.4+, Apple's evolution of SKAN | Use alongside SKAN; required for some networks |
| MMP probabilistic | Banned by Apple for fingerprinting; allowed for limited use | Limited — check MMP terms |
| Apple Search Ads attribution | Detailed (campaign/keyword) for ASA only | Always on for ASA |
Default 2025 stack: ASA Attribution (built-in) + SKAN 4 + AdAttributionKit + an MMP for orchestration + Apple Search Ads API for ASA depth.
| Concept | What it means |
|---|---|
| Postback | The signal Apple sends to your ad network confirming an install |
| Conversion value (CV) | 6-bit (fine, 0–63) or 2-bit (coarse: low/medium/high) value you set to encode user behavior |
| Postback window | 3 windows: 0–2 days, 3–7 days, 8–35 days post-install |
| Privacy threshold | If install volume too low, value becomes coarse or null |
| Hierarchical source ID | 4-digit ID encodes campaign + ad + creative |
| Web-to-app | SKAN now supports Safari → App Store install attribution |
The single highest-leverage decision: your conversion value schema.
A bad CV schema makes optimization impossible. A good one is:
Template for a subscription app (window 1, 6-bit fine):
| CV | Behavior |
|---|---|
| 0 | Install only |
| 1–5 | Onboarding completed |
| 6–15 | Activation event done (e.g. first session ≥X) |
| 16–30 | Trial started |
| 31–45 | Paywall viewed N times (intent) |
| 46–63 | Subscription purchased |
Window 2 (3–7d): trial-to-paid conversion, ARPU buckets. Window 3 (8–35d): D7/D14 retention + subscription renewal signal.
For non-subscription apps, replace trial/sub events with revenue buckets ($0, $1–5, $5–20, $20–50, $50+).
AppsFlyerLib.shared().start() in applicationDidFinishLaunching)logEvent) for purchase, subscription, trial startAdjust.appDidLaunch(...)AdjustDeeplinkSimpler than iOS:
| Mechanism | Use |
|---|---|
| Google Play Install Referrer API | Deterministic install source — always integrate |
| Google Ads Attribution | Built-in for UAC |
| MMP SDK | Same as iOS — for Meta, TikTok, etc. |
Always integrate Install Referrer API even with an MMP — it's the source of truth.
| Type | When to use |
|---|---|
| Universal Links (iOS) / App Links (Android) | Open app from web/email if installed; fallback to web |
| Deferred deep link | Install from ad → after first open, route to specific screen |
Custom URL scheme (myapp://) | Internal navigation only — don't use for ads |
Test matrix: install state × source × OS × OS version. Common failure: deferred deep link works on Android but iOS falls back to App Store homepage because Universal Links domain not verified.
| Symptom | Likely cause |
|---|---|
| MMP shows installs, ad network doesn't | Postback timing / privacy threshold not met |
| ASA Attribution shows higher installs than MMP | MMP missing iAd Framework integration → switch to AdServices framework (iOS 14.3+) |
| Conversion values all 0 or null | Privacy threshold (low volume) or schema not implemented in app |
| Install Referrer empty on Android | API not called within 60s of first launch |
| Deferred deep link drops parameters | App not handling cold-start launch params |
| Revenue mismatch MMP vs RevenueCat/ASC | Currency conversion + refunds + family sharing — expect 5–10% delta |
ATTRIBUTION SETUP — <App Name>
CURRENT STATE:
Platforms: iOS / Android
MMP: <name or none>
Channels live: <list>
Known issues: <list>
RECOMMENDED STACK:
iOS: <ASA Attribution + SKAN 4 + AAK + MMP + ASA API>
Android: <Install Referrer + MMP + Google Ads>
Deep linking: <Universal Links + Branch/AppsFlyer OneLink>
CONVERSION VALUE SCHEMA (iOS, 6-bit fine):
Window 1: <table of CV → event>
Window 2: <table>
Window 3: <table>
IMPLEMENTATION CHECKLIST:
[ ] <step 1>
[ ] <step 2>
TESTING PLAN:
- Install from each channel, verify postback in MMP within X hours
- Trigger CV update, verify it propagates
- Test deferred deep link from each ad sourceua-campaignapple-search-adsapp-analyticsasc-metrics© appeeky, 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/attribution-setup of appeeky/aso-skills.
Open the folder on GitHubat commit 3919d7c
Attribution Setup 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 |
|---|---|---|---|---|---|---|
| Attribution Setup this skillappeeky/aso-skills | 2.2k | — | ~2k | Automated safety check: Pass | MIT | |
| Suede AsoJasonColapietro/suede-creator-skills | 127 | — | ~3.9k | Automated safety check: Pass | MIT | |
| App Adskostja94/marketing-skills | 1k | — | ~781 | Automated safety check: Pass | MIT | |
| App Store Screenshots GeneratorParthJadhav/app-store-screenshots | 7.2k | — | ~14k | Automated safety check: Pass | MIT | |
| App Store Release Flowrorkai/app-store-connect-cli-skills | 1.1k | 2 repos | ~2k | Automated safety check: Pass | MIT | |
| App Store Submission Healthrorkai/app-store-connect-cli-skills | 1.1k | 2 repos | ~2.2k | Automated safety check: Pass | MIT |
JasonColapietro/suede-creator-skills
Suede-owned app-store optimization discipline for keyword fields, titles, subtitles, descriptions, screenshots, ratings context, and competitor listing audits.
kostja94/marketing-skills
When the user wants to run app install ads, user acquisition (UA), or promote mobile apps.
ParthJadhav/app-store-screenshots
Scaffolds a Next.js editor for designing App Store and Google Play screenshots as ads and exporting them at every required size, for iOS, Mac and Android.
rorkai/app-store-connect-cli-skills
Orchestrates App Store releases with the asc CLI: staging a version, uploading or building, publishing and submitting for review, with dry-run and confirmation gates.
rorkai/app-store-connect-cli-skills
Diagnoses why an App Store version cannot be submitted or is stuck in review, using the asc CLI for validation, repair routing, status checks and retry decisions.
truongduy2611/app-store-preflight-skills
Scan an iOS/macOS Xcode project for common App Store rejection patterns before submission.
appeeky/aso-skills
When the user wants to A/B test App Store product page elements to improve conversion rate.
appeeky/aso-skills
When the user wants to optimize their Google Play Store listing — title, short description, full description, keywords, ratings, or Play Store-specific features.
appeeky/aso-skills
When the user wants to set up, interpret, or improve their app analytics and tracking.
appeeky/aso-skills
When the user wants to implement, optimize, or use App Clips for app discovery and conversion.
appeeky/aso-skills
When the user wants to design, test, or improve their app icon to increase tap-through rate and conversions in App Store search and browse.
appeeky/aso-skills
When the user wants to create or update their app marketing context document.
Works with
Categories
When the user wants to set up, debug, or interpret app install attribution — including SKAdNetwork (SKAN), Apple's AdAttributionKit, Google Play Install Referrer, MMPs (AppsFlyer, Adjust, Singular…. Attribution Setup is an agent skill from appeeky/aso-skills. When the user wants to set up, debug, or interpret app install attribution — including SKAdNetwork (SKAN), Apple's AdAttributionKit, Google Play Install Referrer, MMPs (AppsFlyer, Adjust, Singular, Branch, Kochava), deep links, deferred deep links, conversion values, postback windows, or privacy thresholds.
Attribution Setup fits situations like: wants to set up; interpret app install attribution — including SKAdNetwork (SKAN); apples AdAttributionKit; google Play Install Referrer.
Run `npx skills add appeeky/aso-skills --skill attribution-setup -a claude-code`. Or copy the skill folder (skills/attribution-setup in appeeky/aso-skills) into .claude/skills/attribution-setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add appeeky/aso-skills --skill attribution-setup -a codex`. Or copy the skill folder (skills/attribution-setup in appeeky/aso-skills) into .agents/skills/attribution-setup 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 appeeky/aso-skills --skill attribution-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/attribution-setup, .gemini/skills/attribution-setup, .github/skills/attribution-setup and .opencode/skills/attribution-setup in your project.
SKILL.md names no scripts, command-line tools or credentials: Attribution Setup is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Attribution Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k 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 Attribution Setup: Suede Aso (JasonColapietro/suede-creator-skills, 127 stars), App Ads (kostja94/marketing-skills, 1k stars), App Store Screenshots Generator (ParthJadhav/app-store-screenshots, 7.2k stars) and App Store Release Flow (rorkai/app-store-connect-cli-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
appeeky (a GitHub organization) maintains it in appeeky/aso-skills, which has 2,152 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 6, 2026.
Source: appeeky/aso-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.