home / skills / mamba-mental / agent-skill-manager / business-document-generator

business-document-generator skill

/skills/business-document-generator

This is most likely a fork of the business-document-generator skill from ailabs-393
npx playbooks add skill mamba-mental/agent-skill-manager --skill business-document-generator

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

Files (11)
SKILL.md
7.8 KB
---
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.