Цифровой ассистент руководителя проекта

Держаться нету больше сил, когда вместо ведения проекта происходит броуновское движение.
Запилил скилл для разбора транскриптов встреч и ведения актуального состояния проекта.

Скилл project-vault помогает вести проектное хранилище как рабочую базу знаний: фиксировать входы из встреч и чата, превращать их в структурированное и проверяемое состояние проекта, обновлять задачи, вопросы, риски, зависимости, решения и повестку. Он задаёт правила привязки к источникам, разделяет сырые материалы, их разбор и итоговое описание проекта, и не даёт закрывать вопросы или менять важные формулировки без явного основания.

Пока в пилотном использовании версия, сделанная за полтора вечера в сотрудничестве с quint code haft и FPF-agent.
Немного обкатаю и, вероятно, выложу в общий доступ.

Пока кратко поделюсь архитектурой в порядке переосмысления письмом.

Структура

project-vault/
├── decisions/          # Карточки ключевых решений и их статусов.
├── inputs/             # Входящая информация из чата с агентом и других источников.
├── meetings/           # Разобранные встречи и их индексы/шаблоны.
├── reports/            # Производные сводки и отчёты.
├── scripts/            # Служебные утилиты для поддержки vault.
├── state/              # Текущее состояние проекта.
├── transcripts/        # Транскрипты встреч как первичный источник информации.
├── vocabulary/         # Глоссарий терминов проекта.
├── work/               # Рабочий контур: задачи, вопросы, backlog.
├── agenda-next.md      # Повестка следующей встречи.
├── contradictions.md   # Реестр противоречий.
├── dependencies.md     # Реестр зависимостей и блокировок.
├── index.md            # Главный индекс и точка входа в хранилище.
├── open-questions.md   # Список активных открытых вопросов.
├── README.md           # Правила устройства и ведения всего vault.
└── risks.md            # Реестр рисков.

Общее устройство .md

Большинство .md-файлов состоят из двух частей: сверху YAML frontmatter с полями вроде id, status, updated, sources, снизу обычный Markdown по шаблону, содержащий ссылки на другие артефакты или просто их идентификаторы.

  • YAML нужен для машиночитаемой трассировки
  • Markdown - для содержательного описания.

Какие процессы покрывает скилл

Процесс Шаги
0. Инициализация project-vault в новом проекте 1. Скопировать scaffold/project-vault в корень репозитория.
2. Поправить даты и плейсхолдеры в project-vault/index.md.
3. Дальше работать по процессам A-E.
A1. Обновление состояния из транскрипта встречи 1. Сохранить raw-транскрипт в transcripts/raw/.
2. Создать meetings/.../processed.md по шаблону.
3. Свериться с активными Q-*.
4. Заполнить только проверяемые факты из источника.
5. При необходимости создать или обновить decisions/DEC-*.md и индекс решений.
6. Обновить индекс встреч.
7. Обновить актуальное состояние проекта: state/*, задачи, вопросы, зависимости, риски, противоречия и index.md.
A2. Обновление состояния из диалога / briefing 1. Создать inputs/briefings/YYYY-MM-DD_slug.md по шаблону.
2. Зафиксировать только явно сказанное пользователем.
3. При ключевых решениях создать или обновить decisions/DEC-*.md.
4. При необходимости сверить сигналы с активными Q-*.
5. Затем выполнить общие шаги процесса A для актуального состояния проекта, задач, вопросов, зависимостей, рисков и index.md.
A3. Обязательное сопровождение state/stakeholders.md 1. Обновить или создать запись стейкхолдера с ролью, зоной решений и эскалацией.
2. Проверить связь с активными задачами и отчётами.
3. Обновить sources, updated, evidence_captured_at и changelog.
4. При конфликте зафиксировать противоречие и инициировать эскалацию.
5. Пройти quality gates по owner-покрытию, источникам и SLA.
B. Краткий отчёт о состоянии 1. Собрать данные из state/, активных задач, вех, зависимостей, рисков, решений, последних processed.md и briefing.
2. Сформировать файл в reports/ с датой в начале имени и дальше осмысленным slug, например 2026-04-15-status.md, или ответ в чат по шаблону.
3. Отдельно показать просроченные review_by / valid_until и свежие решения по статусам.
C. Список открытых вопросов 1. Взять активные строки из open-questions.md.
2. При необходимости подключить историю из work/questions/closed/.
3. Отфильтровать только open.
4. Отсортировать по blocked_work и decision_needed_by.
5. Убрать дубликаты.
6. Показать последствия незакрытия каждого вопроса.
D. Противоречия и риски 1. Собрать незакрытые строки из contradictions.md.
2. Добавить кандидатов из свежего разбора и briefing.
3. Сверить с state/.
4. Взять срез рисков из risks.md с приоритетами и мерами.
5. Сформировать файл в reports/ с датой в начале имени и дальше осмысленным slug, например 2026-04-15-risks.md, или структурированный ответ в чат.
E. Повестка следующей встречи 1. Обновить agenda-next.md по шаблону.
2. Включить топ вопросов, блокеры, вехи на 2 недели, противоречия и риски.
3. Разложить слоты по минутам.
4. При необходимости добавить слот по решениям: закрыть proposed, вернуть deferred с наступающим revisit_by.
1 лайк