SuperAPI AI Directory

docx

Office & productivity

View repository

Updated 10-15 17:31

About this skill

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 references/creating.md
Edit existing document Unpack → edit XML → repack — see references/editing.md
Raw XML (tracked changes, comments, images) See references/xml.md

Converting .doc to .docx

Legacy .doc files must be converted before editing:

python scripts/office/soffice.py --headless --convert-to docx document.doc

Reading Content

# 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

python scripts/office/soffice.py --headless --convert-to pdf document.docx
pdftoppm -jpeg -r 150 document.pdf page

Accepting Tracked Changes

To produce a clean document with all tracked changes accepted (requires LibreOffice):

python scripts/accept_changes.py input.docx output.docx

Detailed references

Implementation details live in references/ (one level deep, loaded only when relevant):

  • references/creating.md (~340 lines) — Creating new .docx files with docx-js: setup, validation, page size, styles, lists, tables, images, page breaks, hyperlinks, footnotes, tab stops, multi-column layouts, table of contents, headers/footers, critical rules for docx-js.
  • references/editing.md (~60 lines) — Editing existing documents: the unpack → edit XML → repack workflow, common pitfalls.
  • references/xml.md (~130 lines) — Raw XML reference: schema compliance, tracked changes, comments, images.

When working on a creating or editing task, read the relevant reference file before generating code.


Dependencies

  • pandoc: Text extraction
  • docx: npm install -g docx (new documents)
  • LibreOffice: PDF conversion (auto-configured for sandboxed environments via scripts/office/soffice.py)
  • Poppler: pdftoppm for images