L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Documents · SKILL.md

markitdown

markitdown

Use MarkItDown to convert documents to Markdown, configure cloud/OCR/plugin workflows, and run the local MCP server safely.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: markitdown description: "Use MarkItDown to convert documents to Markdown, configure cloud/OCR/plugin workflows, and run the local MCP server safely." disable-model-invocation: true metadata: disco-role: operating license: MIT

MarkItDown Repo Skill

Use this skill when a task involves Microsoft MarkItDown: converting files or URIs to Markdown for LLM pipelines, choosing optional format extras, using Azure conversion integrations, enabling OCR or third-party plugins, developing plugins, or exposing conversion through the local MCP server.

Start With The Route

  • For ordinary file, stream, URI, stdin, or CLI conversion, read sub-skills/core-conversion/SKILL.md.
  • For Azure Document Intelligence or Azure Content Understanding conversion, read sub-skills/cloud-integrations/SKILL.md.
  • For OCR over images embedded in PDF, DOCX, PPTX, or XLSX via markitdown-ocr, read sub-skills/ocr-plugin/SKILL.md.
  • For authoring or debugging third-party MarkItDown plugins, read sub-skills/plugin-development/SKILL.md.
  • For running markitdown-mcp as a local MCP server, Docker service, Claude Desktop server, or Inspector target, read sub-skills/mcp-server/SKILL.md.

Install And Smoke Check

Install the core package plus the extras needed for the requested workflow:

pip install 'markitdown[pdf,docx,pptx,xlsx,xls,outlook,audio-transcription,youtube-transcription]'

Use markitdown[all] only when the task truly needs every optional converter, including Azure cloud integrations. Add these package families when needed:

  • pip install markitdown-mcp for MCP serving.
  • pip install markitdown-ocr plus an OpenAI-compatible client package for real LLM Vision OCR.
  • A custom plugin package with a markitdown.plugin entry point for third-party converters.

Run the bundled shared checker from this skill directory when the user asks for an environment or install diagnosis:

python scripts/check_markitdown_environment.py --check-cli --list-plugins

Minimal Python import check:

from markitdown import MarkItDown, StreamInfo

md = MarkItDown()
result = md.convert_stream(
    open("example.md", "rb"),
    stream_info=StreamInfo(extension=".md"),
)
print(result.markdown)

For untrusted inputs, prefer the narrowest API that matches the source (convert_stream, convert_local, convert_uri, or convert_response) and remember that MarkItDown performs I/O with the privileges of the current process.

Shared References

  • references/package-overview.md summarizes the monorepo packages, public entry points, optional extras, and when each sub-skill owns the workflow.
  • references/troubleshooting.md covers cross-cutting install/import, optional dependency, plugin discovery, cloud credential, security, and system-tool failures.
  • references/repo-provenance.md records the source snapshot and evidence paths used to create this skill; read it before deciding whether to refresh the skill.
  • references/repo-routing-metadata.json is structured metadata used by repo-skills-router during managed import.

Workflow Hints

  • Choose local/offline conversion first unless the user explicitly asks for Azure cloud extraction, OCR via an LLM, or remote URI fetching.
  • Use stream hints (StreamInfo or CLI --extension, --mime-type, --charset) when converting stdin or bytes without a reliable filename.
  • Keep plugin usage explicit: install the plugin package, verify markitdown --list-plugins, then use --use-plugins or MarkItDown(enable_plugins=True).
  • Treat MCP and cloud modes as security-sensitive because they can read local files or fetch network resources with the process privileges.
  • Do not make cloud, LLM, network, server, or Docker calls unless the user has supplied the necessary endpoints/credentials/files and explicitly wants that side effect.

Common Task Routing

User requestRead
"Convert this PDF/DOCX/XLSX/HTML/ZIP to Markdown"sub-skills/core-conversion/SKILL.md
"Why does MarkItDown say missing dependency or unsupported format?"sub-skills/core-conversion/references/troubleshooting.md
"Use Azure Document Intelligence or Content Understanding"sub-skills/cloud-integrations/SKILL.md
"Extract text from screenshots inside a PDF or Office file"sub-skills/ocr-plugin/SKILL.md
"Build a MarkItDown plugin for a new file type"sub-skills/plugin-development/SKILL.md
"Expose MarkItDown to Claude Desktop or an MCP client"sub-skills/mcp-server/SKILL.md
"Check whether this install has MarkItDown, plugins, and CLIs"scripts/check_markitdown_environment.py

Safety Boundaries

  • Do not hard-code Azure endpoints, API keys, bearer tokens, OpenAI keys, or private file paths into generated code or examples.
  • Do not bind markitdown-mcp to non-loopback interfaces unless the user accepts that the server has no authentication and can read files/network resources available to its process.
  • Do not preserve data URIs with --keep-data-uris unless the downstream consumer explicitly needs embedded data; it can make Markdown very large.
  • Do not run long-lived servers, Docker containers, cloud conversions, real OCR calls, or network fetches as a "smoke test" without explicit user intent.
Skills enregistrées