plugins/markitdown/skills/markitdown/SKILL.md
Convert documents to Markdown using MarkItDown MCP tools. Use when the user wants to convert PDF, read PPTX, extract text from DOCX, convert document to markdown, or mentions .pdf/.docx/.pptx/.xlsx/.xls/.ppt/.doc files for reading or conversion. Triggers on phrases like "convert to markdown", "read this document", "extract text from", "parse this file" with binary document formats.
npx skillsauth add pleaseai/claude-code-plugins markitdownInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use mcp__markitdown__convert_to_markdown whenever the user needs to read or extract text from binary document formats that Claude's native Read tool cannot parse.
MarkItDown converts binary and structured document formats into clean, readable Markdown text. It preserves document structure including headings, tables, lists, and other formatting elements.
Supported formats:
Use the markitdown MCP tool when:
The file is a binary Office format: .docx, .pptx, .xlsx, .doc, .ppt, .xls — Claude's Read tool returns garbled binary data for these formats. MarkItDown is the only reliable way to extract their text content.
The user wants structured extraction: When the user needs to preserve table structure, slide content, spreadsheet data, or document formatting in a machine-readable form.
Processing multiple documents in a ZIP: When a ZIP archive contains documents that need to be converted together.
The user explicitly asks to "convert to markdown": Regardless of file type, honor this intent by using MarkItDown.
Do NOT use MarkItDown for:
.txt, .md, .csv, .json, .xml, .html): Use Claude's native Read tool — it handles these perfectly and is faster..py, .js, .ts, .java, etc.): Use the Read tool directly.edgeparse plugin) — it is faster, preserves document structure (headings, tables, bounding boxes), and supports page ranges and borderless tables. Only fall back to MarkItDown for PDFs when EdgeParse is not installed.Call mcp__markitdown__convert_to_markdown with a file:// URI:
mcp__markitdown__convert_to_markdown(uri="file:///absolute/path/to/document.docx")
The tool accepts http:, https:, file:, or data: URIs. For local files, always use the file:// scheme with an absolute path (file:///path/to/file). The tool returns the document content as a Markdown string. Use this output directly to answer the user's question or to further process the content.
When the user asks to read, summarize, or analyze a .docx, .pptx, or .xlsx file:
file:// URI from the absolute path (e.g. file:///home/user/report.docx)mcp__markitdown__convert_to_markdown with the uri argumentDo not attempt to use the Read tool on these binary formats first — it will return unreadable binary data and waste time.
PowerPoint files convert to Markdown with each slide's content. Slide titles become headings, bullet points become list items, and tables are preserved. Speaker notes may also be included.
Excel spreadsheets convert with each sheet's data rendered as Markdown tables. Multiple sheets are separated with sheet name headings.
Word documents convert with full structure: headings, paragraphs, tables, and lists are all preserved in Markdown format.
file:// URIs with absolute paths: Construct the URI as file:///absolute/path/to/file. Relative paths are not supported — resolve to absolute first if needed.uvx markitdown-mcp: It requires uv to be installed on the system. If the tool fails, check that uv is available.development
RTK (Rust Token Killer) reduces LLM token consumption by 60-90% by filtering and compressing command outputs. Use when user asks about token savings, token optimization, RTK usage, `rtk gain`, `rtk discover`, or `rtk proxy`. Triggers on mentions of token reduction, RTK commands, or checking command cost.
tools
Semantic code search using the Semble MCP server. Use when exploring an unfamiliar codebase, finding code by what it does rather than exact text, locating an implementation, understanding how a feature works, or discovering related code. Triggers on requests like "where is X handled", "find the code that does Y", "how does Z work", "search the codebase for", or any semantic/exploratory code question where grep's literal matching is a poor fit.
development
Get best practices for developing applications with Spring Boot.
development
Get best practices for JUnit 5 unit testing, including data-driven tests