docx
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of "Word doc", "word document", ".docx", 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 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", "lette
npx skills add melandlabs/openloomi --skill docx --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# DOCX creation, editing, and analysis ## Overview A .docx file is a ZIP archive containing XML files. ## Quick Reference | Task | Approach | | ---------------------- | ----------------------------------------------------------------- | | Read/analyze content | `pandoc` or unpack for raw XML | | Create new document | Use `docx-js` - see Creating New Documents below | | Edit existing document | Unpack → edit XML → repack - see Editing Existing Documents below | ### Converting .doc to .docx Legacy `.doc` files are **auto-converted** on read and write — no manual step needed: ```bash # Reading .doc (auto-converted to .docx internally) python scripts/office/unpack.py legacy.doc unpacked/ # Writing .doc (auto-converted from .docx) python scripts/office/pack.py unpacked/ output.doc ``` LibreOffice is used for the conversion, with automatic sandbox-friendly socket handling. ### Reading Content ```bash # Text extraction with tracked changes pandoc --track-changes=all document.docx -o output.md # Raw XML access python scripts/office/unpack.py document.docx unpacked/ ``` ### Converting to Images ```bash python scripts/office/soffice.py --headless --convert-to pdf document.docx pdftoppm -jpeg
- Overview
- Quick Reference
- Converting .doc to .docx
- Reading Content
- Converting to Images
- Accepting Tracked Changes
- Creating New Documents
- Setup
- Validation
- Page Size
- Styles (Override Built-in Headings)
- Lists (NEVER use unicode bullets)
- Tables
- Images
Reading .doc (auto-converted to .docx internally) python scripts/office/unpack.py legacy.doc unpacked/ Writing .doc (auto-converted from .docx) python scripts/office/pack.py unpacked/ output.doc Text extraction with tracked changes pandoc --track-changes=all document.docx -o output.md Raw XML access python scripts/office/unpack.py document.docx unpacked/ python scripts/office/soffice.py --headless --convert-to pdf document.docx pdftoppm -jpeg -r 150 document.pdf page
What does the docx skill do?
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of "Word doc", "word document", ".docx", 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 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", "lette
How do I install it?
Run `npx skills add melandlabs/openloomi --skill docx --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From melandlabs/openloomi, a repository with 764 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
