Convert files and Office documents into clean Markdown when you need LLM-friendly, token-efficient text (e.g., for summarization, search, RAG ingestion, or dataset preparation).
58
68%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./scientific-skills/Other/markitdown/SKILL.md>=3.9 (recommended)markitdown[all] (installs all optional format handlers)Optional system dependencies (feature-dependent):
tesseract-ocr (for image/scanned-text OCR)Optional external services (feature-dependent):
pip install 'markitdown[all]'markitdown document.pdf -o output.mdfrom pathlib import Path
from markitdown import MarkItDown
md = MarkItDown()
files = [
"document.pdf",
"spreadsheet.xlsx",
"presentation.pptx",
"notes.docx",
]
for path in files:
result = md.convert(path)
out = Path(path).with_suffix(".md")
out.write_text(result.text_content, encoding="utf-8")
print(f"Converted {path} -> {out}")from markitdown import MarkItDown
md = MarkItDown()
with open("large_file.pdf", "rb") as f:
result = md.convert_stream(f, file_extension=".pdf")
with open("large_file.md", "w", encoding="utf-8") as out:
out.write(result.text_content)from markitdown import MarkItDown
from openai import OpenAI
client = OpenAI(
api_key="YOUR_OPENROUTER_API_KEY",
base_url="https://openrouter.ai/api/v1",
)
md = MarkItDown(
llm_client=client,
llm_model="anthropic/claude-opus-4.5",
llm_prompt="Describe this image in detail for scientific documentation.",
)
result = md.convert("presentation.pptx")
print(result.text_content)Conversion entry points
MarkItDown().convert(path) converts a file by path/URL and returns an object whose primary payload is result.text_content (Markdown).MarkItDown().convert_stream(stream, file_extension=".pdf") converts from a binary stream; use this for large files or when data is not on disk.Format handling
pdf, docx, pptx, xlsx, audio-transcription, youtube-transcription) or all.OCR
PATH.AI image descriptions
llm_client, llm_model, and llm_prompt are provided, MarkItDown can request model-generated descriptions for images (including slide images), then inject those descriptions into the Markdown output.base_url and api_key.Enhanced PDF extraction (Azure Document Intelligence)
Plugins
--list-plugins, --use-plugins) to extend conversion behavior or add new format handlers.f5ef65b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.