# Sci Search

> Поиск и верификация внешних фактов по первоисточникам: DOI, стандарты (ГОСТ/ISO/IEC), нормативы (НРБ/ICRP/IAEA), патенты, datasheet, ядерные данные. Обязателен ЛЮБОМУ агенту перед тем, как назвать число, формулу, норматив или ссылку — память модели источником НЕ является. Триггеры: «чему равен», «какой норматив/предел», «найди источник», «проверь ссылку», «действует ли ГОСТ». Один факт/число/ссылка — сюда; большой обзор → deep-research; своя библиотека дозиметрии → library; личные документы оператора → docs-rag.

- Skill: `vibeengineering-llc/sci-search` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add vibeengineering-llc/sci-search`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vibeengineering-llc/sci-search/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: VibeEngineering-LLC (https://skillmd.com/u/vibeengineering-llc)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/vibeengineering-llc/sci-search

---


# sci-search — поиск и верификация внешних фактов

**Статус:** production · **Версия:** 1.2.0 · **Обновлён:** 2026-08-23 · **Область:** все агенты контура

Роль: научный аналитик + библиограф + технический эксперт одновременно. Задача — не
«найти ссылку», а **получить проверяемую картину**: отделить измеренное от оценённого,
первоисточник от пересказа, факт от рекламы и от собственной галлюцинации.

## Когда использовать

- Перед публикацией любого числа/норматива/формулы, взятого извне (**обязательно**).
- Аудит ссылочной массы чужой статьи или отчёта.
- Выбор оборудования, поиск datasheet, спецификаций, протоколов.
- Поиск стандарта или его актуального статуса (заменён / действует / отменён).
- Расхождение между источниками — развести и объяснить.

## Когда НЕ использовать

- Факт выводится из первых принципов самим агентом (расчёт, вывод формулы) — тогда
  сначала вывод, а поиск только для сверки якоря порядка величины.
- Факт уже лежит в памяти/скилле контура с провенансом — не переискивать, но
  **проверить дату**: память point-in-time, стандарт мог быть заменён.
- Поиск по своему коду/репозиторию → `Grep`/`Glob`, а не веб.
- Большой многоисточниковый разбор «на неделю» → скилл `deep-research` (фоновые
  субагенты со своим окном), этот скилл — про метод и достоверность.

---

## 1. Главный закон: citation-green

**Совпадение библиографических реквизитов ≠ проверка утверждения.**

Что журнал, том, страницы и DOI существуют — говорит только о том, что документ есть.
Оно **не** подтверждает, что документ говорит то, что ему приписали. Это самая частая
и самая незаметная ошибка: реквизиты идеальны, а число рядом с ними — чужое.

Отсюда три правила:

1. **Запрос строить по ФАКТУ, а не по документу.** «Каков реальный диапазон X» —
   а не «есть ли статья Z на стр. N». Факт-запрос ловит и подмену числа, и подмену
   источника; библио-запрос — только опечатку в реквизитах.
2. **Триангуляция:** утверждение подтверждать ≥2 независимыми источниками.
3. **Ловить рассинхрон «источник↔значение»:** частый дефект — текст ссылается на
   источник A, а число взято из источника B. Проверять, что цитируемый источник даёт
   именно то число, которое напечатано.

Рабочие прецеденты (реальные кейсы расхождения реквизитов и значения) —
`references/browser-fallback.md`. Тот же принцип на этапе НАПИСАНИЯ статьи —
`rn-article-style` §12.2; на этапе АУДИТА кода/текста — `fact-audit`.

---

## 2. Обязательная разметка уровня проверки

Каждое утверждение маркируется одним из трёх уровней. Смешивать и умалчивать нельзя.

| Уровень | Что значит | Как выглядит в ответе |
|---|---|---|
| **✅ Проверено по содержанию** | Прочитан текст первоисточника, число/формулировка видны | «подтверждено: PMC8583333, таблица 3» |
| **📗 Библиографически** | Документ существует, реквизиты сходятся; содержимое НЕ читалось (пейволл/бот-стенка/бинарный PDF) | «реквизиты верны; по содержанию не проверено — пейволл» |
| **⚠️ Не подтверждено** | Только вторичные упоминания, либо источники расходятся | «расхождение источников: 2,269 (LNHB) / 2,29 (ENSDF)» |

**Выдавать 📗 за ✅ — прямое нарушение.** Честное «не смог прочитать» полезнее
уверенного пересказа абстракта.

**✅ ставится только по прямому чтению первоисточника — не по пересказу.** `WebFetch`
не отдаёт сырой текст, а пересказ модели-суммаризатора — это ещё один пересказ, а не
оригинал. Для решающего числа: просить у `WebFetch` ТОЧНУЮ цитату (не пересказ), для
критичных случаев предпочитать `get_page_text` через браузер (§5.1 ниже) — он отдаёт
видимый текст без модели-посредника. Число из точной цитаты — годится для ✅; число
из общего пересказа — остаётся 📗, пока не подтверждено цитатой. Прецеденты, где
пересказ смягчил или **сочинил** число вместе с атрибуцией — `references/browser-fallback.md`.

---

## 3. Приоритет источников

**A — первоисточники:** рецензируемые статьи с DOI; стандарты (ISO, IEC, ASTM, ГОСТ,
IEEE); документы IAEA, ICRP, ICRU, UNSCEAR, WHO, OECD/NEA; официальные отчёты
институтов (NIST, NRC, LNHB, NNDC); диссертации; патенты.

**B — вторичные научные:** обзоры, метаанализы, монографии, университетские курсы.

**C — технические:** datasheet и руководства производителя, application notes,
официальные сайты организаций.

**D — ориентировочные:** Википедия, форумы, блоги, новости, вендорские блог-посты.

**D используется только чтобы нащупать термин и выйти на A/B.** В ответ уровень D
не попадает как обоснование. Отдельно: **вендорский блог ≠ технический источник** —
маркетинговая страница производителя это D, а его datasheet — C.

---

## 4. Реальная доступность источников

Половина «золотых» баз недоступна открытому вебу — это надо знать заранее, а не
выяснять пятью неудачными запросами. Полные таблицы «что не откроется / что
работает», лестница доступа при пейволле и разбор «упёрся инструмент vs документ
недоступен» (с транспортной альтернативой `curl` + локальный разбор) —
`references/source-availability.md`. Правило коротко: отказ `WebFetch` ≠ недоступность
документа — сменить транспорт ДО того, как источник помечен 📗.

---

## 5. Механика инструментов и браузер-фолбэк

`WebSearch` слаб по-русски (гонять RU+EN параллельно), `WebFetch` не ходит по
кросс-хостовым редиректам и кэширует 15 минут, PDF через него часто нечитаем.
`WebFetch` не исполняет JavaScript — на JS-челлендже/бот-стенке источник не
недоступен, а нужен встроенный браузер (`mcp__Claude_Browser__*`): он рендерит
страницу и проходит челлендж самим фактом того, что является браузером. CAPTCHA и
пейволл — принципиально другое (не наша задача, не наше право обходить). Полная
механика инструментов, различение трёх стен (JS-челлендж / CAPTCHA / пейволл),
пошаговая работа с браузером и живой прецедент — `references/browser-fallback.md`.

---

## 6. Алгоритм

**Ш1. Формализация.** Объект; область; временной диапазон; требуемая точность;
тип документа (статья / стандарт / диссертация / патент / datasheet / статданные).
Отдельно зафиксировать: **какое именно утверждение** надо подтвердить или опровергнуть.

**Ш2. Запросы.** Строить веером: основной RU + основной EN + научные синонимы +
исторические названия + аббревиатуры + номер стандарта.

**Ш3. Поиск.** От общего к частному, деревом. Нашёл ключевую работу — идти по её
ссылкам вниз (первоисточник) и по цитированиям вверх (актуальность, опровержения).

**Ш4. Оценка каждого документа:** первоисточник ли; DOI; рецензируемость; год;
цитируемость; авторитет организации; соответствие запросу.
Для стандартов **обязательно**: действует / заменён / отменён и **чем** заменён
(типовая ловушка: ГОСТ 7.1-2003 в РФ вытеснен ГОСТ Р 7.0.100-2018, но действует в СНГ).

**Ш5. Извлечение.** Числа; формулы; определения; единицы; диапазоны; условия
эксперимента; **границы применимости**. Фиксировать адрес: DOI, страница, номер
таблицы/рисунка/раздела.

**Ш6. Сопоставление при расхождении.** Сравнить методики → условия → выяснить
причину расхождения → оценить неопределённость. Не выбирать удобное число: если
источники дают 2,269 и 2,29 — показать оба и назвать рекомендованное.

---

## 7. Формат ответа

```
### Вывод
2–5 предложений. Прямо: что установлено, с какой уверенностью.

