home / skills / 404kidwiz / claude-supercode-skills / docx-skill

docx-skill skill

/docx-skill

This skill helps you generate, modify, and automate Word documents programmatically using python-docx and docx.js for templates, styles, and workflows.

npx playbooks add skill 404kidwiz/claude-supercode-skills --skill docx-skill

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.9 KB
---
name: docx
description: Expert in creating, editing, and automating Word documents (.docx) using python-docx and docx.js. Use when generating Word documents, modifying existing docx files, or automating document workflows.
---

# DOCX Skill

## Purpose
Provides expertise in programmatic Word document creation and manipulation. Handles document generation, template filling, style management, and batch document processing using python-docx and JavaScript libraries.

## When to Use
- Generating Word documents programmatically
- Filling document templates with data
- Modifying existing .docx files
- Extracting content from Word documents
- Applying styles and formatting
- Creating mail merge workflows
- Converting data to formatted documents

## Quick Start
**Invoke this skill when:**
- Generating Word documents programmatically
- Filling document templates with data
- Modifying existing .docx files
- Extracting content from Word documents
- Automating document workflows

**Do NOT invoke when:**
- Writing document content (use document-writer)
- Creating PDFs (use pdf-skill)
- Creating spreadsheets (use xlsx-skill)
- Creating presentations (use pptx-skill)

## Decision Framework
```
Library Selection:
├── Python backend → python-docx
├── Node.js backend → docx (npm)
├── Browser-based → docx.js
├── Complex templates → docxtemplater
└── Simple text extraction → mammoth

Task Type:
├── Generate from scratch → Build document programmatically
├── Fill template → Use placeholder replacement
├── Modify existing → Load, edit, save
└── Batch processing → Loop with template
```

## Core Workflows

### 1. Document Generation (python-docx)
1. Create Document object
2. Add heading with level
3. Add paragraphs with text
4. Apply styles (built-in or custom)
5. Add tables if needed
6. Insert images
7. Save document

### 2. Template Processing
1. Load template document
2. Find placeholders ({{variable}})
3. Replace with actual values
4. Handle conditional sections
5. Process repeating sections
6. Save as new document

### 3. Batch Document Generation
1. Load template once
2. Iterate over data records
3. Clone template for each
4. Fill placeholders
5. Generate unique filenames
6. Save each document

## Best Practices
- Use paragraph styles, not direct formatting
- Create templates with placeholders for reuse
- Handle missing placeholder values gracefully
- Preserve original template, save to new file
- Test with complex content (tables, images)
- Validate output opens correctly

## Anti-Patterns
| Anti-Pattern | Problem | Correct Approach |
|--------------|---------|------------------|
| Direct formatting | Hard to maintain | Use styles |
| Modifying template | Corrupts original | Save to new file |
| No error handling | Fails on bad input | Validate data first |
| Hardcoded paths | Not portable | Use relative paths |
| Ignoring encoding | Character issues | Use UTF-8 strings |

Overview

This skill provides expert, programmatic control over Word (.docx) documents using python-docx and docx.js. It handles document generation, template filling, modification of existing .docx files, and automation of batch workflows. Use it to produce consistent, styled Word output from code or to integrate document tasks into pipelines.

How this skill works

Choose the library based on environment: python-docx for Python backends, docx (npm) or docx.js for Node/browser, and docxtemplater for complex templating. Typical flows create or load a Document object, locate and replace placeholders, apply styles or build tables/images, then save a new file. For batch jobs the skill clones a template, fills values for each record, and writes uniquely named outputs.

When to use it

  • Generate Word documents from data or templates programmatically
  • Fill templates with placeholders (mail merge, reports, contracts)
  • Modify or augment existing .docx files (insert sections, images, tables)
  • Extract text and structured content from .docx files for processing
  • Automate batch document creation or distribution workflows

Best practices

  • Prefer paragraph and character styles over direct formatting for maintainability
  • Keep a pristine template file; always save edits to a new filename
  • Validate input data and handle missing placeholders gracefully
  • Test with complex content (tables, images, nested styles) before production
  • Use relative paths and UTF-8 strings to avoid portability and encoding issues

Example use cases

  • Generate personalized contract documents from a database of client records
  • Produce weekly or monthly reports with tables and charts inserted as images
  • Implement a mail-merge workflow to create individualized letters from a template
  • Batch-convert form responses into formatted .docx deliverables for clients
  • Extract headings and paragraphs from legacy documents for content migration

FAQ

Which library should I pick for server-side Python?

Use python-docx for most Python server tasks; it supports creating, editing, styling, tables, and images.

How do I handle repeating sections like tables of items?

Use templating libraries (docxtemplater or write a custom placeholder loop) to duplicate and populate rows, or programmatically build tables with python-docx.

Will edited .docx files remain compatible with Word?

Yes, if you preserve valid document structure and test outputs; always validate files open in Word after automated edits.