mcpField
O
openai-doc

openai-doc

github.com/trailofbits文档处理52275 次安装15 周前更新
代码仓库

关于 openai-doc

用于创建、编辑和审阅 DOCX 文件的工作流技能,适合需要关注页面布局的任务。它结合 python-docx 编辑与页面渲染检查,并提供文本提取备选方案。

主要功能

  1. 01创建和编辑 DOCX
  2. 02渲染并检查页面
  3. 03修改后检查布局
  4. 04文本提取备选方案
  5. 05临时与输出文件约定

适用场景

  1. 01检查 DOCX 中的表格和图示
  2. 02创建格式规范的 DOCX
  3. 03交付前检查分页

安装

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

$npx skills add https://github.com/trailofbits/skills-curated --skill openai-doc

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

附带文件scripts/render_docx.py

详细介绍

DOCX 技能

使用时机

  • 阅读或审阅注重版式的 DOCX 内容(表格、图表、分页)。
  • 创建或编辑具有专业排版的 DOCX 文件。
  • 交付前验证视觉版式。

工作流

  1. 优先进行视觉审阅(版式、表格、图表)。
    • 如果有 soffice 和 pdftoppm,请将 DOCX 转换为 PDF,再转换为 PNG。
    • 或使用 scripts/render_docx.py(需要 pdf2image 和 Poppler)。
    • 如果缺少这些工具,请安装它们,或请用户在本地查看渲染后的页面。
  2. 使用 python-docx 进行编辑和结构化创建(标题、样式、表格、列表)。
  3. 每次进行有意义的更改后,重新渲染并检查页面。
  4. 如果无法进行视觉审阅,请使用 python-docx 提取文本作为备用方案,并指出版式风险。
  5. 整理好中间产物,并在最终批准后清理。

临时文件和输出约定

  • 使用 tmp/docs/ 存放中间文件;完成后删除。
  • 在此仓库中工作时,将最终产物写入 output/doc/。
  • 文件名应保持稳定且具有描述性。

依赖项(如缺少则安装)

优先使用 uv 管理依赖项。

Python 包:

uv pip install python-docx pdf2image

如果无法使用 uv:

python3 -m pip install python-docx pdf2image

系统工具(用于渲染):

# macOS (Homebrew)
brew install libreoffice poppler

# Ubuntu/Debian
sudo apt-get install -y libreoffice poppler-utils

如果无法在此环境中安装,请告知用户缺少哪些依赖项,以及如何在本地安装。

环境

无需设置环境变量。

渲染命令

DOCX -> PDF:

soffice -env:UserInstallation=file:///tmp/lo_profile_$$ --headless --convert-to pdf --outdir $OUTDIR $INPUT_DOCX

PDF -> PNG:

pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME

打包的辅助工具:

python3 scripts/render_docx.py /path/to/file.docx --output_dir /tmp/docx_pages

质量要求

  • 交付可直接提供给客户的文档:字体、间距、页边距保持一致,层次清晰。
  • 避免格式缺陷:文本被裁切或重叠、表格损坏、字符无法辨认,或沿用默认模板样式。
  • 图表、表格和视觉元素在渲染后的页面中必须清晰可读且对齐正确。
  • 仅使用 ASCII 连字符。避免使用 U+2011(不换行连字符)及其他 Unicode 破折号。
  • 引文和参考资料必须清晰易读;不得遗留工具标记或占位字符串。

最终检查

  • 最终交付前,以 100% 缩放比例重新渲染并检查每一页。
  • 修复所有间距、对齐或分页问题,并重复渲染检查流程。
  • 确认没有遗留文件(临时文件、重复渲染文件),除非用户要求保留。

不适用情形

评论

支持 Markdown