business-document-generator — Claude Code skill: PDFs from templates
Turns your data into a PDF proposal, business plan or annual budget by filling a ready template with a Python script.
npx skills add ailabs-393/ai-labs-claude-skills --skill business-document-generator -a claude-codeWhat business-document-generator does
The skill kicks in when you ask for a business document built from a template. Three PDF templates ship in assets/templates: Professional Proposal Template, Comprehensive Business Plan Template and Annual Budget Plan Template. The script scripts/generate_document.py reads a template, overlays your data and writes a new PDF.
You supply the data as a JSON file — project title, client, your company, dates and so on. Field schemas live in references/document_schemas.md, and working examples sit in assets/examples/. A run looks like this: python3 scripts/generate_document.py proposal my_proposal_data.json --templates-dir assets/templates --output-dir ./generated_docs. The first argument is proposal, business_plan or budget.
Install the dependencies first: pip install pypdf reportlab. One catch worth knowing before you start: the script fills the cover page only — titles, names, dates. The body stays a framework you finish by hand or in another PDF editor. If you expected every section to fill itself, read the script before promising that to anyone.
What it helps with
- build a client-ready PDF proposal from a template
- produce a business plan with a filled cover page for investors
- generate an annual budget PDF with tables and projections
- inject company details into a PDF without manual layout work
- keep several business documents in one consistent format from JSON
Example prompts for the agent
- create a project proposal for Acme Corporation using the proposal template
- generate a business plan from my plan_data.json file
- build the annual budget PDF from budget_data.json
How to install business-document-generator
1Skills CLI (Vercel)
npx skills add ailabs-393/ai-labs-claude-skills --skill business-document-generator -a claude-code2Manually: put the files in place
~/.claude/skills/business-document-generator/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/business-document-generator/
1Skills CLI (Vercel)
npx skills add ailabs-393/ai-labs-claude-skills --skill business-document-generator -a codex2Manually: put the files in place
.agents/skills/business-document-generator/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add ailabs-393/ai-labs-claude-skills --skill business-document-generator -a cursor2Manually: put the files in place
.cursor/skills/business-document-generator/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install ailabs-393/ai-labs-claude-skills business-document-generator2Manually: put the files in place
.github/skills/business-document-generator/SKILL.md1Skills CLI (Vercel)
npx skills add ailabs-393/ai-labs-claude-skills --skill business-document-generator -a gemini-cli2Platform CLI
gemini skills install https://github.com/ailabs-393/ai-labs-claude-skills --path dist/skills/business-document-generatorManually: put the files in place
.devin/skills/business-document-generator/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add ailabs-393/ai-labs-claude-skills --skill business-document-generator -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about business-document-generator
How do I install business-document-generator in Claude?
Run npx skills add ailabs-393/ai-labs-claude-skills --skill business-document-generator -a claude-code. The skill then lands at ~/.claude/skills/business-document-generator/SKILL.md.
What does business-document-generator do?
It generates three kinds of PDF — proposal, business plan and budget — from bundled templates, filling them with data from your JSON file.
What do I need before running it?
The Python packages pypdf and reportlab, installed with pip install pypdf reportlab. You also need a JSON data file matching the schema in references/document_schemas.md.
Source text
SKILL.md · MIT
---
name: business-document-generator
description: This skill should be used when the user requests to create professional business documents (proposals, business plans, or budgets) from templates. It provides PDF templates and a Python script for generating filled documents from user data.
---
# Business Document Generator
## Overview
Generate professional business documents (Project Proposals, Business Plans, Annual Budgets) from high-quality PDF templates. Use the bundled Python script to fill templates with user-provided data and output polished PDF documents ready for distribution.
## When to Use This Skill
Activate this skill when the user asks to:
- Create a business proposal or project proposal
- Generate a business plan document
- Develop an annual budget plan
- Create any professional business document based on the available templates
- Fill in business templates with specific data
## Available Document Types
This skill supports three types of professional business documents:
1. **Project Proposal** - Professional proposals for client projects
- Template: `assets/templates/Professional Proposal Template.pdf`
- Use case: Pitching projects to clients, stakeholders
2. **Business Plan** - Comprehensive business planning documents
- Template: `assets/templates/Comprehensive Business Plan Template.pdf`
- Use case: Startup planning, investor presentations, strategic planning
3. **Annual Budget** - Detailed budget planning documents
- Template: `assets/templates/Annual Budget Plan Template.pdf`
- Use case: Financial planning, budget proposals, fiscal year planning
## Quick Start Workflow
### Step 1: Understand User Requirements
Gather information from the user about:
- Document type needed (proposal, business plan, or budget)
- Key data to include (company name, client info, dates, etc.)
- Any specific customization needs
### Step 2: Prepare the Data
Create a JSON file with the document data. Reference the data schemas in `references/document_schemas.md` for field requirements.
**Example for Proposal:**
```json
{
"title": "Digital Transformation Initiative",
"subtitle": "A Comprehensive Plan for Acme Corporation",
"client_org": "Acme Corporation",
"client_contact": "Jane Smith, CTO",
"company_name": "TechSolutions Inc.",
"contact_info": "[email protected]",
"date": "November 3, 2025"
}
```
**Note:** Check `assets/examples/` for complete example JSON files:
- `proposal_example.json`
- `business_plan_example.json`
- `budget_example.json`
### Step 3: Install Dependencies (First Time Only)
The generation script requires Python packages. Install them:
```bash
pip install pypdf reportlab
```
### Step 4: Generate the Document
Run the generation script:
```bash
python3 scripts/generate_document.py <document_type> <data_file> \
--templates-dir assets/templates \
--output-dir <output_directory>
```
**Parameters:**
- `<document_type>`: One of `proposal`, `business_plan`, or `budget`
- `<data_file>`: Path to JSON file with document data
- `--templates-dir`: Directory containing PDF templates (default: `assets/templates`)
- `--output-dir`: Where to save generated PDFs (default: `output`)
- `--output-filename`: Optional custom filename
**Example:**
```bash
python3 scripts/generate_document.py proposal my_proposal_data.json \
--templates-dir assets/templates \
--output-dir ./generated_docs
```
### Step 5: Deliver the Document
The script outputs a PDF file in the specified output directory. Verify the document was generated successfully and inform the user of the file location.
## Detailed Usage Instructions
### Creating a Project Proposal
1. Collect proposal information:
- Project title and subtitle
- Client organization and contact
- Your company name and contact info
- Project details (problem, solution, timeline, budget)
2. Create a JSON data file with proposal fields (see `references/document_schemas.md`)
3. Run the script:
```bash
python3 scripts/generate_document.py proposal proposal_data.json \
--templates-dir assets/templates
```
4. Output: Professional PDF proposal with cover page and content sections
### Creating a Business Plan
1. Collect business plan information:
- Company name and legal structure
- Mission and vision statements
- Target market details
- Financial projections
2. Create a JSON data file with business plan fields
3. Run the script:
```bash
python3 scripts/generate_document.py business_plan plan_data.json \
--templates-dir assets/templates
```
4. Output: Comprehensive business plan PDF template
### Creating an Annual Budget
1. Collect budget information:
- Fiscal year
- Company name
- Budget assumptions (inflation, growth targets)
- Revenue and expense forecasts
2. Create a JSON data file with budget fields
3. Run the script:
```bash
python3 scripts/generate_document.py budget budget_data.json \
--templates-dir assets/templates
```
4. Output: Annual budget plan PDF with tables and projections
## Important Notes
### Script Functionality
The `scripts/generate_document.py` script:
- Reads PDF templates from the assets directory
- Overlays user data on template pages (primarily cover pages)
- Generates a new PDF with filled information
- Preserves the original template structure and formatting
### Current Limitations
The script currently fills in cover page information (titles, names, dates). The template body content serves as a professional framework that users can follow when creating their documents manually or through other PDF editing tools.
### Extending the Script
To fill additional fields beyond the cover page, the script can be enhanced to:
- Parse form fields in PDFs
- Add text overlays on specific coordinates for each page
- Replace placeholder text programmatically
Modify `scripts/generate_document.py` to add more sophisticated PDF manipulation as needed.
## Data Schema Reference
For detailed information about required and optional fields for each document type, consult:
- `references/document_schemas.md` - Complete data structure documentation
## Example Files
Find complete working examples in `assets/examples/`:
- `proposal_example.json` - Sample project proposal data
- `business_plan_example.json` - Sample business plan data
- `budget_example.json` - Sample budget plan data
Use these as starting templates when creating new documents.
## Troubleshooting
**Import errors when running the script:**
- Install required packages: `pip install pypdf reportlab`
**Template not found:**
- Verify `--templates-dir` points to `assets/templates`
- Check that PDF template files exist in the templates directory
**Generated PDF is blank or missing data:**
- Verify JSON data file is properly formatted
- Check that required fields are present (see `references/document_schemas.md`)
**Need to customize templates:**
- Original templates are in `assets/templates/`
- Modify templates using PDF editing software
- Keep original filenames or update `TEMPLATE_MAP` in the script
## Resources
### scripts/
Contains the Python script for document generation:
- `generate_document.py` - Main document generation script with CLI interface
This script can be executed directly without loading into context for token efficiency. It may be read if modifications or debugging are needed.
### references/
Documentation to reference while working:
- `document_schemas.md` - Complete JSON data structure for all document types
### assets/
Files used in the document generation output:
- `templates/` - Professional PDF templates for each document type
- `Professional Proposal Template.pdf`
- `Comprehensive Business Plan Template.pdf`
- `Annual Budget Plan Template.pdf`
- `examples/` - Sample JSON data files demonstrating proper structure
- `proposal_example.json`
- `business_plan_example.json`
- `budget_example.json`
These templates and examples are not loaded into context but referenced during generation.
© ailabs-393 · MIT · ailabs-393/ai-labs-claude-skills