TL;DR
Render documentation to DOCX format via render_docx.py. Specialized utility, activate only when DOCX export is explicitly requested.
DOCX Skill
Activation
- Activate when the task involves reading, creating, or editing
.docx documents.
- Activate on explicit
$codex-doc-renderer or $docx.
When to use
- Read or review DOCX content where layout matters (tables, diagrams, pagination).
- Create or edit DOCX files with professional formatting.
- Validate visual layout before delivery.
Workflow
- Prefer visual review (layout, tables, diagrams).
- If
soffice and pdftoppm are available, convert DOCX -> PDF -> PNGs.
- Or use
scripts/render_docx.py (requires pdf2image and Poppler).
- If these tools are missing, install them or ask the user to review rendered pages locally.
- Use
python-docx for edits and structured creation (headings, styles, tables, lists).
- After each meaningful change, re-render and inspect the pages.
- If visual review is not possible, extract text with
python-docx as a fallback and call out layout risk.
- Keep intermediate outputs organized and clean up after final approval.
Temp and output conventions
- Use
tmp/docs/ for intermediate files; delete when done.
- Write final artifacts under
output/doc/ when working in this repo.
- Keep filenames stable and descriptive.
Dependencies (install if missing)
Prefer uv for dependency management.
Python packages:
uv pip install python-docx pdf2image
If uv is unavailable:
python3 -m pip install python-docx pdf2image
System tools (for rendering):
# macOS (Homebrew)
brew install libreoffice poppler
# Ubuntu/Debian
sudo apt-get install -y libreoffice poppler-utils
If installation isn't possible in this environment, tell the user which dependency is missing and how to install it locally.
Environment
No required environment variables.
Rendering commands
DOCX -> PDF:
soffice -env:UserInstallation=file:///tmp/lo_profile_$$ --headless --convert-to pdf --outdir $OUTDIR $INPUT_DOCX
PDF -> PNGs:
pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME
Bundled helper:
python scripts/render_docx.py /path/to/file.docx --output_dir /tmp/docx_pages
Quality expectations
- Deliver a client-ready document: consistent typography, spacing, margins, and clear hierarchy.
- Avoid formatting defects: clipped/overlapping text, broken tables, unreadable characters, or default-template styling.
- Charts, tables, and visuals must be legible in rendered pages with correct alignment.
- Use ASCII hyphens only. Avoid U+2011 (non-breaking hyphen) and other Unicode dashes.
- Citations and references must be human-readable; never leave tool tokens or placeholder strings.
Final checks
- Re-render and inspect every page at 100% zoom before final delivery.
- Fix any spacing, alignment, or pagination issues and repeat the render loop.
- Confirm there are no leftovers (temp files, duplicate renders) unless the user asks to keep them.
1---2name: codex-doc-renderer3description: Use when the task involves reading, creating, or editing `.docx` documents, especially when formatting or layout fidelity matters; prefer `python-docx` plus the bundled `scripts/render_docx.py` for visual checks.4---567## TL;DR8Render documentation to DOCX format via `render_docx.py`. Specialized utility, activate only when DOCX export is explicitly requested.910# DOCX Skill1112## Activation13141. Activate when the task involves reading, creating, or editing `.docx` documents.152. Activate on explicit `$codex-doc-renderer` or `$docx`.1617## When to use18- Read or review DOCX content where layout matters (tables, diagrams, pagination).19- Create or edit DOCX files with professional formatting.20- Validate visual layout before delivery.2122## Workflow231. Prefer visual review (layout, tables, diagrams).24 - If `soffice` and `pdftoppm` are available, convert DOCX -> PDF -> PNGs.25 - Or use `scripts/render_docx.py` (requires `pdf2image` and Poppler).26 - If these tools are missing, install them or ask the user to review rendered pages locally.272. Use `python-docx` for edits and structured creation (headings, styles, tables, lists).283. After each meaningful change, re-render and inspect the pages.294. If visual review is not possible, extract text with `python-docx` as a fallback and call out layout risk.305. Keep intermediate outputs organized and clean up after final approval.3132## Temp and output conventions33- Use `tmp/docs/` for intermediate files; delete when done.34- Write final artifacts under `output/doc/` when working in this repo.35- Keep filenames stable and descriptive.3637## Dependencies (install if missing)38Prefer `uv` for dependency management.3940Python packages:41```42uv pip install python-docx pdf2image43```44If `uv` is unavailable:45```46python3 -m pip install python-docx pdf2image47```48System tools (for rendering):49```50# macOS (Homebrew)51brew install libreoffice poppler5253# Ubuntu/Debian54sudo apt-get install -y libreoffice poppler-utils55```5657If installation isn't possible in this environment, tell the user which dependency is missing and how to install it locally.5859## Environment60No required environment variables.6162## Rendering commands63DOCX -> PDF:64```65soffice -env:UserInstallation=file:///tmp/lo_profile_$$ --headless --convert-to pdf --outdir $OUTDIR $INPUT_DOCX66```6768PDF -> PNGs:69```70pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME71```7273Bundled helper:74```75python scripts/render_docx.py /path/to/file.docx --output_dir /tmp/docx_pages76```7778## Quality expectations79- Deliver a client-ready document: consistent typography, spacing, margins, and clear hierarchy.80- Avoid formatting defects: clipped/overlapping text, broken tables, unreadable characters, or default-template styling.81- Charts, tables, and visuals must be legible in rendered pages with correct alignment.82- Use ASCII hyphens only. Avoid U+2011 (non-breaking hyphen) and other Unicode dashes.83- Citations and references must be human-readable; never leave tool tokens or placeholder strings.8485## Final checks86- Re-render and inspect every page at 100% zoom before final delivery.87- Fix any spacing, alignment, or pagination issues and repeat the render loop.88- Confirm there are no leftovers (temp files, duplicate renders) unless the user asks to keep them.