markitdown
Skill4 starsChanged 14 days agoMITView on GitHub
Extract document text as Markdown with Microsoft's MarkItDown CLI. Use for file conversion or YouTube transcripts; image OCR and audio transcription require verified optional backends and their data-transfer permissions.
- Installs packages
42 other projects use a version of this.
Adopted by
Most recently taken up by
- Markssuave/Markssuave-Agent-skillstheir own version, first seen Nov 8, 2026
- BrightGold70/skillstheir own version, first seen Nov 8, 2026
- ZhouYinLong-lab/Dog-Skillstheir own version, first seen Nov 8, 2026
- K-Dense-AI/claude-scientific-writertheir own version, first seen Nov 7, 2026
- myths-labs/musetheir own version, first seen Nov 6, 2026
- MarieLynneBlock/arcanum-artifextheir own version, first seen Nov 1, 2026
Used with
Projects with it also use scientific-slides, scientific-critical-thinking and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ZanderRussSkillscientific-slides
Build slide decks and presentations for research talks. Use this for making PowerPoint slides, conference presentations, seminar talks, research presentations, thesis defense slides, or any scientific talk. Provides slide structure, design templates, timing guidance, and visual validation. Works with PowerPoint and LaTeX Beamer.
Also in 3 projects that use this
ZanderRussSkillscientific-critical-thinking
Evaluate research rigor. Assess methodology, experimental design, statistical validity, biases, confounding, evidence quality (GRADE, Cochrane ROB), for critical analysis of scientific claims.
Also in 3 projects that use this
JDerekLomasSkillcitation-management
Also in 3 projects that use this
OpenAISkillplaywright
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.
Also in 3 projects that use this
OpenAISkillusing-superpowers
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
Also in 3 projects that use this
GoogleSkillalgorithmic-art
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Also in 3 projects that use this
- +3 more from openai
Other versions42 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 42
- K-Dense-AI/claude-scientific-writer★ 2.6ksame name
- wu-yc/LabClaw★ 1.1ksame name
- LeonChaoX/qinyan-academic-skills★ 910same name
- qinyan-ai/qinyan-academic-skills★ 80same name
- Chanw-research/claude-code-paper-writing★ 42same name
- myths-labs/muse★ 38same name
- GitHubxsy/agent-skills★ 22same name
- Hongyu-yu/matsci-ai-skills★ 19same name
- CarbeneAI/Forge★ 9same name
- Yassimba/loom★ 9same name
32 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agent-creatorSkill
- apexSkill
- audio-loopSkill
- award-designSkill
- brand-voiceSkill
- claude-mdSkill
- code-ultrareviewSkill
- design-systemSkill
- download-mediaSkill
- forgeSkill
- frontend-devSkill
- humanize-enSkill
- notionSkill
- oneshotSkill
- scaffoldSkill
- suno-produceSkill
- ultrapexSkill
- video-loopSkill
- write-clear-readmeSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 29 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 69
If the script exits with ERR: markitdown not installed (exit 127) → print the install command from ## Install and stop.
- Very specific: line 70
If the script exits with another ERR: (file not found, missing endpoint, unknown flag) → relay the message verbatim and stop.
“Common” is measured: kept by at least 6 in 10 of the 29 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
MarkItDown
Convert a document, image, audio file, or YouTube URL to Markdown using Microsoft's markitdown CLI. The skill validates the input, composes the right flags, optionally saves the result under ~/.agents/output/<project>/markitdown/<slug>/, and reports a one-line summary with the fully-expanded absolute path (no tilde, no magic).
The deterministic work — install check, validation, slug derivation, save path, command composition — happens in scripts/markitdown.sh. The skill parses $ARGUMENTS, hands them to the script, and turns the script's RESULT: lines into a human report.
Install
pip install 'markitdown[all]'For a smaller install, pick only what you need:
| Group | Adds |
[pdf] | PDF parsing |
[docx] | Word documents |
[pptx] | PowerPoint |
[xlsx] [xls] | Excel |
[outlook] | Outlook .msg |
[audio-transcription] | MP3/WAV transcription; the current converter sends audio to Google recognition |
[youtube-transcription] | YouTube transcripts |
[az-doc-intel] | Azure Document Intelligence backend |
For Azure Document Intelligence, also export MARKITDOWN_DOCINTEL_ENDPOINT=https://<resource>.cognitiveservices.azure.com/ before invoking with -d.
Parameters
| Flag | Default | Effect |
-s | off | Save Markdown to ~/.agents/output/<project>/markitdown/<slug>/<stem>.md |
-S | off | Force no-save (override an ambient save mode) |
-d | off | Use Azure Document Intelligence (needs MARKITDOWN_DOCINTEL_ENDPOINT) |
-p | off | Enable installed third-party markitdown plugins |
-k | off | Keep data URIs (base64 images) inline in the output |
-l | — | List installed plugins and exit |
Output saved under ~/.agents/output/{project}/markitdown/{slug}/, where {project} is the kebab-cased basename of the git toplevel (else cwd) and {slug} is a kebab of the input basename (≤5 words). Pipeline-friendly — typical downstream: /forge -s -f <path> decomposes the extracted content into workstreams; /apex -f <path> implements from it; any skill accepting -f can consume.
Workflow
- Resolve the target from arguments or unambiguous session context. Ask only when the target is missing or ambiguous. Before audio, OCR, Azure or plugin conversion, verify the installed backend and required data-transfer authorization; an optional dependency group does not imply local processing.
Run the helper:
$SKILL_DIR= this skill's folder —${CLAUDE_SKILL_DIR}in Claude Code, the directory containing this SKILL.md elsewhere.bash "$SKILL_DIR"/scripts/markitdown.sh -s '/absolute/path/report.pdf'Parse arguments as data and pass each flag/value separately with shell quoting. Never splice raw
$ARGUMENTSinto shell code or useeval.- The script emits
RESULT: key=valuelines — keys:bytes,slug,saved, pluspathwhen saving (order is not guaranteed; parse by key) — followed either by the converted Markdown (no-save mode, after a---separator) or nothing (save mode — the file is on disk). - Parse the
RESULT:lines and produce the report below. - If the script exits with
ERR: markitdown not installed(exit 127) → print the install command from## Installand stop. Never auto-install on the user's behalf. - If the script exits with another
ERR:(file not found, missing endpoint, unknown flag) → relay the message verbatim and stop.
Output
markitdown: <input> → <bytes> bytes of Markdown
saved: <path> # only when -sWhen saving, report the actual file path. For long output, choose save mode when consistent with the request or capture stdout once in an authorized temporary file, then provide a bounded preview and the retained result. Do not repeat a costly conversion merely to truncate its display.
Examples
/markitdown ~/Downloads/report.pdf # convert, print to terminal
/markitdown -s ~/Downloads/report.pdf # convert + save under ~/.agents/output/<project>/markitdown/report/
/markitdown -s -p deck.pptx # use third-party plugins (e.g. markitdown-ocr)
/markitdown -d invoice.pdf # Azure Document Intelligence
/markitdown -k brand.html # keep base64 images inline
/markitdown https://youtu.be/dQw4w9WgXcQ # YouTube transcript
/markitdown -l # list installed plugins, then exitNotes
- YouTube URLs are detected by the
https?://prefix and passed straight tomarkitdown. The slug is derived from the URL's last path segment, so saved paths look like~/.agents/output/<project>/markitdown/dqw4w9wgxcq/dQw4w9WgXcQ.md. - Audio transcription in the verified 0.1.7 converter calls
recognize_google; it is not local Whisper. Inspect the installed implementation and Microsoft's source before processing. A local/private-only request needs an actually local configured tool; do not send audio externally under a local-processing promise. - Image OCR requires a configured capable backend. The Microsoft OCR plugin instructions require an
llm_clientand model; installing the plugin and passing-palone is insufficient. Report unavailable OCR explicitly and use the documented integration only when its configuration and transport are authorized. - Saved-output collisions fail before conversion if the destination already exists. Use another destination/input identity or obtain authorization to replace the existing output; slug naming alone does not preserve files.
Why the wrapper
markitdown is already a great CLI; this skill exists to (a) follow the repo's -s/-S/-f convention so other skills can chain on the output, (b) translate "extract this pdf" into the right invocation without forcing the user to remember -x, -m, -d, -e, and (c) emit a uniform one-line report so terminals don't render multi-MB Markdown by accident.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

