Ян Стригов
Ян Стригов
Юрист
← назад к журналу

Документы в Markdown для AI-агентов: серия скиллов

Сделал два скилла, которые превращают офисные документы в Markdown — формат, на котором нейросети работают лучше всего. Один универсальный, второй — с встроенным русским OCR для Claude.ai.

В последнее время сложно не заметить, что один за другим появляются конвертеры офисных документов в Markdown. Кто-то делает одностраничный сайт «загрузил docx — скачал md», кто-то выкладывает громоздкий скрипт, кто-то пишет браузерное расширение. Инструментов много, но почти все они — ручные: открыл, перетащил файл, забрал результат.

Я подошёл к задаче с другой стороны. Сделал серию скиллов для агентных систем — Claude Code, Codex CLI, pi.dev, Claude.ai. Чтобы агент сам вызывал конвертер, когда вы прикладываете договор, и сам потом имел возможность работать с файлом экономно — без засоряющей контекст технической информации (особенно актуально в случае офисных документов).

Почему вообще Markdown

Markdown — это «текст с очень простой разметкой»: заголовки через #, списки через -, ссылки в квадратных скобках. Для человека он читается как обычный текст. Для нейросети — как структурированный документ, в котором сразу видно, где заголовок раздела, где таблица, где цитата.

Для AI-моделей это любимый формат по трём причинам.

Во-первых, токены. Каждое обращение к модели стоит токенов — единиц, которыми измеряется текст. Один и тот же договор в формате .docx или .pdf после распаковки выходит в полтора-два раза «тяжелее», чем тот же текст в Markdown: внутри docx сидит куча служебной разметки, в pdf — позиционирование символов. Markdown — это «голый» смысл. Чем меньше токенов уходит на служебный шум, тем дольше живёт ваш лимит подписки и тем больше места остаётся на сам анализ документа.

Во-вторых, структура. В Markdown модель сразу видит: «вот раздел 5.2», «вот пункт списка», «вот ячейка таблицы». В сыром экспорте из docx эта структура размывается — и модель часть её угадывает по контексту, тратя на это и токены, и точность.

В-третьих, чтение фрагментами. Когда у вас на руках 200-страничный договор, агенту не нужно держать его весь в голове. С Markdown-файлом он может сказать: «прочитай мне строки 1200–1280» или «найди в файле все упоминания обеспечения». Это и быстрее, и дешевле, и точнее.

ПОЧЕМУ ЭТО ВАЖНО

Когда юрист грузит в чат 50-страничный договор в исходном .docx, модель тратит огромную часть контекста на разбор файла, а не на правовой анализ. Один и тот же документ, прогнанный через конвертер в Markdown, оставляет агенту в разы больше «места для мысли».

Чем скилл отличается от очередного конвертера

Большинство существующих конвертеров — это инструменты для человека. Открыл сайт, нажал кнопку, получил файл. Если у вас полсотни документов по делу — это полсотни ручных операций.

Скилл — это инструмент для агента. Вы прикладываете документ в разговоре с AI-агентом — он сам понимает, что нужна конвертация, сам её вызывает и дальше работает уже с результатом. От юриста требуется только описать задачу: «конвертируй всё в маркдаун», «разложи материалы дела», «найди в этом договоре пункты про неустойку», «сделай хронологию по этой переписке».

Это особенно важно в больших пайплайнах. Например, в моём Вассале-Литигаторе приём документов — это десятки операций: распаковать архивы, извлечь текст, проверить качество, обновить индекс. Каждая зависит от того, что предыдущая отработала правильно. На ручных конвертерах такой пайплайн не построить — нужен инструмент, который агент может вызывать сам, без участия человека.

ВАЖНОЕ ЗАМЕЧАНИЕ

Устанавливайте только один из этих скиллов — иначе они будут конфликтовать при одновременной установке. Они специально сделаны взаимозаменяемыми, чтобы вам было проще использовать.

* * *

Скилл №1: mark-the-stuff-down (без OCR)

Универсальный конвертер. Подходит для любой агентной системы: Claude Code, Codex CLI, pi.dev, Claude.ai.

Что умеет: DOCX, PDF с текстовым слоем, XLSX, XLS, PPTX, RTF, HTML, EPUB. Лимит — 50 МБ на файл. Файлы можно конвертировать пачкой — параллельно.

