type: note description: Personal assistant for processing daily voice/text entries from Telegram. Classifies content, saves thoughts to Obsidian with wiki-links, generates HTML reports. Integrates Your Business context (clients, projects, CRM). Triggers on /process command or daily 21:00 cron. name: dbrain-processor depends_on: [autograph]
d-brain Processor
Process daily entries → thoughts (Obsidian) + HTML report (Telegram).
Integrates with Your Business data for business context.
CRITICAL: Output Format
ALWAYS return RAW HTML. No exceptions. No markdown. Ever.
Your final output goes directly to Telegram with parse_mode=HTML.
Rules:
- ALWAYS return HTML report — even if entries already processed
- ALWAYS use the template below — no free-form text
- NEVER use markdown syntax (**, ##, ```, -)
- NEVER explain what you did in plain text — put it in HTML report
WRONG:
<b>Title</b>
CORRECT: Title
Processing Flow
- Load personal context — Read goals/1-yearly, goals/2-monthly, goals/3-weekly
- Load business context:
- Read
business/_index.md— Your Business (клиенты, проекты, CRM) - Read
projects/_index.md— личные проекты (если релевантно)
- Read
- Read daily — daily/YYYY-MM-DD.md
- Process entries — Classify → task or thought, detect business mentions
- Create cards (autograph) — new entities/thoughts become vault cards per the autograph template (type, description-as-snippet, tags, status); tasks become checklist entries in the daily note / project notes
- Build links — Connect notes with [[wiki-links]], link to business entities
- Generate HTML report — business activity + day summary
- Log actions to daily — append action log entry (see below)
- Evolve MEMORY.md — update long-term memory if needed (see below)
- Capture observations — record friction signals to handoff.md (see below)
ОБЯЗАТЕЛЬНО: Логирование в daily/
После ЛЮБЫХ изменений в vault — СРАЗУ пиши в daily/YYYY-MM-DD.md:
Формат:
## HH:MM [text]
{Описание действий}
**Создано/Обновлено:**
- [[path/to/file|Name]] — описание
Что логировать:
- Создание файлов в thoughts/
- Обновление business/ или projects/
- Добавление task-записей в daily/проекты
- Синхронизация с внешними системами
Пример:
## 14:30 [text]
Обработка ежедневных записей
**Создано задач:** 2
- [ ] Follow-up Acme Corp (due: завтра, p2)
- [ ] Подготовить КП Unilever (due: пятница, p2)
**Сохранено мыслей:** 1
- [[thoughts/ideas/product-launch|Product Launch]] — идея запуска
Зачем: Audit trail + контекст для будущих обработок.
Evolve MEMORY.md (Step 9 Detail)
ЦЕЛЬ: Поддерживать MEMORY.md актуальным. Не добавлять, а ЭВОЛЮЦИОНИРОВАТЬ.
Когда обновлять MEMORY.md
Проверь после обработки entries — есть ли информация достойная долгосрочной памяти?
Write Rules: Что достойно MEMORY.md
ПИСАТЬ:
- ✅ Key decisions с impact (pivot, tool choice, architecture change)
- ✅ Изменения в pipeline (новый лид, закрытая сделка, изменение статуса)
- ✅ Финансовые изменения (оплаты получены, долги, новые контракты)
- ✅ Новые паттерны/инсайты (learnings)
- ✅ Изменения в Active Context (новый ONE Big Thing, Hot Projects)
- ✅ Новые ключевые контакты (с context)
НЕ ПИСАТЬ:
- ❌ Ежедневные мелочи (встречи, звонки без impact)
- ❌ Временные заметки (оставить в daily/)
- ❌ Дубликаты того что уже есть
- ❌ Детали проектов (оставить в business/crm/, projects/)
- ❌ Тривиальные задачи
Как обновлять (evolve, не append)
Принцип: Новое ЗАМЕНЯЕТ устаревшее, не добавляется рядом.
| Ситуация | Действие |
|---|---|
| Новое противоречит старому | ЗАМЕНИТЬ старую информацию |
| Новое дополняет старое | Добавить в существующую секцию |
| Информация устарела | Удалить или архивировать |
Пример 1 — Изменение статуса проекта:
Old: "| Acme Corp NCP Meals | p1 | Активная разработка | $XXK |"
New info: "Acme Corp NCP Meals сдан клиенту"
→ ЗАМЕНИТЬ на: "| Acme Corp NCP Meals | ✅ | Завершён | $XXK |"
Пример 2 — Новое решение:
Добавить в Key Decisions таблицу:
| 2026-02-01 | Отказ от X в пользу Y | причина | impact |
Пример 3 — Изменение в pipeline:
Old: "| LogisticsLead | Hot | $XXK |"
New info: "LogisticsLead подписал контракт"
→ Удалить из Pipeline
→ Добавить в Hot Projects или Financial Context
Секции MEMORY.md для обновления
| Секция | Когда обновлять |
|---|---|
| Active Context | Изменение ONE Big Thing, Hot Projects, Pipeline |
| Key Decisions | Новое решение с impact |
| Financial Context | Оплаты, долги, контракты |
| Key People | Новый важный контакт |
| Learnings | Новый паттерн/инсайт |
| Current Crisis | Изменение в текущей критической ситуации |
Формат Edit
Используй Edit tool для точечных изменений:
Edit MEMORY.md:
old_string: "| LogisticsLead | Hot | $XXK |"
new_string: "| LogisticsLead | ✅ Signed | $XXK |"
В отчёте
Если обновил MEMORY.md, добавь секцию:
<b>🧠 MEMORY.md обновлён:</b>
• Active Context → Hot Projects updated
• Key Decisions → +1 новое решение
Capture Observations (Step 10 Detail)
ЦЕЛЬ: Записывать friction signals, паттерны и идеи для улучшения системы.
Когда записывать
После обработки проверь — были ли проблемы или наблюдения?
| Тип | Когда |
|---|---|
[friction] |
mcp-cli errors, timeouts, empty daily, broken links, unexpected data |
[pattern] |
Повторяющийся паттерн (задачи всегда overdue, daily пустой по выходным) |
[idea] |
Идея для улучшения pipeline, schema, отчёта |
Формат
Append в vault/.session/handoff.md секцию ## Observations:
## Observations
- [friction] YYYY-MM-DD: transcription timeout 3x — retry спас, но -60 сек
- [pattern] YYYY-MM-DD: daily без entries 2 дня подряд — выходные?
- [idea] YYYY-MM-DD: CRM карточки без deal_deadline = невидимые дедлайны
Правила
- Одна строка на наблюдение (конкретика, не абстракции)
- Дата обязательна
- Не повторять уже записанные observations
- Когда observations ≥10 → сигнал для system improvement session
В отчёте
Если записаны observations, добавь:
<b>👁 Observations:</b>
• [friction] mcp-cli timeout 3x
Entry Format
HH:MM [type]
Content
Types: [voice], [text], [forward from: Name], [photo]
Business Context Integration
ТОЧКА ВХОДА: business/_index.md — читай для понимания бизнес-контекста.
Структура:
business/
├── _index.md ← Статистика, обзор
├── crm/ ← ВСЁ: компании + сделки + проекты в одном файле
├── network/ ← Структура холдинга
└── events/ ← Мероприятия
Распознавание упоминаний
При обработке entries ищи упоминания клиентов и проектов:
| Паттерн | Действие |
|---|---|
| "звонил [Client]" | Найти business/crm/{client}.md, добавить связь |
| "по проекту [Client]" | Найти business/crm/{client}.md |
| "встреча с [Client]" | Создать задачу + связать с business/crm/{client}.md |
| "отправил КП для [Client]" | Связать с business/crm/{client}.md |
Поиск клиента по имени
- Имя → kebab-case: "Acme Corp" →
acme-corp, "Bi Group" →bi-group - Искать:
business/crm/{kebab-case}.md - Если не найден — fuzzy search по
grep -l "{name}" business/crm/
Создание связей
Когда упомянут клиент/проект, добавляй wiki-links:
В задачу:
"Follow-up [[business/crm/acme-corp|Acme Corp]] по снекам"
В thought:
Связано с: [[business/crm/techco|TechCo]], [[business/crm/phonebrand-smm|PhoneBrand SMM]]
Приоритет задач с бизнесом
| Условие | Приоритет |
|---|---|
| Клиент с priority: High + deadline | p1 |
| Активный проект (In progress) | p2 |
| Клиент с priority: High | p2 |
| Клиент с priority: Mid | p3 |
| Prospect без срочности | p4 |
Classification
task → checklist entry in daily/project notes idea/reflection/learning → thoughts/ (see references/classification.md) client/project mention → link to Business/Projects + create task if actionable
Projects Context Integration
Точка входа: projects/_index.md
Структура:
projects/
├── _index.md # Clients overview
├── clients/ # Clients
└── leads/ # Leads
Распознавание упоминаний
| Паттерн | Файл |
|---|---|
| "[Client A]" | projects/clients/{client-a}.md |
| "[Client B]" | projects/clients/{client-b}.md |
| "AI обучение", "воркшоп" | projects/ контекст |
Отличие от Business
- Business = основной бизнес
- Projects = личные проекты (консалтинг, обучение)
Если entry упоминает AI/ML обучение — ищи в projects/ сначала.
Contacts Context Integration
Точка входа: contacts/_index.md
Распознавание имён в entries
Ищи паттерны:
- "созвонился с [Contact] из [Client]"
- "встреча с @username"
- "Имя Фамилия написал"
Классификация
| Индикатор | Категория | Vault Link |
|---|---|---|
| Known business clients | business | business/crm/{client} |
| AI/обучение expertise, known leads | projects | projects/leads/{name} |
| Остальные | personal | — |
В отчёте
Если в entries упомянуты люди, добавь секцию:
<b>👤 Упомянуто контактов:</b>
• [Contact Name] (business → [[business/crm/acme-corp]])
• [Contact Name] (personal)
Priority Rules
p1 — Client deadline, urgent p2 — Aligns with ONE Big Thing or monthly priority p3 — Aligns with yearly goal p4 — Operational, no goal alignment
Process Goals Preference
When creating tasks, prefer PROCESS over OUTCOME formulations.
Outcome (less effective):
- "Закрыть сделку с X"
- "Запустить продукт"
- "Подготовить программу"
Process (more effective):
- "Отправить follow-up клиенту X" (actionable, controllable)
- "2h deep work на MVP" (time-bounded)
- "Показать драфт программы коллеге" (checkpoint)
When to transform:
- Entry sounds vague/outcome-focused → make it specific/process-focused
- User says "нужно сделать X" → create actionable next step, not X itself
- Goal mentioned → create task that MOVES TOWARD goal, not goal itself
See: references/process-goals.md for patterns and examples.
Thought Categories
💡 idea → thoughts/ideas/ 🪞 reflection → thoughts/reflections/ 🎯 project → thoughts/projects/ 📚 learning → thoughts/learnings/
HTML Report Template
Output RAW HTML (no markdown, no code blocks):
📊 Обработка за {DATE}
🎯 Текущий фокус: {ONE_BIG_THING}
📓 Сохранено мыслей: {N} • {emoji} {title} → {category}/
✅ Создано задач: {M} • {task} ({priority}, {due})
🏢 Business Activity: • {client} — {action} • {project} — {status update} Упомянуто клиентов: {N} | Проектов: {M}
📋 Process Goals: • {process goal 1} → {status} • {process goal 2} → {status} {N} активных | {M} требуют внимания Создано новых: {K}
📅 Загрузка на неделю: Пн: {n} | Вт: {n} | Ср: {n} | Чт: {n} | Пт: {n} | Сб: {n} | Вс: {n}
⚠️ Требует внимания: • {overdue or stale goals}
🔗 Новые связи: • [[Note A]] ↔ [[Note B]]
⚡ Топ-3 приоритета:
- {task}
- {task}
- {task}
📈 Прогресс: • {goal}: {%} {emoji}
🧠 MEMORY.md: • {section} → {change description} (если обновлено)
Обработано за {duration}
If Already Processed
If all entries have <!-- ✓ processed --> marker, return status report:
📊 Статус за {DATE}
🎯 Текущий фокус: {ONE_BIG_THING}
📋 Process Goals: • {process goal 1} → {status} • {process goal 2} → {status} {N} активных | {M} требуют внимания
📅 Загрузка на неделю: Пн: {n} | Вт: {n} | Ср: {n} | Чт: {n} | Пт: {n} | Сб: {n} | Вс: {n}
⚠️ Требует внимания: • {overdue count} просроченных • {today count} на сегодня
⚡ Топ-3 приоритета:
- {task}
- {task}
- {task}
Записи уже обработаны ранее
Allowed HTML Tags
— bold (headers)
— italic (metadata)
— commands, paths
— strikethrough
— underline
text — links
FORBIDDEN in Output
NO markdown: **, ##, -, *, backticks NO code blocks (triple backticks) NO tables NO unsupported tags: div, span, br, p, table
Max length: 4096 characters.
References
Read these files as needed:
- references/about.md — User profile, decision filters
- references/classification.md — Entry classification rules
- references/goals.md — Goal alignment logic
- references/process-goals.md — Process vs outcome goals, transformation patterns
- references/links.md — Wiki-links building
- references/rules.md — Mandatory processing rules
- references/report-template.md — Full HTML report spec
- references/business.md — Business client/project context, search patterns
- references/contacts.md — Contacts search and classification
Business Quick Reference
Точка входа: business/_index.md
Поиск клиента:
grep -l "Acme Corp" business/crm/
→ business/crm/acme-corp.md
Активные сделки:
grep -l "deal_status:" business/crm/
High priority клиенты:
grep -l "priority: High" business/crm/
Frontmatter полей:
- type: crm
- industry, priority, status, region, owner, responsible
- deal_status, deal_deadline (для активных сделок)
- updated
Relevant Skills
- [[vault/.claude/skills/autograph/SKILL|autograph]] — Typed vault engine: graph, decay, MOC, dedup