rank-tracker · aaron-he-zhu — скилл для Claude Code: отслеживание позиций в поиске
Скилл следит за позициями ключевых слов в поиске и в ответах ИИ, сравнивая замеры с базовой линией. Пригодится, когда нужно понять, что просело после правок на сайте.
npx skills add aaron-he-zhu/aaron-marketing-skills --skill rank-tracker -a claude-codeЧто делает rank-tracker
Скилл принимает домен и список ключевых слов, а на выходе даёт таблицу позиций с дельтами относительно прошлого замера. Каждая строка помечена источником: экспорт из SEO-инструмента, данные пользователя или оценка. Отдельно отслеживаются владение сниппетами, блоками PAA, локальными и медиа-паками, а также присутствие в AI Overview и частота цитирования.
Работает и без платных подписок. Есть скрипт ledger.py: он записывает замер как снапшот, считает разницу с предыдущим и строит серию по конкретному слову. Запускается через `python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/ledger.py" record <domain> --source rank --data '{"<keyword>": <position>, ...}'`. Если Search Console подключён, позиции берутся оттуда, иначе — те, что дал пользователь.
Важный момент: изменение позиции за неделю почти всегда смазано другими факторами. Автор советует сравнивать результат с контрольной группой — словом или конкурентом, который вы не трогали, — а не с нулём. Устаревшая позиция или замер с другим языком, устройством либо поисковиком помечается как NEEDS_REFRESH, а не как текущая. Если ключевых слов нет и вывести их не из чего, скилл останавливается и спрашивает список.
Какие задачи решает
- замерить позиции по списку ключевых слов и сохранить их как базовую линию
- посчитать, на сколько позиций просело слово после правок на сайте
- отследить, кто владеет сниппетом и блоком PAA по нужным запросам
- проверить, цитирует ли ИИ-выдача страницы домена
- сравнить видимость с конкурентами по доле голоса
Примеры запросов агенту
- Настрой отслеживание позиций для example.com по этим ключевым словам: [список]
- Проанализируй изменения позиций для example.com за последний месяц
- Запиши текущие позиции в ledger и покажи разницу с прошлым замером
Как установить rank-tracker
1Через Skills CLI (Vercel)
npx skills add aaron-he-zhu/aaron-marketing-skills --skill rank-tracker -a claude-code2Вручную: положить файлы
~/.claude/skills/rank-tracker/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/rank-tracker/
1Через Skills CLI (Vercel)
npx skills add aaron-he-zhu/aaron-marketing-skills --skill rank-tracker -a codex2Вручную: положить файлы
.agents/skills/rank-tracker/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add aaron-he-zhu/aaron-marketing-skills --skill rank-tracker -a cursor2Вручную: положить файлы
.cursor/skills/rank-tracker/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install aaron-he-zhu/aaron-marketing-skills rank-tracker2Вручную: положить файлы
.github/skills/rank-tracker/SKILL.md1Через Skills CLI (Vercel)
npx skills add aaron-he-zhu/aaron-marketing-skills --skill rank-tracker -a gemini-cli2Командой платформы
gemini skills install https://github.com/aaron-he-zhu/aaron-marketing-skills --path seo-geo/evaluate/rank-trackerВручную: положить файлы
.devin/skills/rank-tracker/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add aaron-he-zhu/aaron-marketing-skills --skill rank-tracker -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора113
Другие версии rank-tracker
Похожие
Рядом в теме «SEO и GEO»
Всё по теме «SEO и GEO» →Вопросы о rank-tracker
Как установить rank-tracker в Claude?
Выполните npx skills add aaron-he-zhu/aaron-marketing-skills --skill rank-tracker -a claude-code. Скилл появится в ~/.claude/skills/rank-tracker/SKILL.md.
Что делает rank-tracker?
Сравнивает текущие позиции по ключевым словам с прошлым замером и показывает дельту. Плюс следит за SERP-фичами и видимостью в ответах ИИ.
Нужны ли платные SEO-инструменты?
Нет. Без подключённых инструментов позиции записываются через ledger.py из данных, которые вы даёте сами. С подключённым Search Console берутся реальные позиции.
Исходный текст
SKILL.md · Apache-2.0
---
name: rank-tracker
slug: rank-tracker
displayName: "Rank Tracker · 排名追踪"
summary: "排名追踪/SERP监控"
description: '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监控'
version: "20.1.0"
license: Apache-2.0
compatibility: "Claude Code and compatible agent-skill hosts"
homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
when_to_use: "Use when tracking keyword rankings, monitoring position changes, comparing ranking snapshots, or detecting ranking drops."
argument-hint: "<domain> [keyword list]"
allowed-tools: WebFetch
metadata: {"author": "aaron-he-zhu", "version": "20.1.0", "discipline": "seo-geo", "phase": "evaluate", "geo-relevance": "medium", "hermes": {"tags": ["marketing", "seo-geo", "evaluate"], "category": "seo-geo"}, "openclaw": {"emoji": "🔍", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
---
# Rank Tracker
Tracks keyword positions, SERP feature ownership, and AI visibility over time.
## Quick Start
```
Set up rank tracking for [domain] targeting these keywords: [keyword list]
```
```
Analyze ranking changes for [domain] over the past [time period]
```
## Skill Contract
**Expected output**: a ranking report or delta summary plus the standard handoff summary for `memory/monitoring/`.
- **Reads**: current rankings, prior baselines, target keyword list, locale/language/device/engine, snapshot/source refs, observation times/windows, stable page/content bindings, and any user-provided or tool metrics.
- **Writes**: a user-facing monitoring deliverable and reusable summary.
- **Promotes**: significant changes, confirmed anomalies, follow-up actions, and pending decisions to `memory/open-loops.md`.
- **Done when**: every tracked keyword shows a current, context-matched position vs baseline with a labeled delta, or Unknown/NEEDS_REFRESH with its reason; each observation cites its source ref, observed time, window, locale/language/device/engine, evidence label, and ranking page ref; conflicts remain visible; and biggest movers and likely causes are named.
- **Primary next skill**: [performance-monitor](../performance-monitor/SKILL.md) when recurring monitoring should become automated.
### Handoff Summary
> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).
## Data Sources
All integrations optional (see [CONNECTORS.md](../../../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](../../../references/measurement-protocol.md). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).
## Decision Gates
**Stop and ask the user when:**
- No target keywords are provided and none can be inferred from `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):**
- No prior baseline exists — record the current run as the baseline, label all positions as the first snapshot, and proceed (do not invent a "previous" position).
- Missing optional tool data (SERP features, AI citations) — mark N/A and proceed.
## Instructions
When a user requests rank tracking or analysis:
1. **Set Up Keyword Tracking** — configure domain, market/locale, device, language, engine, update frequency, priorities, competitor watchlist, and stable page refs. Apply the [SEO/GEO Evidence and Cycle Control Profile](../performance-monitor/references/evidence-and-cycle-control.md).
2. **Record Current Rankings** — output a position table where every row cites its source (tool export / user-provided / estimated), with position ranges, ranking URLs, feature ownership, and movement vs baseline.
3. **Analyze Ranking Changes** — highlight biggest wins, declines, stable terms, new rankings, lost rankings, likely causes, and recovery ideas; each delta labeled against its baseline.
4. **Track SERP Features** — compare ownership of snippets, PAA, image/video packs, local packs, and related feature shifts.
5. **Track GEO / AI Visibility** — monitor AI Overview presence, citation rate, citation position, and trend; mark each value Measured (from an ~~AI monitor) or N/A if unobserved.
6. **Compare Against Competitors** — report share of voice, head-to-head comparisons, and threat levels.
7. **Generate Ranking Report** — output overall trend, key wins, concerns, opportunities, SERP feature changes, GEO visibility, and recommendations, with each metric carrying its source tag.
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](references/ranking-analysis-templates.md) for the complete output templates for all seven steps.
## Example
A ranking report names the biggest winners, biggest drops, and next actions, with each position carrying its source tag and labeled delta against baseline.
## Rank Change Quick Reference
### Response Protocol
| 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](references/tracking-setup-guide.md) for tracking setup, root-cause taxonomy, CTR benchmarks, SERP feature impact, and algorithm-update assessment.
### Save Results
Ask "Save these results?" If yes, write to `memory/monitoring/` — see [Skill Contract](../../../references/skill-contract.md) §Save Results Template.
## Reference Materials
- [SEO/GEO Evidence and Cycle Control Profile](../performance-monitor/references/evidence-and-cycle-control.md) — exact search observations, freshness, page bindings, and cycle rules
- [Tracking Setup Guide](references/tracking-setup-guide.md) — Setup rules, feature tracking, and interpretation guidance
## Next Best Skill
Initial setup (no baseline) → [performance-monitor](../performance-monitor/SKILL.md). Subsequent runs (baseline exists) → Terminal. Visited-set rule applies per [skill-contract.md](../../../references/skill-contract.md).
© aaron-he-zhu · Apache-2.0 · aaron-he-zhu/aaron-marketing-skills