pdf (Anthropic)
pdf:对照组 4.58、一句话提示 5.0、装 skill 4.58(0–5 分,Codex 实测,n=2/任务/组)。结论:视情况而定,相对不装 skill +0.00。
20.6 / 30
相对不装 skill 的提升:+0.00
视情况而定:总分 20.6/30 低于 22,并且提升 +0.00 低于 +1.0。推荐要求总分 22/30、产出质量 3.5、提升 +1.0。
前沿
通过使用 Codex 测试。
覆盖 Codex, Claude Code
Codex CLI 0.166(SOTA 档):18 次评分运行。按我们的分档规则,这档通过同时覆盖 Claude Code;它不代表第二档的结果。
分数
每一维 0 到 5 分,六维相加是满分 30 的总分。每一维都是 5 更好。成本 5 表示又便宜又快。安装 5 表示容易。
- 触发可靠性
- 5.0
- 相对不装的提升
- 2.0
- 产出质量
- 4.6
- 令牌与时间成本
- 2.0
- 安装与可移植性
- 3.0
- 安全
- 4.0
安全审查
安全静态扫描:0 CRITICAL / 0 HIGH / 0 MEDIUM。人工审查:可在断网沙箱中运行。扫描没有命中不等于绝对安全。
安装
npx skills@latest add anthropics/skills --skill pdf
固定提交: ca45fc496a3436251f191354091d557da31c15b5
测试日期: 2026-11-02
我们测了什么
- Table extraction. Pull a 12-row table that spans two pages (header repeated on page two) into sales.csv and report the total revenue.
- Merge, rotate, split. Combine two PDFs, rotate only the last page 90 degrees, save page one as cover.pdf, leave the originals alone.
- Fill a form. Set three fields and tick a checkbox in a fillable PDF, keep fields editable.
优点
- 不点名也会被触发:Skill read in 6/6 treatment runs (auto-trigger on any PDF task works).
- 装 skill 后绝对质量高:4.58 / 5。
缺点
- 相对不装 skill 没有可测量的提升(+0.00,在噪声范围内)。
- 一句话提示得 5.0,装 skill 得 4.58(差 -0.42)。
- token 消耗是不装 skill 时的 1.98 倍。
- 测试说明:一句话提示组后来在另一台 Windows 机器上跑,pypdf 以内置方式提供,所以它和对照组、安装组之间的比较受环境差异影响。
- 每个任务每组 n=2,差距在 1 分以内属于噪声。
评测
在 Codex CLI(SOTA 档)上跑 3 个任务、对照、一句话提示、装 skill 三组,共 18 次运行,由规则脚本打分(没有 LLM 评委),断网沙箱、每次运行独立临时目录。具体做法见下方英文评测原文。
三组对比
| 组别 | 平均分(0–5) | 每次 token |
|---|---|---|
| 不装 skill | 4.58 | 116k |
| 一句话提示 | 5.0 | 69k |
| 装了 skill | 4.58 | 228k |
Codex CLI 实测,18 次运行,规则脚本打分,没有 LLM 评委。总分 20.6 / 30,结论 视情况而定。
测试披露: 一句话提示组后来在另一台 Windows 机器上跑,pypdf 以内置方式提供,所以它和对照组、安装组之间的比较受环境差异影响。
下面是评测原文,英文。
Verdict: Situational (20.3 / 30). Source: anthropics/skills, skills/pdf, pinned at commit ca45fc4. Install: npx skills@latest add anthropics/skills --skill pdf. Licence: proprietary (use is governed by your agreement with Anthropic; this is not open source).
What it is
A guide for PDF work: read and extract text and tables, merge, split, rotate, watermark, create new PDFs, fill forms, encrypt, extract images, OCR scanned pages. SKILL.md covers the basics with Python snippets (pypdf, pdfplumber, reportlab) and command-line tools (pdftotext, qpdf). Two more files (forms.md, reference.md) and eight helper scripts handle forms and bounding boxes.
How we tested
Codex CLI 0.166 (gpt-6-astra, low reasoning), a fresh temporary project per run, skill installed or absent, two runs per group, network off. Inputs were PDFs we generated, so we could check the results with code:
- Table extraction. Pull a 12-row table that spans two pages (header repeated on page two) into
sales.csvand report the total revenue. - Merge, rotate, split. Combine two PDFs, rotate only the last page 90 degrees, save page one as
cover.pdf, leave the originals alone. - Fill a form. Set three fields and tick a checkbox in a fillable PDF, keep fields editable.
The prompts never mentioned the skill.
What happened
It triggers reliably. The agent read SKILL.md in all six treatment runs, unprompted.
It made no difference to the outcome. Task 1 (2 of 2 checks) and task 2 (6 of 6) passed in all four runs of each task, with and without the skill. Task 3 failed once in each group, so both groups passed 5 of 6 runs overall.
Both failures were the same, and both agents said they had succeeded. The checkbox was saved as the text value Yes while its visual state stayed /Off. A PDF viewer shows it unticked, and the final messages in those two runs said the box was ticked. One failure was a control run, the other a treatment run. The treatment agent had read FORMS.md, which tells it to inspect field types and use each checkbox's checked_value, but it never got that far (next paragraph), so the skill did not prevent the error.
The scripts did not run as documented. FORMS.md says to run python scripts/check_fillable_fields .... macOS has no python, only python3, and the stock environment has no pypdf. The two treatment runs then diverged. One searched the disk, found pypdf inside the user's uv cache, ran the skill's own scripts through PYTHONPATH, and filled the form correctly. The other tried pip install (it failed offline), then wrote a Swift/PDFKit program and got the checkbox wrong. The control runs improvised in the same ways (Swift in one, pypdf in the other). So the skill's tooling only helped in the one run that managed to borrow a library from outside the project directory.
It doubles the cost. Treatment runs averaged 228,000 tokens against 116,000 without (1.98x) and took 72 seconds against 46. The agent reads the skill, then forms.md, then tries the scripts first. On the form task the treatment run that succeeded needed 35 commands and 434,000 tokens; the control runs needed 16 commands and about 185,000.
Portability notes
SKILL.mdrefers toFORMS.mdandREFERENCE.md, but the files areforms.mdandreference.md. This worked in our runs because macOS file systems ignore case; on Linux those links would break.- It assumes
python, and several Python libraries, are installed. A clean machine usually has neither. - The guide mentions
pip install pytesseract pdf2imagefor OCR, which needs network access.
Safety review
We ran the scanner and then read SKILL.md, forms.md, reference.md and all eight scripts. The scripts import only standard-library modules plus pypdf, pdfplumber, pdf2image and PIL; they read an input file and write local files. No subprocess calls, sockets, environment reads, eval or downloads. No instructions to hide anything or to touch credentials. The finding worth flagging is the licence: it is proprietary, so the site should not label it open source. See security.md.
Scores
| Dimension | Score | Why |
|---|---|---|
| Output quality | 4.33 | 5 of 6 runs fully correct in both groups |
| Lift vs no skill | 2.0 | 0.0 difference |
| Trigger | 5.0 | Read in 6 of 6 runs unprompted |
| Instructions and portability | 3 |
|
| Efficiency | 2 | 1.98x tokens, about 1.6x time |
| Safety and hygiene | 4 | Scripts clean; proprietary licence |
Who should use it
Modern agents already merge, rotate, split and extract tables from clean PDFs without help, as our control group showed, so for these jobs the skill mostly adds tokens. It might earn its keep on harder cases we did not test: scanned documents and OCR, password-protected files, forms without fillable fields (the bounding-box workflow), or an environment where the helper libraries are installed so the scripts work. If you install it, make sure python and pypdf exist first, or the guidance will not run as written.
Limits of this test
Two runs per group, three tasks, one model at low reasoning effort, offline sandbox with no Python PDF libraries in the stock environment. Runs shared the system temp folder, and one treatment run reused a virtual environment another run had created there, so isolation between runs was not perfect. A fully equipped machine could change the result in the skill's favour. The Codex tier counts for Codex and Claude Code under the site's rule.
Update (2 Nov 2026): one-sentence group added
Third group: no skill, with one sentence ("Use proper PDF tooling: extract tables by page with their header rows intact, merge/rotate/split pages without losing content, fill real form fields by name and keep the original file unchanged, then verify the output by reopening it."). 6 runs, rule-based checks, run on a Windows machine with a vendored pypdf/pdfplumber set available offline.
| Group | Mean score (0-5) | Tokens per run |
|---|---|---|
| No skill | 4.58 | 116k |
| One sentence | 5.00 | 69k |
| Skill installed | 4.58 | 228k |
All six one-sentence runs passed every check, including the checkbox form fill that failed once in the control and once in the skill group. The skill cost 3.3x the one-sentence tokens. Caveat: the one-sentence runs ran on a different machine (Windows) from the first two groups (macOS) and had the PDF libraries available, which the Mac runs did not, so this comparison is confounded by environment. It does suggest the skill's 2x token overhead buys nothing on these three tasks.
记录
Run log for pdf: Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run. Columns: task, arm-run, score (0-5), tokens, seconds, checks passed, skill files the agent opened. t1-table-extract control-1: score 5.0, tokens 60651, secs 25.2, checks 2/2, opened nothing t1-table-extract control-2: score 5.0, tokens 60785, secs 24.8, checks 2/2, opened nothing t1-table-extract oneliner-1: score 5.0, tokens 90438, secs 33.9, checks 2/2, opened nothing t1-table-extract oneliner-2: score 5.0, tokens 91726, secs 41.4, checks 2/2, opened nothing t1-table-extract treatment-1: score 5.0, tokens 123259, secs 43.4, checks 2/2, opened pdf t1-table-extract treatment-2: score 5.0, tokens 128381, secs 38.7, checks 2/2, opened pdf t2-merge-rotate control-1: score 5.0, tokens 91967, secs 56.9, checks 6/6, opened nothing t2-merge-rotate control-2: score 5.0, tokens 108232, secs 45.9, checks 6/6, opened nothing t2-merge-rotate oneliner-1: score 5.0, tokens 49185, secs 27.4, checks 6/6, opened nothing
18 次运行、3 个产物
样例产物
前沿 · 装了 skill:sales.csv(t1-table-extract,第 1 次,Codex)
Product,Region,Units,Revenue Aurora Lamp,EMEA,1240,48360 Basalt Desk,NA,310,93000 Cedar Shelf,NA,875,52500 Delta Chair,APAC,642,70620 Ember Kettle,EMEA,2210,66300 Fjord Rug,NA,198,39600 Grove Planter,APAC,1534,30680 Harbor Clock,EMEA,420,25200 Iris Vase,NA,905,27150 Juniper Stool,APAC,377,20735 Kestrel Mirror,EMEA,260,41600 Lumen Sconce,NA,733,43980