Skip to main content
skill CX Codex

report-generator · claude-office-skills — Claude Code skill: what it does, how to install

Generates analytical reports, KPI dashboards, and visual charts from CSV, Excel, or JSON data. Helpful when turning raw metrics into clean summaries.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add claude-office-skills/skills --skill report-generator -a claude-code
Open on GitHub

What report-generator does

The skill transforms tabular files and metric summaries into structured reports. It extracts KPIs such as total revenue or average order value, plots trend charts, and packages the result into a clean layout. The output can be an HTML dashboard with metric cards or a rendered document.

Inside, the workflow relies on Python patterns using pandas, matplotlib, and reportlab. It also integrates with the office-mcp server using create_docx, create_xlsx, create_chart, and create_pptx tools. Generating these visual files requires a local Python runtime or the connected MCP server. Set up those dependencies before running report tasks.

What it helps with

  • plot monthly revenue trends and category breakdowns from CSV files
  • generate HTML summary pages with KPI metric cards
  • compute core financial statistics from raw transaction tables
  • produce office documents and presentations via office-mcp tools

Example prompts for the agent

  • Generate a sales report from sales_data.csv with revenue charts.
  • Create an HTML dashboard showing monthly KPIs and order metrics.
  • Build an executive summary with visualizations from this JSON dataset.

How to install report-generator

1Skills CLI (Vercel)

npx skills add claude-office-skills/skills --skill report-generator -a claude-code

2Manually: put the files in place

~/.claude/skills/report-generator/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/report-generator/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about report-generator

How to install report-generator in Claude Code?

Run npx skills add claude-office-skills/skills --skill report-generator -a claude-code. The tool downloads and links the skill configuration directly.

What does report-generator do?

It parses input data from CSV, Excel, or JSON sources to compute summary figures and build visual reports. It can export results to HTML dashboards or document formats via MCP tools.

What dependencies does report-generator require?

Script execution relies on Python packages such as pandas, matplotlib, and reportlab. For direct office exports, the office-mcp server provides the necessary document generation tools.

Source text

SKILL.md · MIT
---
# ═══════════════════════════════════════════════════════════════════════════════
# CLAUDE OFFICE SKILL - Enhanced Metadata v2.0
# ═══════════════════════════════════════════════════════════════════════════════

# Basic Information
name: report-generator
description: "Generate professional data reports with charts, tables, and visualizations"
version: "1.0"
author: claude-office-skills
license: MIT

# Categorization
category: presentation
tags:
  - report
  - generator
  - data
  - visualization
department: All

# AI Model Compatibility
models:
  recommended:
    - claude-sonnet-4
    - claude-opus-4
  compatible:
    - claude-3-5-sonnet
    - gpt-4
    - gpt-4o

# MCP Tools Integration
mcp:
  server: office-mcp
  tools:
    - create_docx
    - create_xlsx
    - create_chart
    - create_pptx

# Skill Capabilities
capabilities:
  - report_generation
  - data_visualization

# Language Support
languages:
  - en
  - zh
---

# 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

```python
def generate_html_report(data, title):
    html = f'''
    <!DOCTYPE html>
    <html>
    <head>
        <title>{title}</title>
        <style>
            body {{ font-family: Arial; margin: 40px; }}
            .kpi {{ display: flex; gap: 20px; }}
            .kpi-card {{ background: #f5f5f5; padding: 20px; border-radius: 8px; }}
            .metric {{ font-size: 2em; font-weight: bold; color: #2563eb; }}
            table {{ border-collapse: collapse; width: 100%; }}
            th, td {{ border: 1px solid #ddd; padding: 12px; text-align: left; }}
        </style>
    </head>
    <body>
        <h1>{title}</h1>
        <div class="kpi">
            <div class="kpi-card">
                <div class="metric">${data['revenue']:,.0f}</div>
                <div>Total Revenue</div>
            </div>
            <div class="kpi-card">
                <div class="metric">{data['growth']:.1%}</div>
                <div>Growth Rate</div>
            </div>
        </div>
        <!-- More content -->
    </body>
    </html>
    '''
    return html
```

## Example: Sales Report

```python
import pandas as pd
import matplotlib.pyplot as plt

def create_sales_report(csv_path, output_path):
    # Read data
    df = pd.read_csv(csv_path)
    
    # Calculate metrics
    metrics = {
        'total_revenue': df['amount'].sum(),
        'total_orders': len(df),
        'avg_order': df['amount'].mean(),
        'top_product': df.groupby('product')['amount'].sum().idxmax()
    }
    
    # Create visualizations
    fig, axes = plt.subplots(2, 2, figsize=(14, 10))
    
    # Revenue by product
    df.groupby('product')['amount'].sum().plot(
        kind='bar', ax=axes[0,0], title='Revenue by Product'
    )
    
    # Monthly trend
    df.groupby('month')['amount'].sum().plot(
        kind='line', ax=axes[0,1], title='Monthly Revenue'
    )
    
    plt.tight_layout()
    plt.savefig(output_path.replace('.html', '_charts.png'))
    
    # Generate HTML report
    html = generate_html_report(metrics, 'Sales Report')
    
    with open(output_path, 'w') as f:
        f.write(html)
    
    return output_path

create_sales_report('sales_data.csv', 'sales_report.html')
```

## Resources

- [Matplotlib](https://matplotlib.org/)
- [Plotly](https://plotly.com/)
- [ReportLab](https://www.reportlab.com/)

© claude-office-skills · MIT · claude-office-skills/skills

Similar skills

Everything for Office documents →

report-generator by other authors comes first.

From the same set109

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor