# Report Generator

Generate professional data reports with charts, tables, and visualizations

- Repository: https://github.com/claude-office-skills/skills (556 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-01-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add claude-office-skills/skills --skill report-generator -g -a claude-code -y`
Codex: `npx skills add claude-office-skills/skills --skill report-generator -g -a codex -y`
Cursor: `npx skills add claude-office-skills/skills --skill report-generator -g -a cursor -y`
Gemini CLI: `npx skills add claude-office-skills/skills --skill report-generator -g -a gemini-cli -y`

## Description

Generate professional data reports with charts, tables, and visualizations

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Report Generator Skill

## Overview

This skill enables automatic generation of professional data reports. Create dashboards, KPI summaries, and analytical reports with charts, tables, and insights from your data.

## How to Use

1. Provide data (CSV, Excel, JSON, or describe it)
2. Specify the type of report needed
3. I'll generate a formatted report with visualizations

**Example prompts:**
- "Generate a sales report from this data"
- "Create a monthly KPI dashboard"
- "Build an executive summary with charts"
- "Produce a data analysis report"

## Domain Knowledge

### Report Components

```python
# Report structure
report = {
    'title': 'Monthly Sales Report',
    'period': 'January 2024',
    'sections': [
        'executive_summary',
        'kpi_dashboard',
        'detailed_analysis',
        'charts',
        'recommendations'
    ]
}
```

### Using Python for Reports

```python
import pandas as pd
import matplotlib.pyplot as plt
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

def generate_report(data, output_path):
    # Load data
    df = pd.read_csv(data)
    
    # Calculate KPIs
    total_revenue = df['revenue'].sum()
    avg_order = df['revenue'].mean()
    growth = df['revenue'].pct_change().mean()
    
    # Create charts
    fig, axes = plt.subplots(2, 2, figsize=(12, 10))
    df.plot(kind='bar', ax=axes[0,0], title='Revenue by Month')
    df.plot(kind='line', ax=axes[0,1], title='Trend')
    plt.savefig('charts.png')
    
    # Generate PDF
    # ... PDF generation code
    
    return output_path
```

### HTML Report Template

The rest: https://github.com/claude-office-skills/skills/blob/HEAD/report-generator/SKILL.md
