
pdf-to-markdown
[Document Processing] Convert PDF files to Markdown with support for native text PDFs and scanned documents (OCR). Cross-platform.
- Installs
- 293
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/andreadellacorte/groove --skill pdf-to-markdown- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads pdf-to-markdown automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
[IMPORTANT] Use
TaskCreateto break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ask user whether to skip.
Quick Summary
Goal: Convert PDF files to well-formatted Markdown with auto-detection of native text vs scanned documents. Only native-text conversion is implemented; OCR is planned.
Workflow:
- Auto-Detect — Determine if PDF has native text or needs OCR
- Convert — Run
scripts/convert.cjswith input path and optional mode/output flags - Output — Returns JSON with success status, page count, and output path
Key Rules:
- Use
--mode auto(default) to let the tool decide native vs OCR - OCR for scanned PDFs requires additional
tesseract.jssetup - Complex multi-column layouts may not preserve structure perfectly
pdf-to-markdown
Convert PDF files to Markdown format with automatic detection of native text vs scanned documents.
No npm install required
The skill runs with Node.js only; no node_modules in the repo. It uses npx to run @opendocsg/pdf2md on first use (cached by npx). Optional: run npm install in the skill directory for faster runs without npx.
Requirements: Node.js ≥18, npx (included with npm).
Quick Start
# Basic conversion (auto-detect native vs scanned)
node .agents/skills/pdf-to-markdown/scripts/convert.cjs --input ./document.pdf
# Specify output path
node .agents/skills/pdf-to-markdown/scripts/convert.cjs -i ./doc.pdf -o ./output.md
# Force native mode (skip OCR detection)
node .agents/skills/pdf-to-markdown/scripts/convert.cjs -i ./doc.pdf --mode native
CLI Options
| Option | Short | Description | Default |
|---|---|---|---|
--input | -i | Input PDF file path | (required) |
--output | -o | Output markdown file path | {input}.md |
--mode | -m | Conversion mode: auto, native, ocr | auto |
--help | -h | Show help message |
Features
- Auto-Detection: Automatically determines if PDF has native text or requires OCR
- Native PDFs: Fast extraction using @opendocsg/pdf2md
- Tables: Basic table structure preservation
- Cross-Platform: Works on Windows, macOS, Linux
- No System Dependencies: Pure JavaScript implementation
Conversion Modes
Auto (Default)
Checks if PDF has extractable text on first page. Uses native extraction if text found, otherwise falls back to OCR warning.
Native
Fast direct text extraction. Best for PDFs with selectable text (not scanned images).
OCR (Scanned PDFs) - Coming Soon
For scanned documents. Currently not implemented - the skill will notify you if a PDF appears to be scanned.
Output
Returns JSON on success:
{
"success": true,
"input": "/path/to/input.pdf",
"output": "/path/to/output.md",
"stats": {
"pages": 5,
"mode": "native"
}
}
Limitations
- Complex multi-column layouts may not preserve structure
- Scanned PDF OCR accuracy depends on image quality
- Mathematical formulas may not convert perfectly
- First-run OCR downloads language data (~15MB)
OCR Setup (Optional)
OCR mode is wired into the skill but not yet implemented. If you want to prepare your environment or extend it yourself, install the OCR dependencies so Node can resolve them:
cd .agents/skills/pdf-to-markdown
npm install tesseract.js pdfjs-dist canvas
Note: The canvas package may require build tools on some systems.
IMPORTANT Task Planning Notes (MUST FOLLOW)
- Always plan and break work into many small todo tasks
- Always add a final review todo task to verify work quality and identify fixes/enhancements
FAQ
What does the pdf-to-markdown skill do?
[Document Processing] Convert PDF files to Markdown with support for native text PDFs and scanned documents (OCR). Cross-platform.
How do I install pdf-to-markdown?
Run npx skills add https://github.com/andreadellacorte/groove --skill pdf-to-markdown in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/pdf-to-markdown/ (personal) or .claude/skills/pdf-to-markdown/ (project).
Which AI agents can use pdf-to-markdown?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is pdf-to-markdown safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains pdf-to-markdown?
It is published by andreadellacorte in andreadellacorte/groove. It has 293 recorded installs.
More from andreadellacorte/groove
groove
andreadellacorte/groove
Groove engineering workflow system. Top-level entry point. Use groove-daily-, groove-work-, groove-utilities-, groove-admin- for all workflow and admin commands.
groove-utilities-task-analyse
andreadellacorte/groove
Analyse task status and distribution across the configured backend.
groove-utilities-memory-install
andreadellacorte/groove
Set up memory backend and configuration.
groove-admin-install
andreadellacorte/groove
Install groove backends, companions, and AGENTS.md bootstrap. Run once per repo.
groove-utilities-memory-log-daily
andreadellacorte/groove
Write the daily memory log entry. Use at end of day to record what happened.
groove-utilities-task-install
andreadellacorte/groove
Set up task backend and configuration.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.