GEO-замер — цитируют ли нас AI-движки. Три стадии (краул → индекс → цитата), каждая мерится отдельно. Используй, когда речь про находимость, SEO/GEO, «почему нас не видно», выкладку наружу, или перед решением «делать ещё контент».
---
name: geo
description: "GEO-замер — цитируют ли нас AI-движки. Три стадии (краул → индекс → цитата), каждая мерится отдельно. Используй, когда речь про находимость, SEO/GEO, «почему нас не видно», выкладку наружу, или перед решением «делать ещё контент»."
version: 1.0.0
---
# /geo — замер находимости в AI-движках
**Боль, из-за которой скилл существует.** 04.08.2026 мы чуть не «отмасштабировали»
уже решённую стадию. Логи показали 13 845 обращений краулеров за 9 дней — выглядело
как успех. Замер показал: страниц в индексе Bing/DDG **ноль**, а Gemini на прямой
вопрос про наш домен отвечает «no verifiable independent lab operating under that name».
Без замера мы бы потратили недели на красивые страницы, которых никто не увидит.
## Три стадии — не одна
```
КРАУЛ ──► ИНДЕКС ──► ЦИТАТА
робот страница движок называет
пришёл в выдаче нас в ответе
```
Стадии проваливаются независимо, и лечатся РАЗНЫМ:
| Провалена стадия | Симптом | Лечение | НЕ лечится |
|---|---|---|---|
| Краул | ботов в логах нет | robots, sitemap, статика без JS, llms.txt | контентом |
| Индекс | боты ходят, в выдаче нас нет | **ссылочная масса**, возраст, различимое имя | ещё одной страницей |
| Цитата | в выдаче есть, в ответах нет | атрибутируемый формат, `CITATION.cff`, присутствие в курируемых списках | рекламой |
Замер 04.08: краул ✅ · индекс ❌ · цитата ❌.
## Наше преимущество — мы владеем origin
Почти никто не знает, какие его страницы AI-краулеры **перечитывают**, а какие
взяли один раз и забыли. Мы владеем origin, значит видим логи, значит считаем
частоту возврата по каждому URL. Это превращает GEO из гадания в цикл.
## Как запускать
```bash
python ~/.claude/scripts/geo_measure.py --all --verbose
```
- `--crawl` — кто из движков ходил, на какие URL, как часто возвращается
- `--index` — есть ли мы в выдаче (сперва контроль прибора, см. ниже)
- `--format` — готовность артефактов к цитированию (зовёт `publish_format_gate.py`)
- `--html PATH` — дашборд ([[prefer-visual-dashboards]])
- `--selftest` — доказать, что парсер умеет краснеть
Коды: `0` картина снята · `1` есть красное · `4` **прибор не смог измерить**.
## ⚠️ Железный контракт: ноль — вердикт только после контроля
Скрипт СНАЧАЛА ищет чужую фразу, про которую доказано, что она в индексе есть.
Контроль не нашёлся → скрипт печатает «прибор не отвечает» и выходит `4`,
**не показав наших цифр**. Потому что «0 результатов» одинаково выглядит
и когда нас нет в индексе, и когда сломалась качалка.
Это [[prichina-kak-claim]] в коде: индикатор — такой же claim, как вывод.
04.08 DDG-эндпоинт начал отдавать пустую оболочку — скилл честно вернул `4`,
а не «поздравляю, коллизий нет».
Прибор умер → мерить другим каналом (браузер с логинами, `WebSearch`), а не
объявлять ноль. Bing CAPTCHA не обходим.
## Замер по самим движкам
### Автоматически: prompt-panel (сначала — она дешевле рук)
Стадию «цитата» БОЛЬШЕ НЕ начинаем с рук. Прибор `~/.claude/scripts/prompt_panel.py`
(LAPTOP-1, вс 03:00, OS-задача `prompt-panel-weekly`) гоняет 25 тематических запросов
EN+RU по подписочным рельсам и пишет `mention`/`urls` в
`~/.claude/prompt_panel/<дата>.jsonl`. Ноль LLM в логике, денег не тратит.
```
python ~/.claude/scripts/prompt_panel.py --summary # таблица движок x доля x URL
python ~/.claude/scripts/prompt_panel.py --run --timeout 400 # внеочередной замер
```
⚠️ Запросы спрашивают по ТЕМЕ, а не по имени: «кто такой <имя>» проверяет ИНДЕКС,
а не цитируемость, и даёт удобный, но пустой ноль.
🔴 **Цифра панели — ПОТОЛОК, а не замер** (замер 10.09.2026). Подписочный CLI знает
хозяина: без нейтрального режима grok дал 24%, с ним 8%, но канарейка доказала утечку и
после флага — `--tools ""` у grok 0.2.118 инструменты не выключает, рельса читает диск.
Поэтому ненулевую долю читай как «не больше чем», а ноль — как честный ноль
(контекст может только ЗАВЫСИТЬ). Проверять изоляцию — только КАНАРЕЙКОЙ (файл с
уникальной строкой), вопрос «кто я?» не годится: нейтральный промпт приказывает не знать
имя, и модель просто слушается. Честно анонимная дверь пока не построена — задача заведена. Менять формулировки в
`prompt_panel_queries.json` = ломать базовую линию: заводи новую версию файла.
Базовая линия: [[measure-2026-09-10-prompt-panel-baseline]].
### Руками, браузером — то, куда панель не достаёт
Perplexity и Алиса своей двери у нас нет, там по-прежнему руки:
Perplexity **разлогиненным** (рекрутер видит именно такую выдачу, не
персонализированную), плюс Gemini, ChatGPT, Grok, Claude.ai.
Протокол — критерии называются ДО старта ([[shadow-first-mvp-pattern]]):
| # | Вопрос | Что доказывает |
|---|---|---|
| Q1 | слепой профильный вопрос без нашего имени | попадаем ли в ответ вообще |
| Q2 | по имени нашего артефакта | не перехватил ли тёзка |
| Q3 | наведённый на наш домен | что движок про нас утверждает |
| Q4 | дословная фраза + `site:` | есть ли мы в индексе |
Исходы: `цитата+ссылка` / `упомянут` / `нет нас` / `выдумал`.
Один движок — не замер: у каждого своя грунтовка. Отказ движка
(«нет живого доступа») — состояние прибора, не наш результат.
## Границы
- Скилл **мерит**, не чинит. Лечение индекса → `/borrowed-audience`;
лечение формата → `08-Templates/publish-format.md`.
- Ничего не публикует и не постит.
- Логи origin — приватные, в публичный контент цифры IP не выносим.
<!--kit-footer-->
---
**Like this skill?** It is one of 100 in [second-brain-starter-kit](https://github.com/tonydzi/second-brain-starter-kit): the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with `npx skills add tonydzi/second-brain-starter-kit`. Everything is open source and free, so take what you need.
Flagships worth a look on their own: [secondop-panel](https://github.com/tonydzi/secondop-panel) (a second opinion from a panel of external models), [claude-memory-tidy](https://github.com/tonydzi/claude-memory-tidy) (stop your agent's memory from rotting), [telegram-mcp-kit](https://github.com/tonydzi/telegram-mcp-kit) (your own Telegram over MCP in about 15 minutes).
Author: **Anton Dziatkovskii**, Palo Alto AI Research Lab. Telegram [@tonydzi](https://t.me/tonydzi) - WhatsApp [+1 341 222 9178](https://wa.me/13412229178) - X [@Tony_Stef_](https://x.com/Tony_Stef_)
**Engineers: want to test-drive this setup?** Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.