obsidian-daily-append
Добавляет данные в ежедневную заметку текущего дня. Структура заметки нетривиальная — нельзя просто аппендить в конец файла, нужно роутить по разделам и сохранять стиль. Семантика хранилища, тегов и frontmatter — см. .agents/rules/.
Когда НЕ использовать: полноценная атомарная заметка — obsidian-ingest; ревью недели/месяца — obsidian-journal-review; запись про прошедший/будущий день — вручную; разбор большой заметки — obsidian-ingest / obsidian-split-note.
Алгоритм
1. Путь и существование файла
Путь: 05. Дневник/YYYY/MM/YYYY-MM-DD.md, дата — сегодняшняя (currentDate в системном контексте). Не пиши в прошедшие/будущие дни без явного запроса.
Если файл существует → шаг 2. Если нет → спроси: «Заметки на сегодня (YYYY-MM-DD.md) ещё нет. Создать её по шаблону и добавить туда данные?» После «да» — создай по разделу «Создание новой заметки» ниже, затем шаг 2.
2. Определи тип данных
| Тип | Признаки | Целевой раздел |
|---|---|---|
| Быстрая мысль / наблюдение | Короткая идея, инсайт без глубокого разбора, эмоция | ### Мысли вслух |
| Событие / факт дня | «Принял таблетку», «встретил X», «получил письмо» | ### Мысли вслух (по умолчанию) или отдельный блок, если крупное |
| Встреча / созвон | Участник, формат (1:1, синк, демо) | ### Встреча с [[@nick (Имя)]] или ### 1:1 с … |
| Ссылка на новую атомарную заметку | «Оформил мысль», «вынес в заметку», даёт wikilink | ### Заметка дня |
| Разбор / узел / инсайт | «Разобрал узел», глубокая саморефлексия | ### Узел №N — <тема> (N — следующий по счёту) |
| TODO / решение | «Не забыть», «надо сделать», «решил, что…» | callout > [!todo] под подходящим разделом или в ### Открытые узлы — что дальше |
3. Уточняющие вопросы — только при реальной неясности
Задавай уточняющий вопрос только когда тип записи или место вставки реально неясны; если всё ясно — вставляй молча. Если запрос можно разнести по 2+ типам — один вопрос с вариантами лучше неправильной вставки. Максимум два вопроса; короткие и конкретные, не «расскажи поподробнее».
Что имеет смысл спросить, когда чего-то не хватает: связь (проект/MOC/человек wikilink-ом), контекст мысли; для встречи — с кем именно и итог одной строкой; для атомарной — wikilink и краткая аннотация «почему важна сегодня»; для узла — главный сдвиг рамки и связанные заметки; для TODO — срок и к какому проекту/узлу относится. Если что-то уже дано в запросе — не переспрашивай.
4. Сформируй фрагмент
Стиль — по content-style.md: русский, личный тон, без «вы», wikilinks на людей/проекты/MOC, имена людей [[@nick (Имя Фамилия)]], callout-ы > [!todo] / > [!info] / > [!warning] где уместно.
Шаблоны фрагментов:
Мысль / событие:
<1–3 предложения от первого лица или безлично, с wikilinks где уместно>
Встреча:
#### Встреча с [[@nick (Имя)]]
<1–3 предложения: контекст, итог, связанные темы через wikilinks>
Ссылка на атомарную:
Оформил мысль: [[Название атомарной заметки]] — <краткая аннотация, почему важна сегодня>.
Узел разбора:
#### Узел №N — <короткая тема>
Заметка: [[Название атомарной заметки]] (если есть)
<2–4 предложения: главный сдвиг рамки, ключевая находка, связь с другими узлами>
TODO (контекст опционален — однострочный TODO это норма):
> [!todo] **<срок>** — <конкретное действие>.
5. Вставь в нужный раздел
Дневник читается сверху вниз как календарь: что записано раньше — выше. Новая запись всегда идёт ниже существующих и никогда не вклинивается между ними.
Раздел есть. Найди последний непустой блок раздела — абзац, пункт списка, callout, вложенный ####-блок — и добавь фрагмент через пустую строку после него, до следующего заголовка того же или более высокого уровня. Завершающий > [!todo] не якорь конца раздела: новый фрагмент встаёт после него.
old_string для Edit бери по последней строке существующего блока, а не по заголовку раздела — вставка «сразу после заголовка» и есть та самая запись в начало.
# было # стало
### Мысли вслух ### Мысли вслух
<утренний абзац> <утренний абзац>
<новый фрагмент>
Раздела нет. Создай его в конце ## Дневник — после последнего существующего раздела, перед следующим ##-заголовком или в конце файла. Порядок разделов в заметке равен порядку их появления за день; фиксированного канонического порядка у daily нет. Не двигай уже существующие разделы ради «приведения к правильному виду».
Раздел единственный. Перед созданием — grep -n "^### <название>" "<путь>". Нашлось — пиши в существующий, дубль не заводи.
Хронология держится на уровне записей внутри раздела и на уровне появления разделов. Если «Заметка дня» завелась днём, а вечером пришла новая мысль, она уйдёт в «Мысли вслух» выше «Заметки дня» — это нормально: раздел это тема, а не время.
Используй Edit, не Write — никогда не перезаписывай файл целиком.
6. Покажи план до вставки
Перед Edit — короткий план (файл, тип, раздел, preview фрагмента) и подтверждение. Исключение: пользователь в текущем запросе явно сказал «без подтверждения», «делай сразу» — тогда сразу вставка; на прошлые сессии исключение не распространяется.
7. Отчитайся
Кратко: что добавлено, в какой раздел, какие связи. Если мысль глубокая и тянет на атомарку — предложи obsidian-ingest отдельно.
Создание новой заметки
Шапку руками не собирай — дёргай тот же шаблон, который Obsidian применяет при создании ежедневной заметки: _Система/1. Шаблоны/Ежедневная заметка.md (он же прописан в periodic-notes → daily.template). Навигационные wikilinks считает Templater из имени файла, поэтому расхождения между скиллом и шаблоном не возникает — правится шаблон, скилл ничего не знает о его содержимом.
mkdir -p "05. Дневник/<YYYY>/<MM>"
obsidian templater:create-from-template \
template="_Система/1. Шаблоны/Ежедневная заметка.md" \
file="05. Дневник/<YYYY>/<MM>/<YYYY-MM-DD>.md"
Успех — команда печатает путь созданного файла. Три правила вокруг вызова:
- Проверь существование файла до вызова. Команда не перезаписывает и не отказывает — она молча создаёт дубль
<YYYY-MM-DD> 1.md. Файл на месте → сразу шаг 2 алгоритма. - Свежесозданная папка не видна Obsidian с первого раза. После
mkdir -pпервый вызов падает сError: Failed to create note from template; повтори его один раз, второй проходит. Два провала подряд — проблема не в папке, иди в fallback. - Нужен запущенный Obsidian. Не запущен, CLI молчит, Templater выключен — fallback ниже, и скажи об этом в отчёте.
После создания — продолжи с шага 2 алгоритма.
Fallback: шапка руками
Только когда CLI недоступен. Блок ниже — копия шаблона на момент написания скилла, он может разойтись с актуальным; при первой возможности пересоздай заметку через Templater.
---
tags:
- journal/daily
aliases: []
---
**< [[<вчера-YYYY-MM-DD>|Вчера]] | [[<YYYY-Www>|Неделя]] | [[<YYYY-MMM>|Месяц]] | [[<завтра-YYYY-MM-DD>|Завтра]] >**
## Дневник
> [!info] Записывай не только рабочие мысли, но и свои собственные
Расчёт wikilinks навигации:
- Вчера:
<сегодня - 1 день>в форматеYYYY-MM-DD - Неделя:
YYYY-Www, гдеww— ISO-номер недели сегодняшней даты с ведущим нулём (например,2026-W19) - Месяц:
YYYY-MMM, гдеMMM—M+ двузначный номер месяца (например,2026-M05) - Завтра:
<сегодня + 1 день>в форматеYYYY-MM-DD
date -v-1d +%Y-%m-%d # вчера (BSD/macOS)
date -v+1d +%Y-%m-%d # завтра
date +%Y-W%V # ISO-неделя (формат W##)
date +%Y-M%m # месяц