Если вам интересна тема персональных систем управления знаниями и задачами - переходите в мой тг-канал. Там я разбираю инструменты, публикую кейсы и делюсь тем, что работает на практике, а не только выглядит красиво на скриншотах.
Я собираю персональные системы в Obsidian на заказ. Перед работой с новым клиентом я раскладываю его работу на этапы и выписываю, где уходит время и пропадает информация. У продакт-менеджера я насчитал 78 таких мест. Ниже - система, с которой я бы начал, и четыре её узла в деталях, с настройками, которые можно повторить у себя.
Это демо-кейс: типовой каркас профессии. Продукт, пользователи, цифры и конкуренты в примерах вымышлены.
Obsidian - программа для заметок, которая хранит всё в обычных текстовых файлах на вашем диске. Заметки связываются ссылками, а плагины добавляют таблицы, канбаны, графики, кнопки и шаблоны.
Где продакт теряет информацию
Беру продакт-менеджера в IT-компании. Он отвечает за одно направление, работает с разработчиками, дизайнером и аналитиком и отчитывается перед руководителем. Горизонт планирования - квартал. В примерах - мобильное приложение доставки из супермаркетов.
Этап | Что мешает |
|---|---|
Запросы стейкхолдеров | Запросы приходят в чат, на созвоне и в комментарии к документу. Обещание, данное на встрече, через квартал каждый помнит по-своему |
Исследования | 30 расшифровок интервью лежат папкой документов. Найти, что говорили про оплату, можно только чтением подряд |
Данные | Как считается метрика, знают продакт и аналитик, и в двух отчётах она посчитана по-разному. Объяснение февральского провала проговорили на созвоне и забыли |
Бэклог | Почему задачу отложили в марте, нигде не записано, и в июне её обсуждают заново |
Постановка | Разработчик спрашивает в чате, что показать, если дома нет в списке адресов. Продакт отвечает там же, ответ в постановку не попадает, и через месяц документ расходится с тем, что сделали |
Разработка | Блокер держит задачу третью неделю. С какого числа и кого ждут, на каждой встрече выясняют заново |
Эксперименты | Критерий успеха проговорён устно. Провалившийся тест не сохраняется, и через год та же идея приходит как новая |
Роадмап | Роадмап живёт в презентации, предыдущая версия не сохраняется, сравнить обещанное и сделанное нельзя |
Отчётность | Вопрос «почему мы выбрали этот путь» задают через год, а причина осталась в переписке |
Обратная связь | Одна и та же жалоба приходит из интервью, поддержки и отзывов, но источники не сведены, и повторение видно на ощущение |
Ещё несколько потерь встречаются на любом этапе. Ответы на типовые вопросы и объяснение продукта пишутся заново, хотя проговаривались десятки раз. Разбор конкурента живёт в личном файле коллеги. А весь контекст держится на одном человеке: продакт ушёл в отпуск, и решения встали.
Почти все эти потери об одном и том же: обоснования решений нигде не собраны вместе. Что говорили пользователи, что проверяли, чем кончилась проверка и почему выбрали этот вариант, разнесено по чатам, трекеру, презентациям и документам. Систему я собрал из четырёх узлов, связанных в цепочку: из того, что говорят пользователи, вырастает гипотеза, итог проверки записывается решением, и всё это привязано к инициативе.
Карта системы

Стартовую страницу открывает плагин Homepage: он показывает выбранный файл при каждом запуске Obsidian.

