Skills firecrawl anydoc

convert-documents-to-markdown

Use it when:
The agent needs the contents of an office document, spreadsheet, presentation, ebook or PDF it can't read directly.
It does:
Runs npx @firecrawl/anydoc on the file, which detects the format from the file's content.
You get:
GitHub-flavored Markdown, in the chat or written to a file the agent reads in parts.
Scanned pages:
anydoc does no OCR, so the agent reruns with --ocr hosted, which sends the document to Firecrawl Parse.
Needs:
Node.js 20 or later; no install or signup, and an API key only for higher OCR limits.
In code:
Inside a Node, Python or Rust project it uses the anydoc library instead of the CLI.

When local conversion can't read scanned or image-only pages, the agent reruns with hosted OCR, which uploads the document to Firecrawl Parse.

TL;DR

A short guide to anydoc, Firecrawl's document-to-Markdown converter. The agent runs it through npx, so nothing is installed, and gets Markdown on stdout; for a large document it writes to a file and reads only the parts it needs instead of pulling everything into context. It handles Word, PowerPoint and Excel files, old and new, their OpenDocument equivalents, RTF, EPUB, CSV and PDF. The format is detected from the file itself; the agent names it only for CSV on stdin or a missing or wrong extension. Exit codes tell it what happened: success, a document that couldn't be converted, a usage error, or PDF pages that need OCR. The CLI never prompts. Scanned and image-only pages can't be read locally, so the agent reruns with --ocr hosted, which uploads the document to Firecrawl Parse; no signup is needed, and a Firecrawl API key raises the limits.

Summarizes the skill at e7178e0.

npx skills add https://github.com/firecrawl/anydoc --skill convert-documents-to-markdown
Total Downloads
13,300 on skills.sh, Nov 9, 2026
Repo stars
23,441 firecrawl/anydoc
First seen
Aug 4, 2026 on skills.sh
Weekly Downloads
349
-50% over the 8 weeks to Nov 9
Weekly values
Week toInstalls
Sep 21694
Sep 28694
Oct 5848
Oct 12790
Oct 19667
Oct 26522
Nov 2382
Nov 9349
Category

Office files, notes and suites like Lark and Google Workspace.

Type

Operates a CLI, API, app or bundled script to get something done.

Effect

Its own steps change something outside your machine: post, send, deploy, provision, file issues, drive a website, or upload data to a service.

Needs

A specific command-line tool or desktop app must be installed, such as gh, agent-browser, LibreOffice, Obsidian or a vendor CLI.

Publisher

A verified publisher on skills.sh, or the company or maintainer behind the product the skill operates.

Topics
Stack

SKILL.md

From firecrawl/anydoc at e7178e0. Checked daily, last changed Nov 6, 2026.

Frontmatter
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:

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. 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.