agentleFS
jtprogrujtprogru/bear-skills/skills/vault-tasks/SKILL.md

vault-tasks

Skill1 starsChanged 3 months agoMITView on GitHub

Правила ведения задач в Obsidian на плагине Tasks: задача — строка-чекбокс с меткой `#task`, область `#area/*`, тип работы `#task/*`, приоритет ⏫/🔼, даты ⏳ 📅 🛫 ➕, статусы `[/]` `[?]` `[-]`, порядок элементов и грабли парсера, захват в `## Инбокс` дневника, недельный разбор задач, tasks-запросы дашборда. Используй, когда создаёшь или правишь строку задачи в заметке, пишешь tasks-блок, и на «как я веду задачи», «разметка задачи», «настроить плагин Tasks». Формулировать задачи, разбирать их инбокс и ревизовать долгожителей — агент `obsidian-task-keeper`.

The file

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

Задачи на плагине Tasks

Задача в хранилище — строка-чекбокс внутри заметки: дневника, проекта, встречи. Отдельный файл под задачу не заводится никогда. Смысл правил приложение-агностичный (GTD, пережил Things 3 и Singularity), разметка привязана к плагину Tasks в эмодзи-формате.

Дашборд — карта 03. Ресурсы/07. Карты/Задачи.md. Её запросы и блоки задач в шаблонах — references/queries.md. Настройки плагина, двери захвата и соответствие старым тегам Things — references/setup.md.

Напоминания, привязанные ко времени и месту («позвонить, когда выйду»), живут в Apple Reminders: пушей по геозоне у Tasks нет, и задачей хранилища такое напоминание не становится.

Метка #task решает, задача ли это

В хранилище больше 550 открытых чекбоксов, и почти все — чеклисты: PRR-ревью, публикация на Хабре, критерии качества, роадмапы. Плагин считает задачей только строку с #task или любым #task/* — это его глобальный фильтр.

