docxlisted
Install: claude install-skill MatrixFounder/Universal-skills
# docx skill
**Purpose**: Give the agent a deterministic, script-first way to create,
edit, and convert Microsoft Word `.docx` files so it does not have to
re-derive low-level OOXML constructs (page sizes, tables, tracked
changes, comment markers, image embeddings, template substitution) on
every task. Writing `.docx` by hand through `docx-js` or `python-docx`
calls is feasible but error-prone; the scripts here encode the
practical knowledge and make the common operations a single command.
## 1. Red Flags (Anti-Rationalization)
**STOP and READ THIS if you are thinking:**
- "I'll just assemble the docx inline with `docx-js` calls, the scripts are overkill." → **WRONG**. `md2docx.js` already handles page size, numbering, dual-width tables, and image alt-text — regressions from hand-rolled code usually show as silently broken tables or images on Word for Windows.
- "I can skip `docx_fill_template.py`'s run-merge pass and just regex-replace `{{placeholder}}`." → **WRONG**. Word and Google Docs fracture a single placeholder across multiple `<w:r>` siblings after spell-check or autocorrect; a naïve regex won't match and the placeholder will ship unfilled.
- "For tracked changes I'll just delete every `<w:del>` block." → **WRONG**. That loses author attribution and breaks paragraph-level delete markers. Use `docx_accept_changes.py` which drives LibreOffice's own accept dispatcher.
- "The smart-quote entity rewrite in `office/unpack.py` is ugly, I'll turn it off." → **WRONG**. Dif