PDF 处理技能
教 Agent 用 Python 库读取、拆分、合并和创建 PDF 文件,覆盖日常文档自动化中最常见的 PDF 操作需求。
该技能仅为本地PDF处理指导(pypdf/pdfplumber/reportlab),无网络请求、无凭据处理、无破坏性操作,最小权限良好;但缺乏数据流披露、回滚说明与发布者归属(发布者未验证),扣至18。
示例代码自洽且可读,错误反馈指导(先检查提取文本再写解析)明确;但静态审查只能确认happy path:未处理加密PDF、extract_text为None已在部分示例中处理但不完整,无针对该技能路径的已验证测试,静态上限10。
触发场景清晰(读取/创建/拆分/合并PDF),description与内容匹配;但未声明非适用边界,硬编码依赖/work/.venv环境与预装包,无中文支持说明,扣至9。
仓库级MIT许可、版本与CI存在;但该技能本身无版本、无变更记录、无FAQ/已知限制、无维护者归属,文档层次单薄,扣至7。
提供直接可用的代码片段,边际价值在于规范化的提取-检查流程;但无结果验证、示例输出不可独立复现,静态上限7,扣至6。
代码片段为可审计的原始材料,且无夸大声明;但CI测试不覆盖此技能的关键路径,无可执行的第三方证据,静态上限5,扣至4。
- 静态审查,未执行任何代码;评分置信度低。
- 该技能假定/work/.venv中已安装pypdf、pdfplumber、reportlab,脱离该工作台环境时不可直接运行。
- 示例未覆盖加密PDF、扫描件OCR、损坏文件等异常输入。
- 这是eval示例技能,非生产级PDF工具;缺少版本与维护承诺。
- 技能内容为英文,无中文场景说明。
这个 Skill 能做什么,适合哪些场景?
这是一个轻量的参考型技能,位于 skill-optimizer 仓库的 workbench 示例中(examples/workbench/pdf/references/pdf-skill/SKILL.md)。它本身不包含代码脚本,而是指导 Agent 使用 /work/.venv 中预装的 pypdf、pdfplumber 和 reportlab 三个 Python 库完成 PDF 的读取、文本提取、页面拆分、过滤和新建。技能强调一个关键工作流原则:先实际查看提取出的文本,再编写解析正则,不要根据任务提示猜测字段格式。它同时也是 skill-optimizer 评测工作台的被测示例,仓库用它演示正例(提取、拆分、创建)和负例(非 PDF 任务不应读取该技能文件)的评测方式。
技能以纯指令形式运行:引导 Agent 调用 pypdf 读取页面、拆分/写入 PDF 页面;用 pdfplumber 提取文本;用 reportlab 创建新 PDF。SKILL.md 提供四段可复用的示例代码:用 PdfReader 逐页提取并拼接文本;按行前缀(如 "Account:"、"Total Revenue:")解析非结构化文本并输出结构化 answer.(含金额清洗和风险标记列表);按页码过滤页面写入新文件;按页面文本内容(如包含 "CUSTOMER COPY" 且不含 "INTERNAL NOTES")筛选页面并导出。
- 需要从对账单、报表类 PDF 中提取账号、季度、营收等字段并输出 JSON 的数据处理人员
- 需要从多页客户文件包中筛出 "客户副本" 页、剔除内部备注页的运营或客服人员
- 需要按页码拆分大 PDF 或抽取指定页形成新文件的日常办公场景
- 需要用代码从头生成新 PDF 报告的开发者
- 想为 PDF 类任务编写确定性评测用例的 Agent 开发者,可参考该示例的 suite 与 grader 组织方式
这个 Skill 有哪些优点和局限?
- 零脚本依赖,纯指令技能,几乎可移植到任何支持文件系统和 Python 的 Agent 客户端
- 示例代码完整可直接复用,覆盖提取、解析、拆分、过滤四类高频操作
- 强调 "先查看文本再写解析" 的工作纪律,能显著减少基于猜测的正则失败
- 附带 skill-optimizer 评测用例,可验证任务是否可靠完成
- 它是评测示例技能,覆盖面刻意较窄,不处理 OCR、加密 PDF、表格还原等复杂场景
- 依赖特定的 /work/.venv 路径,直接复制到本地环境需要自行安装三个 Python 库
- 无版本号、无独立维护说明,作为示例文件可能随仓库演进被改动
- SKILL.md 未说明错误处理或失败回退策略
如何安装这个 Skill?
该技能是 skill-optimizer 仓库(fastxyz/skill-optimizer,MIT 许可)内的一个示例文件,位于 examples/workbench/pdf/references/pdf-skill/SKILL.md。仓库整体支持多种安装方式,例如 Claude Code:/plugin marketplace add fastxyz/skill-optimizer 后 /plugin install skill-optimizer@skill-optimizer;或通用技能 CLI:npx skills add fastxyz/skill-optimizer -a claude-code -y。若只想单独使用这个 PDF 技能文件,可将该 SKILL.md 复制到你客户端的技能目录;文档未说明针对此单个文件的专属安装命令。
如何使用这个 Skill?
把 SKILL.md 放入 Agent 的技能目录后,直接下达 PDF 任务即可,例如:"从 statement.pdf 提取账号和总营收,输出 answer." 或 "把 customer-packet.pdf 拆成只含客户副本的文件"。技能依赖 /work/.venv 中已安装的 pypdf、pdfplumber、reportlab;在其他环境中使用需先 pip 安装这三个库。核心工作流:先打印提取文本确认实际格式,再编写字段解析逻辑。