openai-doc
$
npx mdskill add trailofbits/skills-curated/openai-docManipulate complex Word documents, preserving precise formatting for professional content creation.
- Handles reading, writing, and modifying files requiring layout fidelity like tables and diagrams.
- Integrates with `python-docx` and recommends visual rendering tools like Poppler for accurate previews.
- Determines execution path based on formatting needs, prioritizing visual validation over raw text extraction.
- Delivers final artifacts in a structured output directory after iterative review and refinement.
SKILL.md
.github/skills/openai-docView on GitHub ↗
--- name: openai-doc description: 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. Originally from OpenAI's curated skills catalog. allowed-tools: - Bash - Read - Grep - Glob - Write - Edit --- # DOCX Skill ## 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 1. 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. 2. Use `python-docx` for edits and structured creation (headings, styles, tables, lists). 3. After each meaningful change, re-render and inspect the pages. 4. If visual review is not possible, extract text with `python-docx` as a fallback and call out layout risk. 5. 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: ``` python3 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. ## When NOT to Use <!-- TODO: review -->
More from trailofbits/skills-curated
- ffuf-web-fuzzing>-
- ghidra-headless>-
- humanizer|
- last30days"Researches a topic from the last 30 days on Reddit, X, and the web. Surfaces real community discussions with engagement metrics and synthesizes findings into actionable insights. Use when the user wants to know what people are saying about a topic right now."
- openai-cloudflare-deployDeploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform
- openai-develop-web-game'Use when the agent is building or iterating on a web game (HTML/JS) and needs a reliable
- openai-gh-address-commentsHelp address review/issue comments on the open GitHub PR for the current branch using gh
- openai-gh-fix-ciUse when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions;
- openai-jupyter-notebookUse when the user asks to create, scaffold, or edit Jupyter notebooks (`.ipynb`) for experiments,
- openai-netlify-deployDeploy web projects to Netlify using the Netlify CLI (`npx netlify`). Use when the user asks