markdown-tools
Converts documents to markdown with multi-tool orchestration for best quality. Supports Quick Mode (fast, single tool) and Heavy Mode (best quality, multi-tool merge). Use when converting PDF/DOCX/PPTX files to markdown, extracting images from documents, validating conversion quality, or needing LLM-optimized document output.
Best use case
markdown-tools is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Converts documents to markdown with multi-tool orchestration for best quality. Supports Quick Mode (fast, single tool) and Heavy Mode (best quality, multi-tool merge). Use when converting PDF/DOCX/PPTX files to markdown, extracting images from documents, validating conversion quality, or needing LLM-optimized document output.
Teams using markdown-tools should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/markdown-tools/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How markdown-tools Compares
| Feature / Agent | markdown-tools | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Converts documents to markdown with multi-tool orchestration for best quality. Supports Quick Mode (fast, single tool) and Heavy Mode (best quality, multi-tool merge). Use when converting PDF/DOCX/PPTX files to markdown, extracting images from documents, validating conversion quality, or needing LLM-optimized document output.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Markdown Tools Convert documents to high-quality markdown with intelligent multi-tool orchestration. ## Dual Mode Architecture | Mode | Speed | Quality | Use Case | |------|-------|---------|----------| | **Quick** (default) | Fast | Good | Drafts, simple documents | | **Heavy** | Slower | Best | Final documents, complex layouts | ## Quick Start ### Installation ```bash # Required: PDF/DOCX/PPTX support uv tool install "markitdown[pdf]" pip install pymupdf4llm brew install pandoc ``` ### Basic Conversion ```bash # Quick Mode (default) - fast, single best tool uv run --with pymupdf4llm --with markitdown scripts/convert.py document.pdf -o output.md # Heavy Mode - multi-tool parallel execution with merge uv run --with pymupdf4llm --with markitdown scripts/convert.py document.pdf -o output.md --heavy # Check available tools uv run scripts/convert.py --list-tools ``` ## Tool Selection Matrix | Format | Quick Mode Tool | Heavy Mode Tools | |--------|----------------|------------------| | PDF | pymupdf4llm | pymupdf4llm + markitdown | | DOCX | pandoc | pandoc + markitdown | | PPTX | markitdown | markitdown + pandoc | | XLSX | markitdown | markitdown | ### Tool Characteristics - **pymupdf4llm**: LLM-optimized PDF conversion with native table detection and image extraction - **markitdown**: Microsoft's universal converter, good for Office formats - **pandoc**: Excellent structure preservation for DOCX/PPTX ## Heavy Mode Workflow Heavy Mode runs multiple tools in parallel and selects the best segments: 1. **Parallel Execution**: Run all applicable tools simultaneously 2. **Segment Analysis**: Parse each output into segments (tables, headings, images, paragraphs) 3. **Quality Scoring**: Score each segment based on completeness and structure 4. **Intelligent Merge**: Select best version of each segment across tools ### Merge Criteria | Segment Type | Selection Criteria | |--------------|-------------------| | Tables | More rows/columns, proper header separator | | Images | Alt text present, local paths preferred | | Headings | Proper hierarchy, appropriate length | | Lists | More items, nested structure preserved | | Paragraphs | Content completeness | ## Image Extraction ```bash # Extract images with metadata uv run --with pymupdf scripts/extract_pdf_images.py document.pdf -o ./assets # Generate markdown references file uv run --with pymupdf scripts/extract_pdf_images.py document.pdf --markdown refs.md ``` Output: - Images: `assets/img_page1_1.png`, `assets/img_page2_1.jpg` - Metadata: `assets/images_metadata.json` (page, position, dimensions) ## Quality Validation ```bash # Validate conversion quality uv run --with pymupdf scripts/validate_output.py document.pdf output.md # Generate HTML report uv run --with pymupdf scripts/validate_output.py document.pdf output.md --report report.html ``` ### Quality Metrics | Metric | Pass | Warn | Fail | |--------|------|------|------| | Text Retention | >95% | 85-95% | <85% | | Table Retention | 100% | 90-99% | <90% | | Image Retention | 100% | 80-99% | <80% | ## Merge Outputs Manually ```bash # Merge multiple markdown files python scripts/merge_outputs.py output1.md output2.md -o merged.md # Show segment attribution python scripts/merge_outputs.py output1.md output2.md -o merged.md --verbose ``` ## Path Conversion (Windows/WSL) ```bash # Windows → WSL conversion python scripts/convert_path.py "C:\Users\name\Documents\file.pdf" # Output: /mnt/c/Users/name/Documents/file.pdf ``` ## Common Issues **"No conversion tools available"** ```bash # Install all tools pip install pymupdf4llm uv tool install "markitdown[pdf]" brew install pandoc ``` **FontBBox warnings during PDF conversion** - Harmless font parsing warnings, output is still correct **Images missing from output** - Use Heavy Mode for better image preservation - Or extract separately with `scripts/extract_pdf_images.py` **Tables broken in output** - Use Heavy Mode - it selects the most complete table version - Or validate with `scripts/validate_output.py` ## Bundled Scripts | Script | Purpose | |--------|---------| | `convert.py` | Main orchestrator with Quick/Heavy mode | | `merge_outputs.py` | Merge multiple markdown outputs | | `validate_output.py` | Quality validation with HTML report | | `extract_pdf_images.py` | PDF image extraction with metadata | | `convert_path.py` | Windows to WSL path converter | ## References - `references/heavy-mode-guide.md` - Detailed Heavy Mode documentation - `references/tool-comparison.md` - Tool capabilities comparison - `references/conversion-examples.md` - Batch operation examples
Related Skills
markdown-converter
Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
update-markdown-file-index
Update a markdown file section with an index/table of files from a specified folder.
markdown-to-html
Convert Markdown files to HTML similar to `marked.js`, `pandoc`, `gomarkdown/markdown`, or similar tools; or writing custom script to convert markdown to html and/or working on web template systems like `jekyll/jekyll`, `gohugoio/hugo`, or similar web templating systems that utilize markdown documents, converting them to html. Use when asked to "convert markdown to html", "transform md to html", "render markdown", "generate html from markdown", or when working with .md files and/or web a templating system that converts markdown to HTML output. Supports CLI and Node.js workflows with GFM, CommonMark, and standard Markdown flavors.
mermaid-tools
Extracts Mermaid diagrams from markdown files and generates high-quality PNG images using bundled scripts. Activates when working with Mermaid diagrams, converting diagrams to PNG, extracting diagrams from markdown, or processing markdown files with embedded Mermaid code.
doc-to-markdown
Converts DOCX/PDF/PPTX to high-quality Markdown with automatic post-processing. Fixes pandoc grid tables, simple tables, image paths, CJK bold spacing, attribute noise, and code blocks. Benchmarked best-in-class (7.6/10) against Docling, MarkItDown, Pandoc raw, and Mammoth. Trigger on "convert document", "docx to markdown", "parse word", "doc to markdown", "解析word", "转换文档".
Markdown Exporter
Markdown Exporter is an Agent Skill that transforms your Markdown text into a wide variety of professional format files.
no-tools
Instructions only skill
woocommerce-markdown
Guidelines for creating and modifying markdown files in WooCommerce. Use when writing documentation, README files, or any markdown content.
security-scanning-tools
This skill should be used when the user asks to "perform vulnerability scanning", "scan networks for open ports", "assess web application security", "scan wireless networks", "detect malware", "check cloud security", or "evaluate system compliance". It provides comprehensive guidance on security scanning tools and methodologies.
scanning-tools
This skill should be used when the user asks to "perform vulnerability scanning", "scan networks for open ports", "assess web application security", "scan wireless networks", "detec...
red-team-tools
This skill should be used when the user asks to "follow red team methodology", "perform bug bounty hunting", "automate reconnaissance", "hunt for XSS vulnerabilities", "enumerate su...
red-team-tools-and-methodology
This skill should be used when the user asks to "follow red team methodology", "perform bug bounty hunting", "automate reconnaissance", "hunt for XSS vulnerabilities", "enumerate subdomains", or needs security researcher techniques and tool configurations from top bug bounty hunters.