| name | health-update |
| description | /health-update — Сбор health-данных из всех источников: inbox/, Gmail, тематический Telegram-чат. Парсинг, классификация, создание структурированных записей в data/, перемещение оригиналов в <ORIGINALS_DIR>. |
| when_to_use | Use when the user asks to collect, update, import, or structure personal health data from inbox files, Gmail, or Telegram. Russian triggers include: обнови здоровье, проверь здоровье, собери данные. English triggers include: health update, check health data. |
| disable-model-invocation | true |
/health-update
Единая точка входа для сбора health-данных из всех источников. Проверяет inbox, Gmail и Telegram, парсит найденное, создаёт структурированные записи в Obsidian vault.
Vault: текущая директория (корень репозитория, созданного из шаблона).
Оригиналы: <ORIGINALS_DIR> — путь пользователя (например, ~/Documents/health-originals/). Путь фиксируется при скаффолдинге в AGENTS.md.
Настройка под себя
Замените плейсхолдеры на свои значения (один раз, перед первым запуском):
<ORIGINALS_DIR> — путь к папке оригиналов вне git.
<TG_CHAT> — имя Telegram-чата с заметками о здоровье. Если Telegram не используется — пропустите шаг 3.
<GMAIL_QUERY> — ключевые слова Gmail-поиска. Базовый набор:
"lab OR results OR blood test OR clinic OR analysis"
- Плюс имена ваших локальных лабораторий (пример для RU:
"инвитро OR гемотест OR хеликс OR ситилаб"; для US: "labcorp OR quest OR kaiser").
Перед началом
- Прочитать
agent_docs/guides/data-formats.md — спецификация frontmatter.
- Прочитать
agent_docs/guides/health-update-workflow.md — полный workflow.
- Прочитать
agent_docs/guides/data-sources.md — каталог источников.
- Проверить последнюю запись в
agent_docs/development-history.md — контекст.
Алгоритм
Шаг 1. Проверить inbox/
Glob inbox/* → для каждого файла:
- Read файл (PDF, фото, текст)
- Определить тип данных
- Создать .md в data/<type>/
- Переместить оригинал: cp → <ORIGINALS_DIR>/<type>/
- Удалить из inbox/ после подтверждения копирования
Шаг 2. Поиск в Gmail
Использовать google-mcp-readonly: gmail_search с <GMAIL_QUERY> за последние 30 дней (или с последнего watermark).
Для каждого релевантного письма:
- Прочитать содержимое:
gmail_get_message.
- Если есть вложения — отметить для ручного скачивания (MCP не умеет attachment download).
- Создать
.md в data/<type>/ с origin_url = ссылка на письмо, origin_type: email.
- Пропускать письма, для которых уже есть запись (проверить по
origin_url в существующих файлах).
Шаг 3. Чтение Telegram
Если Telegram используется — использовать telegram-read: message_ops для чата <TG_CHAT>:
1. Найти чат: chat_ops search "<TG_CHAT>"
2. Прочитать последние сообщения (limit: 50)
3. Для каждого нового сообщения:
- Определить тип данных по содержимому
- Создать .md в data/<type>/
- origin_type: telegram
Шаг 4. Отчёт
Вывести сводку:
## Health Update — отчёт
### Новые записи
- [тип] описание → data/path/filename.md
### Требует внимания
- Отклонения от нормы
- Просроченные курсы лекарств
- Давно не обновлявшиеся категории
### Статистика
- Всего записей в vault: N
- Новых за этот запуск: N
- Категории с данными: [список]
- Пустые категории: [список]
Формат создаваемых файлов
Обязательные поля frontmatter
---
type: <тип>
date: <YYYY-MM-DD>
tags: [<релевантные теги>]
source: <inbox | gmail | telegram | manual | apple-health | fitbit | ...>
status: raw
origin_url: <URL источника>
origin_type: <email | telegram | pdf | photo>
origin_file: <имя файла>
origin_date: <YYYY-MM-DD>
---
Именование
YYYY-MM-DD-<описание>.md — на языке пользователя, через дефис. Примеры:
2025-04-20-biochemistry.md
2025-04-18-therapist-smith.md
2025-04-22-headache.md
Wiki-links
Использовать [[полное-имя-файла]] для связей. Опережающие ссылки допустимы.
Типы данных → папки
| Тип | Папка | Примеры контента |
|---|
| blood-test | data/blood-tests/ | Анализы крови, мочи, биохимия, гормоны |
| vital | data/vitals/ | Давление, пульс, вес, температура |
| sleep | data/sleep/ | Сон |
| activity | data/activity/ | Шаги, тренировки |
| nutrition | data/nutrition/ | Питание, диеты |
| medication | data/medications/ | Лекарства, БАДы, курсы |
| doctor-visit | data/doctor-visits/ | Визиты к врачам, заключения |
| symptom | data/symptoms/ | Симптомы, жалобы |
| mental | data/mental/ | Настроение, стресс, энергия |
| dental | data/dental/ | Стоматология |
| vision | data/vision/ | Зрение |
| vaccination | data/vaccinations/ | Прививки, скрининги |
| family-history | data/family-history/ | Семейный анамнез |
| imaging | data/imaging/ | КТ/МРТ/УЗИ заключения |
| device-import | data/devices/ | Сырые экспорты устройств |
| other | data/other/ | Генетика, биохакинг, прочее |
Оригиналы файлов
Перемещать в <ORIGINALS_DIR>/<тип>/:
cp inbox/файл.pdf <ORIGINALS_DIR>/<тип>/
ls <ORIGINALS_DIR>/<тип>/файл.pdf
rm inbox/файл.pdf
Дедупликация
Перед созданием записи проверить существующие файлы:
Grep origin_url в data/ → если найден URL, пропустить
Grep по дате + типу + ключевым словам → если похожая запись есть, пропустить
Дисклеймер
При обнаружении отклонений от нормы в анализах — добавить в отчёт:
⚕️ Это информационный анализ, а не медицинский совет. Обсудите результаты с лечащим врачом.
MCP-инструменты
| Инструмент | Использование | Обязателен? |
|---|
google-mcp-readonly: gmail_search | Поиск писем от лабораторий | Нет |
google-mcp-readonly: gmail_get_message | Чтение письма | Нет |
telegram-read: message_ops | Чтение сообщений Telegram | Нет |
telegram-read: chat_ops | Поиск чата <TG_CHAT> | Нет |
| Glob, Read, Write | Работа с inbox/ и data/ | Да |
| Bash (cp, rm) | Перемещение оригиналов | Да |
Если нет MCP для Gmail/Telegram — используйте только шаги 1 и 4 (ручной дроп в inbox/).