- [ ] Позвонить в автосервис #task          ← задача, попадёт в дашборд
- [ ] Нет имён компаний в тексте            ← пункт чеклиста, плагин его не видит
  • Создаёшь задачу — метка обязательна. Тип работы (#task/deep и остальные) метку заменяет, отдельный #task тогда не нужен.
  • Чекбокс без метки не трогаешь и метку ему не дописываешь, пока не убедился, что это задача: метка на пункте чеклиста замусоривает дашборд.
  • Переписал формулировку — проверь, что метка на месте. Забытая метка — единственный способ потерять задачу; страховка от этого — секция «Чекбоксы без метки» на дашборде.

Принципы

  • Inbox first. Новая задача падает в ## Инбокс дневника как есть, без области, приоритета и типа. Размечается на разборе, а не в момент записи: иначе захват перестаёт быть мгновенным и мысль теряется. Исключение — то, что автор назвал сам («это работа, срочно»).
  • Одна задача — одно конкретное действие. Направление или тема задачей не является: из них сначала выделяется первый шаг.
  • Дедлайн и дата выполнения — разные поля. Дедлайн только у объективно фиксированной даты, всё остальное — «когда планирую сделать».
  • Someday не помойка. Задача, попавшая туда второй раз, скорее всего не нужна: её отменяют, а не отправляют на третий заход.
  • Проект — когда шагов больше одного и они упорядочены. Одношаговое дело живёт прямо в области. У активного проекта всегда есть хотя бы одно следующее действие: проект без него мёртв, даже если выглядит живым.
  • Отмена — нормальный исход. Строка задачи не удаляется, а получает - [-]: текст и связи остаются в истории.

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

  • Первое слово — глагол в инфинитиве: «Позвонить», «Написать», «Собрать», «Выписать».
  • Одно действие, которое начинается почти без раздумий. Первый шаг вместо цели: не «Разобраться с мониторингом», а «Выписать метрики, которых не хватает на дашборде».
  • Размытые глаголы запрещены: разобраться, подумать, посмотреть, заняться, проработать, начать.
  • Не длиннее 90 знаков, без точки в конце. Считается текст задачи: разметка wikilinks, эмодзи и теги в лимит не входят.
  • Русский язык, технические термины английскими: SLO, Kubernetes, pod, PR, RBAC, on-call.
  • Объекты — wikilinks: Написать [[@ivanov (Иванов Иван)]] про фидбек на статью. Задача сама всплывёт в backlinks профиля перед встречей, тег-повестка не нужен. Ссылку ставишь только на существующий файл, иначе имя остаётся обычным текстом.
  • На задачу закладывается больше часа — постановка не понята. Первый шаг «прояснить», а не резерв времени; либо декомпозиция на несколько строк.
- [ ] Написать SLO для сервиса payments #task    ← задача
- [ ] Разобраться с мониторингом #task           ← направление, не задача

Момент, когда нет сил работать, но есть силы читать список, — лучшее время править формулировки, не дожидаясь обзора.

Разметка строки

Область обязательна: без неё строка висит в секции «Разобрать» дашборда.

ТегОбласть
#area/workРабота. Многошаговые инициативы — проектами с фазами
#area/familyСемья, быт, финансы, здоровье. Одношаговые дела, подпроектов нет намеренно
#area/eduУчёба МТИ: курсовые, экзамены, дедлайны семестра
#area/contentБлог и Telegram-канал одним пайплайном
#area/communityКомьюнити, выступления, переписка с докладчиками
#area/selfЛичное развитие, рефлексия, база знаний, рабочее окружение

Тип работы — если очевиден из формулировки. Он нужен не для отчётности, а чтобы подбирать задачу под состояние: в час между встречами берётся shallow, в защищённый утренний блок — deep.

ТегСмысл
#task/deepКонцентрация 45+ минут: статья, проектирование, учёба
#task/shallowВполглаза: ответить на письмо, оплатить счёт, посмотреть PR
#task/adminОрганизационное: запланировать встречу, завести тикет, обновить документ
#task/15mДо 15 минут, под окно между встречами
#task/somedaySomeday/Maybe: без дат, вне планирования, просматривается на недельном разборе

Приоритет — эмодзи Tasks, а не тег. Ставится только по сигналу автора.

РазметкаУровеньСколько в дне
⏫P1: критично, сделать сегодняОриентир три, пять — потолок
🔼P2: важно, желательно сегодня5–7
без эмодзиP3: хорошо бы, не критичноБез лимита

🔺 не используется: четвёртая градация обесценивает P1. Если всё P1 — ничто не P1. Пятая P1 появляется в дни, когда что-то горит, и это сигнал разгружать, а не привыкать. В дне не больше десяти задач; больше — снимаешь приоритет, а не надеешься успеть.

Даты:

  • ⏳ scheduled — когда планирую заняться. Основная дата.
  • 📅 due — только внешнее обязательство, названное автором: экзамен, сдача работы, конференция, чужой дедлайн. Ставится на 10–20% раньше реального: рутинной задаче жёстче, задаче с неизвестными мягче. Из головы не проставляется.
  • 🛫 start — задача бессмысленна раньше даты («после релиза», «после сессии»). До неё не мозолит глаза в фокусе дня.
  • ➕ created — плагин ставит её только в модалке Cmd+Shift+T. Raycast, iOS-шорткат и агент пишут строку мимо модалки, поэтому строке, которую создаёшь сам, ➕ сегодняшней датой ставишь руками: без неё сортировка по дате создания в срезах дашборда не работает. ❌ при отмене — руками по той же причине.

Статусы:

РазметкаСмысл
- [ ]Открыта
- [/]В работе. Больше двух одновременно — нарушение правила «одна задача в квант времени»
- [?]Жду ответа, мяч не на моей стороне
- [x]Сделана, ✅ с датой проставляется сама (Cmd+Enter)
- [-]Отменена осознанно

Порядок элементов и парсер

Плагин разбирает строку справа налево: снимает с конца распознанные куски — теги, даты, приоритет — в любом порядке, пока что-то совпадает. Поэтому обе формы ниже читаются одинаково:

- [ ] Собрать матрицу приоритетов сервисов [[Платформа]] ⏫ ➕ 2026-09-10 ⏳ 2026-09-12 #area/work #task/deep
- [ ] Проверить настройки капчи Combot в чате канала #area/content #task/15m ➕ 2026-09-10 ⏳ 2026-09-11

Первая — ручная привычка (текст → приоритет → даты → теги). Вторая — как сериализует модалка: теги для Tasks часть описания, поэтому после правки через Cmd+Shift+T они оказываются перед приоритетом и датами. Порядок элементов не чинишь ни в ту, ни в другую сторону: перестановка ничего не улучшает и откатится при первой правке в Obsidian.

Жёстких ограничений три.

  1. После последнего эмодзи-сигнификатора — только теги. Первый нераспознанный хвост останавливает разбор, и всё левее, включая даты, остаётся текстом описания. Задача выпадает из срезов по датам, а глазами это не видно: эмодзи и дата на месте. Чаще всего горит причина отмены — она идёт в текст задачи, сигнификаторы за ней.
  2. Даты между собой — в порядке ➕ 🛫 ⏳ 📅 ❌ ✅. Так их сериализует плагин, и строка не разъедется после правки через модалку.
  3. Голую метку #task в начале описания не переставляешь. Модалка при открытии вырезает глобальный фильтр по границе слова, а при сохранении возвращает его в начало строки: #task, дописанный Raycast'ом в конец, после первой правки уезжает вперёд. Это нормализация, а не дефект. #task/deep модалка не трогает — по границе слова он с #task не совпадает, — а фильтр проходит, потому что проверяется подстрокой. Отсюда практика: тип работы вместо голой метки, строка от правок не разъезжается.
- [-] Собрать матрицу приоритетов сервисов [[Платформа]]. Закрыто: [[Матрица приоритетов алертов платформы]] ⏳ 2026-09-11 ❌ 2026-09-10 #area/work #task/deep
- [-] Развивать собственную Hugo-тему #area/content #task ❌ 2026-09-09 (тема выросла в отдельный проект)

Первая строка правильная. Во второй хвост в скобках съел дату отмены: плагин её не видит.

Отменяя строку, пиши причину человеческими словами и ссылкой на заметку, которая закрыла вопрос, если такая есть. Формулировку отменяемой задачи не чинишь: причина отмены важнее.

Где живут задачи

  • Ежедневная заметка 05. Дневник/YYYY/MM/YYYY-MM-DD.md держит две точки. ## Задачи вверху — витрина: tasks-блок со всем запланированным на сегодня и раньше со всего хранилища. ## Инбокс в конце — сырой захват дня, новая строка ниже последней существующей. Свежая задача видна дважды, в инбоксе и в витрине: это цена одного файла, а не дубль.
  • ⏳ в дневниковой строке не пишешь. Tasks подставляет дату планирования из имени файла для папки 05. Дневник. На ➕ это не распространяется.
  • Проект в 01. Проекты/ — секция ## Задачи, строки с явной ⏳. Задачи про проект из других заметок проект собирает запросом по wikilink на себя, поэтому задача в дневнике со ссылкой на проект видна и в нём.
  • Встреча или другая заметка — задача живёт в ней, ⏳ ставится явно.
  • Недельная заметка — «Разбор задач недели» собирает незакрытое tasks-блоком, «План на следующую неделю» получает новые строки с ⏳.
  • Строку задачи не копируешь в сводку, обзор или другую заметку. Для плагина копия — вторая независимая задача: она задваивается на дашборде и в витрине дня, и закрывать её приходится дважды. Важную задачу упоминаешь прозой.
  • Сегодняшнего дневника нет — файл руками не собираешь: у него шаблон Templater с tasks-блоками. obsidian daily:read при запущенном Obsidian или спроси автора.

Повторяющиеся задачи

Рекуррентность вместо ручного копирования:

- [ ] Провести Weekly Review 🔁 every week on Sunday ⏳ 2026-09-14 #area/family #task/admin
- [ ] Оплатить хостинг 🔁 every month on the 5th ⏳ 2026-10-05 #area/family #task/15m

Ритуалы

Утренний обзор (10 минут) — норматив, а не практика. Слот пн–пт стоит в календаре, но за 2026 год в дневнике нет ни одной записи о нём: ритуал не прижился ни в Things 3, ни в Singularity, ни после переезда. Не рассчитывай, что инбокс разобран вчера: фактически он разгребается на недельном разборе, записи копятся за несколько дней. Норматив, к которому можно вернуться: секция «Разобрать» до нуля (область, приоритет, тип, дата), из «Фокуса дня» сдвинуть всё, что явно не сегодня, в дне не больше десяти задач, ⏫ + #task/deep в первую половину дня, #task/admin и мелочь в хвост. Смысл ритуала — утром выбирать из уже размеченного, а не переприоритизировать весь список.

Weekly Review (30 минут, воскресенье) — единственный живой ритуал. Держится на автоматике: черновик недельной заметки собирает launchd-агент ru.jtprog.weekly-distillate в понедельник в 08:04, незакрытые задачи вытаскивает tasks-блок шаблона. Выживает тот ритуал, где список не нужно собирать руками. Главный вопрос — не «что я не успел», а двигается ли каждая область: неделя без шага по Content или Education видна только на этом масштабе.

По каждой незакрытой строке ровно три исхода, четвёртого нет:

  1. Перенести — новая ⏳.
  2. Переформулировать — сначала формулировка, потом дата. Второй перенос без правки текста означает, что задача не понята или не нужна.
  3. Отменить — - [-] с причиной.

Чеклист разбора:

- [ ] Разобрать секции «Разобрать» и «Чекбоксы без метки» до нуля
- [ ] Пройти разрез по областям — двигается ли каждая, нет ли перекоса
- [ ] Education — ближайшие дедлайны семестра проставлены датами
- [ ] Content — выбрать 1–2 темы на неделю, пометить ⏫
- [ ] Community — что требует ответа по ПК
- [ ] Просмотреть «Жду ответа» — молчание дольше недели означает пинг, а не ожидание
- [ ] Просмотреть «Без срока» и «Долгожители» — перенести, переформулировать или отменить
- [ ] Убедиться, что у каждого активного проекта есть хотя бы одно следующее действие

Пункты без #task намеренно: это чеклист, а не задачи. Сам разбор держится повторяющейся задачей.

Как искать задачи из сессии

tasks-блоки рендерятся только внутри Obsidian, из файла их результат не прочитать. Ищи grep-ом:

# все открытые задачи вне архива и системы
grep -rn --include="*.md" -E "^- \[[ /?]\].*#task" . | grep -v "_Система/\|04. Архив/"

# инбокс конкретного дня
sed -n '/^## Инбокс/,$p' "05. Дневник/2026/09/2026-09-10.md"

# чекбоксы дневника мимо системы — кандидаты в задачи, а не задачи
grep -rn --include="*.md" "^- \[ \] " "05. Дневник/2026/09" | grep -v "#task"

Имена файлов содержат пробелы, кириллицу и скобки: путь всегда в кавычках, обход набора — через find -print0, а не find | xargs.

Настройки плагина лежат в .obsidian/plugins/obsidian-tasks-plugin/data.json — это источник правды, а не память.

Чего не делать

  • Не заводить заметку под задачу.
  • Не удалять строки задач: ненужная получает - [-].
  • Не дописывать #task пунктам чеклистов и не переписывать чекбоксы без метки.
  • Не ставить ⏳ в дневниковой строке и 📅 без внешнего обязательства, названного автором.
  • Не назначать приоритет без сигнала автора.
  • Не писать ничего, кроме тегов, после последнего эмодзи-сигнификатора.
  • Не копировать строки задач в обзоры и сводки.
  • Не выдумывать wikilink на человека или проект, не выдумывать имена, сроки и номера тикетов.
  • Не менять tasks-блоки дашборда и шаблонов без явного запроса: изменение запросов — тяжёлый рефакторинг (workflows.md).
  • Не размечать хранилище массово без протокола «план → подтверждение → действие» (workflows.md).

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.