---
name: excel-analyst
description: Analyzes spreadsheets and CSVs (Excel .xlsx/.xlsm, CSV with comma or semicolon, Russian locale dates and currencies, Cyrillic encoding) — detects anomalies, builds pivots, generates formulas, finds insights, suggests charts. This skill should be used whenever the user uploads a spreadsheet file or asks to analyze data, build a formula, make a pivot, or extract insights from a table. Trigger phrases include "разбери таблицу", "проанализируй excel", "найди аномалии", "сделай сводную", "построй формулу", "что в этих данных", "analyze csv", "spreadsheet analysis", "find insights", "build pivot". Uses code execution (pandas / openpyxl) for real computation, not eyeball estimates. Outputs structured findings + concrete formulas (in EN syntax with Russian Excel equivalents in comments) + suggested charts.
---

# excel-analyst

Анализ таблиц через code execution (pandas/openpyxl) с поддержкой кириллицы, RU-локали дат и валют, CSV с разделителем `;`.

Источники: anthropics/skills/xlsx (официальный, openpyxl), Claude for Excel add-in (claude.com/claude-for-powerpoint), csv-data-summarizer-claude-skill.

## Шаг 0: загрузить контекст

- about-me — чтобы понять, какая отрасль (термины «MAU», «churn», «retention» в SaaS ≠ «выручка ИП» в торговле).

## Шаг 1: профайл данных

При получении файла ВСЕГДА начать с профайла:

```
Колонки: [список]
Типы: [тип каждой колонки]
Размер: N строк × M колонок
Missing %: [колонка → %]
Distinct values (для категориальных): [колонка → top 5]
Период (если есть даты): [мин-макс]
```

Не лезть в анализ, не сделав профайл. Иначе пропустим, что половина чисел — текст, а не числа.

## Шаг 2: RU-нормализация

| Что | Как нормализовать |
|---|---|
| **Кодировка** | Сначала UTF-8, fallback CP1251 (Windows). Если кириллица побита — перекодировать. |
| **CSV-разделитель** | Детектировать автоматически (запятая или `;`). В RU — часто `;` потому что десятичная запятая. |
| **Десятичный разделитель** | Запятая или точка. Привести к единому. |
| **Даты** | `10.05.2026`, `10/05/2026`, `10-05-26`, `10 мая 2026` — все привести к ISO `2026-05-10`. |
| **Деньги** | `1 200 000 ₽`, `1,200,000.00`, `1.2M`, `1 200 тыс.` — нормализовать к числу с пометкой валюты. |
| **Процент** | `15%`, `15.5 процента`, `15,5%` — привести к 0.155 для расчётов. |

## Шаг 3: 5 типовых задач

### 3.1 Аномалии
- Z-score > 3 или > IQR×1.5
- Дубликаты (по ключевым колонкам)
- Пустые значения в обязательных полях
- Несоответствие типов (число в колонке для текста)

### 3.2 Сводные (pivot)
Спросить: «по какой колонке группировать? Какую агрегировать (sum/count/avg/median)?»
Использовать pandas `pivot_table` или `groupby`.

### 3.3 Формулы
Генерировать в EN-синтаксисе + RU-комментарий:
- `=SUMIF(A:A,"критерий",B:B)` // в русском Excel: СУММЕСЛИ
- `=VLOOKUP(D2,$A:$B,2,FALSE)` // ВПР
- `=COUNTIFS(A:A,"крит1",B:B,"крит2")` // СЧЁТЕСЛИМН

### 3.4 Инсайты
3–7 конкретных наблюдений с цифрами:
- «Топ-3 клиента дают 47% выручки. Концентрация выше нормы (норма 15–25%).»
- «Мартовские продажи упали на 23% относительно среднего по году. В апреле восстановились до 102%.»
- «Менеджер X закрывает в среднем 1.7M, менеджер Y — 0.6M. Разница — в среднем чеке (4.2M vs 1.8M).»

Не «у вас всё хорошо» — конкретно что и где.

### 3.5 Графики
Предложить, какие графики нужны (line / bar / scatter / heatmap), под какую задачу. Сгенерировать через chart_display_v0 или сохранить как PNG.

## Шаг 4: вывод

```markdown
## Профайл
[Данные]

## Что нашёл (3–7 пунктов)
1. [Инсайт] · [число]
2. ...

## Что хотел бы перепроверить
- [Что выглядит странно, но может быть нормой]

## Формулы (если просили)
[EN-синтаксис + RU-комментарий]

## Графики (если уместно)
[1–3 предложенных + сгенерированные]
```

## Anti-patterns

- Не «прикинуть на глаз» — всегда через code execution.
- Не игнорировать missing values — они часто несут смысл.
- Не предполагать, что числа — это числа (часто текст с пробелами).
- Не делать визуализации сверх 3–5 на отчёт.
- Не использовать round() в финансовых расчётах без пометки.

## RU-инструменты, к которым подключают данные

- 1С: выгрузка часто в .xlsx с особым форматом дат.
- AmoCRM / Битрикс24: выгрузка через API в CSV.
- Мой Склад: .xlsx с русскими заголовками.
- ЯТрекер: CSV с UTF-8 BOM.

Если вход выглядит «странно» — спросить, откуда выгружено. Часто половина проблем — в формате выгрузки.

## Smart-onboarding (при первом запуске)

Excel-analyst — самодостаточный скилл. Дополнительных шаблонов не требует.

Один раз проверь `about-me.md`:
- Если индустрия не указана → один вопрос «какая у тебя индустрия?» (термины «MAU», «churn» в SaaS ≠ «выручка ИП» в торговле). Запиши в about-me.
