mcpField
D
documents

documents

github.com/magnus919文档处理15776 次安装今天更新
代码仓库

关于 documents

用于生成、编辑、提取、转换和验证 PDF、Word、Excel 与 PowerPoint 文件的文档技能。它采用统一的结构化内容工作流,并提供各格式专用参考、模板和验证检查。

主要功能

  1. 01处理 PDF、Word、Excel 和 PowerPoint
  2. 02将内容模型与版式分离
  3. 03使用格式模板生成文件
  4. 04验证文档结构与渲染效果
  5. 05以 JSON 报告验证结果

适用场景

  1. 01制作报告、电子表格或演示文稿
  2. 02编辑现有 Office 文档
  3. 03提取内容或在格式间转换
  4. 04交付前检查文档

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/magnus919/agent-skills --skill documents

安装后在 Claude Code 中输入/documents确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
evals/
evals.json
fixtures/
sample.docx
sample.pptx
sample.xlsx
references/
excel.md
output-quality.md
pdf.md
powerpoint.md
word.md
scripts/
validate-documents.py
templates/
excel-template.md
pdf-template.md
powerpoint-template.md
word-template.md
tests/
test_validate_documents.py

详细介绍

文档 — PDF、Word、Excel 和 PowerPoint 技能

一个技能,涵盖四种最常见的文档格式。这四种格式共用一个 Agent 工作流——输入结构化内容,输出可渲染且经过验证的成品——因此它们归属于同一个家族技能,并为每种格式提供单独的参考文档,遵循 epub 的先例。先加载下方的共享工作流,再按需加载你实际处理的格式所对应的参考文档。

格式扩展名参考文档(按需加载)
PDF.pdfreferences/pdf.md
Word.docxreferences/word.md
Excel.xlsxreferences/excel.md
PowerPoint.pptxreferences/powerpoint.md
所有格式—references/output-quality.md

每种格式的生成模板位于 templates/,包含各格式测试样例的验证脚本位于 scripts/。

适用场景

任务涉及以下四种格式时,加载此技能:

  • 生成:根据结构化内容(Markdown、JSON、数据表、提纲)创建报告、备忘录、电子表格或演示文稿。
  • 编辑:就地修改现有文档的内容、布局或元数据。
  • 提取:从现有文件中提取文本、表格或结构。
  • 转换:在格式之间转换内容,或将数据源中的内容转换为文档。
  • 验证:检查生成的成品在结构上是否可靠,并确保交付前能够正确渲染。

不适用场景

  • 电子书和 EPUB — 使用 epub 技能;它负责 EPUB 容器、阅读顺序和包验证。
  • 图像、视频和其他媒体 — 此技能仅涵盖文档格式;媒体制作应交由相应的媒体技能处理。
  • 代码和 API 文档网站 — 使用技术文档和文档网站规范,而不是办公文档。
  • 数据管道 — 原始数据的迁移或转换属于 data-engineering;此处的 Excel 是一种交付格式,而非数据存储。
  • 将办公文档转换为 Markdown — 将现有办公文档(docx、xlsx、pptx、pdf、odt、rtf、epub、csv)转换为 GitHub-Flavored Markdown 属于 anydoc 技能;此技能负责生成、编辑和验证,而非从文档中提取内容并转换为 Markdown。

共享工作流

无论格式如何,每项文档任务都遵循相同的六个步骤。格式专属的详细信息放在各格式的参考文档中——在相关步骤阅读即可。

1. 明确范围

处理文件前,先明确文档的用途:

  • 受众和目的 — 谁会阅读,以及文档支持什么决策。
  • 格式 — PDF(固定版式、打印、存档)、Word(可编辑文本、审阅)、Excel(数据、计算)、PowerPoint(演示)。
  • 限制条件 — 页数或幻灯片数、大小限制、品牌或样式约束。
  • 可信数据源 — 生成文档所依据的结构化内容(Markdown、JSON、CSV、提纲),确保成品可重复生成。
2. 内容模型

