Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the user asks to "track rankings" or "查排名"; measures keyword and SERP-position deltas over time from provided exports or connected tools, including AI-response checks. Not for multi-metric stakeholder reports or setting alerts — use performance-monitor (report or alert mode). 排名追踪/SERP监控
.claude/skills/aaron-he-zhu-rank-tracker/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 87% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 65% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 52% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 12% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 68% | 0% |
Tracks keyword positions, SERP feature ownership, and AI visibility over time.
Set up rank tracking for [domain] targeting these keywords: [keyword list]Analyze ranking changes for [domain] over the past [time period]Expected output: a ranking report or delta summary plus the standard handoff summary for memory/monitoring/.
memory/open-loops.md.> Emit the standard shape from skill-contract.md §Handoff Summary Format.
All integrations optional (see CONNECTORS.md). With tools, pull rankings from ~~SEO tool, impressions from ~~search console, traffic from ~~analytics, and AI citations from ~~AI monitor. Without tools, ask for positions, volumes, competitor data, and SERP feature status.
Zero-dependency measurement loop (no paid tool needed): never narrate a ranking movement you did not measure — record each check as a snapshot and let the ledger compute the delta. python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/ledger.py" record <domain> --source rank --data '{"<keyword>": <position>, ...}', then ledger.py diff <domain> --source rank for the change since the last check and ledger.py trend <domain> --source rank --field "<keyword>" for the series. Record real Search Console positions when connected, or the positions the user provides at Tier 1. A ranking delta is a week-scale, confounded outcome — attribute it against a control (a holdout keyword/competitor), not against zero; see references/measurement-protocol.md. See scripts/connectors/README.md.
Stop and ask the user when:
CLAUDE.md or prior monitoring records — offer: (1) supply a keyword list, (2) track the domain's top known terms, (3) cancel.Continue silently (never stop for):
When a user requests rank tracking or analysis:
Label every metric Measured, User-provided, Calculated, Estimated, Proxy, or Unknown; never present an estimate or proxy as measured. An applicable missing metric is Unknown with its reason. A stale or locale/language/device/engine-mismatched position is NEEDS_REFRESH, not a current ranking; N/A is only for a genuinely non-applicable field.
> Reference: See Ranking Analysis Templates for the complete output templates for all seven steps.
A ranking report names the biggest winners, biggest drops, and next actions, with each position carrying its source tag and labeled delta against baseline.
| Change | Timeframe | Action | |--------|-----------|--------| | Drop 1-3 positions | Wait 1-2 weeks | Monitor — may be normal fluctuation | | Drop 3-5 positions | Investigate within 1 week | Check technical issues and competitor changes | | Drop 5-10 positions | Investigate immediately | Run a full diagnostic: technical, content, links | | Drop off page 1 | Emergency response | Comprehensive audit + recovery plan | | Position gained | Document and learn | Identify what worked and replicate |
> Reference: See Tracking Setup Guide for tracking setup, root-cause taxonomy, CTR benchmarks, SERP feature impact, and algorithm-update assessment.
Ask "Save these results?" If yes, write to memory/monitoring/ — see Skill Contract §Save Results Template.
Initial setup (no baseline) → performance-monitor. Subsequent runs (baseline exists) → Terminal. Visited-set rule applies per skill-contract.md.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | pass→pass | 21,432 | 33,818 | +58% | 1 | 1 | 0% | 2,697 | 4,753 | +76% | 0 | 0 | — |
case-10 | pass→pass | 19,270 | 21,538 | +12% | 1 | 1 | 0% | 2,331 | 4,630 | +99% | 0 | 0 | — |
case-22 | pass→pass | 13,112 | 16,627 | +27% | 1 | 1 | 0% | 1,428 | 3,293 | +131% | 0 | 0 | — |
case-01 | fail→pass | 23,255 | 29,244 | +26% | 1 | 1 | 0% | 3,406 | 6,376 | +87% | 0 | 0 | — |
case-02 | fail→fail | 24,428 | 46,707 | +91% | 1 | 1 | 0% | 3,558 | 9,783 | +175% | 0 | 0 | — |
case-03 | pass→pass | 23,223 | 31,719 | +37% | 1 | 1 | 0% | 3,699 | 6,902 | +87% | 0 | 0 | — |
case-04 | pass→pass | 15,450 | 12,655 | -18% | 1 | 1 | 0% | 1,661 | 2,865 | +72% | 0 | 0 | — |
case-05 | fail→pass | 19,919 | 17,530 | -12% | 1 | 1 | 0% | 2,412 | 3,982 | +65% | 0 | 0 | — |
case-06 | pass→pass | 12,986 | 9,348 | -28% | 1 | 1 | 0% | 1,311 | 2,354 | +80% | 0 | 0 | — |
case-07 | pass→pass | 19,774 | 19,180 | -3% | 1 | 1 | 0% | 2,201 | 4,019 | +83% | 0 | 0 | — |
case-08 | pass→pass | 16,015 | 19,027 | +19% | 1 | 1 | 0% | 1,843 | 3,900 | +112% | 0 | 0 | — |
case-11 | fail→pass | 12,881 | 8,997 | -30% | 1 | 1 | 0% | 1,571 | 2,391 | +52% | 0 | 0 | — |
case-12 | fail→pass | 16,023 | 8,199 | -49% | 1 | 1 | 0% | 1,874 | 2,106 | +12% | 0 | 0 | — |
case-13 | fail→pass | 14,800 | 10,949 | -26% | 1 | 1 | 0% | 1,589 | 2,667 | +68% | 0 | 0 | — |
case-14 | fail→pass | 14,576 | 9,139 | -37% | 1 | 1 | 0% | 1,627 | 2,269 | +39% | 0 | 0 | — |
case-15 | fail→pass | 12,976 | 8,391 | -35% | 1 | 1 | 0% | 1,233 | 2,042 | +66% | 0 | 0 | — |
case-16 | fail→pass | 13,446 | 7,667 | -43% | 1 | 1 | 0% | 1,357 | 1,949 | +44% | 0 | 0 | — |
case-17 | pass→pass | 19,352 | 20,795 | +7% | 1 | 1 | 0% | 2,200 | 4,052 | +84% | 0 | 0 | — |
case-18 | fail→pass | 14,988 | 9,900 | -34% | 1 | 1 | 0% | 1,475 | 2,147 | +46% | 0 | 0 | — |
case-19 | fail→pass | 16,254 | 12,308 | -24% | 1 | 1 | 0% | 1,816 | 2,738 | +51% | 0 | 0 | — |
case-20 | fail→fail | 24,973 | 31,434 | +26% | 1 | 1 | 0% | 3,694 | 6,275 | +70% | 0 | 0 | — |
case-21 | fail→fail | 16,335 | 20,146 | +23% | 1 | 1 | 0% | 1,997 | 4,049 | +103% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +45 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/13/2026 | +48% |
Other measured skills in the registry, with their headline benchmark lift.