跳转至

doc-reader

所属包: doc-reader

Convert PDF/DOCX/XLSX/HTML/PPTX/EPUB to Markdown for reading, review, and extraction. Use when user needs to read documents, extract text from PDF, convert DOCX to markdown, extract spreadsheet content, or any non-Markdown document needs structured reading. Trigger for 读取文档, read document, PDF转markdown, DOCX内容, convert to markdown, 文档内容提取.

兼容性: opencode; requires uv for bundled Python script.


Doc Reader Skill

目标

将任意文档转为可读取的Markdown文本,使用markitdown作为转换引擎。让agent能够像读取Markdown一样读取PDF、DOCX、XLSX等二进制格式文档。

支持格式

格式 扩展名 提取内容
PDF .pdf 文本段落(基于pdfminer.six,非OCR)
Word .docx 段落、表格、列表
Excel .xlsx, .xls 每个Sheet转为Markdown表格
PowerPoint .pptx 每页幻灯片文本和表格
HTML .html, .htm 正文内容
EPUB .epub 电子书文本
图片 .jpg, .png 等 EXIF元数据
音频 .mp3, .wav 等 文件元数据
ZIP .zip 递归处理内部文件

默认工作流

  1. 识别输入文件和格式:确认文件路径存在,根据扩展名判断格式。
  2. 运行转换:
uv run scripts/doc_to_markdown.py input.pdf --output output.md
  1. 读取转换后的Markdown:用Read工具读取output.md。
  2. (可选)提取结构化元数据:
uv run scripts/doc_to_markdown.py input.pdf --output output.md --json metadata.json

元数据JSON结构:

{
  "source_file": "input.pdf",
  "source_ext": ".pdf",
  "text_length": 12345,
  "title_guess": "Extracted or guessed title"
}

与ppt-reader的关系

对于PPTX文件,两个skill提供互补能力:

需求 使用
幻灯片顺序、版式、媒体清单、备注、评论 ppt-reader
全文提取(含表格和图表中的文字) doc-reader
完整理解PPTX 先ppt-reader获取结构,再doc-reader提取全文

脚本

scripts/doc_to_markdown.py

markitdown的薄wrapper,约70行。

用法:

# 转换并保存到文件
uv run scripts/doc_to_markdown.py input.pdf --output output.md

# 输出到stdout
uv run scripts/doc_to_markdown.py input.docx

# 同时输出元数据JSON
uv run scripts/doc_to_markdown.py input.xlsx --output output.md --json meta.json

参数:

参数 必需 说明

... (完整 SKILL.md 中还有 28 行)