docx

Official

This handles the full lifecycle of Word document manipulation through Claude.

anthropics ↓ 157k
Claude Code
View source ↗

What it does

  • Page size defaults to A4. For US Letter set page: { size: { width: 12240, height: 15840 } } (DXA; 1440 = 1″).
  • Landscape: pass portrait dimensions and orientation: PageOrientation.LANDSCAPE — docx-js swaps width/height internally.
  • Table shading: use ShadingType.CLEAR, never SOLID (renders black).
  • Lists: never insert • literally; use a numbering config with LevelFormat.BULLET.
  • ImageRun requires type: ("png", "jpg", …).
  • PageBreak must be inside a Paragraph.
  • Never use \n — use separate Paragraph elements.

Requirements & configuration

  • docx is preinstalled — do not run npm install first; write the script and require('docx') directly. Only if that require fails: npm install docx. The model knows the API; these are the footguns:
  • Tables need dual widths: set columnWidths on the table AND width on every cell, both in WidthType.DXA (PERCENTAGE breaks in Google Docs). Column widths must sum to the table width.
  • ImageRun requires type: ("png", "jpg", …).
  • TOC: headings must use built-in HeadingLevel.; custom heading styles need outlineLevel set or they won't appear.
  • Comments require six cross-linked files. Use the helper — directory mode when you'll also be editing document.xml (saves an unzip/rezip cycle), .docx-direct mode otherwise:

Configuration: SOLID

Derived from the skill's own SKILL.md documentation · extracted 2026-07-23

This handles the full lifecycle of Word document manipulation through Claude.

Source

Repository: https://github.com/anthropics/skills

docx FAQ

What does the docx skill do?

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation. Page size defaults to A4. For US Letter set page: { size: { width: 12240, height: 15840 } } (DXA; 1440 = 1″). Landscape: pass portrait dimensions and orientation: PageOrientation.LANDSCAPE — docx-js swaps width/height internally.

What does docx require?

docx is preinstalled — do not run npm install first; write the script and require('docx') directly. Only if that require fails: npm install docx. The model knows the API; these are the footguns: Tables need dual widths: set columnWidths on the table AND width on every cell, both in WidthType.DXA (PERCENTAGE breaks in Google Docs). Column widths must sum to the table width. ImageRun requires type: ("png", "jpg", …). TOC: headings must use built-in HeadingLevel.; custom heading styles need outlineLevel set or they won't appear. Comments require six cross-linked files. Use the helper — directory mode when you'll also be editing document.xml (saves an unzip/rezip cycle), .docx-direct mode otherwise: Configuration keys: SOLID.

How do I install docx?

Run: npx -y skills add https://github.com/anthropics/skills --skill docx --agent claude-code — the source lives at github.com/anthropics/skills.

Maintain docx?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

docx on getagentictools
[![docx on getagentictools](https://getagentictools.com/badge/skills/anthropics-skills-docx.svg)](https://getagentictools.com/skills/anthropics-skills-docx?ref=badge)
npx agentictools info skills/anthropics-skills-docx

The second line is the CLI lookup for this page — handy in READMEs and docs.