agentsclimarketplace

Verify

Skill TserenTserenov/FMT-exocortex-template/.claude/skills/verify

Exocortex template: fork & deploy your AI-powered personal knowledge system with Claude Code

Install
npx -y skills add TserenTserenov/FMT-exocortex-template --skill verify

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Верификация артефакта по эталону из Pack. Загружает роль VR.R.001 (Верификатор) с context isolation — проверяет результат, а не процесс создания.

SKILL.md

24.2 KB, ~6.8k tokens by cl100k_base, as published. Nobody here has run it

Верификация артефакта

Роль: VR.R.001 Верификатор (PACK-verification) Принцип: Context isolation (VR.SOTA.002) — проверяю результат по эталону, НЕ процесс создания. Архитектура: Ядро (Pack, фиксированное) + Контекст (переменный) — AS.D.004.

Аргументы: $ARGUMENTS

When to use

Верификация артефакта по эталону из Pack. Загружает роль VR.R.001 (Верификатор) с context isolation — проверяет результат, а не процесс создания.

Algorithm

Шаг 0. Определить тип проверки

АргументТипЧто проверяет
codeПроверка кодаКачество кода: логика, edge cases, безопасность, coupling
archgateПроверка реализации АрхГейтаКод соответствует ЭМОГССБ-оценке, принципы воплощены
captureПроверка capture-candidateUL, полнота, непротиворечивость с Pack
packПроверка Package-адекватностиПроверяет 11 координат E.4.DPF.DA seed-пакета (Ф1-Ф3 артефакты): SoTA, decision-record, seed-маркер, их достаточность. Используется из /verify pack или pack-creator Шаг 4
wpПриёмка рабочего продуктаКритерии done из WP context file
chainData flow checkПрочитаны ли downstream consumers? Контракты совпадают? (CoVe stage 3)
adversarialScope & bias checkScope определён анализом или выводом? Что НЕ прочитано? (Pre-mortem)
subsectionПроверка подраздела руководства (SS)🔴 v4-lint + 🟡 нарратив/дуга/практика/аналогия (G-L) по CHECKLIST-subsection-v1.md
sectionПроверка раздела руководства (S)🔴 v4-lint section + 🟡 связность SS, дуга по ступеням, охват темы (D-H) по CHECKLIST-section-v1.md
guideПроверка руководства целиком🔴 v4-lint guide + 🟡 целостность объекта, дуга, охват узлов мастерства, эпилог (E-I) по CHECKLIST-guide-v1.md
auto или пустоАвтоопределениеПо типу файла и контексту сессии

Автоопределение:

  • Был АрхГейт в текущей сессии → archgate
  • Указан путь к .py/.ts/.sh файлу → code
  • Указан путь к Pack-сущности → capture
  • Указан путь к WP context → wp
  • Изменения >1 файла + cross-component → предложить chain
  • После АрхГейта + код → предложить adversarial
  • Путь содержит subsection_id: PD.GUIDE.N.SX.SSY во frontmatter, или один файл подраздела руководства → subsection
  • Путь — папка раздела (S{N}-*/) или указан section_id во frontmatter → section
  • Путь — structure-guide-N.md или папка руководства целиком → guide
  • Не определился → спросить пользователя

Триггеры от пилота: «проверь подраздел X» / «проверь раздел S{N}» / «проверь руководство N» → соответственно subsection / section / guide.

Шаг 1. Запустить sub-agent Верификатора

Запустить Agent tool с context isolation:

Для code:

  • Прочитать git diff (или указанные файлы)
  • Прочитать CLAUDE.md затронутого репо
  • Передать sub-agent'у: diff + CLAUDE.md + чеклист code
  • Модель sub-agent'а: Sonnet

Для archgate:

  • Найти ЭМОГССБ-таблицу из текущей сессии (или запросить)
  • Прочитать изменённые файлы реализации
  • Прочитать DP.ARCH.001 §7 (21 принцип)
  • Передать sub-agent'у: файлы + таблица + принципы + чеклист archgate
  • Модель sub-agent'а: Opus