Наверху две колонки задач. Задачи записаны прямо в инициативах, встречах и решениях, а собирает их плагин Tasks: он находит строки-задачи с датами по всему хранилищу и показывает выборку по условию. Слева «Сегодня», справа «Просрочено»:
```tasks not done due today sort by due group by filename hide backlink hide toolbar hide edit button hide postpone button hide task count ```
Запрос для правой колонки отличается одной строкой: due before today вместо due today.
Под задачами встречи на сегодня, блокеры и роадмап. Их собирает Bases - встроенный плагин Obsidian, который работает с заметками как с базой данных: поля заметок становятся колонками, набор заметок - таблицей.
Настройки Bases пишутся текстом. Их можно вставить в любую заметку блоком кода base, и Obsidian сразу покажет таблицу. Или положить в отдельный файл с расширением .base. В одних настройках можно описать несколько таблиц с разными условиями, они называются видами. Встречи на сегодня показывает такой блок:
```base filters: and: - file.inFolder("Встречи") views: - type: table name: Сегодня filters: and: - note["дата"] == today() order: - время - file.name - инициатива sort: - property: время direction: ASC ```
Узел 1. Инициатива
Инициатива - одна доработка продукта: новый онбординг, оплата при получении, повтор прошлого заказа. У каждой своя заметка, и все устроены одинаково.
Поля на странице
В Obsidian у заметки есть свойства - поля в её шапке. У инициативы это стадия, срок, цель квартала, блокер, дата блокера и дата выхода. Свойства в шапке редактировать неудобно, поэтому они выведены таблицей в начало заметки плагином Meta Bind: он вставляет в текст поля ввода, связанные со свойствами. Поменял стадию в таблице - поменялось свойство.
| Стадия | `INPUT[inlineSelect(option(Идея), option(Исследование), option(Постановка), option(Разработка), option(Вышла)):стадия]` | | --- | --- | | Срок | `INPUT[datePicker:срок]` | | Цель квартала | `INPUT[text:цель]` | | Блокер | `INPUT[text:блокер]` | | Дата блокера | `INPUT[datePicker:дата-блокера]` | | Вышла | `INPUT[datePicker:вышла]` |
Ниже разделы «Зачем», «Постановка» со ссылкой на макеты и «Задачи».

Задачи
Задачи по инициативе стоят в её заметке:
- [ ] Принять экран выбора адреса 📅 2026-11-11 - [ ] Получить от юристов текст согласия на геолокацию 📅 2026-11-12
Tasks показывает их на стартовой странице в день срока. Срок, обещанный смежной команде, стоит внутри своей инициативы и одновременно виден в общем списке на день.
Что собирается из других заметок
Нижнюю половину заметки заполнять не нужно. Цитаты пользователей, встречи и поручения с них находит в хранилище плагин Dataview: он выполняет запросы к заметкам хранилища. FROM [[]] значит «заметки, которые ссылаются на эту»:
```dataview TABLE WITHOUT ID file.link AS "Что говорили", тип AS "Откуда", сегмент AS "Сегмент", дата AS "Когда" FROM [[]] AND "Обратная связь" SORT дата DESC ``` ```dataview TASK FROM [[]] AND "Встречи" WHERE !completed ```
Второй запрос собирает невыполненные поручения со всех встреч по этой инициативе. Договорились на планировании, что дизайнер отдаст экран к среде, - поручение видно и в заметке встречи, и на странице инициативы.
В той же заметке собраны гипотезы и решения по этой инициативе.

Канбан, роадмап и блокеры
Все инициативы сводит картотека Инициативы.base. Вид «Канбан» раскладывает их по стадиям, и карточка переносится в следующую стадию перетаскиванием.

Вид «Roadmap» на стартовой странице - невышедшие инициативы по сроку с целью квартала.
Вид «Блокеры» показывает инициативы, у которых заполнено поле блокер, и считает, сколько дней они ждут:
```base filters: and: - file.inFolder("Инициативы") - '!note["блокер"].isEmpty()' formulas: дней_в_ожидании: (today() - date(note["дата-блокера"])).days properties: formula.дней_в_ожидании: displayName: Дней в ожидании views: - type: table name: Блокеры order: - file.name - блокер - дата-блокера - formula.дней_в_ожидании sort: - property: дата-блокера direction: ASC ```

