
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.
SKILL.md
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
- Prefer visual review (layout, tables, diagrams).
- If
sofficeandpdftoppmare available, convert DOCX -> PDF -> PNGs. - Or use
scripts/render_docx.py(requirespdf2imageand Poppler). - If these tools are missing, install them or ask the user to review rendered pages locally.
- If
- Use
python-docxfor 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-docxas 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:
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.
More skills from the skills repository
View all 45 skills1password
manage secrets with 1Password CLI
Jul 13AuthenticationCLISecurityagent-slack
automate Slack messaging and workflows
Jul 13AutomationCLIMessagingSlackai-news
fetch and summarize AI news
Jul 13CommunicationsLLMResearchSummarizationcreating-letta-code-channels
build and debug Letta Code channels
Jul 13AgentsAPI DevelopmentMessagingSlackdatadog
query Datadog observability data
Jul 13DatadogLogsMetricsMonitoring +1discord
automate Discord server and channel tasks
Jul 13AutomationCLIMessaging
More from Letta
View publisheracquiring-skills
discover and install agent skills
letta-code
Jul 13AgentsAutomationGitHubContext Doctor
repair system prompt and memory degradation
letta-code
Jul 13AgentsAI ContextDebuggingconverting-mcps-to-skills
connect MCP servers to create skills
letta-code
Jul 13AgentsAutomationMCPcreating-mods
create and edit Letta Code mods
letta-code
Jul 23AgentsAutomationCodingcreating-skills
create and update agent skills
letta-code
Jul 13AgentsDocumentationPlugin Developmentcustomizing-commands
create and manage Letta slash commands
letta-code
Jul 13AgentsAutomationCLI