Для capture:

  • Прочитать capture-candidate
  • Прочитать manifest целевого Pack
  • Передать sub-agent'у: candidate + manifest + чеклист capture
  • Модель sub-agent'а: Sonnet

Для pack:

  • Прочитать WP-контекст пакета (WP-474.md или папка пакета)
  • Прочитать файлы артефактов Ф1-Ф3:
    • 06-sota/{slug}-sota-sheet.md (Ф1: SoTA-лист)
    • .pfad-decision.md (Ф2: decision record)
    • 01B-distinctions.md с маркером **Maturity:** seed (Ф3: seed-маркер + mature-lite чек-лист)
  • Передать sub-agent'у промпт: verify-pack-adequacy-subsection.md + данные из контекста
  • Модель sub-agent'а: Sonnet
  • Verdict: PASS/CONDITIONAL/FAIL по координатам D1-D11 (WP-474 §4)

Для wp:

  • Прочитать WP context file ({{GOVERNANCE_REPO}}/inbox/WP-{N}-*.md)
  • Прочитать артефакт РП
  • Передать sub-agent'у: артефакт + критерии done + чеклист wp
  • Модель sub-agent'а: по verification_class

Для chain (CoVe — Chain-of-Verification, Meta ACL 2024):

  • Прочитать git diff изменённых файлов
  • Для каждого изменённого output: grep по codebase — найти все файлы, которые import/require/вызывают изменённые функции
  • Прочитать каждый downstream consumer
  • Передать sub-agent'у: diff + consumers + чеклист chain
  • Модель sub-agent'а: Sonnet
  • Чеклист chain:
    1. Для каждого изменённого output — кто потребляет?
    2. Прочитан ли каждый потребитель?
    3. Типы/формат output совпадают с ожиданиями потребителя?
    4. Переменные, используемые в предложенном коде — откуда определены? Существуют ли в scope?
    5. Env vars / конфиги, на которые опирается код — определены ли в том же файле или переданы явно?

