I wrote a Claude Code skill that converts docs to Markdown before reading them

Jul 10, 2026

Claude Code’s native Read tool handles PDFs and images okay, but it mangles tables and nested lists, and it can’t touch DOCX, PPTX, XLSX, EPUB, or audio files at all. So I wrote a small skill that tells Claude to reach for microsoft/markitdown instead whenever one of those formats shows up.

Markdown preserves structure — headings, tables, lists — far better than a raw text dump, which makes whatever Claude does downstream (summarizing, extracting, answering questions) more reliable.

The skill is just a SKILL.md with a description Claude matches against (“read this PDF”, “summarize this DOCX”, a YouTube URL, …) plus a quick reference:

markitdown document.pdf                    # file -> stdout
markitdown document.docx -o document.md    # file -> markdown file
cat report.xlsx | markitdown -x .xlsx      # stdin needs a format hint
markitdown "https://www.youtube.com/watch?v=..."  # transcript as markdown

Install the CLI with uv tool install 'markitdown[all]' (make sure ~/.local/bin is on PATH), drop the gist’s content into ~/.claude/skills/markitdown/SKILL.md, and Claude Code picks it up automatically the next time a PDF or DOCX crosses its path.