aso-tracking
Skill13 starsChanged 52 days agoMITView on GitHub
Use to set up, run, or review App Store keyword rank tracking over time with the `aso` CLI, especially to answer "did that metadata change actually help". Trigger on "track my keyword rankings", "set up rank tracking", "how are my rankings trending", "set up a cron job for ASO", or "check if my last update improved rank". Covers `aso track add`, `aso track run`, `aso track list`, `aso ranks`, `aso history`, and `aso log list`, plus the discipline of changing one field at a time and waiting 7 to 14 days before judging a result.
In this repository7 other files it gives its agents.
- aso-auditSkill
- aso-competitorsSkill
- aso-conversionSkill
- aso-keyword-researchSkill
- aso-localizationSkill
- aso-metadataSkill
- asoSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 52
Every metadata change should already be logged (see aso-metadata's Step 8):
- Distinctive: line 65
Change one variable at a time: If you edit the title and the keywords field in the same release, you can't attribute rank movement to …
- Distinctive: line 66
Measure at least 7 days: before drawing any conclusion: Apple's re-indexing and rank movement are not instant.
- Very specific: line 83
If a tracked term shows no movement after 14 days, say so explicitly and recommend reverting it via aso-metadata, logging the revert with …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ASO Rank Tracking
Rank tracking exists to answer one question: did the change help? Set it up once, then use it to evaluate every metadata change against a real before/after.
Preflight: see the aso router skill. Tracking data lives locally in SQLite at ~/.aso/aso.db.
Step 1: Add keywords to track
aso track add <appId> <term1> <term2> <term3> ...Track: everything currently in the keywords field, the title/subtitle phrases, plus the shortlist from aso-keyword-research you intend to chase. Don't track everything you've ever considered, that just adds noise and cron runtime.
aso track list <appId> # see what's tracked
aso track rm <appId> <term> # stop tracking a termStep 2: Refresh and read current state
aso track run <appId> # refreshes popularity, difficulty, rank for all tracked terms; appends to history
aso ranks <appId> # latest rank per tracked keyword, with change vs the previous checkaso ranks is the daily dashboard: it shows movement, not just position.
Step 3: Automate with cron
0 9 * * * aso track run --json >> ~/.aso/track.log 2>&1Daily at 9am is enough: rank movement is slow, and Apple's numbers don't need finer granularity. Point the user at crontab -e to install it; don't edit their crontab without asking first.
Step 4: Look at trend, not a single snapshot
aso history <term> --app <appId> --days 90Time series of popularity, difficulty, and rank for one keyword. Use this whenever a single day's number looks surprising: App Store rank is noisy day-to-day; a real trend needs multiple points.
Step 5: Evaluate a shipped change
Every metadata change should already be logged (see aso-metadata's Step 8):
aso log list --app <appId>For each logged change, cross-reference its date against aso history <affected term> --app <appId> --days 90:
- Pull the rank/popularity trend for the terms the change targeted, both before and after the logged date.
- Compare to terms that were not touched by the change, as a rough control: if everything moved together, something else (seasonality, a competitor's own change) may be the real cause, not your edit.
Rules for change velocity
- Change one variable at a time. If you edit the title and the keywords field in the same release, you can't attribute rank movement to either one.
- Measure at least 7 days before drawing any conclusion: Apple's re-indexing and rank movement are not instant.
- Revert if there's no gain after 14 days. A change that hasn't moved the needle in two weeks is not "about to work": treat it as a negative result, log the revert, and try the next hypothesis.
- Log every change (
aso log add, seeaso-metadata) including reverts, with a--noteexplaining why: the log is what makes the next audit or review actually evidence-based instead of a guess.
Output when reviewing
RANK REVIEW: AppName (123456789), US, changes from 2026-09-01
Logged change: keywords field, en-US, 2026-09-01, added "baby cam, nanny cam"
baby cam: rank 34 → 19 (14 days) IMPROVED
nanny cam: rank - → 41 (14 days) IMPROVED (new entry)
camera (control, untouched): rank 45 → 44 flat, supports attribution to the change
Verdict: keep the change. Next: consider promoting "baby cam" to the subtitle.If a tracked term shows no movement after 14 days, say so explicitly and recommend reverting it via aso-metadata, logging the revert with aso log add.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