В демо-хранилище онбординг 8 дней ждёт юристов, оплата при получении 12 дней ждёт расчёта от финансов. На статусной встрече всё видно одной таблицей, и вспоминать, где это обсуждали, не нужно.
Узел 2. Обратная связь
Обычно обратная связь пользователей лежит в пяти местах: расшифровки интервью, система поддержки, отзывы в сторах, письма партнёров, заметки продаж. В системе каждая цитата или обращение - отдельная заметка.
Одна цитата - одна заметка
У заметки поля: откуда пришло (интервью, поддержка, отзыв в сторе, партнёры), кто сказал, сегмент, дата, ссылка на источник и на инициативу. Тема - тегом: #онбординг, #оплата, #брошенные-корзины.

Из интервью цитаты выписываются командой плагина QuickAdd «Обратная связь». Открываешь конспект интервью, выделяешь фразу, запускаешь команду. QuickAdd спрашивает, откуда, кто сказал и тему, и создаёт заметку по шаблону:
--- тип: {{VALUE:Интервью,Поддержка,Отзыв в сторе,Партнёры}} кто: - {{VALUE:Кто сказал}} сегмент: {{FIELD:сегмент}} дата: {{DATE:YYYY-MM-DD}} откуда: "{{LINKCURRENT}}" инициатива: "{{FIELD:инициатива}}" tags: - {{VALUE:Тема тегом}} --- > {{VALUE:Цитата}}
{{LINKCURRENT}} - ссылка на заметку, из которой запустили команду. Через год по цитате видно, из какого интервью она пришла, а в конспекте интервью встроен список цитат, которые из него выписали.
Что повторяется
Картотека Обратная связь.base группирует заметки по теме. Сколько раз всплывала тема, видно по группе. Про оплату говорили в интервью и писали в поддержку, про баллы партнёров - в отзывах и в письме банка.

На странице инициативы эти же заметки показывает запрос Dataview. Перед защитой инициативы под рукой цитаты с именами и датами.
Узел 3. Гипотезы и метрики
Критерий до старта
Гипотеза - заметка со ссылкой на инициативу и метрику. Поля: статус, критерий успеха, границы теста, итог. Критерий записывается до запуска, иначе обсуждение после теста сводится к тому, считать ли результат победой.
| Статус | `INPUT[inlineSelect(option(Идея), option(На проверке), option(Подтвердилась), option(Не подтвердилась)):статус]` | | --- | --- | | Критерий успеха | `INPUT[text:критерий]` | | Границы теста | `INPUT[text:границы]` | | Итог | `INPUT[text:итог]` |
Под таблицей раздел «Внешние факторы»: что ещё могло сдвинуть метрику, пока шёл тест. В гипотезе «Онбординг в три экрана» там записано, что 27 октября маркетинг поднял промокод на первый заказ до 500 ₽, поэтому установки после этой даты считаются отдельно.

Провалившиеся гипотезы хранятся наравне с подтвердившимися. На странице инициативы и метрики виден весь список с итогами, и идея, которую уже проверяли, не приходит в бэклог как новая.
Метрика с замерами
У метрики своя заметка: как считается, запрос к данным и замеры. Определение одно на всю команду, и запрос не нужно искать в истории чата с аналитиком.

