mcpField
T
to-markdown

to-markdown

github.com/steveclarkeDocuments3673 installsUpdated 1d ago
Repository

About to-markdown

A skill for converting files and links into Markdown with Microsoft's markitdown. It supports office documents, structured text, audio, and YouTube transcripts, while noting format-specific output limitations.

Key features

  1. 01Convert PDF, Word, Excel, and PowerPoint
  2. 02Extract HTML and structured text
  3. 03Process images with OCR
  4. 04Transcribe audio and YouTube videos
  5. 05Write output to stdout or a file

Use cases

  1. 01Import reports into a knowledge base
  2. 02Convert received Word documents to Markdown
  3. 03Batch-convert PDFs in a directory
  4. 04Quickly inspect PDF contents

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/steveclarke/dotfiles --skill to-markdown

After installing, type/to-markdownin Claude Code to confirm it loaded.

Details

From the project README

Convert files to Markdown using markitdown — Microsoft's utility that extracts and structures content from many file formats.

Supported Formats

FormatNotes
PDFText extracted; table structure may be approximate
Word (.docx)Clean conversion including tables
Excel (.xlsx)Sheets as markdown tables
PowerPoint (.pptx)Slide text and structure
HTMLCleaned readable content
ImagesOCR (requires LLM vision for best results)
AudioTranscription via SpeechRecognition
CSV / JSON / XMLStructured text
YouTube URLsTranscript extraction
EPubChapter text

Usage

# Convert to stdout
markitdown input.pdf 2>/dev/null

# Save to file
markitdown input.pdf -o output.md 2>/dev/null

# Or redirect
markitdown input.docx 2>/dev/null > output.md

Always use 2>/dev/null to suppress noisy font/parser warnings that don't affect output quality.

Workflow

  1. Check if markitdown is installed:

    which markitdown || echo "not installed"
    
  2. Install if missing (with all format support):

    pip install 'markitdown[all]'
    
  3. Run the conversion with stderr suppressed:

    markitdown "$INPUT_FILE" 2>/dev/null
    
  4. Handle the output based on user intent:

    • Saving to the knowledge base → write to appropriate .md file
    • Quick review → show in conversation
    • Multiple files → loop and convert each

Output Quality Notes

  • PDFs: Text is extracted faithfully but table cells may land on separate lines (PDF doesn't encode table structure). If the user needs clean tables from a PDF, note this limitation.
  • Word/Excel: Usually clean output with proper table formatting.
  • Complex layouts: Multi-column PDFs or heavily formatted documents may have scrambled reading order.
  • Scanned PDFs: Image-only PDFs produce no text without OCR/LLM vision integration.

Common Use Cases

Import a document into knowledge base:

markitdown report.pdf 2>/dev/null > knowledge/competitive/raw/report.md

Convert a Word doc someone sent you:

markitdown meeting-notes.docx 2>/dev/null > notes.md

Batch convert a directory:

for f in docs/*.pdf; do
  markitdown "$f" 2>/dev/null > "${f%.pdf}.md"
done

Check what a PDF contains before deciding what to do with it:

markitdown document.pdf 2>/dev/null | head -50

Comments

Markdown supported