# Obsidian Note Critic

> Критический анализ заметки — поиск похожих и противоположных тем в базе, выявление противоречий, критика аргументации и полноты. Триггеры: «покритикуй заметку», «найди противоречия», «peer review», «что я упустил», «чего не хватает», «найди дыры».

- Skill: `jtprogru/obsidian-note-critic` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add jtprogru/obsidian-note-critic`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jtprogru/obsidian-note-critic/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jtprogru (https://skillmd.com/u/jtprogru)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jtprogru/obsidian-note-critic

---


<!-- СГЕНЕРИРОВАНО bin/mirror.js. Не редактировать: правки затрёт следующая генерация.
     Источник правды — domains/<домен>/. -->

## Обзор

Скилл анализирует заметку по четырём осям:

1. **Похожие знания** — что уже есть в базе по этой теме
2. **Противоположные взгляды** — альтернативные подходы, конкурирующие идеи
3. **Противоречия** — где заметка расходится с существующими знаниями
4. **Аргументированная критика** — слабые места в логике, формулировках, полноте охвата

**Корневая папка хранилища:** `~/Library/Mobile Documents/iCloud~md~obsidian/Documents/SecondBrain/`
**Язык вывода:** Русский, технические термины на английском.

---

## Алгоритм

### 1. Прочти заметку

Прочитай полное содержимое. Зафикси для себя:

- **Главный тезис** — что утверждается или описывается (одна фраза)
- **Ключевые утверждения** — 3–7 конкретных заявлений из текста
- **Домен** — область знаний (SRE, DevOps, карьера, менеджмент и т.д.)
- **Источники** — есть ли поле `sources`, `links`, цитаты или это сугубо личное мнение
- **Уверенность** — поле `confidence`, если есть

### 2. Поиск похожих тем

Используй `mcp__obsidian-hybrid-search__myvault_search` с несколькими формулировками, чтобы поймать разные углы одной темы. Хорошая практика — дать три запроса: русский, английский, и один «от противного» (что это НЕ такое или чем оно отличается).

`queries`: [главный тезис, ключевая концепция, английский эквивалент]. Параметры гибридного поиска — см. CLAUDE.md.

Пропусти саму анализируемую заметку (обычно rank 1). Собери наиболее релевантные результаты.

### 3. Поиск противоположных взглядов

Сформулируй запросы, которые ловят альтернативные подходы или критику: `queries`: ["альтернатива [тезис]", "критика [подход]", "против [концепция]", "недостатки [метод]"]. Параметры гибридного поиска — см. CLAUDE.md; threshold здесь имеет смысл брать ниже обычного — противоположные темы дальше по смыслу.

Также: если заметка про практику X — поищи «когда X не работает», «ограничения X», «X vs Y».

### 4. Анализ противоречий

Сравни содержимое заметки с найденными похожими заметками. Ищи:

- **Прямые противоречия** — заметка A утверждает X, заметка B утверждает не-X
- **Терминологические расхождения** — одно понятие называется по-разному, что создаёт путаницу
- **Контекстные конфликты** — утверждение верно в одном контексте, ошибочно в другом
- **Устаревшие знания** — более поздняя заметка обновляет или отменяет эту

Для каждого противоречия: процитируй конкретные формулировки из обеих заметок. Без конкретики — это не противоречие, а догадка.

### 5. Аргументированная критика

Оцени заметку по трём направлениям. Каждый критический тезис — одно предложение-претензия + одно предложение-обоснование. Опционально: рекомендация.

**Тон:** конкретный, аргументированный, уважительный. Критика — про заметку, не про автора.

#### Аргументация

- Тезис ничем не подкреплён → указать, что нужен источник или пример из личного опыта
- Единственный источник при `confidence: high` → риск confirmation bias
- Круговая логика (A потому что B, B потому что A)
- Обобщение без примеров («всегда», «никогда», «все» — без доказательств)
- Причинно-следственная связь подменяет корреляцию

#### Формулировки

- Размытые понятия без определения («эффективность», «качество» — чего именно, как измерить?)
- Пассивный залог, скрывающий субъект («считается», «принято», «известно» — кем?)
- Смешение описания факта и личного мнения в одном предложении

#### Полнота охвата

- Очевидные аспекты темы, которые не упомянуты
- Граничные случаи или исключения, которые могут опровергать тезис
- Связанные темы, которые стоило бы рассмотреть или упомянуть

#### Плотность

Проверяется только на заметках с `ai_generated: true` — авторский текст под правило `note-density.md` не подпадает.

- Абзац, переформулирующий `summary` или уже написанное в заметке из `up`/`sources` → заменить на ссылку
- Пункты, которые можно переставить местами без потери смысла → одна мысль, размазанная на три
- Пустая секция шаблона, вводный абзац, закругляющий финал
- Тело сильно длиннее авторской нормы → чаще всего две мысли: кандидат в `obsidian-split-note`, а не в сокращение

Механическая часть: `python3 .agents/scripts/check_note_density.py "<путь к заметке>"`.

#### Frontmatter

Отсутствующий или устаревший `summary` у знаниевой заметки — пункт «К доработке» по политике `summary` в `note-types-frontmatter.md`.

---

## Формат вывода

Пиши только то, что реально нашлось. Минимальных нормативов объёма нет: одна находка — нормальное ревью, ноль находок — честный ответ «критики нет», а не натянутые претензии.

### Когда делать короткое ревью → callout в заметке

Выбирай этот формат, если все находки умещаются в 1–2 предложения каждая и нет противоречий, требующих разбора с цитатами.

Добавь **в конец** анализируемой заметки:

```markdown
> [!note] Ревью
> **Похожие заметки:** [[Заметка 1]], [[Заметка 2]]
> **Противоречие:** [[Другая заметка]] утверждает X, здесь — Y; возможно, разный контекст.
> **К доработке:** Тезис не подкреплён источниками — добавить `sources`.
```

Строки «Похожие заметки» и «Противоречие» — опциональны, добавляй только если есть что сказать.

### Когда делать длинное ревью → отдельная заметка во входящих

Выбирай этот формат, если хотя бы одно из условий:

- Есть противоречие, требующее разбора с цитатами
- Нужно сравнить несколько альтернативных позиций
- Находки не умещаются в компактный callout

Создай файл `00. Входящие/Ревью — [Название заметки].md`. Секции шаблона, по которым находок нет, пропускай целиком — пустые заголовки не оставляй (`note-density.md`); каждый пункт — находка со ссылкой, а не рассуждение вокруг неё. После создания прогони `python3 .agents/scripts/check_note_density.py "00. Входящие"` и поправь находки.

```markdown
---
aliases: []
tags:
  - review
