report-analyzer
Analyze large PDF or PPTX reports (consulting, research, market analysis) and produce a structured summary with key data, insights, and section overview. Trigger this skill when the user mentions: 'проанализируй отчёт', 'разбери отчёт', 'summary отчёта', 'ключевые выводы из отчёта', 'analyze report', 'report summary', 'report analysis', 'что в отчёте', 'краткое содержание отчёта'. Also trigger when a user uploads a PDF or PPTX file and asks to summarize, extract insights, or review it — even if they don't use the exact phrases above. If a large document is uploaded with any request related to understanding its contents, use this skill.
Skill: report-analyzer
Анализирует большие отчёты (PDF, PPTX) и формирует структурированное резюме с ключевыми данными и инсайтами.
Целевая аудитория: продакт-менеджеры, маркетологи, аналитики, финансисты, топ-менеджмент.
Алгоритм работы
Шаг 1 — Найди входной файл
Пользователь указывает название файла отчёта в своём сообщении. Claude должен найти этот файл.
Порядок поиска:
- Проверь текущую рабочую папку проекта (папка
input/или корень проекта) - Проверь
/mnt/user-data/uploads/(если файл был загружен через интерфейс) - Если пользователь указал полный путь — используй его напрямую
Поиск файла:
# Поиск по имени в рабочей папке и uploads
find /mnt/user-data/uploads/ -iname "*.pdf" -o -iname "*.pptx" 2>/dev/null
find . -iname "*.pdf" -o -iname "*.pptx" 2>/dev/null
Если файл не найден — запроси у пользователя:
"Укажите точное название файла отчёта или путь к нему. Поддерживаемые форматы: PDF, PPTX."
Если формат не поддерживается:
"Скилл работает с файлами PDF и PPTX. Укажите файл в одном из этих форматов."
Важно: скопируй файл в /home/claude/ перед обработкой, чтобы не модифицировать оригинал.
Шаг 2 — Задай уточняющие вопросы
Используй ask_user_input для трёх вопросов одновременно:
Вопрос 1 (single_select): "На каком языке сформировать результат?"
- Русский
- English
Вопрос 2 (single_select): "Фокус анализа?"
- Общий обзор
- Цифры и данные
- Стратегические выводы
- Всё вместе
Вопрос 3 (single_select): "Формат выходного файла?"
- .md
- .docx
Шаг 3 — Считай и обработай файл
Для PDF:
import pdfplumber
with pdfplumber.open("path/to/file.pdf") as pdf:
text = ""
for page in pdf.pages:
text += page.extract_text() or ""
# Извлеки таблицы
tables = page.extract_tables()
Также извлеки метаданные:
from pypdf import PdfReader
reader = PdfReader("path/to/file.pdf")
meta = reader.metadata
pages_count = len(reader.pages)
Для PPTX:
python -m markitdown presentation.pptx
Если текст не извлекается (сканированный PDF) — используй OCR:
import pytesseract
from pdf2image import convert_from_path
images = convert_from_path('file.pdf')
for image in images:
text += pytesseract.image_to_string(image)
Шаг 4 — Проведи анализ
На основе извлечённого текста сформируй содержимое по структуре ниже.
Правила анализа:
- Извлекай только факты и данные из отчёта, не додумывай
- Все цифры должны быть точными — как в оригинале
- Инсайты формулируй от третьего лица ("авторы отмечают", "отчёт указывает")
- Если данные противоречивы — отметь это явно
- Соблюдай ограничение: итоговый документ — не более 1,5 страниц
Как выявлять инсайты (критерии отбора):
Инсайт — это утверждение из отчёта, которое соответствует хотя бы одному критерию:
- Неочевидность — вывод противоречит общепринятому мнению или ожиданиям ("вопреки распространённому мнению...", "неожиданно...")
- Количественный сдвиг — резкое изменение метрики (рост/падение >20%, смена тренда, рекорд)
- Причинно-следственная связь — отчёт явно связывает причину и следствие ("X привело к Y", "основной драйвер — Z")
- Прогноз или предупреждение — авторы делают прогноз или указывают на риск с конкретными параметрами
- Действенность — вывод, на основе которого можно принять управленческое решение (а не просто описание ситуации)
Как формулировать инсайт:
- Одно предложение, максимум два
- Начинать с сути, не с контекста
- Включать конкретные цифры, если они есть
- Плохо: "Рынок AI растёт" → Хорошо: "Рынок GenAI вырос на 68% YoY до $127 млрд, обогнав прогнозы аналитиков на 15 п.п."
Количество инсайтов: 5-7 штук. Если в отчёте меньше значимых выводов — не дотягивать до 5 искусственно.
Адаптация по фокусу:
- Общий обзор — равномерно по всем блокам
- Цифры и данные — расширенная таблица данных, сокращённые инсайты
- Стратегические выводы — расширенные инсайты, сокращённая таблица
- Всё вместе — все блоки в полном объёме (в рамках 1,5 страниц)
Шаг 5 — Сформируй выходной файл
Используй структуру из раздела «Шаблон выходного документа» ниже.
По формату:
.md— запиши напрямую черезcreate_file.pdf— сначала сформируй.md, затем используй скиллpdf(прочитай/mnt/skills/public/pdf/SKILL.md).docx— сначала сформируй.md, затем используй скиллdocx(прочитай/mnt/skills/public/docx/SKILL.md)
Именование файла:
report-summary_НАЗВАНИЕ-ОТЧЁТА_YYYY-MM-DD.расширение
Пример: report-summary_mckinsey-ai-trends_2026-03-18.md
Сохрани файл в /mnt/user-data/outputs/ и отдай пользователю через present_files.
Шаблон выходного документа
# Резюме отчёта: [Название отчёта]
**Дата анализа:** [дата]
---
## Формат отчёта
| Параметр | Значение |
|----------|----------|
| Название | [полное название] |
| Автор / источник | [компания или автор] |
| Дата публикации | [дата или год] |
| Объём | [кол-во страниц] |
| Язык оригинала | [язык] |
| Тип | [консалтинг / research / аналитика / обзор рынка / другое] |
---
## Executive Summary
[3-5 предложений: основная суть отчёта, главный тезис, ключевой вывод]
---
## Ключевые цифры и данные
| Метрика / показатель | Значение | Контекст |
|----------------------|----------|----------|
| [метрика 1] | [значение] | [пояснение] |
| [метрика 2] | [значение] | [пояснение] |
| ... | ... | ... |
---
## Ключевые инсайты
1. [инсайт 1]
2. [инсайт 2]
3. [инсайт 3]
4. [инсайт 4]
5. [инсайт 5]
---
## Структура отчёта
| Раздел | Краткое содержание |
|--------|--------------------|
| [Раздел 1] | [1-2 предложения] |
| [Раздел 2] | [1-2 предложения] |
| ... | ... |
Чего избегать
- Не добавлять собственные оценки и рекомендации — только содержание отчёта
- Не превышать 1,5 страницы в итоговом документе
- Не использовать вводные фразы ("Конечно, вот анализ...")
- Не пересказывать отчёт целиком — выделять главное
- Не округлять и не менять цифры из оригинала
- Не создавать файл до получения ответов на все 3 вопроса
Зависимости
pip install pdfplumber pypdf markitdown --break-system-packages
Для PPTX:
pip install "markitdown[pptx]" --break-system-packages
Для OCR (если PDF сканированный):
pip install pytesseract pdf2image --break-system-packages