docx

Create, read, and edit Word .docx documents including tracked changes and comments.

16|Updated Sep 22, 2026
One-click install
npx skills add https://github.com/igniteenow/robo --skill docx-igniteenow
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: docx
Source: https://github.com/igniteenow/robo/tree/main/skills/productivity/docx
Command: npx skills add https://github.com/igniteenow/robo --skill docx-igniteenow

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires docx, defusedxml, lxml, pandoc, libreoffice, poppler-utils, and includes scripts (resource) components.

What problem does it solve? Working with Word documents programmatically is error-prone: docx-js cannot open existing files, Word fragments text across XML runs, and tracked changes or comments require many cross-linked XML parts. This Skill provides tested workflows and scripts to create, read, edit, redline, and validate .docx files without corrupting them. ## Core Features & Use Cases - Document Creation: Generate reports, memos, letters, tables of contents, and letterheads with docx-js, with guidance on page size, tables, lists, and images. - Surgical XML Editing: Unzip a .docx, merge fragmented runs, edit word/document.xml directly, rezip, and validate against XSD schemas. - Tracked Changes & Comments: Add redlined edits with <w:ins>/<w:del>, insert threaded comments via helper scripts, and accept all tracked changes through LibreOffice. - Use Case: A user needs to redline a contract: unpack the .docx, merge runs so clauses are findable, wrap edits in tracked-change elements, add comments, then validate with --author to confirm every change is tracked. ## Quick Start Ask the agent to create a Word report from your notes, or to edit an attached .docx file with tracked changes and comments.

Frequently Asked Questions about docx

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I edit an existing Word .docx file programmatically?▼

Unzip the .docx, edit word/document.xml in place, then rezip from inside the unpacked directory. The docx-js library cannot open existing files, so direct XML editing is the supported path, followed by XSD validation.

How do I add tracked changes to a Word document?▼

Wrap inserted runs in <w:ins> and deleted runs in <w:del> with w:id, w:author, and w:date attributes; deleted text uses <w:delText> instead of <w:t>. Validate with the --author flag to catch any edit missing tracked-change markup.

Why can't I find a phrase in word/document.xml?▼

Word splits visible text across many <w:r> runs due to revision IDs and spell-check markers, so contiguous strings often don't exist in the XML. Run merge_runs.py first to coalesce adjacent identically-formatted runs without changing rendering.

Does docx-js support opening and modifying existing documents?▼

No, docx-js only creates new documents from scratch. For existing files, convert legacy .doc with LibreOffice, then unzip, edit the XML directly, and rezip, validating the result against OOXML schemas.

How do I verify a generated .docx renders correctly?▼

Convert the .docx to PDF with LibreOffice headless, then use pdftoppm to render pages as images and inspect each one visually. Also run validate.py against the original to catch schema, relationship, and content-type errors.