up:
  - "[[Название анализируемой заметки]]"
down: []
links: []
other: []
ai_generated: true
---

## Похожие заметки

- [[Заметка 1]] — чем релевантна, что добавляет к теме
- [[Заметка 2]] — чем релевантна

## Противоположные взгляды

- [[Заметка 3]] — в чём именно альтернатива

## Противоречия

> [!warning] [[Заметка X]] vs эта заметка
> **Там:** «точная цитата»
> **Здесь:** «точная цитата»
> Возможное разрешение: контекст разный / одно устарело / нужен синтез

## Критика

### Аргументация

- Претензия. Обоснование. Рекомендация.

### Формулировки

- Претензия. Обоснование.

### Полнота охвата

- Что не охвачено и почему это важно.

## Следующие шаги

- [ ] Добавить источник для тезиса X
- [ ] Сверить с [[Конфликтующей заметкой]]
- [ ] Рассмотреть аспект Y
```

После создания — сообщи пользователю путь к файлу.

---

## Режим валидации: закрыть ревью

Используй этот режим когда пользователь говорит «проверь что сделано», «закрой ревью», «валидировать изменения», «что из ревью уже применено», «обнови чеклист».

### Алгоритм валидации

#### 1. Найди ревью-заметку

Ревью-заметка лежит в `00. Входящие/Ревью — [Название заметки].md`. Если пользователь не указал название — найди по backlink или спроси.

Если ревью-заметки нет — сообщи об этом и предложи сначала запустить критику.

#### 2. Прочти обе заметки

Прочитай актуальное содержимое оригинальной заметки и ревью-заметки. Зафикси список пунктов из раздела `## Следующие шаги`.

#### 3. Проверь каждый пункт

Для каждого пункта чеклиста определи статус:

| Статус | Критерий |
|--------|----------|
| ✅ Выполнено | Изменение явно присутствует в оригинальной заметке |
| ⚠️ Частично | Изменение есть, но не полностью (например, добавлен `confidence`, но не добавлен источник) |
| ❌ Не сделано | Оригинальная заметка не изменилась в этом аспекте |

Будь конкретным: если пункт «добавить `confidence: medium`» — проверь поле frontmatter. Если «добавить ссылку на [[X]]» — проверь наличие этой ссылки в `other` или тексте.

#### 4. Обнови чеклист в ревью-заметке

Замени строки `## Следующие шаги` в ревью-заметке на обновлённый вариант:

```markdown
## Следующие шаги

- [x] Выполненный пункт — применено ✅
- [-] Частично выполненный пункт — уточни: X сделано, Y ещё нет ⚠️
- [ ] Невыполненный пункт ❌
```

#### 5. Прими решение о закрытии

**Всё выполнено** (нет ни одного `[ ]` или `[-]`):
- Удали ревью-заметку из `00. Входящие/`
- Сообщи: «Все пункты закрыты, ревью-заметка удалена.»

**Выполнено частично** (есть выполненные и невыполненные):
- Оставь ревью-заметку в inbox с обновлённым чеклистом
- Сообщи сводку: сколько закрыто, сколько осталось, что именно осталось

**Ничего не выполнено**:
- Не меняй ревью-заметку
- Сообщи об этом прямо и предложи помочь применить изменения

---

## Ограничения

- Не редактируй основное тело заметки, кроме добавления callout в конце
- Не удаляй и не меняй существующие теги, связи и frontmatter
- Не добавляй wikilinks на несуществующие заметки
- Если похожих заметок нет (всё ниже threshold 0.25) — честно скажи об этом, не выдумывай связи
- Если противоречий нет — не ищи их искусственно
- В режиме валидации не переписывай критику — только обновляй чеклист и принимай решение о закрытии

