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 (anthropics/skills)

Plugin

document-skills in the anthropic-agent-skills marketplace

Skills in the plugin

xlsx, docx, pptx, pdf

Install in Claude Code

/plugin marketplace add anthropics/skills, then /plugin install document-skills@anthropic-agent-skills

Licence

Proprietary. Each folder's LICENSE.txt says "All rights reserved" and points to your Anthropic agreement or terms

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 (docx, pptxgenjs), Python (openpyxl, pandas, pypdf, pdfplumber, markitdown), pandoc, LibreOffice, Poppler

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

docx

pdf

pptx

xlsx

File types

.docx, .dotx

.pdf

.pptx, .potx

.xlsx, .xlsm, .xltx, .csv, .tsv

Create with

docx (npm), a script

Python libraries, reportlab-style tools

pptxgenjs, a script

openpyxl, pandas

Edit with

Unzip, edit word/document.xml, zip

pypdf, form scripts

Unzip, edit slide XML, zip

openpyxl

Read with

pandoc -t markdown

pypdf, pdfplumber, pdftotext

markitdown

markitdown, pandas

Helper scripts

accept_changes.py, comment.py, merge_runs.py, office tools

Eight form scripts

thumbnail.py, add_slide.py, clean.py, validators

recalc.py

Extra docs

None beyond SKILL.md

forms.md, reference.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-js script. The skill says docx is preinstalled and tells the agent not to run npm install first.
  • Edit by unzipping, changing word/document.xml and 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

pypdf

Text and tables

pdfplumber, pdftotext from poppler-utils

OCR

pytesseract with pdf2image

Forms

A separate FORMS.md guide and eight scripts in scripts/

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 pptxgenjs script.
  • Edit a deck or build from a template by unzipping, editing ppt/slides/slideN.xml and zipping.
  • Read with markitdown, which prints a block per slide, or build a labelled thumbnail grid with scripts/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.py reports errors_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 frontend-design

SKILL.md frontmatter

license: Proprietary. LICENSE.txt has complete terms

license: Complete terms in LICENSE.txt

LICENSE.txt

"(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 frontend-design)

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-skills

Then 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 docx and pptxgenjs

docx, pptx

Python with openpyxl, pandas, markitdown, pypdf, pdfplumber

xlsx, pptx, pdf

pandoc

docx

LibreOffice (soffice)

docx, pptx, xlsx

Poppler (pdftoppm, pdftotext)

docx, pdf

pytesseract, pdf2image

pdf OCR

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. .xlsm files 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 xlsx skill excludes modern dynamic-array functions.
  • Old .doc files must be converted first, with the skill's soffice.py wrapper.
  • docx-js cannot 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

Skill creator

You want to write your own file-handling skill

Apache-2.0 folder

Frontend design skill

You want better-looking pages, not files

Same repository, Apache-2.0

Filesystem MCP

You only need to move files around

No format awareness

Fetch MCP

You want text from web pages

Not office files

Repomix

You want to pack code for context

Code, not documents

Claude Code templates

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

  1. Read each folder's LICENSE.txt and check it fits your use.
  2. Add the marketplace and install document-skills.
  3. Install Node, Python libraries, pandoc, LibreOffice and Poppler as needed.
  4. Run a small task for each skill you care about.
  5. For xlsx, confirm the agent runs recalc.py before it reports success.
  6. Keep untrusted files out of agents with broad rights.
  7. 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

  1. github.com/anthropics/skills
  2. github.com/anthropics/skills/blob/main/.claude-plugin/marketplace.json
  3. github.com/anthropics/skills/tree/main/skills/docx
  4. github.com/anthropics/skills/tree/main/skills/pdf
  5. github.com/anthropics/skills/tree/main/skills/pptx
  6. github.com/anthropics/skills/tree/main/skills/xlsx
  7. code.claude.com/docs/en/skills
  8. developers.openai.com/codex/skills
  9. antigravity.google/docs
  10. opencode.ai/docs
  11. cursor.com/docs/context/skills
  12. opencode.ai/docs/skills
  13. antigravity.google/docs/skills

Part of the Wbcom Designs family

The all-in-one WordPress community stack

Also ours: wbcomdesigns.comvapvarun.combrndle.com