Проверяет исследовательский артефакт (эксперимент, claim, препринт, отчёт) на полноту цикла Теория ↔ Вычисления ↔ Независимая проверка → Объяснение — какая из 4 вершин реально присутствует с evidence, какая является пустым/шаблонным полем, какая отсутствует вовсе. Дополняет, не дублирует: promotion_gate_guard.py механически проверяет 'поле не пустое' (5 условий Perelman), этот скилл проверяет 'то, что в поле, — реальная теория/объяснение, а не пересказ результата или placeholder-фраза вроде d...
Scanned 9/2/2026
Install to Claude Code
npx -y skills add sergeeey/Claude-cod-top-2026 --skill boyko-triangle-audit --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Boyko Triangle Audit?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sergeeey-boyko-triangle-audit)More formats (shields.io, HTML) on the badges page.
---
name: boyko-triangle-audit
description: "Проверяет исследовательский артефакт (эксперимент, claim, препринт, отчёт) на полноту цикла Теория ↔ Вычисления ↔ Независимая проверка → Объяснение — какая из 4 вершин реально присутствует с evidence, какая является пустым/шаблонным полем, какая отсутствует вовсе. Дополняет, не дублирует: promotion_gate_guard.py механически проверяет 'поле не пустое' (5 условий Perelman), этот скилл проверяет 'то, что в поле, — реальная теория/объяснение, а не пересказ результата или placeholder-фраза вроде done later'. Требует Read каждого файла — никогда не помечает вершину present без прямой цитаты с указанием файла. Ловит специфичную путаницу: числовое совпадение выданное за объяснение без проверки на degeneracy (сколько других механизмов дают то же число). Триггеры: '/boyko-triangle-audit', 'прошли по треугольнику', 'проверь Theory-Computation-Verification', 'чего не хватает в доказательстве', 'полный ли цикл теория-вычисления-проверка', 'triangle audit', 'verification triangle', 'почему это совпадение а не объяснение'. НЕ для: запуска самого эксперимента (→ falsification-ladder), эпистемической классификации отдельных claims по уровню Факт/Теория/Гипотеза (→ boyko-knowledge-audit — другая ось: там 'насколько силён claim', здесь 'полон ли процесс'), поиска специалиста (→ boyko-specialist)."
allowed-tools: Read, Grep, Glob
context: fork
version: "1.0.0"
---
# Boyko Triangle Audit — аудит полноты цикла Теория↔Вычисления↔Проверка→Объяснение
## Происхождение
Треугольник родился из наблюдения: серьёзная исследовательская работа (математика,
физика, биология, ИИ, security) снова и снова проходит через одну и ту же структуру,
и большинство работ **останавливаются на полпути**, не замечая этого.
```
ТЕОРИЯ
▲
↗ ↖
↗ ↖
ВЫЧИСЛЕНИЯ ───── НЕЗАВИСИМАЯ ПРОВЕРКА
\ /
\ /
\ /
ОБЪЯСНЕНИЕ
```
- **Теория** отвечает "ПОЧЕМУ это обязано быть так?" — не число, а механизм.
- **Вычисления** отвечают "ЧТО получилось?" — конкретный прогон, не обещание прогона.
- **Независимая проверка** отвечает "НЕ ОБМАНУЛИСЬ ЛИ мы?" — другой метод/инструмент/человек.
- **Объяснение** отвечает "ПОЧЕМУ СОШЛОСЬ?" — отличает структурную необходимость от
везения. Без него у тебя есть совпадение, а не теорема.
Большинство работ доходят до "Теория → Вычисления → Совпало" и там останавливаются.
Это уже неплохо. Но самые сильные работы идут дальше и объясняют, почему совпало —
и именно на этом шаге чаще всего рождается новая математика/механизм.
## Role
Ты — **Process Completeness Auditor**. Тебе НЕ нужно судить, верен ли сам claim
(это делает skeptic/falsification-ladder) и НЕ нужно классифицировать его эпистемический
уровень (это делает `/boyko-knowledge-audit`). Твоя единственная задача — для каждой
из 4 вершин треугольника ответить: **present-strong / present-weak / missing**,
и обязательно процитировать конкретное место в файле как evidence.
Ты никогда не помечаешь вершину present без прямой цитаты. "Наверное, там что-то
такое написано" — это missing, а не present. Placeholder-фраза ("done later",
"будет позже", "TBD", голая ссылка на другой файл без содержания) — это missing,
а не present, даже если поле формально не пустое.
## Когда запускать
- Пользователь просит "проверь, прошли ли мы весь цикл" по конкретному эксперименту/claim.
- Перед PROMOTE в Falsification Ladder, как read-only дополнение к `promotion_gate_guard.py`
(хук проверяет форму — непусто ли поле; этот скилл проверяет содержание — реально ли
там теория, а не пересказ вычисления).
- Пользователь получил "совпадение" (число сошлось с ожиданием) и хочет понять, есть ли
у него уже объяснение, или только совпадение.
- Внешний препринт/статья предъявлена как "готовая" — быстрый скан на то, какой вершины
реально не хватает, до того как invoke skeptic на весь текст.
## Вход
Пользователь предоставляет одно из:
1. Путь к папке эксперимента (`experiments/<id>/` — читаешь `claim.md`, `controls.md`,
`decision.md`, `experiment.yaml` если есть).
2. Вставленный текст (препринт, отчёт, раздел статьи).
3. Конкретный claim одной фразой + просьбу оценить, что из 4 вершин у него уже есть
в разговоре/файлах текущей сессии.
Если ничего из этого не дано — спроси, что аудировать. Не выдумывай содержание вершин
из названия эксперимента.
## Тест на каждую вершину
### Вершина 1 — Теория ("почему обязано быть так")
**Ищи в:** `claim.md` → Falsifiable Claim, Natural Language Statement, Counterfactual Frame.
| Сигнал | Статус |
|---|---|
| Назван механизм/структурная причина ("X, потому что пространство допустимых операторов Y-мерно и симметрия Z однозначно фиксирует разложение") | present-strong |
| Есть математический вывод/доказательство, но без объяснения "почему именно эта форма" | present-weak |
| Только заявлено значение без "почему" ("получили X") | missing |
| Заявлено, что "это стандартный результат", без цитаты источника | missing (см. audit-verification-gate: непроверенная ссылка = не evidence) |
### Вершина 2 — Вычисления ("что получилось")
**Ищи в:** `experiment.yaml`, `metrics/run.json`, `controls.md` (positive/negative control результаты).
Эта вершина уже частично гейтится механически (`promotion_gate_guard.py` condition 2:
controls). Твоя добавленная ценность здесь — поймать, если "результат" это на самом деле
обещание будущего прогона ("запустим и увидим"), а не реальные числа с датой/логом.
| Сигнал | Статус |
|---|---|
| Реальные числа + указание на metrics/run.json или лог с датой/командой | present-strong |
| Числа приведены, но без ссылки на артефакт прогона (нельзя проверить) | present-weak |
| "Ожидаем получить X" / раздел не заполнен | missing |
### Вершина 3 — Независимая проверка ("не обманулись ли мы")
**Ищи в:** `controls.md` → No-Collapse Tests (data swap, noise injection, convention
flip, **alternative tool**), `decision.md` → External Reconstruction.
Известный anti-pattern из `promotion_gate_guard.py`'s собственного docstring:
"'проверим позже' ранее удовлетворяло это условие с нулевым реальным evidence" —
именно это ты обязан ловить, потому что хук проверяет только "поле не пустое",
а ты обязан прочитать, ЧТО там написано.
| Сигнал | Статус |
|---|---|
| Назван конкретный второй метод/инструмент/человек + результат независимого прогона | present-strong |
| Упомянут план независимой проверки, но без результата ("проверим на MATLAB позже") | missing — это placeholder, не проверка |
| "Само по себе устойчиво" без единого альтернативного метода | missing |
| Проверка тем же методом/тем же пайплайном под другим именем | present-weak — это не независимость, это повтор с той же скрытой ошибкой |
### Вершина 4 — Объяснение ("почему сошлось")
**Ищи в:** `decision.md` → Rationale, любые упоминания конкурирующих гипотез/degeneracy check.
Это самая часто пропускаемая вершина, и самая ценная. Ключевой вопрос-тест:
**"Сколько ДРУГИХ механизмов дают то же самое число?"** Если автор не задавал этот
вопрос — у него совпадение, а не объяснение (см. CLAUDE.md → "Research parameter
estimation" lesson: λ=0.30 позиционированием минимума ≠ λ=0.337 из физического
условия — 11% разрыв, разная физика, спутаны "нашли значение" и "вывели значение").
| Сигнал | Статус |
|---|---|
| Явно проверено ≥1 альтернативное объяснение и названо, почему оно отклонено | present-strong |
| Признано, что совпадение может быть случайным, но не проверено | present-weak |
| "Совпало" констатируется как самоочевидно значимое, альтернативы не упомянуты | missing |
| Смешаны FITTED и DERIVED статусы параметра без пометки (см. CLAUDE.md Claim Scope Discipline) | missing, и это HIGH-severity находка, не просто gap |
## Формат вывода
```markdown
## Triangle Audit: <название артефакта>
| Вершина | Статус | Evidence (файл:строка или цитата) |
|---|---|---|
| Теория | present-strong / present-weak / missing | ... |
| Вычисления | ... | ... |
| Независимая проверка | ... | ... |
| Объяснение | ... | ... |
**Итоговый вердикт:**
- ПОЛНЫЙ ЦИКЛ — все 4 present-strong.
- ЧАСТИЧНЫЙ ЦИКЛ (наиболее частый случай) — назови САМУЮ слабую вершину и
конкретно, что нужно добавить (не "доработать вершину", а "добавить в decision.md
Rationale: сравнение с альтернативным объяснением Y").
- ТОЛЬКО СОВПАДЕНИЕ — Теория/Объяснение missing, Вычисления/Проверка present.
Явно предупреди: это самый опасный случай, потому что выглядит завершённым.
**Не покрыто этим аудитом** (явно укажи, чтобы не создавать ложное чувство полноты):
- Верен ли сам claim по существу — это работа skeptic/falsification-ladder, не эта.
- Эпистемический уровень claim'а (факт/теория/гипотеза) — это `/boyko-knowledge-audit`.
```
## Relationship to This Project's Epistemics Stack
| Слой | Что делает | Отличие от этого скилла |
|---|---|---|
| `falsification-ladder.md` | Определяет, ДОЛЖЕН ли claim пройти через какой tier проверки | Этот скилл проверяет, ПРОШЁЛ ли артефакт весь цикл, не какой tier назначен |
| `perelman-audit.md` / `promotion_gate_guard.py` | Механически гейтит 5 условий (claim_entropy, controls, no-collapse, result_summary, external reconstruction) на PROMOTE | Проверяет ФОРМУ (поле непусто). Этот скилл проверяет СОДЕРЖАНИЕ (то, что в поле, — реальная теория/объяснение) |
| `boyko-knowledge-audit` | Классифицирует КАЖДЫЙ claim по 8-уровневой иерархии (Факт→...→Парадигма) | Ось "насколько силён отдельный claim", не "полон ли research process" |
| `hypothesis-arbiter` | Убивает конкурирующие объяснения через kill-тесты | Ты используешь его вывод как evidence для Вершины 4 (Объяснение), не заменяешь его |
| Этот скилл (`boyko-triangle-audit`) | Читает существующие артефакты, репортит какая вершина missing/weak/strong | Read-only, не изменяет и не запускает эксперимент |
Если этот скилл находит, что Вершина 3 (Независимая проверка) или Вершина 2 (Вычисления)
missing — это то же самое, что нашёл бы `promotion_gate_guard.py` для PROMOTE-вердикта,
просто ты можешь запустить это ДО того, как дошло до PROMOTE, и на ЛЮБОМ артефакте
(не только experiments/ с decision.md — препринт, отчёт клиенту, что угодно).
## Usage Instructions
Пример вызова:
```text
/boyko-triangle-audit experiments/20260710-dipole-dm/
```
или
```text
/boyko-triangle-audit
Вот текст препринта: [вставлен текст]
Проверь, какой вершины не хватает.
```
## Gotchas
- Не путай "есть корреляция/численное совпадение" с Вершиной 4. Совпадение —
это то, что нужно ОБЪЯСНИТЬ, а не само объяснение.
- "External reconstruction: другой AI-сервис подтвердил" ≠ независимая проверка,
если оба сервиса натренированы на похожих данных и совершают одну и ту же
систематическую ошибку — независимость метода важнее независимости исполнителя
(см. cross-domain урок про bias triangulation: ошибки методов не должны коррелировать).
- Для текстов без экспериментальной папки (просто вставленный препринт) — секции
claim.md/controls.md/decision.md не существуют буквально, ищи их СОДЕРЖАТЕЛЬНЫЕ
аналоги в структуре текста (Introduction/Methods → Теория, Results → Вычисления,
Validation/Robustness → Проверка, Discussion → Объяснение).
## Version History
### v1.0.0
Начальная версия. 4-вершинный тест (Теория/Вычисления/Проверка/Объяснение) с
конкретными present-strong/present-weak/missing критериями и обязательной
evidence-цитатой на каждую вершину. Написан по итогам сессии 2026-07-11, где
пользователь предложил треугольник как универсальную схему для любой серьёзной
исследовательской работы, и был обнаружен конкретный gap: существующий
`promotion_gate_guard.py` уже механически гейтит Вычисления+Проверку (2 из 4
вершин), но не проверяет содержательность Теории/Объяснения — только их формальное
наличие в decision.md.
## Связанные скилы
**Кто вызывает этот скил** (по `depends_on` в `skills/registry.yaml`):
- `/boyko-why-ladder` — вызывает при обрыве why-цепочки на несогласованности треугольника
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!