Document Generator
by @lnblxj
Generate professional Word, Excel, and PDF documents with rich formatting, tables, images, and layouts. Use this skill whenever the user mentions creating do...
clawhub install document-generatorπ About This Skill
name: document-generator description: Generate professional Word, Excel, and PDF documents with rich formatting, tables, images, and layouts. Use this skill whenever the user mentions creating documents, generating reports, exporting to DOCX/XLSX/PDF, making spreadsheets, building presentations in document form, or needs any kind of formatted document output. This includes requests like "create a report", "generate an Excel file", "export to PDF", "make a Word document", "build a spreadsheet", or even indirect mentions like "I need this data in a table" or "format this as a document".
Document Generator Skill
Generate professional Word (.docx), Excel (.xlsx), and PDF documents with comprehensive formatting support including fonts, colors, tables, images, layouts, and more.
When to Use This Skill
Use this skill when the user needs to:
Core Capabilities
Word Documents (.docx)
Excel Spreadsheets (.xlsx)
PDF Documents (.pdf)
How to Use
Step 1: Understand the Requirements
Ask clarifying questions if needed:
Step 2: Choose the Right Script
The skill provides three main scripts in the scripts/ directory:
generate_word.py - For Word documentsgenerate_excel.py - For Excel spreadsheets generate_pdf.py - For PDF documentsEach script accepts a JSON configuration that describes the document structure and content.
Step 3: Prepare the Configuration
Create a JSON configuration file that describes the document. The structure varies by document type - see the reference files for detailed schemas:
references/word_schema.md - Word document configurationreferences/excel_schema.md - Excel spreadsheet configurationreferences/pdf_schema.md - PDF document configurationStep 4: Generate the Document
Run the appropriate script with the configuration:
python document-generator/scripts/generate_word.py config.json output.docx
python document-generator/scripts/generate_excel.py config.json output.xlsx
python document-generator/scripts/generate_pdf.py config.json output.pdf
Step 5: Verify and Iterate
Check the generated document and make adjustments to the configuration if needed.
Working with Templates
All three document types support template-based generation:
1. Word Templates: Use existing .docx files and replace placeholders 2. Excel Templates: Use existing .xlsx files and fill in data 3. PDF Templates: Define reusable layouts in the configuration
To use a template, include a template field in your configuration pointing to the template file path.
Configuration Examples
Simple Word Document
{
"page_setup": {
"margins": {"top": 1, "bottom": 1, "left": 1, "right": 1}
},
"content": [
{
"type": "heading",
"text": "Monthly Report",
"level": 1
},
{
"type": "paragraph",
"text": "This is the report content.",
"font": {"name": "Arial", "size": 11}
}
]
}
Simple Excel Spreadsheet
{
"sheets": [
{
"name": "Sales Data",
"data": [
["Product", "Quantity", "Price", "Total"],
["Widget A", 10, 25.50, "=B2*C2"],
["Widget B", 5, 30.00, "=B3*C3"]
],
"formatting": {
"header_row": 0,
"column_widths": [15, 10, 10, 10]
}
}
]
}
Simple PDF Document
{
"page_setup": {
"size": "A4",
"margins": {"top": 20, "bottom": 20, "left": 20, "right": 20}
},
"content": [
{
"type": "text",
"text": "Invoice #12345",
"font": {"name": "Helvetica-Bold", "size": 18}
},
{
"type": "paragraph",
"text": "Thank you for your business.",
"font": {"name": "Helvetica", "size": 12}
}
]
}
Best Practices
1. Start Simple: Begin with basic formatting and add complexity as needed 2. Use Templates: For recurring document types, create templates to save time 3. Validate Data: Check that data types match expected formats (numbers, dates, etc.) 4. Test Incrementally: Generate documents frequently during development to catch issues early 5. Handle Errors Gracefully: Provide clear error messages if configuration is invalid
Troubleshooting
Missing Dependencies: If scripts fail, ensure required Python packages are installed:
pip install python-docx openpyxl reportlab Pillow
Font Issues: If custom fonts don't work, verify the font name is correct and available on the system.
Image Problems: Ensure image paths are absolute or relative to the script execution directory.
Excel Formulas: Use Excel formula syntax (e.g., =SUM(A1:A10)) as strings in the data array.
Advanced Features
For complex documents, refer to the detailed reference files:
references/word_schema.md - Complete Word configuration optionsreferences/excel_schema.md - Complete Excel configuration optionsreferences/pdf_schema.md - Complete PDF configuration optionsThese references include examples of:
π Tips & Best Practices
1. Start Simple: Begin with basic formatting and add complexity as needed 2. Use Templates: For recurring document types, create templates to save time 3. Validate Data: Check that data types match expected formats (numbers, dates, etc.) 4. Test Incrementally: Generate documents frequently during development to catch issues early 5. Handle Errors Gracefully: Provide clear error messages if configuration is invalid