# Fact Check

> Fact-check

- Skill: `victorbuto/fact-check` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add victorbuto/fact-check`
- Raw SKILL.md: https://api.skillmd.com/api/skills/victorbuto/fact-check/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: victorbuto (https://skillmd.com/u/victorbuto)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/victorbuto/fact-check

---


# Fact-check

Проверка утверждений: сначала по указанному источнику, потом через независимые. Прозрачность: показать источники, их тип, откуда уверенность.

## Workflow

1. **Выделить утверждения** широко, все основные, и разметить каждое по двум осям (см. ниже)
2. **Оценить и отобрать**: каждому утверждению четыре оценки по шкале 1–3 (влияние, релевантность, спорность, проверяемость), по ним выбрать главные для проверки. Модальность «факт» и «норма» проверяются на истинность, «прогноз» на обоснованность, «мнение» и тип «признак» только метятся
3. **Сверить с указанным источником.** Если у утверждения есть ссылка, сначала открыть её и проверить, что источник говорит именно это: то же число, объект, период, определение. Расхождение с собственным источником — отдельный вердикт до всякого кросс-чека
4. **Кросс-чек** через `WebSearch` (основа), `mcp__exa__web_search_exa` (фильтры по дате и домену), `mcp__exa__web_fetch_exa` (контент конкретного URL). Если источника не указано, искать первоисточник с шага 4
5. **Разметить источники**: тип и карточка (см. ниже)
6. **Рассчитать определённость**
7. **Сформировать ответ** по формату режима (см. «Режимы вывода»)

Детальные форматы вывода: [references/output-formats.md](references/output-formats.md)
Примеры разметки: [references/examples.md](references/examples.md)
Искажения для режима biases: [references/biases.md](references/biases.md)

---

## Разметка: две оси

Каждое утверждение получает две метки: тип и модальность.

**Утверждение** — проверяемая мысль о субъекте. Резать текст до одного предиката не обязательно: если фраза несёт несколько типов и они связаны по смыслу, она размечается как «смешанное» и проверяется по частям внутри одной записи. Резать стоит, когда части никак не связаны или когда одна часть факт, а другая мнение.

### Ось 1. Тип — что утверждается о субъекте

| Тип | Как выглядит | Цель проверки |
|---|---|---|
| **Число** | Величина, доля, цена, количество, темп. Всегда с единицей и периодом | Сверка с источником: то ли число, тот ли объект, тот ли период и знаменатель |
| **Признак** | Качественная характеристика X: «эдтех», «премиум», «лидер», место («работает в 75 рынках») | Не проверяется, только метится. Красный флаг, если на признаке строится вывод |
| **Поведение** | X регулярно делает Z: «82% пьют вино дома», «подарок выбирают по истории», «холдинги скупают медицинские мандаты». Повторяется, без даты, с частотой | Кто именно, как часто, в каком контексте; наблюдённое или заявленное; сколько независимых случаев за паттерном |
| **Наличие** | X есть / X нет: «никто не занял», «раундов не найдено», «у компании есть коллекция с 1938» | Полнота поиска: где искали, сколько, что могли пропустить |
| **Событие** | С X произошло Z в момент t: декрет, сделка, запуск, перелом. Дата обязательна | Документ и дата: было ли, когда, с кем |
| **Связь** | X относится к Y. Характер: сравнение, часть–целое, последовательность, корреляция, причина, тождество | Оба конца по своим типам плюс характер: не подменена ли последовательность причиной, совпадают ли базы при сравнении |
| **Смешанное** | В одной фразе несколько типов: «Tesla продала 1,8 млн машин и доминирует на рынке», «холдинги скупают мандаты, потому что медицина даёт чек в 7,6 раза выше» | Перечислить входящие типы, проверить каждую часть по её правилам, вердикт по частям и общий |

**Решающее правило для типа:** тип задаёт предикат, то есть что именно говорится о субъекте. «Число» — когда сам предикат есть мера субъекта: выручка, цена, количество, доля от целого. «82% россиян пьют дома» — поведение с квантором, а не число. Если в утверждении есть величина, карточка числа заполняется при любом типе. Изменение без величины («граница поднялась», «канал осыпается») — число с флагом, что величины нет. Один раз и с датой — событие; повторяется и с частотой — поведение. Если утверждение соединяет два субъекта, это «связь», концы размечаются отдельно. Если в утверждении два и больше типов и резать неудобно, это «смешанное» с перечнем входящих типов.

**Как типы связаны:** наличие первично; у того, что есть, бывает число (количественная характеристика), признак (качественная) и поведение (что регулярно делает). Событие — разовое изменение наличия, числа, признака или поведения в момент t. Связь — отношение двух субъектов, каждый со своим наличием.

### Ось 2. Модальность — как утверждается

| Тег | Как выглядит | Что это меняет |
|---|---|---|
| **Факт** | «есть», «составил», «вырос», прошедшее и настоящее время | Проверяем на истинность |
| **Мнение** | «лучше», «сильнее», «переоценён», оценочные слова | Не проверяем, метим и смотрим, кто говорит |
| **Прогноз** | «будет», «станет», «к 2034» | Проверяем обоснованность, не истинность |
| **Норма** | «обязан», «запрещено», номер документа, статья | Проверяем существование и действие документа |

**Решающее правило для модальности:** если утверждение о будущем, это прогноз, даже если звучит уверенно. Если есть оценочное слово без критерия, это мнение, даже если рядом цифры.

---

## Оценка и отбор утверждений

Выделять утверждения широко: лучше лишнее в списке, чем пропущенное. Отбор делают четыре оценки, каждая по шкале 1–3.

| Оценка | Вопрос | 3 | 1 |
|---|---|---|---|
| **Влияние** | Что сломается, если утверждение ложно | На нём стоит главный вывод текста, или оно уходит клиенту в презентацию | Иллюстрация, фон, ни один вывод от него не зависит |
| **Релевантность** | Насколько оно важно для заданных целей и задач | Прямо отвечает на вопрос задачи | Не касается задачи |
| **Спорность** | Насколько вероятно, что оно ложно, ещё до проверки | Самоотчёт или кейс агентства; один источник или сниппет вместо оригинала; круглое или слишком хорошее число; расходится с другим числом того же текста; контринтуитивно | Первичный источник: отчётность, госстатистика, текст документа |
| **Проверяемость** | Существует ли публичный первичный источник, по которому можно сверить | Публичная отчётность, госстатистика, нормативный акт, опубликованное исследование | Первичного источника в открытом доступе нет: выручка частной компании, внутренняя метрика, отчёт за пейволом без пересказов |

Проверяемость про существование источника, а не про трудность поиска: найти и прочитать через нейросеть быстро, поэтому по умолчанию ставится 3. Оценка 1 только там, где сверять физически не с чем.

**Правило отбора:**
1. Если цели заданы, утверждения с релевантностью 1 не проверяются, только метятся. Если целей нет, релевантность не ставится.
2. Из оставшихся в проверку идут все с влиянием 3, затем влияние 2 со спорностью 3.
3. Внутри группы порядок по спорности: сначала самое сомнительное.
4. Проверяемость 1 при влиянии 3 не снимает утверждение с проверки: оно уходит в отчёт с меткой НЕ ПРОВЕРЕНО и причиной. Молча пропускать нельзя.
5. Влияние 1 со спорностью 1 не проверяется.

---

## Что проверять по типам (для модальности «факт»)

### Число

Пять полей, ошибка в любом ломает вывод: значение и единица; объект (с границей сегмента); период и база сравнения; знаменатель (доля чего от чего, литры или деньги); определение метрики (годовой или накопленный, отчётный или скорректированный, до сделки или после).

Отдельно фиксировать происхождение: первичный замер, вендорская оценка, самоотчёт компании, кейс-метрика агентства, опрос, расчёт автора. Кейс-метрики агентств и самоотчёты не считаются подтверждением без независимого источника.

### Наличие

Утверждение «нет» проверяется по выборке: сколько и где искали. Пустая ячейка в выборке из N не доказывает пустоту рынка. Утверждение «есть» проверяется одним подтверждением из первичного источника.

### Событие

Дата, участники, документ или первичное сообщение. Дата из пересказа сверяется с первичным источником.

### Связь

Сначала разметить оба конца и проверить их по своим типам. Затем характер:

| Характер | Проверка |
|---|---|
| Сравнение | Совпадают ли объект, период, единица, знаменатель у обоих концов |
| Часть–целое | Одно ли целое у доли и у вывода |
| Последовательность | Порядок событий по датам |
| Корреляция | Есть ли замер, а не два числа рядом |
| Причина | Кто утверждает причину; что ещё менялось; не последовательность ли это |
| Тождество | Одно ли это определение у двух источников |

### Признак

Не проверяется. Метится. Если вывод опирается на признак («лидер, значит…»), это флаг НЕОПРЕДЕЛЁННО.

### Смешанное

Перечислить входящие типы в порядке появления. Каждую часть проверить по правилам своего типа, у каждой свой вердикт. Общий вердикт по слабейшей проверяемой части: если число подтверждено, а связь-причина держится на одной цитате, общий вердикт ЧАСТИЧНО. Часть с модальностью «мнение» в общий вердикт не входит, только метится.

### Поведение

Четыре поля: кто (сегмент, с границей); что делает и как часто; в каком контексте (где, когда, при каких условиях); откуда известно. Происхождение поведения: наблюдённое (продажи, парсинг, логи) / заявленное (опрос, интервью) / единичный случай (цитата, отзыв). Заявленное не подтверждает наблюдённое: «готовы платить» и «платят» — разные утверждения. Один случай не подтверждает паттерн, нужны минимум два независимых источника или замер. Если в утверждении есть доля, дополнительно карточка числа: N, кто отвечал, формулировка вопроса, заказчик.

---

## Вердикты по модальности

**Факт:** ПОДТВЕРЖДЕНО ✓ / ОПРОВЕРГНУТО ✗ / ЧАСТИЧНО / НЕОПРЕДЕЛЁННО

**Мнение:** КОНСЕНСУС / ПРЕОБЛАДАЕТ X / РАЗДЕЛЕНО / МАРГИНАЛЬНО. Вывод: карта позиций (ЗА / ПРОТИВ / НЕЙТРАЛЬНО) с аргументами.

**Прогноз:** ОБОСНОВАН / ЧАСТИЧНО ОБОСНОВАН / СПЕКУЛЯТИВЕН / ПРОТИВОРЕЧИТ КОНСЕНСУСУ. Искать track record автора, методологию, консенсус экспертов, альтернативные сценарии.

**Норма:** ДЕЙСТВУЕТ / ОТМЕНЕНА / НЕ НАЙДЕНА / ИСКАЖЕНА (документ есть, но говорит другое). Искать первичный текст документа, а не пересказ.

---

## Источники: тип и карточка

Каждому источнику ставится тип. Тип задаёт, что проверять внутри источника.

### Типы источников

| Тип | Пример | Что проверять внутри |
|---|---|---|
| **Статистика / отчётность / регулятор** | Росстат, перепись INEP, отчёт компании для инвесторов, Минсельхоз, ВАРПЭ, текст нормативного акта | Определение метрики, границы объекта, свой замер или пересказ чужого; у ассоциации — интерес к результату |
| **Исследование** | ВЦИОМ, Nielsen, NTech, Semesp, коммерческая оценка рынка (IMARC, BusinesStat) | Выборка: N, кто, метод, разнообразие; заказчик; дата поля; есть ли полный отчёт или только пресс-релиз; методология открыта или за пейволом; не сделан ли количественный вывод из качественного метода |
| **Научная работа** | peer-reviewed статья, препринт | Тот ли объект, страна, период; рецензировано ли; год |
| **Эксперт** | цитата аналитика, сомелье, директора по закупкам | Компетентность и доступ к данным; мотивация; кросс-чек минимум с одним другим экспертом, лучше с оппонентом |
| **Компания или агентство о себе** | пресс-релиз, кейс на сайте, Brand Lift от агентства | Мотивация очевидна; не считается подтверждением без независимого источника |
| **СМИ** | Коммерсант, Forbes, vc.ru, Habr | Это канал, не источник: на кого ссылается, дошли ли до первоисточника, указан ли автор-человек |
| **Блог / UGC / соцсети** | форум, отзыв, Telegram-канал | Только иллюстрация, в определённость не входит |

### Карточка источника

| Поле | Значения | Красный флаг |
|---|---|---|
| Дата | публикации; для исследований — дата поля | старше 2 лет в быстро меняющейся теме (цены, доли, технологии, регуляторика). Для того, что не меняется, возраст не флаг |
| Первоисточник | ссылка на оригинал есть / пересказ со ссылкой / пересказ без ссылки / оригинал за пейволом | пересказ без ссылки |
| Авторитетность | доступ к данным + компетентность в теме | нет ни того, ни другого |
| Ответственность | автор-человек / только организация / аноним | автора нет |
| Мотивация | нейтральный / заинтересован: конкурент, продавец, политический заказ | заинтересован и единственный |
| Выборка (для исследований) | N, кто, метод, разнообразие кейсов | не указана |
| Метод и вывод | количественный вывод на количественных данных / на качественных | число из интервью или фокус-групп |

Заполняются поля, релевантные типу: у статистики дата и определение, у эксперта авторитетность и мотивация, у исследования выборка и заказчик. Пустое поле, где оно должно быть заполнено, — сам по себе флаг.

**Правило по дате:** старше двух лет — задать вопрос «могло ли это измениться». Если да (цена, доля рынка, состав продукта, норма), искать свежее. Если нет (историческое событие, устройство рынка, определение), возраст не снижает вес.

---

## Определённость

```
Определённость = Качество (40%) + Независимость (30%) + Консенсус (20%) + Актуальность (10%)
```

Качество считается по карточкам источников, не на глаз. Независимость считается по первоисточникам, не по ссылкам: три статьи СМИ, пересказывающие один опрос, — один источник. Показать пользователю из чего сложилась цифра.

---

## Предупреждения

Сигнализировать если обнаружено:

| Сигнал | Когда |
|--------|-------|
| **BIAS** | Все источники однобокие |
| **ЭХО** | Источники цитируют друг друга, сводятся к одному первоисточнику (ложная триангуляция) |
| **УСТАРЕВШЕЕ** | Информация могла измениться |
| **НЕДОСТАТОЧНО** | Мало источников для триангуляции |
| **СТЫК** | Связь-сравнение с несовпадающими объектом, периодом, единицей или знаменателем |
| **ПЕРЕНОС** | Число про один объект использовано в выводе про другой |
| **ЗАЯВЛЕНО** | Заявленное поведение (опрос) выдано за наблюдённое (продажи, действия) |
| **ОДИН СЛУЧАЙ** | Паттерн поведения построен на единичной цитате или отзыве |
| **НЕ ПРОВЕРЕНО** | Влияние 3, проверяемость 1: сверить не с чем, причина указана |

---

## Режимы вывода

Шаги 1–6 одинаковы во всех режимах. Различается только шаг 7.

| Режим | Команда | Вход | Выход |
|---|---|---|---|
| **Отчёт** | `/fact-check <утверждение или путь>` | утверждение или файл | отчёт по формату в чат |
| **Rewrite** | `/fact-check:rewrite <путь>` | файл | новый файл `<имя>-factchecked-<дата>.md` рядом с исходным, в чат таблица изменений |
| **Feedback** | `/fact-check:feedback <путь>` | файл | блоки замечаний дописаны под абзацами в сам файл, в конец раздел `## Фактчек <дата>`; в чат счётчики и главные замечания |
| **Specific** | `/fact-check:specific <утверждения>` | одно или несколько утверждений текстом | карточка по каждому в чат, без выделения и отбора, файл не создаётся |
| **Full** | агент `fact-checker` по умолчанию | файл | отчёт с замечаниями `-factcheck-<дата>.md` (только блоки и строки с утверждениями), затем rewrite `-factchecked-<дата>.md`; в чат таблица изменений |
| **Biases** | `/fact-check:biases <путь>` | файл | всё как в feedback плюс второй проход без веба по выводам: блоки «Искажение» под абзацами, в конец раздел `## Фактчек и искажения <дата>` |

