Claude-skills-kit 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.

install
source · Clone the upstream repo
git clone https://github.com/KirKruglov/claude-skills-kit
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/KirKruglov/claude-skills-kit "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/report-analyzer-ru" ~/.claude/skills/kirkruglov-claude-skills-kit-report-analyzer && rm -rf "$T"
manifest: skills/report-analyzer-ru/SKILL.md
source content

Skill: report-analyzer

Анализирует большие отчёты (PDF, PPTX) и формирует структурированное резюме с ключевыми данными и инсайтами.

Целевая аудитория: продакт-менеджеры, маркетологи, аналитики, финансисты, топ-менеджмент.


Алгоритм работы

Шаг 1 — Найди входной файл

Пользователь указывает название файла отчёта в своём сообщении. Claude должен найти этот файл.

Порядок поиска:

  1. Проверь текущую рабочую папку проекта (папка
    input/
    или корень проекта)
  2. Проверь
    /mnt/user-data/uploads/
    (если файл был загружен через интерфейс)
  3. Если пользователь указал полный путь — используй его напрямую

Поиск файла:

# Поиск по имени в рабочей папке и 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
  • .pdf
  • .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 страниц

Как выявлять инсайты (критерии отбора):

Инсайт — это утверждение из отчёта, которое соответствует хотя бы одному критерию:

  1. Неочевидность — вывод противоречит общепринятому мнению или ожиданиям ("вопреки распространённому мнению...", "неожиданно...")
  2. Количественный сдвиг — резкое изменение метрики (рост/падение >20%, смена тренда, рекорд)
  3. Причинно-следственная связь — отчёт явно связывает причину и следствие ("X привело к Y", "основной драйвер — Z")
  4. Прогноз или предупреждение — авторы делают прогноз или указывают на риск с конкретными параметрами
  5. Действенность — вывод, на основе которого можно принять управленческое решение (а не просто описание ситуации)

Как формулировать инсайт:

  • Одно предложение, максимум два
  • Начинать с сути, не с контекста
  • Включать конкретные цифры, если они есть
  • Плохо: "Рынок 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