Для adversarial (Pre-mortem + Devil's Advocate, PROClaim 2026):

  • Прочитать git diff изменённых файлов
  • Составить список файлов, которые автор НЕ прочитал, но которые могут быть затронуты (git diff --stat vs файлы из diff)
  • Прочитать описание задачи (из WP context или commit message)
  • Передать sub-agent'у: diff + unread files list + task description + чеклист adversarial
  • Модель sub-agent'а: Sonnet
  • Чеклист adversarial:
    1. Scope определён анализом кода или подогнан под заранее выбранный вывод?
    2. Какие файлы/компоненты НЕ прочитаны, но могут быть затронуты?
    3. Предположи, что этот фикс сломается в production. 3 наиболее вероятные причины?
    4. Есть ли альтернативные объяснения проблемы, которые не были рассмотрены?
    5. Заявленный scope («1 файл», «не архгейт», «простой фикс») — соответствует реальному?

Для subsection (один подраздел руководства, WP-322 Ф0.10):

Двухэтапная проверка: 🔴 машинная (оркестратор) → 🟡 семантическая (sub-agent). 🟢 пилот не делается агентом.

Переменные окружения:

  • IWE_ROOT — корень рабочей директории (default: $HOME/IWE). Используется для путей к Pack и DS-principles-curriculum.

Hotfix-исключение: если последний коммит содержит [hotfix] в message — запускается только 🔴, без 🟡 (см. CHECKLIST-subsection-v1.md §«Правило»).

Auxiliary-режим: если frontmatter подраздела содержит format_version: 4.1-aux — это auxiliary-подраздел (.08-concepts, .09-exercises, .10-review-questions, .11-section-conclusions). Применяется упрощённая проверка: только 🔴 B (минимальный frontmatter: subsection_id, title, order) + 🟡 проверка типа содержимого (concepts = сводка, exercises = практики, review = вопросы, conclusions = выводы). Полный G-L НЕ применяется (auxiliary не вводит понятий, не имеет цепочки мем→метод→мировоззрение).

  • Этап 🔴 (оркестратор, локально):

    IWE_ROOT="${IWE_ROOT:-$HOME/IWE}"
    cd "$IWE_ROOT/DS-principles-curriculum"
    PACK_FORM_089="$IWE_ROOT/PACK-personal/pack/personal-development/02-domain-entities/formalizations/PD.FORM.089-learner-rcs.md"
    # 1. Структура (A.1-A.11) + контракт Портного (B.1-B.9)
    python3 tools/v4-lint.py porter <subsection.md>
    # 2. Кросс-руководная согласованность
    python3 tools/v4-lint.py cross-guide specs/v4-reference/
    # 3. Pack-drift (cp/bh)
    python3 tools/v4-lint.py pack-drift specs/v4-reference/ --pack "$PACK_FORM_089"
    # 4. Граф понятий
    python3 tools/v4-lint.py graph build specs/v4-reference/ --out-json /tmp/graph.json
    # 5. Блок F (Git-целостность + F.4 формат степеней) — вне v4-lint:
    git -C "$IWE_ROOT/DS-principles-curriculum" status --porcelain specs/v4-reference/   # F.1 чисто
    grep -l "$(basename <subsection.md>)" "$IWE_ROOT/aisystant/docs" 2>/dev/null || \
      echo "F.3 WARN: файл может быть не в правильном репо"
    # F.4 (формат «Степени мастерства» — таблица, не список) проверяется вручную или в 🟡
    
    • Любой FAIL → verdict FAIL с диагностикой из stderr, sub-agent НЕ запускается
    • Все PASS → перейти к 🟡
  • Этап 🟡 (два специализированных sub-agent, Opus, context isolation) — WP-322 Ф14:

    Разделение на два субагента: смешанный промпт снижает качество обеих веток. FPF-агент видит только FPF; педагог-агент видит только педагогику.

    Пропустить auxiliary: если format_version: 4.1-aux — Этап 🟡 заменяется упрощённой проверкой типа содержимого.

    Порядок: FPF → педагог (FPF-нарушения часто блокируют педагогическую оценку).

    Sub-agent 1 — verify-fpf (промпт: verify-fpf-subsection.md):

    • Вход: файл подраздела
    • Промпт: .claude/skills/verify/verify-fpf-subsection.md
    • Модель: Opus
    • Проверяет: G (границы понятий, A.6), H (нарратив мем→метод→мировоззрение), L (Pack-согласованность), border-objects
    • Если FPF-Verdict = FAIL → остановиться, вернуть FAIL автору, Sub-agent 2 не запускать

    Sub-agent 2 — verify-pedagogy (промпт: verify-pedagogy-subsection.md):

    • Вход: файл подраздела
    • Промпт: .claude/skills/verify/verify-pedagogy-subsection.md
    • Модель: Opus
    • Проверяет: I (дуга по ступени, нет дидактических запрещённых слов), J (практика и время), K (аналогия), transfer test
  • Итоговый Verdict (агрегированный):

    • PASS = FPF-PASS + Педагог-PASS → готов к 🟢 пилот-тесту (вывести шаблон issue pilot-feedback.yml)
    • CONDITIONAL = любой CONDITIONAL без FAIL → можно к 🟢 с оговорками
    • FAIL = любой FAIL → диагностика автору с разбивкой по блокам

Для section (раздел руководства S, WP-322 Ф0.10):

Предусловие: ВСЕ подразделы раздела уже прошли verify subsection (🔴+🟡 PASS). Если нет — остановиться, попросить сначала закрыть SS.

Hotfix-исключение: если последний коммит содержит [hotfix] в message И затронут только один SS — запускается verify subsection для этого SS, без полного verify section.

  • Этап 🔴 (оркестратор):

    IWE_ROOT="${IWE_ROOT:-$HOME/IWE}"
    cd "$IWE_ROOT/DS-principles-curriculum"
    # 1. Структурная полнота раздела (A.1-A.4, B.1-B.3, C.1-C.2)
    python3 tools/v4-lint.py section --id <section-id> specs/v4-reference/
    # 2. Связность prerequisites внутри раздела (отдельная проверка B.1-B.3, дублирует часть section)
    python3 tools/v4-lint.py prerequisites-graph --scope section --id <section-id> specs/v4-reference/
    
    • Любой FAIL → verdict FAIL
    • PASS → перейти к 🟡
  • Этап 🟡 (sub-agent, Opus, context isolation):

    • Прочитать: ВСЕ SS раздела (в порядке оглавления) + frontmatter раздела + CHECKLIST-section-v1.md §🟡 (D-H)
    • Объём: типично 5-12 SS × 0.5-1.5K слов = 3-20K слов
    • Передать sub-agent'у промпт: все SS подряд + frontmatter + чек-лист §D-H
    • Модель: Opus — по эталону CHECKLIST-section-v1.md §🟡 («Claude Opus, context isolation»). Sonnet справляется по объёму, но связность нарратива и согласованность метафор раздела требуют глубокого анализа — Opus.
    • Чеклист D-H (5 блоков по 3-4 пункта):
      • D. Нарративная связность подразделов (логический переход, нет «висящих» SS, нет повторов)
      • E. Дуга по ступеням внутри раздела (stage_relevant согласован, тональность, сложность нарастает)
      • F. Охват темы (обещанное раскрыто, нет «дыры» в зоне раздела, нет «лишнего»)
      • G. Аналогии в разделе (согласованность сквозных метафор, нет конкурирующих)
      • H. Связь с другими разделами (ссылки корректны, нет противоречий)
    • Sub-agent для каждого пункта: PASS/FAIL + конкретные SS-ссылки
  • Verdict: PASS = 🔴+🟡 PASS → готов к 🟢 пилот-тесту раздела (≥3 пилота × 6/6). FAIL = диагностика по конкретным SS.

Для guide (руководство целиком, WP-322 Ф0.10):

Предусловие: ВСЕ разделы руководства уже прошли verify section. Если нет — остановиться. Это самый дорогой тип проверки — Opus, объём 20-100K слов.

Hotfix-исключение: при [hotfix] в коммите — только verify subsection затронутых файлов; полный verify guide не запускается. Полный запуск guide — ежеквартально (content-аудит) или при релизе нового руководства.

  • Этап 🔴 (оркестратор):

    IWE_ROOT="${IWE_ROOT:-$HOME/IWE}"
    cd "$IWE_ROOT/DS-principles-curriculum"
    PACK_FORM_089="$IWE_ROOT/PACK-personal/pack/personal-development/02-domain-entities/formalizations/PD.FORM.089-learner-rcs.md"
    GUIDE_ID="<guide-id>"   # PD.GUIDE.<N> или N (1-4)
    # 1. Структурная полнота руководства (A.1-A.5, B.1-B.4, C.1-C.3)
    python3 tools/v4-lint.py guide --id "$GUIDE_ID" --pack "$PACK_FORM_089" specs/v4-reference/
    # 2. Кросс-руководная согласованность (внутри guide + между guides)
    python3 tools/v4-lint.py cross-guide --scope guide --id "$GUIDE_ID" specs/v4-reference/
    # 3. Граф понятий руководства
    python3 tools/v4-lint.py graph build --scope guide --id "$GUIDE_ID" --out-json /tmp/guide-graph.json specs/v4-reference/
    # 4. Pack-drift на масштабе руководства (если не прошло через cmd_guide --pack)
    python3 tools/v4-lint.py pack-drift --scope guide --id "$GUIDE_ID" --pack "$PACK_FORM_089" specs/v4-reference/
    
    • Любой FAIL → verdict FAIL
    • PASS → перейти к 🟡
  • Этап 🟡 (sub-agent, Opus, context isolation):

    • Прочитать: ВСЕ S/SS руководства + структуру (structure-guide-N.md) + README + CHECKLIST-guide-v1.md §🟡 (E-I) + frontmatter руководства
    • Объём: типично 4-8 разделов × 5-12 SS × 0.5-1.5K слов = 20-100K слов — нужен Opus с большим контекстом
    • Стратегия для большого объёма (20-100K слов):
      • Если объём ≤ 30K слов — передать всё руководство одним промптом Opus с extended thinking
      • Если объём > 30K — батчинг: sub-agent читает разделы по 2-3 за раз, аккумулирует findings, в финале — meta-pass на согласованность дуги (E-I критерии требуют видения всего руководства)
      • Альтернатива: разделить guide-чек-лист на «целостность объекта + дуга» (E, F — требуют целостного видения, один проход) и «охват + связность + эпилог» (G, H, I — можно по частям)
    • Передать sub-agent'у промпт: руководство целиком + структура + чек-лист §E-I
    • Модель: Opus (объём + глубина анализа мировоззренческого сдвига)
    • Чеклист E-I (5 блоков по 3-4 пункта):
      • E. Целостность объекта (с первого раздела ясно, не подменяется, границы соблюдены)
      • F. Дуга нарратива (прогрессия 1-2 → 3-5, нет «прыжков», мировоззренческий сдвиг отчётлив, тональность согласована)
      • G. Охват узлов мастерства (cp/bh-измерения покрыты, нет «дыр» по ступеням, bottleneck-узлы помечены)
      • H. Связность с другими руководствами (cross-references, нет дублирования, точки сопряжения объяснены)
      • I. Эпилог и навигация (эпилог есть, связь со ступенями, README с картой)
    • Sub-agent для каждого пункта: PASS/FAIL + конкретные S/SS-ссылки
  • Verdict: PASS = 🔴+🟡 PASS → готов к 🟢 пилот-тесту руководства (≥3 пилота × 6/6, типично 2-4 недели). FAIL = диагностика по конкретным S/SS.

Шаг 2. Sub-agent: промпт

Sub-agent получает промпт с заполненными данными из шага 1.

⛔ Sub-agent НЕ получает:

  • Историю обсуждения текущей сессии
  • Задание создателя
  • Промежуточные рассуждения

Для code, capture, wp, archgate — определить эталон:

Тип артефактаЭталон
Pack-сущностьSPF pack-template + доменные принципы Pack
Описание методаSPF process/07 + Pack
Код (DS)CLAUDE.md репо + Pack-описания сервисов
Архитектурное решениеDP.ARCH.001 §7 (→ используй /archgate вместо /verify)
План (WeekPlan/DayPlan)Протоколы Open/Close
Подраздел руководства (SS)DS-principles-curriculum/specs/v4-reference/CHECKLIST-subsection-v1.md (v1.2+)
Раздел руководства (S)DS-principles-curriculum/specs/v4-reference/CHECKLIST-section-v1.md
Руководство целикомDS-principles-curriculum/specs/v4-reference/CHECKLIST-guide-v1.md

Если эталон не определяется → СТОП. Сообщи: «Эталон не найден. Нужен рецензент, не верификатор.»

Для chain, adversarial — эталон = сам код (downstream consumers, scope analysis). Чеклисты встроены в шаг 1.

Шаг 3. Verdict

Sub-agent возвращает verdict:

## Verdict: [PASS / FAIL / CONDITIONAL]

**Контекст:** [тип проверки]
**Артефакт:** [что проверялось]
**Эталон:** [по чему проверялось]

### Несоответствия

| # | Severity | Файл | Строка | Что | Почему (reasoning) | Эталон |
|---|----------|------|--------|-----|-------------------|--------|
| 1 | критический / высокий / средний / низкий | path | N | описание | почему проблема | принцип/правило |

### Сводка

- **Критических:** N
- **Высоких:** N
- **Средних:** N
- **Низких:** N

### Рекомендация

[1-3 предложения]

Правила verdict:

  • PASS: 0 критических, 0 высоких
  • CONDITIONAL: 0 критических, ≥1 высоких
  • FAIL: ≥1 критических

Шаг 4. Показать пользователю

Вывести verdict. Пользователь решает:

  • Принять → продолжить работу
  • Исправить → внести изменения по рекомендациям
  • Отклонить verdict → аргументировать почему (→ feedback для обучения)
<!-- USER-SPACE --> <!-- /USER-SPACE -->

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.