Замеры ведутся таблицей «Дата | Значение | Что случилось». Раз в неделю туда переносится цифра с дашборда, а если был скачок, в той же строке записывается причина. Над таблицей график, который строится из неё. Его рисует плагин Charts, данные ему отдаёт скрипт DataviewJS:
const file = app.vault.getAbstractFileByPath(dv.current().file.path); const text = await app.vault.cachedRead(file); const section = (text.split(/^# Замеры\s*$/m)[1] || "").split(/\n# /)[0]; const rows = section.split("\n") .filter(l => l.trim().startsWith("|")) .map(l => l.trim().replace(/^\||\|$/g, "").split("|").map(c => c.trim())) .filter(r => /^\d{4}-\d{2}-\d{2}$/.test(r[0]) && r[1]); const events = rows.map(r => (r[2] || "").replace(/\[\[|\]\]/g, "")); window.renderChart({ type: "line", data: { labels: rows.map(r => r[0].slice(8, 10) + "." + r[0].slice(5, 7)), datasets: [{ data: rows.map(r => parseFloat(r[1].replace(",", "."))), borderColor: "#7c5cff", backgroundColor: "rgba(124, 92, 255, 0.12)", fill: true, tension: 0.3, pointRadius: events.map(e => e ? 6 : 3), pointBackgroundColor: events.map(e => e ? "#fff" : "#7c5cff"), pointBorderColor: "#7c5cff", pointBorderWidth: 2 }] }, options: { plugins: { legend: { display: false }, tooltip: { callbacks: { afterLabel: c => events[c.dataIndex] } } } } }, dv.container);
Скрипт читает текст заметки, находит раздел «Замеры», разбирает таблицу и передаёт даты и значения в график. Точки, у которых заполнено «Что случилось», крупнее, и при наведении показывают событие. Скрипт лежит одним файлом, а в каждой метрике стоит одна строка вызова:
```dataviewjs await dv.view("Скрипты/метрика") ```
Когда в августе провал повторится, объяснение февральского будет в той же таблице.
Узел 4. Решения
Решение - заметка с четырьмя разделами: вопрос, варианты, что выбрали, что отбросили и почему. Поля: статус (принято, отклонено, отложено), дата, инициатива и кто участвовал.

На этом решении видна вся цепочка. В интервью новая пользовательница говорит, что карта у мужа, а наличными она заплатила бы курьеру. Гипотеза «Оплата при получении для всех новых» поднимает конверсию с 18 до 25%, но отказы при получении доходят до 11% при критерии ниже 4%. Решение: оплата при получении со второго заказа. В разделе «Что отбросили и почему» записаны оба отвергнутых варианта с цифрами. Через полгода на вопрос «почему не для всех» ответ открывается одной ссылкой.
Отложенные решения
У отложенного решения есть задача «вернуться» с датой:
- [ ] Вернуться к баллам партнёров 📅 2027-01-15
В январе она появится на стартовой странице, и к решению вернутся вместе с аргументами, которые были в октябре.
Все решения сводит картотека Решения.base, сгруппированная по статусу. В инициативе встроен вид, который показывает только её решения.
Что ещё есть в системе
Входящее. Запрос из чата, жалобу или идею записываешь командой QuickAdd, не открывая нужную заметку. Строка встаёт во «Входящее» с датой и типом, разбирается потом.
Встречи. Повестка до, договорённости и поручения после, ссылка на инициативу. Поручения со встречи видны на странице инициативы.
Конкуренты. Функции, история цен с датами, жалобы из отзывов. Цифра из отраслевого отчёта цитируется ссылкой на страницу PDF: плагин PDF++ открывает файл сразу на нужном месте.
Свои формулировки. Ответ на «почему пока нет баллов партнёров», объяснение продукта, шаблон описания релиза. Выделил удачный ответ - QuickAdd сохранил его в заметку. Шаблон Templater вставляет любую формулировку в текущую заметку из списка.
Что получается
В такой системе каждая доработка продукта - одна страница: стадия, срок, блокер, задачи, цитаты пользователей, гипотезы с итогами, решения и поручения со встреч. Стартовая страница каждое утро показывает задачи и встречи на сегодня, просроченное, блокеры со сроком ожидания и роадмап. А на вопрос «почему мы так решили» ответ находится по ссылкам от решения к гипотезе и от гипотезы к цитате.
Под конкретного человека половина узлов перестраивается: кто-то ведёт задачи в трекере команды и в Obsidian хранит только обоснования, а у руководителя направления добавляются продакты в подчинении. В канале я собираю такие схемы систем под профессии подписчиков. Раз в несколько недель я публикую там пост, под которым подписчики пишут свою профессию, и присылаю каждому схему в личку.
Больше разборов и кейсов - в моём тг-канале.
