pandoc-converter

jrajasekera's avatarfrom jrajasekera

Convert documents between formats using Pandoc. Use when the user asks to convert files between formats like markdown, docx, html, pdf, latex, epub, rtf, csv, xlsx, or pptx. Triggers on requests like "convert this to Word", "export as PDF", "turn this markdown into HTML", or "convert the CSV to a table".

0stars🔀0forks📁View on GitHub🕐Updated Jan 7, 2026

When & Why to Use This Skill

The Pandoc Converter skill provides a powerful and versatile solution for document transformation, allowing users to seamlessly convert files between formats like Markdown, DOCX, PDF, HTML, and LaTeX. By leveraging the industry-standard Pandoc engine, it automates the process of reformatting content for different platforms, ensuring high-quality output for technical writing, academic research, and professional reporting through simple natural language commands.

Use Cases

  • Case 1: Converting technical documentation or README files from Markdown to Microsoft Word (DOCX) for corporate stakeholders.
  • Case 2: Exporting academic papers or research notes into professional PDF or LaTeX formats for formal publication.
  • Case 3: Transforming raw data from CSV or Excel spreadsheets into clean, structured HTML tables for web presentation.
  • Case 4: Repurposing long-form content or articles into EPUB or RTF formats to ensure compatibility across various e-readers and devices.
namepandoc-converter
descriptionConvert documents between formats using Pandoc. Use when the user asks to convert files between formats like markdown, docx, html, pdf, latex, epub, rtf, csv, xlsx, or pptx. Triggers on requests like "convert this to Word", "export as PDF", "turn this markdown into HTML", or "convert the CSV to a table".

Pandoc Converter

Convert documents between common formats using Pandoc.

Quick Start

# Basic conversion (format auto-detected from extensions)
python scripts/convert.py input.md output.docx

# Specify output format only
python scripts/convert.py document.md --to html

# Check if Pandoc is installed
python scripts/convert.py --check

# List supported formats
python scripts/convert.py --formats

Supported Formats

Document formats (read/write): markdown, html, docx, latex, epub, rtf, pptx, pdf
Data formats (read only): csv, tsv, xlsx
Markdown variants: gfm (GitHub), commonmark

For detailed compatibility, see references/format-compatibility.md.

Common Conversions

From To Command
Markdown Word python scripts/convert.py doc.md doc.docx
Markdown PDF python scripts/convert.py doc.md doc.pdf
Markdown HTML python scripts/convert.py doc.md doc.html
Word Markdown python scripts/convert.py doc.docx doc.md
CSV HTML table python scripts/convert.py data.csv data.html
LaTeX PDF python scripts/convert.py paper.tex paper.pdf

Options

Option Description
--from <fmt> Override input format detection
--to <fmt> Specify output format (if no output file)
--standalone Include document headers/footers
--toc Add table of contents
--pdf-engine <eng> PDF engine: pdflatex, xelatex, lualatex

Additional Pandoc options pass through directly.

Workflow

  1. Check installation: Run python scripts/convert.py --check
  2. If not installed: Follow the installation instructions provided
  3. Convert: Run the conversion with input and output files
  4. Present result: Provide the converted file to the user

Installation (if needed)

The script provides installation guidance, but here's a summary:

# macOS
brew install pandoc

# Ubuntu/Debian  
sudo apt-get install pandoc

# For PDF output, also install LaTeX:
# macOS: brew install --cask mactex-no-gui
# Ubuntu: sudo apt-get install texlive-xetex

Limitations

  • CSV/TSV/XLSX: Input only (converts to tables in other formats)
  • PDF output: Requires LaTeX installation
  • PPTX: Text extraction works; complex layouts may simplify
  • Complex formatting: Some features may not transfer between formats