Add-ons
Document Skills: DOCX, PDF, PPTX and XLSX Compared
Checked 2026-10-31
Loading poll...
The document skills are four skills from Anthropic's skills repository: docx, pdf, pptx and xlsx. Each teaches an agent how to make or change one kind of office file, with scripts for the fiddly parts such as recalculating formulas or checking slide XML. They install as one plugin, document-skills. They are not open source: the licence is proprietary. We checked on 31 October 2026.
Quick facts
Maintainer | Anthropic ( |
Plugin |
|
Skills in the plugin |
|
Install in Claude Code |
|
Licence | Proprietary. Each folder's |
Repo licence | None shown on GitHub for the repo as a whole |
Repo stats we saw | 185,318 stars, last push 28 Oct 2026 |
Tools used | Node ( |
Cost | Free to install; costs context tokens, and the agent's own usage |
Anthropic says in the README that these skills "power Claude's document capabilities under the hood", and that they are included as a reference, "source-available, not open source". The same README says the skills are provided for demonstration and education, and that behaviour in Claude's products may differ.
The four skills at a glance
|
|
|
| |
|---|---|---|---|---|
File types |
|
|
|
|
Create with |
| Python libraries, reportlab-style tools |
|
|
Edit with | Unzip, edit |
| Unzip, edit slide XML, zip |
|
Read with |
|
|
|
|
Helper scripts |
| Eight form scripts |
|
|
Extra docs | None beyond SKILL.md |
| Layout and chart notes | Recalculation and formula rules |
Needs LibreOffice | For PDF conversion and tracked changes | Not for core work | For PDF conversion and thumbnails | For recalculating formulas |
We did not run any of these. The table comes from reading each SKILL.md and listing its folder.
docx: Word documents
The docx description says to use it "whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates". It starts from the fact that a .docx is a ZIP of XML files and chooses an approach per task.
- Create with a
docx-jsscript. The skill saysdocxis preinstalled and tells the agent not to runnpm installfirst. - Edit by unzipping, changing
word/document.xmland zipping again. The skill notes that docx-js cannot open existing files. - Read with
pandoc -t markdown.
It includes gotchas that anyone who has scripted Word will recognize. One example: for landscape pages, pass portrait dimensions plus an orientation flag, since docx-js swaps width and height itself. It also covers tracked changes and comments. A subtle point in the text: accepting a deleted paragraph mark should join the paragraph with the next one, as Word does. pandoc --track-changes=accept does not join them, and accept_changes.py, which uses LibreOffice, usually does. It lists dependencies as docx, pandoc, LibreOffice and pdftoppm.
Fits: reports with headings and a table of contents, letters, templates, and editing a contract with tracked changes. Weak spot: anything that relies on Word-only layout features, since the check path renders through LibreOffice.
pdf: PDF files
The pdf skill is the most library-based of the four. It covers reading and extracting text and tables, merging and splitting, rotating pages, watermarks, creating PDFs, filling forms, encrypting and decrypting, extracting images and OCR on scanned files.
Job | Tool the skill names |
|---|---|
Merge, split, rotate, encrypt |
|
Text and tables |
|
OCR |
|
Forms | A separate |
The form scripts include extract_form_field_info.py, check_fillable_fields.py, fill_fillable_fields.py, fill_pdf_form_with_annotations.py and check_bounding_boxes.py. That split matters. Filling a form with real fields is one path and annotating a flat scan is another, and the skill separates them. The main SKILL.md tells the agent to read FORMS.md for any form task and REFERENCE.md for advanced features.
Fits: extracting tables from invoices, merging reports, filling standard forms. Weak spot: OCR quality depends on pytesseract and the scan.
pptx: PowerPoint decks
The pptx description is broad: use it "any time a .pptx or .potx file is involved in any way", including creation, reading, parsing and editing. It is the largest SKILL.md of the four, about 20 KB.
- Create a new deck with a
pptxgenjsscript. - Edit a deck or build from a template by unzipping, editing
ppt/slides/slideN.xmland zipping. - Read with
markitdown, which prints a block per slide, or build a labelled thumbnail grid withscripts/thumbnail.py.
Scripts include add_slide.py to duplicate a slide with the package bookkeeping, clean.py to delete unreferenced slides and media, and a validator, scripts/office/validate.py. The skill notes that a bare soffice hangs in its sandbox, so it ships a wrapper, scripts/office/soffice.py. The gotchas are detailed: pptxgenjs mutates option objects, so a shared shadow object across two calls breaks; combo charts with secondary axes need extra axis entries; and the order of children in <p:presentation> must not change. For icons it suggests rendering react-icons to SVG, then rasterizing with sharp.
For design quality of the slides, the skill does not replace a design skill. See the frontend design skill for the page-design side.
Fits: building a deck from a template, extracting text from a deck, batch edits. Weak spot: complex animations and Office-only features.
xlsx: Excel workbooks
The xlsx skill applies "any time a spreadsheet file is the primary input or output", covering .xlsx, .xlsm, .csv and .tsv. It uses openpyxl for formulas and formatting, pandas for bulk data and markitdown for a quick look. It lists requirements for every output that read like a code review checklist:
- Use a professional font such as Arial or Times New Roman, unless told otherwise.
- Zero formula errors. Never ship while
recalc.pyreportserrors_found. - Use formulas, not hardcoded results. Write
=SUM(B2:B9), not the computed total. - Follow the user's spec literally, including exact tab names and headers.
- Document assumptions and hardcoded numbers where the reader will see them.
- Editing an existing file: match its conventions, write only in its input cells, leave formulas alone.
The recalculation step is the key point. openpyxl writes formulas as strings with no cached values, so pandas and most previewers read them as empty until the file is recalculated. scripts/recalc.py runs LibreOffice, rewrites the file in place and returns JSON with status, total_formulas, total_errors and an error_summary. The skill warns that errors_found still exits with code 0, so a clean exit is not proof of a clean file.
It also records limits. LibreOffice supports fewer functions than Excel. The skill says to use six post-2007 functions only with an _xlfn. prefix, and never to use XLOOKUP, XMATCH, SORT, FILTER, UNIQUE or SEQUENCE, because the runtime's LibreOffice cannot evaluate them. A workbook that links to another file also loses those links if you re-save it with openpyxl.
Fits: building models with live formulas, cleaning messy CSVs, fixing broken workbooks. Weak spot: modern dynamic-array functions.
Licence, plainly
This is the part to read twice. The four folders are not under Apache 2.0.
Document skills | Other example skills such as | |
|---|---|---|
|
|
|
| "(c) 2025 Anthropic, PBC. All rights reserved", governed by your agreement with Anthropic, or its Consumer or Commercial Terms | Apache License 2.0 (checked for |
The text says use of "these materials (including all code, prompts, assets, files, and other components of this Skill)" is governed by your agreement with Anthropic regarding use of Anthropic's services. If there is no separate agreement, the Consumer Terms of Service or Commercial Terms of Service apply. The repo README describes them as source-available.
What follows from that, in our reading: using them with Claude, as an Anthropic customer, fits the intent. Copying them into another vendor's agent or a product you sell is a question for your lawyer and for Anthropic. We are not giving legal advice, and we do not say whether the terms allow use with non-Anthropic models.
The repository also has no top-level licence on GitHub, which is why we say check each folder.
What it costs
The skills are free to install. Each load adds the skill body to the conversation. The pptx skill is about 20 KB and the others are 7 to 9 KB. Descriptions load at startup, bodies when triggered. The agent's work, such as writing scripts, running LibreOffice and rendering pages to check them, costs tokens and time. Rendering and checking is slow.
Install it in each agent
Claude Code
From the README:
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skillsThen ask: "Use the PDF skill to extract the form fields from path/to/some-file.pdf". The same marketplace holds example-skills with a dozen other skills.
Codex
Our adaptation. Codex reads skills from ~/.agents/skills/ or .agents/skills/ in a repo:
git clone --depth 1 https://github.com/anthropics/skills /tmp/anthropic-skills
mkdir -p .agents/skills
cp -R /tmp/anthropic-skills/skills/{docx,pdf,pptx,xlsx} .agents/skills/Mind the licence note above. We did not confirm how Codex treats the nested scripts folders inside each skill, so run one skill before relying on it.
Cursor
Our adaptation. Cursor's skills docs say it loads skills from .agents/skills/ and .cursor/skills/ in a project, and from ~/.agents/skills/ and ~/.cursor/skills/ for your user, plus .claude/skills/ for compatibility. Copy the four folders into .agents/skills/ as in the Codex steps.
Antigravity
Our adaptation. Antigravity's skills docs list <workspace-root>/.agents/skills/ for one workspace and ~/.gemini/config/skills/ for all workspaces, so the Codex steps work for a project. Gemini CLI is now Code Assist enterprise only.
OpenCode
Our adaptation. OpenCode's skills docs list .opencode/skills/, .claude/skills/ and .agents/skills/ in a project, so either the Codex steps or a copy into .claude/skills/ works.
Prerequisites on your own machine
The scripts say tools are "preinstalled". That is true in Anthropic's sandbox and may not be on your laptop. Plan to install:
Tool | Used by |
|---|---|
Node.js with |
|
Python with |
|
|
|
LibreOffice ( |
|
Poppler ( |
|
|
|
If an import fails, the skills say to install the missing package then. Do that in a virtual environment, not globally.
Security notes
- Scripts run on your files. The skills ship Python scripts the agent will run. Read them first, as with any code from a repository.
- Untrusted documents. Office files and PDFs can carry macros, embedded links and hostile structure.
.xlsmfiles can hold macros. Do not open files from strangers in an agent with broad file and network rights. - Prompt injection through documents. Text inside a PDF or slide can address the agent. Keep documents you do not trust away from agents that can send mail or run commands.
- LibreOffice. The skills drive LibreOffice headlessly. Keep it updated.
- Data. Anything the agent reads from a document goes to the model provider.
- Pinning. The repo changes often. Pin a commit when you vendor the folders.
Limits and known issues
- Proprietary licence, as above.
- LibreOffice is the checking engine, so rendering and function support differ from Microsoft Office.
- The
xlsxskill excludes modern dynamic-array functions. - Old
.docfiles must be converted first, with the skill'ssoffice.pywrapper. docx-jscannot edit an existing document.- The skills assume tools preinstalled in a sandbox.
- No hands-on speed numbers. We did not time any of these.
Alternatives
Option | Fits when | Notes |
|---|---|---|
Document skills | You use Claude and want office files from the agent | Proprietary |
You want to write your own file-handling skill | Apache-2.0 folder | |
You want better-looking pages, not files | Same repository, Apache-2.0 | |
You only need to move files around | No format awareness | |
You want text from web pages | Not office files | |
You want to pack code for context | Code, not documents | |
You want a pre-built set of agents and commands | Different kind of add-on |
Our take
These are well-made skills. They read like notes from someone who has hit every error: the _xlfn. prefix, the missing cached values, the hanging soffice, the shared option object in pptxgenjs. That knowledge is the value. A model alone will make most of those mistakes.
The caveat is licence and environment. The licence is proprietary, so use them inside the terms you already have with Anthropic, and ask before you redistribute. And they assume a sandbox with tools installed, so on a laptop you will spend an hour on dependencies. If you only touch one file type, copy just that folder. If you work in Claude Code already, install the plugin and move on.
This is our reading of the repository, not a hands-on test.
A short setup checklist
- Read each folder's
LICENSE.txtand check it fits your use. - Add the marketplace and install
document-skills. - Install Node, Python libraries, pandoc, LibreOffice and Poppler as needed.
- Run a small task for each skill you care about.
- For
xlsx, confirm the agent runsrecalc.pybefore it reports success. - Keep untrusted files out of agents with broad rights.
- Pin the version if you vendor the folders.
See also the Claude Code cheat sheet and skills.
Frequently asked questions
What are the document skills?
Four skills, docx, pdf, pptx and xlsx, that teach an agent to create, read and edit office files.
How do I install them in Claude Code?
Add the anthropics/skills marketplace, then install document-skills@anthropic-agent-skills.
Are they open source?
No. They are proprietary and source-available.
What do I need installed?
Node packages, Python libraries, pandoc, LibreOffice and Poppler, depending on the skill.
Can I use them outside Claude Code?
Agents that read SKILL.md folders can load them, but the licence terms still apply.
Questions
What are the document skills?
Four skills from Anthropic, docx, pdf, pptx and xlsx, that teach an agent how to create, read and edit Word, PDF, PowerPoint and Excel files, with helper scripts for the hard parts.
How do I install them in Claude Code?
Run /plugin marketplace add anthropics/skills, then /plugin install document-skills@anthropic-agent-skills.
Are they open source?
No. Each skill's LICENSE.txt says use is governed by your agreement with Anthropic or its Consumer or Commercial Terms, and the SKILL.md files say Proprietary. The repo README calls them source-available.
What do I need installed?
It depends on the skill: Node packages docx and pptxgenjs, Python libraries such as openpyxl, pandas, pypdf and pdfplumber, plus pandoc, LibreOffice and Poppler. The skills assume some are preinstalled in Anthropic's sandbox.
Can I use them outside Claude Code?
Agents that read SKILL.md folders can load them, but the licence terms still apply, and the scripts expect tools that your machine must have.
Loading poll...
Sources
- github.com/anthropics/skills
- github.com/anthropics/skills/blob/main/.claude-plugin/marketplace.json
- github.com/anthropics/skills/tree/main/skills/docx
- github.com/anthropics/skills/tree/main/skills/pdf
- github.com/anthropics/skills/tree/main/skills/pptx
- github.com/anthropics/skills/tree/main/skills/xlsx
- code.claude.com/docs/en/skills
- developers.openai.com/codex/skills
- antigravity.google/docs
- opencode.ai/docs
- cursor.com/docs/context/skills
- opencode.ai/docs/skills
- antigravity.google/docs/skills