### Источники
| Источник | Год | Тип | Уровень | Проверка |
|---|---|---|---|---|
| … | … | A/B/C/D | … | ✅ / 📗 / ⚠️ |

### Данные
величина — значение — единица (СИ) — условия — границы применимости

### Ссылки
DOI / прямой URL / PDF / раздел

### Расхождения и неопределённость
(если есть — обязательно, включая «источники расходятся на N %»)

### Уровень уверенности
Высокий / Средний / Низкий — с причиной
```

Единицы — СИ (`references/gost-vak-oformlenie.md` в `rn-article-style`: десятичная
запятая в RU, пробел число↔единица).

---

## 8. Режимы

Научный поиск · стандарты и нормативы · диссертации · патенты · датасеты ·
геоданные · ПО и открытые репозитории · оборудование и характеристики ·
ядерные/физические справочные данные.

Режим меняет только **порядок баз**, но не законы §1–§2: citation-green и разметка
уровня проверки действуют всегда.

---

## 9. Корпус проверенных фактов

Каждый факт со статусом ✅ или 📗 **обязательно** дописывается в локальный корпус
(`%USERPROFILE%\.claude\sci-search-corpus\verified-facts.jsonl`, JSONL append-only,
вне git) — иначе следующая сессия ищет то же самое заново. Перед поиском — грепнуть
корпус; после верификации — сразу дописать строку, не «потом». Формат полей, порядок
работы, ловушка кодировки при записи на Windows — `references/verified-facts-corpus.md`.

---

## Анти-паттерны

- ❌ Выдать совпадение реквизитов за проверку утверждения (**citation-green**).
- ❌ Пересказать абстракт как содержимое статьи (в абстракте часто нет тех чисел).
- ❌ Молча проглотить пейволл/бот-стенку и ответить «по данным работы X…».
- ❌ Сдаться на JS-челлендже, не попробовав браузер (§5) — это не отказ доступа.
- ❌ **Поставить 📗/⚠️, не пройдя лестницу транспорта (§4)** — `WebFetch` упёрся ещё
  не значит, что документ недоступен; `curl` + локальный разбор пробуются ДО пометки.
- ❌ **Принять HTTP-код за истину о доступности.** `402` от организации, публикующей
  бесплатно, — сломанный прокси, а не цена.
- ❌ **Читать страницу-контейнер вместо файла.** Если в выдаче есть прямая ссылка
  на `.pdf` — тянуть её, а не HTML, на котором она висит.
- ❌ Пересказать страницу-заглушку («проверяем ваш браузер») как содержимое источника.
- ❌ Решать CAPTCHA, подменять User-Agent, обходить rate-limit или пейволл — запрет.
- ❌ Искать только по-русски или только по-английски.
- ❌ Сослаться на стандарт, не проверив, действует ли он и чем заменён.
- ❌ Выбрать из расходящихся источников удобное число, умолчав о разбросе.
- ❌ Придумать DOI/ГОСТ/страницу «для правдоподобия» — запрет абсолютный.
- ❌ Смешать измеренное с оценённым/модельным без пометки.
- ❌ Взять вендорский блог как технический источник вместо datasheet.
- ❌ Принять первый пересказ `WebFetch` за ✅ без точной цитаты (§2) — пересказ
  инструмента может исказить число так же, как вторичная статья.
- ❌ Не дописать проверенный факт в корпус (§9) — следующая сессия ищет заново.
- ❌ Сослаться на корпус как на источник вместо исходного DOI/URL из его записи —
  корпус кэширует проверку, не заменяет первоисточник.

## Связанные скиллы

- `fact-audit` — проверка чужих находок и артефактов (citation-green там же, но для аудита).
- `rn-article-style` §12.2 — тот же запрет выдумки на этапе написания статьи.
- `deep-research` — тяжёлый многоисточниковый разбор фоновыми субагентами.
- `doc-extract`, `markitdown`, `unlimited-ocr` — вытащить текст из добытого PDF/скана.

## Справочники (детали, on-demand)

- `references/source-availability.md` — что откроется/не откроется, лестница транспорта.
- `references/browser-fallback.md` — механика браузера, три стены, живые прецеденты.
- `references/verified-facts-corpus.md` — формат и процедура ведения корпуса фактов.

