docx-contracts
Fill Word document templates (contracts, forms) with structured data using docxtpl. Use when user uploads a .docx template with {{variables}} and provides data to fill it, or requests contract/form generation from template.
When & Why to Use This Skill
This Claude skill automates the generation of professional Word documents by populating .docx templates with structured data using the docxtpl library. It streamlines the creation of contracts and forms by extracting variables from templates and accurately filling them with user-provided information, ensuring high efficiency and document consistency through Jinja2 templating.
Use Cases
- Legal Contract Automation: Quickly generate NDAs, employment agreements, or service contracts by populating standard legal templates with specific client and date details.
- Business Form Generation: Automate the creation of invoices, purchase orders, and project proposals by mapping structured business data to pre-defined Word forms.
- HR & Administrative Workflows: Streamline the production of personalized offer letters, certificates, and internal memos using candidate or employee data to reduce manual entry errors.
| name | docx-contracts |
|---|---|
| description | Fill Word document templates (contracts, forms) with structured data using docxtpl. Use when user uploads a .docx template with {{variables}} and provides data to fill it, or requests contract/form generation from template. |
docx-contracts
Automated contract and form filling using docxtpl library.
Workflow
Be shure, that you recieve docx file. Don't try to read it.
- Extract schema: Run
scripts/extract_schema.py <template.docx>to get variables list and JSON schema. Don't read file. Just launch script. - Gather data: Extract values from user message context, matching schema fields. Use Claude completion for extraction if needed
- Handle missing data: If any required field is missing or uncertain, ask user directly. Do not guess
- Fill template: Create JSON file with data, then run
scripts/fill_template.py <template.docx> <data.json> <output.docx> - Deliver: Move result to
/mnt/user-data/outputs/and provide download link. Please don't read output file.
Key Points
- Template must use Jinja2 syntax:
{{VARIABLE_NAME}} - All required fields from schema must be filled
- Ask user for missing data - never invent values
- Install docxtpl if needed:
pip install docxtpl --break-system-packages