doc-to-markdown
An agent skill by daymade, from daymade/claude-code-skills. Tags: conversion, documents, markdown, pdf, validation.
What it does
Converts DOCX/PDF/PPTX to high-quality Markdown with automatic post-processing. Fixes pandoc grid tables, simple tables, image paths, CJK bold spacing, attribute noise, and code blocks; for PDFs also strips OCR garbage blocks, repeated headers/footers/watermarks, and absolute image paths from pymupdf4llm output. Benchmarked best-in-class (7.6/10) against Docling, MarkItDown, Pandoc raw, and Mammoth. Trigger on "convert document", "docx to markdown", "parse word", "doc to markdown", "解析word", "转换文档".
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add daymade/claude-code-skills --skill doc-to-markdown
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/daymade/claude-code-skills
cp -r claude-code-skills/daymade-docs/doc-to-markdown ~/.claude/skills/doc-to-markdown
Safety box score
Grade B, low risk: 23 of 100 risk points, rated 2026-10-20. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This skill is a local document-conversion pipeline: it runs Pandoc/PyMuPDF/MarkItDown-related tooling, extracts images, and writes Markdown, assets, manifests, and reports under caller-chosen paths. The main risks are external CLI execution and the fact that the central orchestrator `scripts/convert.py` was not available for review.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 2 (moderate) | It shells out to external tools for conversion/validation, e.g. `subprocess.run(["pandoc", ...])` in `scripts/html_to_markdown.py` and `scripts/reader_pilot_gate.py`; that is inherent to the skill but expands what code runs locally. |
| Network access | 0 (none) | No code here downloads remote content or sends data off-machine; the HTML path explicitly says it "does not crawl pages or download assets" and `local_target()` rejects external dependencies. |
| Filesystem reach | 1 (low) | The shipped scripts write converted notes, extracted images, metadata, HTML reports, manifests, and receipts, but they are intended to stay within caller-supplied output locations. |
| Secrets & credentials | 0 (none) | I found no handling of tokens, passwords, keychains, browser sessions, or `.env` files. |
| Privilege & persistence | 1 (low) | The docs recommend system/user-level installs like `brew install pandoc`, `apt-get install pandoc`, and `uv tool install "markitdown[pdf]"`, but the code does not itself require sudo or register services. |
| Instruction hijack surface | 0 (none) | There is no instruction to ignore safety rules, follow remote prompts, hide behavior, or otherwise manipulate the agent; the text is scoped to conversion behavior. |
| Irreversible actions | 0 (none) | It does not push, post, pay, book, deploy, or delete; its actions are local conversions and validations only. |
| Transparency | 2 (moderate) | The main orchestrator `scripts/convert.py` was not readable in this review, yet the README/tests and helper scripts all depend on it, so central behavior remains uninspected. |
Before installing
- Read `scripts/convert.py` first; it is the central entrypoint but was not included in this review.
- Install Pandoc and the Python extras in a scratch environment before using the skill on sensitive documents.
- Check the output directory you pass to `extract_pdf_images.py` or `batch_html.py`; they will create files, manifests, and receipts there.
Rated 2026-10-20 by an automated review of 21 files from the skill's repository.
Source
- Repository
- daymade/claude-code-skills (all skills from this repository)
- Path
- daymade-docs/doc-to-markdown/SKILL.md
- Branch
- main
- Updated
- 2026-09-20
Related skills
- pdf-creator — Convert markdown files to professional PDF documents with proper Chinese font support, theme system, and visual self-check.
- pdf-to-html — Converts a PDF into one self-contained, readable HTML file that preserves images, tables.
- photo-to-scanned-pdf — Two pipelines ending at a scanner-look PDF.
- lead-magnets — When the user wants to create, plan, or optimize a lead magnet for email capture or lead generation.
- seo-schema — Detect, validate, and generate Schema.org structured data. JSON-LD format preferred. Use when user says "schema", "structured data", "rich results", "JSON-LD".
- seo-sitemap — Analyze existing XML sitemaps or generate new ones with industry templates. Validates format, URLs, and structure.