agentleFS
VibeEngineering-LLCVibeEngineering-LLC/agent-ops-doctrine/skills/sci-search/SKILL.md

sci-search

Skill1 starsChanged 58 days agoMITView on GitHub

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

The file

Files
SKILL.md

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

Статус: production · Версия: 1.3.1 · Обновлён: 2026-09-18 · Область: все агенты контура

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

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

  • Перед публикацией любого числа/норматива/формулы, взятого извне (обязательно).
  • Аудит ссылочной массы чужой статьи или отчёта.
  • Выбор оборудования, поиск 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 ниже) — он отдаёт видимый текст без модели-посредника. Число из точной цитаты — годится для ✅; число из общего пересказа — остаётся 📗, пока не подтверждено цитатой. Прецеденты, где пересказ смягчил или сочинил число вместе с атрибуцией — 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-челлендже/бот-стенке источник не недоступен, а нужен настоящий браузер: встроенный Browser pane (mcp__Claude_Browser__*, запрет снят оператором 13.09, доктрина #WEB-1) либо mcp__claude-in-chrome__* (Chrome оператора с его залогиненной сессией). Домен заблокирован политикой харнесса — сразу Chrome, в панели обхода нет. Браузер проходит челлендж самим фактом того, что является браузером; свою вкладку после чтения закрыть (tabs_close / tabs_close_mcp). PDF встроенным браузером не открывать (в т.ч. адреса без расширения вида MDPI /…/pdf, arXiv /pdf/…): панель поднимает у оператора окно «Сохранить как» (запись в журнале инцидентов), navigate отбивает хук browser_pdf_gate.py; PDF — curl в рабочий каталог → markitdown/pymupdf. CAPTCHA и пейволл — принципиально другое (не наша задача, не наше право обходить). Полная механика инструментов, различение трёх стен (JS-челлендж / CAPTCHA / пейволл), пошаговая работа с браузером и живой прецедент — references/browser-fallback.md.

alphaXiv — предпочтительный источник для физики/CS/матфизики (arXiv-препринты), если подключён. Даёт discover_papers (ранжированный поиск по теме, ≤2 вызова за сообщение — покрывать все грани запроса одним широким вызовом, не несколькими узкими), get_paper_content (полный текст статьи по её arXiv/alphaXiv URL — AI-реферат или fullText=true для сырого текста, а НЕ пересказ через WebFetch) и list_library. Сильнее WebSearch/WebFetch именно для arXiv: отдаёт текст статьи напрямую, без пересказа модели-посредника — годится под ✅, не только 📗 (§2) как СПОСОБ проверки (прочитан ли текст своими глазами). Не подменяет PubMed для биомедицины и не подменяет стандарты/нормативы (§3 категория A остаётся первичной). Если инструмент не загружен — искать через ToolSearch по ключевому слову «alphaXiv» или «discover_papers»; если сервер не подключён в этой сессии — откатываться на обычный WebSearch/WebFetch по arxiv.org.

Оговорка (по итогу проверки правки выше): arXiv — препринты БЕЗ рецензии. ✅ по alphaXiv означает только «текст прочитан напрямую», а не «источник категории A» — категория A по §3 требует именно рецензируемую статью. Препринт с alphaXiv по умолчанию — категория B (вторичный/непроверенный первичный, до публикации), а не A, пока не найдена опубликованная рецензируемая версия того же результата (искать по DOI/названию — часто препринт и финальная статья сосуществуют). В ответе оператору при цитировании alphaXiv — явно писать «препринт, не рецензировано», не выдавать за эквивалент рецензируемой публикации.


6. Алгоритм

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

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

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

Ш4. Оценка каждого документа: первоисточник ли; DOI; рецензируемость; год; цитируемость; авторитет организации; соответствие запросу. Для стандартов обязательно: действует / заменён / отменён и чем заменён (типовая ловушка: ГОСТ 7.1-2003 в РФ вытеснен ГОСТ Р 7.0.100-2018, но действует в СНГ). Для норм, тарифов, ставок и ответов регуляторов обязательно: назвать редакцию нормы (номер/дата изменения) и брать число из консолидированного текста нормы. Карточка госуслуги, PDF на сайте ведомства, сводный FAQ — вторичны: дата страницы или файла ≠ дата нормы, у частей FAQ своя «Last update» (C-026: три случая за один прогон).

Ш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 — формат и процедура ведения корпуса фактов.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.