docx
Comprehensive Word document toolkit for reading, creating, and editing .docx files. Supports text extraction, document creation with python-docx, and tracked changes via redlining workflow. Use for le
SKILL.md.claude/skills/data/documents/docx/SKILL.md
GitHubDocx
Overview
This skill enables comprehensive Word document operations through multiple specialized workflows for reading, creating, and editing documents.
Quick Start
from docx import Document
# Read existing document
doc = Document("document.docx")
for para in doc.paragraphs:
print(para.text)
# Create new document
doc = Document()
doc.add_heading("My Title", level=0)
doc.add_paragraph("Hello, World!")
doc.save("output.docx")
Fallback: inspect .docx without python-docx
If python-docx is unavailable but the task is read-only inspection, treat .docx as a ZIP archive and extract Word XML text directly instead of stopping:
from pathlib import Path
from zipfile import ZipFile
import re
import xml.etree.ElementTree as ET
path = Path("document.docx")
with ZipFile(path) as zf:
xml = zf.read("word/document.xml")
root = ET.fromstring(xml)
ns = {"w": "http://schemas.openxmlformats.org/wordprocessingml/2006/main"}
texts = [node.text or "" for node in root.findall(".//w:t", ns)]
print(re.sub(r"\n{3,}", "\n\n", "\n".join(texts)))
Use this for content discovery and comparison only; use a real DOCX library or office converter for preserving layout, images, tables, comments, tracked changes, and styles.
When to Use
- Extracting text and tables from Word documents
- Creating professional documents programmatically
- Generating reports from templates
- Bulk document processing and modification
- Legal document redlining with tracked changes
- Converting Word documents to other formats
- Adding headers, footers, and page numbers
- Inserting images and tables into documents
Version History
- 1.1.0 (2026-01-02): Added Quick Start, When to Use, Execution Checklist, Error Handling, Metrics sections; updated frontmatter with version, category, related_skills
- 1.0.0 (2024-10-15): Initial release with python-docx, pandoc integration, redlining workflow