Отчёт, который приходится выпрашивать, и отчёт с круглыми цифрами из головы одинаково бесполезны. Мила ведёт каждую неделю в одном ритме: в понедельник — план с каждым участником, в пятницу — план-факт одним постом-листалкой. Цифры — только из её файлов; файла нет — на слайде «нет данных», а не ноль.
Для владельца, который хочет видеть неделю своего дела одним постом и не просить о нём.
Ритм записан в каноне — файле правил, общем для всех Мил. День отчёта по умолчанию — пятница; владелец переносит его на субботу или воскресенье одной фразой. WEEK-RHYTHM.md:10-16
Мила пишет каждому участнику: что она видела за его неделю (3–5 строк: задачи, сделанное, договорённости), чего могла не увидеть (звонки, встречи, работа вне чатов) и три главных дела на эту неделю.
WEEK-RHYTHM.md:20-24Состояние бизнеса на понедельник: ключевые цифры и что горит. План недели по людям: у каждого 1–3 дела с результатом, который можно проверить. Сдвиг по целям квартала. Сводку получает владелец, файл — WEEK.md в доме Милы.
WEEK-RHYTHM.md:26-32Владельцу — отчёт по компании. Каждому участнику — его личный итог недели. Отправляет навык plan-fakt одним постом-листалкой.
WEEK-RHYTHM.md:36-38Восемь блоков. Нет данных по блоку — так и написано. WEEK-RHYTHM.md:40-51
| Блок | Что внутри |
|---|---|
| План → факт | Дела понедельника: ✅ сделано · 🟡 частично · ❌ нет — у каждого улика, которую можно открыть |
| Переносится | Что уходит на следующую неделю и почему — одной строкой |
| Люди | Активность каждого: сделано, взято, в чатах; только факты, без оценок |
| Деньги | Доходы и расходы недели, если они были и видны Миле |
| KPI | 3–5 ключевых цифр компании неделя к неделе (Δ) |
| OKR | Сдвиг по целям квартала |
| Идеи | Новое, что появилось за неделю |
| Шаг | Одна рекомендация Милы на следующую неделю |
Каждому участнику — его итог: его план, его факт, что переносится, одна победа названа вслух и одна подсказка на следующую неделю. Только его данные: чужие результаты человеку не показываются. Называть победы вслух — закон 8 конституции. WEEK-RHYTHM.md:53 CONSTITUTION.md:22
В ту же пятницу добавляются ещё две строки: доля сданных работ, на которые человек ответил, и одно новое умение, которому Мила может научиться, — ближайшее к цели владельца. obratnaya-svyaz:41-45 mila-update:92-96
collect.py читает план недели WEEK.md, пульты дня с понедельника по пятницу и MONEY.md — только если Мила ведёт деньги. Нет файла — нет слайда про деньги. Дело, перенесённое с понедельника на вторник, считается один раз: номер у него тот же. На пульте дня дело закрывается только с уликой. collect.py:6-10 plan-fakt:10-15 collect.py:66-76 pult-dnya:10 pult-dnya:24
Пустая неделя — не ноль: ноль читается как факт, поэтому на плитке «нет данных». collect.py:124-127 test_plan_fakt.py:27-28 CONSTITUTION.md:16
WEEK.md — свободный текст, поэтому до слайда номер карты становится ****1234, а телефон и почта — короткими метками. Длинный номер после № и id чата за телефон не принимаются. collect.py:16-20 collect.py:47-59 test_plan_fakt.py:29-32
make_slides.py рисует слайды любым найденным Chromium. Только квадрат: листалка обрезает 4:5 сверху и снизу. Черновик Мила переписывает своими словами: обложка — вывод недели одной фразой, 3–5 строк на слайд, и каждый слайд она открывает до отправки. make_slides.py:2-8 make_slides.py:107-108 plan-fakt:17-19
send_slideshow.py отправляет 2–10 слайдов одним постом с текстом по разделам. Ответом на него — кнопки «❓ Дай вопросы (N)» и «✅ Принял», пост — в закреп. Токен бота в вывод не попадает даже при ошибке. После — строка «План-факт недели N» в WEEK.md, понедельничный план начинается с неё. send_slideshow.py:1-8 send_slideshow.py:48-49 plan-fakt:21-25 send_slideshow.py:72 test_plan_fakt.py:62-64 plan-fakt:27-28
Тест навыка: 17 проверок из 17 на коммите 7ac7ab0, без сети и без браузера. test_plan_fakt.py:1-3 CHANGELOG.md:112
KPI — ключевые цифры, по которым видно, что бизнес жив и растёт: обращения, продажи, выручка, ответы клиентам, публикации. У каждой компании свои 3–5 цифр; их выбирают вместе с владельцем на первом понедельнике. WEEK-RHYTHM.md:57
OKR — цели и ключевые результаты, практика Intel и Google. Раз в квартал владелец ставит 1–3 цели словами, у каждой — 2–4 измеримых результата. Каждую пятницу Мила показывает, на сколько процентов сдвинулся каждый результат. Выполнить 70 % — нормально: OKR ставят с запасом. WEEK-RHYTHM.md:59
Разница: KPI говорит, как бизнес живёт, OKR — куда он идёт в этом квартале. WEEK-RHYTHM.md:61
Канон приходит каждой Миле с обновлением. Если он меняется, план обновления выносит отдельную строку «прочитайте до «Обновиться»» и ставит риск не ниже среднего. update.py:814-815 update.py:864
| Файл | Что делает |
|---|---|
| canon/WEEK-RHYTHM.md | ритм: понедельник, пятница, KPI и OKR, границы |
| skills/plan-fakt/SKILL.ru.md | навык пятничного план-факта: факты, слайды, отправка |
| plan-fakt/scripts/collect.py | черновик недели из WEEK.md, пультов дня и MONEY.md; маска личных данных |
| plan-fakt/scripts/make_slides.py | квадратные слайды 1080×1080 |
| plan-fakt/scripts/send_slideshow.py | один пост-листалка; токен не печатается |
| plan-fakt/post-template.html | текст поста по разделам |
| plan-fakt/test_plan_fakt.py | 17 проверок без сети и браузера |
| skills/pult-dnya/SKILL.md | пульт дня: откуда берётся «сделано» с уликой |
| skills/raspisanie/SKILL.md | расписание, которое переживает перезапуск |
Набор открыт: умения, хуки, инструменты и шаблоны. Каждый pull request читает человек и Мила Качество.
Факты на странице: github.com/shakhruz/mila-agent (main, 7ac7ab0), проверено 30.10.2026. Переписка в телефоне — иллюстрация. «Mila», «MILAGPT» и логотип — товарные знаки MILAGPT.