Productivity

report-generator

claude-office-skills/skills · updated Apr 8, 2026

$npx skills add https://github.com/claude-office-skills/skills --skill report-generator
summary

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

skill.md

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

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

Using Python for Reports

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

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

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

general reviews

Ratings

4.745 reviews
  • Amina Reddy· Dec 24, 2024

    We added report-generator from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Aanya Shah· Dec 16, 2024

    report-generator reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Hiroshi Desai· Dec 12, 2024

    report-generator has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Ganesh Mohane· Dec 4, 2024

    Solid pick for teams standardizing on skills: report-generator is focused, and the summary matches what you get after install.

  • Rahul Santra· Nov 23, 2024

    We added report-generator from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Tariq Khan· Nov 15, 2024

    report-generator is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Layla Haddad· Nov 15, 2024

    Solid pick for teams standardizing on skills: report-generator is focused, and the summary matches what you get after install.

  • Aanya Brown· Nov 7, 2024

    I recommend report-generator for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Yusuf Tandon· Nov 3, 2024

    report-generator fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Zara Gonzalez· Oct 26, 2024

    Useful defaults in report-generator — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

showing 1-10 of 45

1 / 5