| name | word-document |
| description | Build a real, formatted Word (.docx) document — headings, styles, tables, TOC-ready. Use when asked to produce a Word doc, a .docx, a formatted report/contract/proposal/letter as an actual file (not markdown). Produces an actual .docx via a generated python-docx script with proper heading styles, body text, tables, and page structure. Requires a code-execution environment (Claude Code, the API code tool, or Claude.ai). |
Word Document Skill
When someone needs an actual .docx — a report, proposal, contract, or formal letter they'll edit in
Word — markdown won't do. This skill produces a real Word file by writing and running a python-docx
script: proper heading styles (so the navigation pane and a TOC work), clean body text, tables, and
page structure — a document that looks authored, not exported.
Environment: produces a binary file, so it needs code execution — Claude Code, the
API code-execution tool, or Claude.ai. In the browser playground, the existing Word/PDF export
turns any skill's markdown into a document; this skill is for a built-to-spec .docx.
Required Inputs
Ask for these only if they aren't already provided:
- Document type — report, proposal, contract, SOP, letter, whitepaper — and its purpose/audience.
- The content — the material (or a brief to expand), and the required sections/structure.
- Formatting needs — headings/TOC, tables, numbered clauses (contracts), a cover page, letterhead/brand.
- Length & tone.
Process
- Outline the structure — the section hierarchy (H1/H2/H3), and where tables or numbered clauses go. Confirm structure for formal docs (contracts, proposals).
- Write a
python-docx script that:
- Uses real heading styles (
Heading 1/2/3) — not bold body text — so the nav pane, cross-refs, and a generated TOC work.
- Sets clean body styling (font, size, spacing), adds tables with proper headers where needed, and page elements (title/cover, page numbers, sections) as required.
- For contracts/formal docs: numbered headings/clauses and consistent defined-term formatting.
- Saves to a clearly named
.docx.
- Run it, then summarise the document and note anything the user must fill (signatures, figures, brand assets).
Output Format
- The generated
.docx file.
- A short contents summary (the section structure) and a list of placeholders/fields the user needs to complete.
Quality Checks
Anti-Patterns
Based On
Document-production practice (style-based formatting, structured headings, TOC-ready) implemented with python-docx.
Programmatic Helper
This skill ships scripts/docx_tool.py — zero-dependency (stdlib zip+XML) production of real .docx files:
python3 scripts/docx_tool.py create out.docx --text-file doc.md
python3 scripts/docx_tool.py fill template.docx out.docx --values '{"client":"Acme","date":"2026-07-03"}'
python3 scripts/docx_tool.py extract out.docx
Write the document first (per this skill), then create it as a real file. Honest limits: the markdown subset above with default styling; complex templates keep their formatting except in paragraphs where a placeholder spanned runs.