# Markitdown CLI

> Use when converting local document files such as PDFs, Office documents, HTML, text, or other MarkItDown-supported inputs into Markdown.

- Skill: `choral-io/markitdown-cli` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add choral-io/markitdown-cli`
- Raw SKILL.md: https://api.skillmd.com/api/skills/choral-io/markitdown-cli/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: choral-io (https://skillmd.com/u/choral-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/choral-io/markitdown-cli

---


# MarkItDown CLI

Use the installed `markitdown` command to convert readable local files into Markdown. Preserve source files and prefer the CLI over custom extraction code unless the user rejects it or a conversion fails for a clear reason.

Use for single-file or batch conversion, conversion checks or retries, stdin, and extensionless inputs. Do not use for summarizing without conversion, editing existing Markdown, dependency management, or standalone OCR/cloud extraction.

## Workflow

1. Locate inputs; inspect names, sizes, and planned output paths.
2. Verify `command -v markitdown`. If missing, report it, do not install without approval, and point to `https://github.com/microsoft/markitdown#installation`.
3. Choose output paths. Do not overwrite existing `.md` files unless replacement is explicit.
4. Run one `markitdown` invocation per input so failures are attributable. Quote paths and avoid unsafe glob assumptions.
5. Consult `markitdown --help` for input-type hints when using stdin, extensionless files, or misleading filenames, and for encoding options when needed.
6. Spot-check Markdown for empty output, truncation, encoding problems, or missing structure. Treat unexpected defects as an unsuccessful conversion: correct a clear cause and retry; if quality cannot be recovered, report the output as failed or incomplete rather than counting it as successfully converted.
7. Report converted files, skipped existing outputs, failures with exact CLI errors, and any follow-up dependency issue.

## Basic usage

```bash
markitdown input.docx -o output.md
```

Consult CLI help for other output modes and supported conversion options.

Use `--use-docintel` or `--use-content-understanding` only for MarkItDown Markdown conversion when the user explicitly asks for that route and the required endpoint is configured.