**Rewrite.** Исходник целиком, изменены только утверждения ОПРОВЕРГНУТО и ЧАСТИЧНО: верное число, объект, период или формулировка плюс ссылка на источник и его тип в той же строке. ПОДТВЕРЖДЕНО без изменений. НЕОПРЕДЕЛЁННО и НЕ ПРОВЕРЕНО остаются с пометкой `[не подтверждено: причина]` в строке. Мнения, прогнозы, признаки не переписываются. В чат: путь и таблица было → стало → источник (тип), отдельно список непроверенного.

**Feedback.** Правки в сам файл, точечно через Edit: существующие строки не меняются и не удаляются, только вставляются блоки. Под строкой с утверждением (пункт списка с отступом или абзац) блок цитаты из пяти строк: заголовок `**Фактчек · ВЕРДИКТ · флаг**`, затем поля «Утверждение», «Расхождение», «Найдено», «Рекомендация», по одному на строку. Рекомендация обязательна: что делать с утверждением (убрать, оставить с оговоркой, переформулировать, заменить) и на что опираться вместо него. Формат в `references/output-formats.md`, раздел «Блок feedback». Замечание ставится при ОПРОВЕРГНУТО, ЧАСТИЧНО, НЕОПРЕДЕЛЁННО, НЕ ПРОВЕРЕНО и при любом флаге. Абзацы без замечаний не трогаются. В конец файла раздел `## Фактчек <дата>` со счётчиками и непроверенным. В чат: путь, сколько проверено / с замечанием / опровергнуто, два-три главных замечания. Это единственное разрешённое исключение из правила CLAUDE.md о неизменности файлов, и только для вставки блоков.