Что не умеет: OCR — то есть распознавание текста на сканах и картинках. Это сделано намеренно: модуль OCR — это отдельная большая зависимость, которая на разных системах ставится по-разному и не везде ставится вообще.

Если у вас на входе сканированный PDF, скилл честно вернёт ошибку: «это скан без текстового слоя, OCR здесь не делаю». Вы тогда либо просите отправителя дать текстовую версию, либо подключаете свой инструмент распознавания — отдельный CLI, облачный сервис, что угодно. Скилл не пытается героически выкрутиться там, где может ошибиться.

кому подойдёт

Подходит всем, у кого основная масса документов — обычные текстовые файлы (договоры, переписка, отчёты, презентации). И тем, кому критична лёгкость установки — никаких больших зависимостей вроде tesseract.

Скилл №2: mark-all-the-stuff-down (с OCR)

Тот же конвертер, но со встроенным распознаванием текста на сканах и картинках.

Что добавляется: сканированные PDF, изображения в PNG, JPG, JPEG, TIFF, BMP, WEBP.

Как устроен OCR: внутри скилла лежит локальный tesseract с языковыми пакетами русский + английский (rus+eng). Никуда ходить за моделями распознавания не нужно — всё уже внутри.

Этот скилл нужен в первую очередь пользователям Claude Cowork. Дело вот в чём: когда вы работаете с документами в Cowork, ваш агент запускается в виртуальной машине с серьёзными ограничениями. В стандартной поставке там есть распознавание только английского текста. Поставить русский модуль самому — не получится: окружение специально закрыто и скачать этот модуль не даёт. И это значит, что любой скан российского документа — постановление, договор, выписка — для агента в Claude Cowork сейчас, по сути, нечитаем.

Этот скилл закрывает дыру. Вы устанавливаете его через интерфейс (достаточно просто дважды щёлкнуть на .skill-файл) и агент получает возможность распознавать русские сканы — потому что языковые пакеты приехали вместе со скиллом, ставить их отдельно не нужно.

важно

Это fast-модуль — он быстрый, но не самый точный. На хорошем скане работает прилично. На фотографии документа, снятой под углом и со складками, точность падает. Скилл это понимает и сам помечает результат предупреждением WARN ocr-low-confidence, если уверенность распознавания низкая. Лучше честное предупреждение, чем тихо подсунутая модели «галлюцинация» из плохо распознанного текста.

При этом «не самый точный» — это всё равно несравнимо лучше, чем «никак». До этого скилла русские сканы в Claude Cowork были фактически выключены из работы.

* * *

Установка

macOS / Linux:

# Без OCR
curl -LsSf https://raw.githubusercontent.com/strigov/mark-the-shit-down/main/install.sh | sh

# С OCR
curl -LsSf https://raw.githubusercontent.com/strigov/mark-all-the-shit-down/main/install.sh | sh

Windows (PowerShell):

# Без OCR
irm https://raw.githubusercontent.com/strigov/mark-the-shit-down/main/install.ps1 | iex

# С OCR
irm https://raw.githubusercontent.com/strigov/mark-all-the-shit-down/main/install.ps1 | iex

Claude Cowork: скачайте свежий .skill-файл со страницы Releases нужного репозитория и загрузите его в Settings → Capabilities → Skills. После этого агент сам начнёт пользоваться скиллом, когда вы пришлёте ему документ. Обращаю внимание — скилл в таком случае установится и в Claude.ai (появится также в веб-интерфейсе), без дополнительной установки.

Дальше — ничего. В диалоге с агентом вы просто прикладываете файл и описываете задачу. Конвертация запускается автоматически.

Кому это нужно

Если вы юрист и работаете с агентами, например, с тем же Claude Cowork или Claude.ai — этот скилл устраняет одну из самых частых причин боли. Любая практика — это поток договоров, постановлений, переписки, выписок, отчётов. Половина — в .docx, половина — в сканах PDF. И до сих пор каждый файл приходилось готовить руками.

Теперь не нужно. Прикладываете — агент сам конвертирует, сам читает по кускам, сам экономит ваш лимит подписки.

То же самое — для консультантов, аналитиков, исследователей: всех, у кого работа строится вокруг чтения и сопоставления документов.

* * *

Лицензия

Лицензия у обоих скиллов — AGPL-3.0. Можно использовать, форкать, дорабатывать под свои задачи.

теги проектLLMskillmarkdown