anydoc
Скилл и CLI от Firecrawl: агент переводит Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV и PDF в Markdown на вашей машине
Средний риск
Средний уровень ставим, когда инструмент запускает код, ходит в сеть или читает файлы проекта. Перед установкой посмотрите, что он делает.
Почему такой уровень
- Агент запускает через npx пакет @firecrawl/anydoc, который при первом запуске скачивает готовый бинарник
- CLI читает файлы, на которые укажет агент, и пишет Markdown в выбранный файл
- С флагом --ocr hosted документ целиком уходит в облако Firecrawl Parse
Установка
Ручная установка
npx skills add firecrawl/anydocСтавит скилл convert-documents-to-markdown через skills CLI в Claude Code, Codex, Cursor, OpenCode и другие агенты с поддержкой Agent Skills. Сам конвертер скилл вызывает через npx, ему нужен Node.js 20 или новее.
Проверка безопасности
Как мы проверяемСредний рискСредний уровень ставим, когда инструмент запускает код, ходит в сеть или читает файлы проекта. Перед установкой посмотрите, что он делает.
- Агент запускает через npx пакет @firecrawl/anydoc, который при первом запуске скачивает готовый бинарник
- CLI читает файлы, на которые укажет агент, и пишет Markdown в выбранный файл
- С флагом --ocr hosted документ целиком уходит в облако Firecrawl Parse
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
anydoc переводит офисные документы, электронные книги и PDF в Markdown, который агент читает как обычный текст. Скилл convert-documents-to-markdown учит Claude Code, Codex, Cursor и OpenCode вызывать CLI через npx. Результат CLI печатает в консоль или пишет в файл с флагом -o. Конвертер написан на Rust и работает без ML-моделей и внешних сервисов. Он сохраняет заголовки, списки с исходной нумерацией, таблицы с объединенными ячейками, сноски и заметки докладчика, а формулы переводит в LaTeX. Формат CLI определяет по содержимому файла, поэтому документ с неверным расширением тоже конвертируется.
Для кого. Для разработчиков, аналитиков и технических писателей, которые отдают агенту договоры, таблицы и презентации в офисных форматах, включая старые .doc, .ppt и .xls.
Подходит, если
- Агенту нужно прочитать договор в .docx, презентацию или таблицу Excel, которые он не открывает сам
- В папке лежат вперемешку старые .doc, .ppt, .xls и файлы OpenDocument, и для всех нужен Markdown одного вида
- Документы нельзя отправлять во внешний сервис, поэтому офисные файлы и текстовые PDF нужно конвертировать на своей машине
- В проект на Node.js, Python или Rust нужно встроить конвертацию через библиотеку с теми же форматами, что у CLI
Не подходит, если
- Нужно перевести в текст HTML-страницу, картинку, аудио или ролик YouTube: anydoc такие файлы не принимает, их читает MarkItDown
- Почти все PDF в архиве сканированные, а отправлять их в облако нельзя: своего OCR в anydoc нет
- Агенту нужен MCP-сервер с инструментом конвертации: в репозитории есть скилл, CLI и библиотеки, MCP-сервера нет
Пример запроса к агенту
Прочитай договор contract.docx и прайс prices.xlsx из папки docs и выпиши сроки оплаты и цены по каждой позицииОграничения
Скиллу и CLI нужен Node.js 20 или новее. При первом запуске npx скачивает готовый бинарник под платформу: macOS, Linux или Windows x64. Python-пакету нужен Python 3.10 и новее. Своего OCR нет, поэтому PDF со сканами завершается ошибкой NeedsOcr. С флагом --ocr hosted такой документ целиком уходит в облачный Firecrawl Parse. Parse работает без регистрации с лимитами, ключ FIRECRAWL_API_KEY их поднимает, а доступность этого облака из России README не описывает. Зашифрованные файлы и файлы с паролем не конвертируются, картинки из документа попадают в Markdown только подписью.
Как отключить. Выполните npx skills remove convert-documents-to-markdown или удалите папку convert-documents-to-markdown из каталога скиллов агента, например ~/.claude/skills. Глобальный CLI удаляется командой npm uninstall -g @firecrawl/anydoc, Python-пакет командой pip uninstall firecrawl-anydoc.
Частые вопросы
Документы куда-нибудь отправляются?
По умолчанию нет. Офисные файлы и текстовые PDF конвертируются на вашей машине, а крейт на Rust в сеть не ходит. В облако Firecrawl Parse уходят только PDF со сканами и только с флагом --ocr hosted.
Что агент делает с большим документом?
SKILL.md велит писать результат в файл через -o и читать из него нужные части. Так длинная таблица или книга не попадает в контекст целиком.
Как агент узнает, что конвертация не удалась?
По коду выхода: 0 означает успех, 1 документ не конвертировался, 2 ошибку в команде, 3 скан в PDF. Причину CLI пишет одной строкой в stderr и никогда ничего не спрашивает.
Похожие
СкиллыУтилита Microsoft и MCP-сервер, которые переводят PDF, Word, Excel, PowerPoint, HTML и другие файлы в Markdown для модели
Скиллы Anthropic
Skills
Официальные примеры скиллов Anthropic: документы docx, pdf, pptx, xlsx, дизайн, MCP builder и спецификация Agent Skills
Скилл, который собирает редактируемые PPTX-презентации из PDF, DOCX, ссылок и Markdown с настоящими фигурами, диаграммами и анимациями
Скилл рисует редакторские диаграммы как самостоятельные файлы HTML и SVG: архитектура, блок-схемы, ER, воронки и еще около сорока типов
Коротко о README
README начинается с установки скилла одной командой npx skills add и примеров CLI, затем дает подключение библиотеки для Node.js, Python, браузера через WebAssembly и Rust. Отдельный раздел про OCR объясняет, что локально читаются только PDF с текстовым слоем, а сканы по флагу уходят в Firecrawl Parse. Авторы приводят свой бенчмарк на 100 документах 14 форматов, где оценки ставит модель-судья, а медианное время конвертации у anydoc 4,4 мс. Дальше описаны определение формата по содержимому, типы ошибок и общая модель документа, через которую проходят все форматы.
Бейдж для README
Вы автор проекта? Покажите в README, что он проверен в каталоге SkillFoxx. Уровень на бейдже обновляется сам.
[](https://skillfoxx.ru/skills/anydoc?utm_source=github&utm_medium=badge&utm_campaign=readme)SKILL.md
--- name: convert-documents-to-markdown description: Convert Word (.doc, .docx), PowerPoint (.ppt, .pptx), Excel (.xls, .xlsx), OpenDocument (.odt, .ods, .odp), RTF, EPUB, CSV, and PDF files to GitHub-Flavored Markdown. Use when a task needs the contents of an office document, spreadsheet, presentation, ebook, or PDF you cannot read directly. license: MIT metadata: author: firecrawl --- # Convert documents to Markdown Run the anydoc CLI. It needs Node 20+ and no install: ```bash npx -y @firecrawl/anydoc <file> # Markdown to stdout npx -y @firecrawl/anydoc <file> -o out.md # write to a file npx -y @firecrawl/anydoc - --format csv < f # read stdin ``` Rules: 1. Supported inputs: `.doc`, `.docx`, `.docm`, `.odt`, `.rtf`, `.epub`, `.pdf`, `.ppt`, `.pps`, `.pot`, `.pptx`, `.pptm`, `.ppsx`, `.ppsm`, `.odp`, `.xls`, `.xlsx`, `.xlsm`, `.xlsb`, `.ods`, `.csv`. 2. The format is detected from the file content. Pass `--format <name>` only when detection cannot work: CSV from stdin, or a missing or wrong extension. 3. Exit codes: 0 success, 1 the document could not be converted, 2 usage error, 3 pages of a PDF need OCR. Failures print one `anydoc: <message>` line to stderr. The CLI never prompts. 4. For a large document, write to a file with `-o` and read the parts you need instead of streaming everything into context. 5. Scanned and image-only pages need OCR, which anydoc does not do, so the document exits 3. Rerun with `--ocr hosted` to send it to [Firecrawl Parse](https://firecrawl.dev/parse). No signup needed. Pass `--api-key` or set `FIRECRAWL_API_KEY` for higher limits. 6. Inside a Node, Python, or Rust codebase, prefer the library over shelling out: `@firecrawl/anydoc` on npm, `firecrawl-anydoc` on PyPI, `anydoc` on crates.io. Each exposes the same `to_markdown` / `toMarkdown` API.