**Specific.** Шаги 1–2 пропускаются: проверяется всё, что прислано, каждая строка — утверждение. Дальше шаги 3–6 по каждому, параллельно. В чат по каждому утверждению карточка «Блок specific» из `references/output-formats.md`: тип и модальность, вердикт с определённостью, сверка с указанным источником, что найдено, источники с типом, флаги. Общего отчёта и файла нет; больше десяти утверждений — спросить, нужен ли файл.

**Biases.** Первый проход — feedback целиком. Второй проход без поиска в интернете: выводы и интерпретации отчёта (разделы «Главное», «Что из этого следует», «Инсайты», «Преломление под задачу», «Итог», фразы со «значит», «поэтому», «это подтверждает») проверяются по двенадцати искажениям и двум финальным вопросам из `references/biases.md`; перед проходом фиксируется целевая аудитория исследования, каждый вывод сверяется с ней. Где искажение есть, под абзацем блок из трёх строк: `**Искажение · ТИП**`, «Утверждение» дословно, «Проблема». Числа не трогаются, их проверил фактчек: искажение — это когда числа верны, а вывод из них не следует. В конец файла раздел `## Фактчек и искажения <дата>` со счётчиками обоих проходов. В чат: путь, счётчики, главные замечания и главные искажения.

**Full (дефолт агента `fact-checker` из пайплайнов Deep-web-search и trend-research).** Отдельный файл `<имя>-factcheck-<дата>.md` только с замечаниями: для каждого — где в тексте, строка исходника с утверждением, блок «Фактчек»; текст исследования целиком не копируется. Затем rewrite новым файлом `<имя>-factchecked-<дата>.md`. В чат таблица «было → стало → источник» и список непроверенного.

Rewrite исходный файл не меняет. Rewrite, feedback и biases требуют путь к файлу, на голое утверждение отвечают просьбой дать файл; specific, наоборот, работает только с текстом утверждений.

---

## Принципы

- Искать опровержения, не только подтверждения
- Сначала указанный источник, потом остальные
- Проверять независимость источников, считать первоисточники, а не ссылки
- Официальная документация > блоги
- Признавать неопределённость честно
- Указывать даты публикаций
- Число без периода и объекта не считается проверенным