渲染前,先将文档内容表示为结构化数据:

  • 文本类文档应包含标题、章节/标题、正文和元数据。
  • 电子表格应采用表格模型(表头、行、列类型)。
  • 演示文稿应采用幻灯片提纲(每张幻灯片的标题和项目符号、演讲者备注)。
  • 将内容与布局分开:内容放在模型中,布局放在模板中。这样才能低成本地重新生成文档。
3. 模板

从 templates/ 中选择目标格式的生成模板:

用内容模型中的内容填充模板里的 [fill: ...] 标记。模板是内容与版式之间的约定——修改模板即可更改外观,而无需改动内容。

4. 渲染

生成产物文件:

  • PDF — 将模板渲染为 PDF(使用浏览器或引擎中的打印 CSS,或使用 LaTeX 工具链)。工具说明见 references/pdf.md。
  • Word / Excel / PowerPoint — 直接编写 OOXML 包(小型产物可使用标准库 zipfile 和 XML),或使用相应格式的常用库(python-docx、openpyxl、python-pptx)。有关要生成的确切包布局,请参阅各格式对应的参考文档。
5. 验证

绝不要交付未经验证的输出。运行验证脚本:

python3 scripts/validate-documents.py --render-check --json report.pdf brief.docx data.xlsx deck.pptx

该脚本会执行结构检查(容器签名、必需部分、XML 格式是否正确),并在安装了渲染器时执行渲染检查(实际渲染文件)。没有可用渲染器时,脚本会报告 unavailable,而不会失败——验证绝不会强制要求渲染器。完整的输出质量检查清单见 references/output-quality.md,也可使用 fixtures/ 中按格式提供的 fixture 文件对脚本本身进行冒烟测试:

python3 scripts/validate-documents.py --json fixtures/sample.pdf fixtures/sample.docx fixtures/sample.xlsx fixtures/sample.pptx
6. 交付

交付产物时,附上其来源信息:

  • 源内容模型(以便重新生成)。
  • 使用的模板版本。
  • 验证结果(结构检查通过;已完成渲染检查或渲染检查不可用)。
  • 任何已知偏差(替换的字体、缩小的图像、版式偏移)。

退出条件

当产物已生成、通过结构验证(且在渲染器可用时通过渲染检查),并且内容符合约定范围时,任务即告完成。交付通过验证的产物及其来源信息后即停止;除非收到新的范围说明,否则不要继续迭代版式。

脚本

所有脚本均位于相对于此技能目录的 scripts/ 中,并遵循 cli-builder 约定:使用 --json 输出机器可读结果,以非交互方式运行,错误输出到 stderr。运行时使用 --help 查看所有标志的详细说明。

validate-documents.py — 结构检查 + 渲染检查
python3 scripts/validate-documents.py report.pdf            # human report
python3 scripts/validate-documents.py --json report.pdf    # machine report
python3 scripts/validate-documents.py --render-check --json report.pdf data.xlsx deck.pptx

行为:

  • 结构检查按格式进行:PDF 标头/EOF/页面对象;OOXML ZIP 容器、[Content_Types].xml、必需部分、XML 格式正确性。 通过 OLE2 魔数识别旧版 .doc/.xls/.ppt 文件。
  • 渲染检查(--render-check):使用 pdftoppm/mutool/gs 渲染 PDF, 使用 LibreOffice 渲染 Office 格式。未安装渲染器时报告 unavailable 并以退出码 0 结束(优雅降级,绝不崩溃)。
  • 退出码:0 表示全部通过(或渲染检查不可用);1 表示文件未通过结构或渲染检查;2 表示用法/I/O 错误。
  • JSON 输出:顶层 status(ok / fail / unavailable / error),包含逐文件检查结果和渲染结果。

相关技能

  • epub — 电子书容器技能;是该格式系列中同级技能的先例。
  • data-engineering — 数据流水线和转换;Excel 在此处是交付格式,而非数据存储。
  • cli-builder — 验证脚本所遵循的 CLI 约定(--json、非交互式运行、退出码)。

评论

支持 Markdown