obsidian-ingest · git:20260809.e38cc46 · 2026-08-09 · sha256 5318696fdf3bacea

obsidian-ingest git:20260809.e38cc46A

Immutable. This exact content never changes and is served at /api/v1/blob/5318696fdf3bacea.

---
name: obsidian-ingest
description: >
  Обрабатывает произвольный markdown-файл (статья, вебклип, транскрипт, конспект, черновая
  заметка) и превращает его в структурированные знания для Obsidian-базы по методологии PARA.
  Скилл выделяет атомарные сущности (концепты, инсайты, факты), придумывает логичные названия
  заметкам, создаёт литературную заметку-источник, выстраивает wikilinks и frontmatter.
  Используй этот скилл всегда, когда пользователь хочет «добавить в базу знаний», «переработать
  статью», «обработать конспект», «выжать знания из текста», «ингестировать», «положить в
  vault», «положить в базу» или приносит markdown-файл для сохранения в Obsidian.
---

# obsidian-ingest — Ингест знаний в Obsidian-vault

Этот скилл — координатор пайплайна ингеста. Твоя задача: взять один markdown-файл, понять,
какие знания в нём скрыты, решить, как их лучше представить в базе, и создать нужные файлы.
Форматирование, frontmatter и обогащение ссылками ты делаешь сам — это неотъемлемая часть ингеста.

Перед началом работы прочитай правила хранилища:
- `AGENTS.md` — общие принципы работы с базой
- `.agents/rules/note-types-frontmatter.md` — шаблоны и поля frontmatter
- `.agents/rules/knowledge-structures.md` — атомарные заметки, MOC, синтезы
- `.agents/rules/content-style.md` — язык, стиль, wikilinks
- `.agents/rules/tags.md` — таксономия тегов

---

## Шаг 1. Прочитай и пойми источник

Прочитай входной файл целиком. Определи:

- **Тип контента**: статья / вебклип, транскрипт, конспект встречи, черновая заметка, произвольный markdown
- **Главная тема**: одна фраза, о чём этот текст
- **Домен**: к каким тегам относится (sre, kubernetes, observability, career, concept, и т.д.)
- **Уровень достоверности**: `medium` если источник один, `high` если ты видишь, что идея многократно подтверждается

---

## Шаг 2. Извлеки сущности (knowledge extraction)

Типы:

- **Концепты и модели** — абстрактные идеи, фреймворки, паттерны мышления
- **Инсайты** — нетривиальные выводы, не очевидные из заголовка
- **Факты** — конкретные утверждения, данные, цифры
- **Практики** — «как делать», процессы, техники

Критерии атомарности — `knowledge-structures.md` (раздел «Когда выделять раздел в отдельную заметку»). Типичный результат: 3–8 сущностей из одного источника.

---

## Шаг 3. Придумай названия заметок

Стиль (claim-based, не topic-based) и запрещённые символы — `file-naming.md`.

Перед именованием — `rg -l "<ключевое слово>"` по хранилищу. Если похожая заметка есть, план включает обновление существующей, а не создание новой.

---

## Шаг 4. Составь план ингеста

Протокол план → подтверждение → действие — `workflows.md`. Формат плана:

```
📄 Литературная заметка: «Название источника» → 03. Ресурсы/03. Литературные заметки/
   Тема: ...

📝 Новые атомарные заметки:
   1. «Название заметки А» → 03. Ресурсы/04. Заметки/
      Суть: одно предложение
   2. «Название заметки Б» → 03. Ресурсы/04. Заметки/
      Суть: одно предложение

🔄 Обновить существующие заметки:
   - [[Существующая заметка]] — добавить источник в sources, уточнить ...
   - [[Другая заметка]] — добавить wikilink на литературную заметку

🗺 MOC (если нужен):
   - [[MOC по теме]] — добавить новые заметки в список
```

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

---

## Шаг 5. Создай файлы

После подтверждения плана создавай файлы в следующем порядке:

### 5а. Литературная заметка

Создай в `03. Ресурсы/03. Литературные заметки/` по шаблону:

```markdown
---
aliases: []
tags:
  - literature-note
up: []
links:
  - "URL источника (если есть)"
sources:
  - "Название и автор источника"
confidence: medium
---

## О чём

2–3 предложения: что это за текст и зачем его читать.

## Ключевые идеи

- [[Атомарная заметка А]] — одно предложение о чём
- [[Атомарная заметка Б]] — одно предложение о чём

## Цитаты и фрагменты

> Важная цитата или фрагмент, который хочется сохранить дословно

## Вопросы и следующие шаги

- Что осталось непонятным?
- Что стоит изучить дальше?
```

### 5б. Атомарные заметки

Для каждой сущности из плана создай заметку в `03. Ресурсы/04. Заметки/`:

```markdown
---
aliases: []
tags:
  - thought
up:
  - "[[Литературная заметка — источник]]"
links: []
sources:
  - "Название источника"
confidence: medium
other: []
---

## Суть

1–3 абзаца своими словами. Не копируй дословно из источника — переформулируй.
Пиши так, чтобы через год было понятно без открытия источника.

## Контекст

Откуда пришла эта идея, в каком контексте она возникла.

## Связанные идеи

- [[Другая заметка]] — почему связана
```

### 5в. Обнови существующие заметки

Для каждой заметки из плана:
- Добавь новый источник в поле `sources`
- Добавь wikilink на новую атомарную заметку или литературную заметку
- Если информация расширяет или уточняет — добавь абзац с ссылкой на источник
- Если противоречит — добавь callout:
  ```
  > [!warning] Противоречие: эта идея расходится с [[Новая заметка]]
  ```

### 5г. Обнови wiki-log.md

Добавь запись в `_Система/wiki-log.md`:
```
- [[YYYY-MM-DD]] Ингест: «Название источника» → N заметок создано, M обновлено
```

---

## Шаг 6. Финальный отчёт

После создания файлов дай краткий отчёт:

```
✅ Создано:
- [[Литературная заметка]]
- [[Заметка А]]
- [[Заметка Б]]

🔄 Обновлено:
- [[Существующая заметка]] — добавлен источник

⚠️ Решения, которые стоит проверить:
- «Заметка В» — я не нашёл похожей в базе, создал новую. Возможно, у тебя уже есть что-то
  похожее под другим названием.
- confidence выставил medium — у темы один источник
```

---

## Правила, которые нельзя нарушать

- **Не удаляй исходный файл** — пользователь сам решит, что с ним делать
- **Не переписывай существующие заметки с нуля** — только дополняй
- **Не создавай «мёртвые» wikilinks** — ссылки только на реально существующие (или только
  что созданные) заметки
- **Не плоди теги** — используй существующую таксономию из `.agents/rules/tags.md`
- **Не добавляй фронтматтер-поля, которых нет в шаблонах** — соблюдай консистентность
- **Сохраняй авторский голос**: если в источнике живой разговорный текст — не превращай
  заметки в сухую документацию
- **Поле `sources` никогда не очищай** — только добавляй новые источники

---

## Справка по размещению заметок в PARA

| Тип | Папка |
|-----|-------|
| Литературная заметка (статья, книга, транскрипт) | `03. Ресурсы/03. Литературные заметки/` |
| Атомарная мысль / концепт / инсайт | `03. Ресурсы/04. Заметки/` |
| MOC / карта / синтез | `03. Ресурсы/07. Карты/` |
| Если тема явно связана с проектом | `01. Проекты/[название проекта]/` |