From openai-office-skills
Reads, creates, edits .docx files with layout preservation using python-docx and visual rendering via LibreOffice/PDF tools.
How this skill is triggered — by the user, by Claude, or both
Slash command
/openai-office-skills:docThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Read or review DOCX content where layout matters (tables, diagrams, pagination).
soffice and pdftoppm are available, convert DOCX -> PDF -> PNGs.scripts/render_docx.py (requires pdf2image and Poppler).python-docx for edits and structured creation (headings, styles, tables, lists).python-docx as a fallback and call out layout risk.tmp/docs/ for intermediate files; delete when done.output/doc/ when working in this repo.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.
No required environment variables.
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:
python3 scripts/render_docx.py /path/to/file.docx --output_dir /tmp/docx_pages
npx claudepluginhub fcakyon/claude-codex-settings --plugin openai-office-skillsReads, creates, edits .docx documents preserving formatting and layout using python-docx plus PDF/PNG rendering for visual validation.
Creates, reads, edits, and manipulates Word documents (.docx) with formatting, tracked changes, tables, images, and templates. Activates on mentions of reports, memos, letters, or .docx files.
Converts existing .docx/.pptx/.xlsx to PDF or PNG using Word, LibreOffice, or x2t engines via Python script. Handles headless/background jobs with cmux dispatch.