markdown skill
Convert files to Markdown using uvx markitdown — no installation required.
features
- converts documents, web/data files, media files, archives, and URLs to Markdown
- supports stdout,
-o output files, and stdin conversion
- accepts file extension, MIME type, and charset hints for ambiguous input
- can enable or list markitdown plugins when needed
usage
# convert to stdout
uvx markitdown input.pdf
# save to file
uvx markitdown input.pdf -o output.md
uvx markitdown input.docx > output.md
# from stdin
cat input.pdf | uvx markitdown
supported formats
- Documents: PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls)
- Web/Data: HTML, CSV, JSON, XML
- Media: Images (EXIF + OCR), Audio (EXIF + transcription)
- Other: ZIP (iterates contents), YouTube URLs, EPub
options
-o OUTPUT # output file
-x EXTENSION # hint file extension (for stdin)
-m MIME_TYPE # hint MIME type
-c CHARSET # hint charset (e.g., UTF-8)
--use-plugins # enable 3rd-party plugins
--list-plugins # show installed plugins
examples
# convert Word document
uvx markitdown report.docx -o report.md
# convert Excel spreadsheet
uvx markitdown data.xlsx > data.md
# convert PowerPoint presentation
uvx markitdown slides.pptx -o slides.md
# convert with file type hint (for stdin)
cat document | uvx markitdown -x .pdf > output.md
workflow
- identify the input file(s) or URL the user wants to convert
- determine the best invocation (stdout vs
-o flag vs stdin pipe) based on context
- run
uvx markitdown <input> — dependencies download on first run, then cache
- if output looks malformed, suggest a MIME or extension hint via
-x or -m
- return the resulting Markdown to the user or confirm the saved file path
best practices
- output preserves document structure: headings, tables, lists, links
- first run caches dependencies; subsequent runs are faster
- for stdin input, always pass
-x or -m so markitdown knows the format
credits
Adapted from steipete/agent-scripts — markdown-converter by @steipete.
1---2name: markdown3description: Converts files to Markdown using uvx markitdown, supporting PDF, Word, PowerPoint, Excel, HTML, images with OCR, audio with transcription, ZIP archives, and YouTube URLs. Use when the user wants to convert a file or URL to Markdown.4---56# markdown skill78Convert files to Markdown using `uvx markitdown` — no installation required.910## features1112- converts documents, web/data files, media files, archives, and URLs to Markdown13- supports stdout, `-o` output files, and stdin conversion14- accepts file extension, MIME type, and charset hints for ambiguous input15- can enable or list markitdown plugins when needed1617## usage1819```bash20# convert to stdout21uvx markitdown input.pdf2223# save to file24uvx markitdown input.pdf -o output.md25uvx markitdown input.docx > output.md2627# from stdin28cat input.pdf | uvx markitdown29```3031## supported formats3233- **Documents**: PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls)34- **Web/Data**: HTML, CSV, JSON, XML35- **Media**: Images (EXIF + OCR), Audio (EXIF + transcription)36- **Other**: ZIP (iterates contents), YouTube URLs, EPub3738## options3940```bash41-o OUTPUT # output file42-x EXTENSION # hint file extension (for stdin)43-m MIME_TYPE # hint MIME type44-c CHARSET # hint charset (e.g., UTF-8)45--use-plugins # enable 3rd-party plugins46--list-plugins # show installed plugins47```4849## examples5051```bash52# convert Word document53uvx markitdown report.docx -o report.md5455# convert Excel spreadsheet56uvx markitdown data.xlsx > data.md5758# convert PowerPoint presentation59uvx markitdown slides.pptx -o slides.md6061# convert with file type hint (for stdin)62cat document | uvx markitdown -x .pdf > output.md63```6465## workflow66671. identify the input file(s) or URL the user wants to convert682. determine the best invocation (stdout vs `-o` flag vs stdin pipe) based on context693. run `uvx markitdown <input>` — dependencies download on first run, then cache704. if output looks malformed, suggest a MIME or extension hint via `-x` or `-m`715. return the resulting Markdown to the user or confirm the saved file path7273## best practices7475- output preserves document structure: headings, tables, lists, links76- first run caches dependencies; subsequent runs are faster77- for stdin input, always pass `-x` or `-m` so markitdown knows the format7879## credits8081Adapted from [steipete/agent-scripts — markdown-converter](https://github.com/steipete/agent-scripts/blob/main/skills/markdown-converter/SKILL.md) by [@steipete](https://github.com/steipete).