| name | fiksiruy |
| description | Фиксирует статус и события по проекту в единый журнал решений. Триггерится на команды «фиксируй», «запиши», «залогируй», «зафиксируй решение», «это в журнал», «снимок статуса», а также на неявные сигналы — принятое архитектурное решение, изменение scope, выявленная блокер-проблема, релиз, демо. Создаёт / обновляет `LOG.md` в корне проекта и, если нужно, отдельные ADR-файлы. |
fiksiruy
Когда триггерится
- явная команда: «фиксируй», «запиши это», «добавь в лог», «сделай снимок», «зафиксируй решение»;
- в речи принято архитектурное / продуктовое решение («ок, делаем через Postgres», «уходим от Redis», «ЦА — эмигранты в Турции»);
- появился блокер / риск;
- сменился статус (milestone, релиз, демо, интеграция);
- перед тем как долго копать — «зафиксируй гипотезу» (чтобы потом не забыть, что тестировали).
Что делает
Создаёт/обновляет человекочитаемый журнал LOG.md в корне проекта. Каждая запись — атомарная, датированная, с одним из типов:
DECISION — принято решение (что, почему, альтернативы, последствия);
STATUS — снимок состояния (что сделано / что в работе / что болит);
RISK — замеченный риск или блокер;
ASSUMPTION — гипотеза, которую потом надо проверить;
RELEASE — факт релиза / демо / выкладки;
NOTE — произвольная заметка, которая важна на будущее.
Для крупных архитектурных решений дополнительно создаётся отдельный ADR-файл в docs/adr/NNNN-{slug}.md.
Какой контекст подкладывает
- путь к
LOG.md (создать, если нет);
- путь к
docs/adr/ (создать, если нет);
- шаблон записи (см. ниже);
- правило «одна запись — одна мысль»;
- правило «каждая запись содержит дату в ISO 8601»;
- правило «DECISION должен содержать поле
supersedes или быть связан с предыдущим DECISION по теме»;
- при отсутствии контекста спросить, к какому проекту относится фиксация.
Шаблон записи в LOG.md
---
### 2026-04-22 · DECISION · Переходим на Postgres для хранения профилей
**Контекст.** MVP работал на JSON-файлах, с 5k пользователей начал тормозить rebuild профилей.
**Решение.** Хранить `user_feature_values` и `events` в Postgres 16, оставить JSON-кэш для serving.
**Альтернативы.** (а) оставить файлы + индексы; (б) SQLite; (в) Clickhouse.
**Последствия.** +зависимость psycopg; миграции через alembic; latency serving сохраняется за счёт кэша.
**Ссылки.** `app/repositories/postgres_repository.py`, ADR-0004.
### 2026-04-22 · STATUS · Снимок недели
- done: questionnaire audit pipeline, backtest v1
- doing: миграция профилей в Postgres
- blocked: нет размеченных диетологом тегов, ждём Машу
- next: демо под клиентский кейс Х
### 2026-04-22 · RISK · Нет прав на меню ресторана
Юр-риск: сейчас парсим меню без договора. Митигация — подписать акт с рестораном-пилотом до 15 мая.
Шаблон ADR (docs/adr/NNNN-{slug}.md)
# ADR-0004: Postgres для хранения профилей
- Дата: 2026-04-22
- Статус: accepted
- Supersedes: —
## Контекст
...
## Решение
...
## Альтернативы
...
## Последствия
### Плюсы
...
### Минусы
...
## Открытые вопросы
...
Алгоритм работы скилла
- Понять тип записи (DECISION / STATUS / RISK / ASSUMPTION / RELEASE / NOTE).
- Спросить/вывести недостающие поля по шаблону.
- Найти / создать
LOG.md. Проставить дату в ISO.
- Добавить запись сверху, чтобы свежее было наверху.
- Если это DECISION и он значимый (нарушает/меняет архитектуру) — параллельно создать ADR-файл с инкрементным номером, сослаться на него из
LOG.md.
- Если запись
supersedes старую — добавить в старую запись пометку superseded by ....
- Вернуть короткое подтверждение пользователю: что записано, где, какой номер ADR.
Правила скилла
- никогда не переписывать прошлые записи «ретроактивно», только добавлять
amendment / superseded by;
- каждая запись должна читаться вне контекста чата: минимум «что решили + почему + что из этого следует»;
- не фиксировать то, что уже зафиксировано ранее — если запись дублирует предыдущую, скилл говорит об этом и предлагает её обновить;
- при STATUS — всегда блоки done / doing / blocked / next, даже если какой-то пустой.
Что НЕ делает
- не ведёт календарь и задачник — для этого есть трекер;
- не пишет красивый changelog для релиз-нот — это отдельный скилл;
- не делает выводов и не рекомендует — только фиксирует.