---
name: report-weekly
description: Собрать еженедельный отчёт по работе менеджеров из «Финансовой таблицы» и записать срез с анализом в таблицу «Отчет клод». Используй, когда Дима пишет "/report", "собери отчёт", "сделай отчёт за <месяц>", "отчёт за март", "дай еженедельный срез". Группировка по менеджеру, данные за указанный месяц, блок с Δ по сравнению с прошлым срезом + прозаический анализ.
---

# Skill: weekly report

Собираем снимок показателей работы менеджеров за месяц и добавляем новый блок в таблицу «Отчет клод». Если в этом месяце уже были срезы — считаем Δ относительно предыдущего.

## Таблицы

- **SRC** (источник данных): «Финансовая таблица», id `14bZiqurDD9_tMJ6OiScWf4-TL2JQ2Wo6MeXyc_ti8KA`. Листы по годам — `2026`, `2025`, `2024`. Колонки: A=Месяц, B=ФИО, D=Партнёр, **E=Менеджер** (группируем по нему), F=План, G=Факт, H=Долг.
- **DST** (куда пишем): «Отчет клод», id `1k8sK-39m0SP1EfV4J_IjKbWm9HMmufoZOx2WYZG5ais`. Один лист = один месяц (`Март 2026`, `Апрель 2026`, ...).

## Метрики

Для каждого менеджера и в строке ИТОГО:

- **Принято** — количество строк (дел) за месяц
- **Оплачено** — количество строк, где Факт (G) > 0 (хоть что-то заплатил)
- **Долг (шт)** = Принято − Оплачено
- **% сбора** = Оплачено / Принято × 100
- **Сумма принято** = сумма колонки F за месяц
- **Сумма оплачено** = сумма колонки G за месяц
- **Сумма долг** = сумма колонки H за месяц

## Установка (при первом запуске на машине)

1. Склонируй репу в `~/.claude/skills/` (или обнови: `cd ~/.claude/skills && git pull`).
2. Создай venv и поставь зависимости:
   - **macOS/Linux:** `python3 -m venv ~/.claude/skills/report-weekly/.venv && ~/.claude/skills/report-weekly/.venv/bin/pip install gspread google-auth`
   - **Windows (PowerShell):** `python -m venv "$env:USERPROFILE\.claude\skills\report-weekly\.venv"; & "$env:USERPROFILE\.claude\skills\report-weekly\.venv\Scripts\pip.exe" install gspread google-auth`
3. Положи `service_account.json` в одно из мест:
   - `~/Desktop/receipt-bot/service_account.json` (дефолт, если работаешь с receipt-bot)
   - `~/.claude/skills/report-weekly/service_account.json` (рядом со скриптом — но не закоммить в гит!)
   - любое место + переменная окружения `REPORT_SERVICE_ACCOUNT=/полный/путь/до/service_account.json`

## Процесс

**Шаг 1. Сбор данных.** Запусти (путь к python зависит от ОС):

**macOS/Linux:**
```bash
~/.claude/skills/report-weekly/.venv/bin/python \
  ~/.claude/skills/report-weekly/report.py fetch \
  --month <Месяц> [--year <Год>]
```

**Windows:**
```powershell
& "$env:USERPROFILE\.claude\skills\report-weekly\.venv\Scripts\python.exe" `
  "$env:USERPROFILE\.claude\skills\report-weekly\report.py" fetch `
  --month <Месяц> [--year <Год>]
```

Месяц — именительный падеж с заглавной: `Январь`, `Февраль`, `Март`, `Апрель`, `Май`, `Июнь`, `Июль`, `Август`, `Сентябрь`, `Октябрь`, `Ноябрь`, `Декабрь`. Год по умолчанию — текущий. Скрипт вернёт JSON с `current` (менеджеры + итоги) и `previous` (прошлый срез в этом листе, если есть, или `null`).

**Шаг 2. Напиши анализ.** На основе JSON напиши анализ **прозой** (3–5 абзацев). Правила Димы:
- Формат lead+context+meaning. Не буллеты, не сухой дамп цифр.
- Начни с главного вывода месяца — кто лидирует, где провал.
- Дальше раскрой контекст: сравнения между менеджерами, пропорции, где концентрация долга.
- Если есть `previous` — разбери динамику: кто подтянулся, кто просел, какие метрики изменились сильнее всего.
- Закончи итогами за месяц (общие цифры).

Сохрани в файл, например `/tmp/analysis_<месяц>_<год>.txt`.

**Шаг 3. Запись в таблицу.** Запусти (команда аналогична fetch, только `write` + `--analysis-file`):

**macOS/Linux:**
```bash
~/.claude/skills/report-weekly/.venv/bin/python \
  ~/.claude/skills/report-weekly/report.py write \
  --month <Месяц> [--year <Год>] \
  --analysis-file /tmp/analysis_<месяц>_<год>.txt
```

**Windows:** тот же вызов, только python путь — `$env:USERPROFILE\.claude\skills\report-weekly\.venv\Scripts\python.exe`, и файл анализа лучше класть в `$env:TEMP\analysis_<месяц>_<год>.txt`.

Скрипт:
- Создаёт лист `<Месяц> <Год>`, если его нет.
- Находит последний срез в этом листе и подставляет Δ к каждой цифре нового среза в скобках (`87 (+5)`, `р.1 346 000 (+150 000)`, `87.4% (+0.8)`).
- Дописывает блок снизу: строка с датой среза → шапка → строки менеджеров (сортировка по убыванию Принято) → ИТОГО → объединённая ячейка с анализом.
- Форматирует: жирный заголовок-дата и шапка, серая полоса под ИТОГО, перенос текста в ячейке анализа.

**Шаг 4. Кратко отчитайся Диме.** Скажи какой лист обновлён, сколько менеджеров, если была дельта — упомяни ключевую динамику.

## Примеры вызова

- «собери отчёт» → `fetch --month <текущий месяц>` (определи по сегодняшней дате) → анализ → `write`.
- «отчёт за март» → `--month Март --year <текущий год>`.
- «отчёт за март 2025» → `--month Март --year 2025` (читаем из листа `2025`).
- «дай свежий срез за апрель» → `--month Апрель`.

## Нюансы

- Сервис-аккаунт `receipt-bot@lids-bfl.iam.gserviceaccount.com` должен иметь доступ Editor к DST.
- Параметр `--analysis-file` можно не передавать — тогда просто запишется пустая строка «Анализ: », но так делать не стоит, Дима хочет анализ всегда.
- Если в SRC-таблице вдруг переименовали колонки или поменяли структуру — проверь `report.py`, константы `COL_*`.
- Месяц в исходной таблице хранится текстом в колонке A («Январь», «Март»), фильтрация строгая по этому тексту.
- Менеджеры сортируются по убыванию Принято (кто больше всех дел).
