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.
npx skills add claude-office-skills/skills --skill report-generator -a claude-codeWhat 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-mcptools
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-code2Manually: put the files in place
~/.claude/skills/report-generator/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/report-generator/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill report-generator -a codex2Manually: put the files in place
.agents/skills/report-generator/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill report-generator -a cursor2Manually: put the files in place
.cursor/skills/report-generator/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install claude-office-skills/skills report-generator2Manually: put the files in place
.github/skills/report-generator/SKILL.md1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill report-generator -a gemini-cli2Platform CLI
gemini skills install https://github.com/claude-office-skills/skills --path report-generatorManually: put the files in place
.devin/skills/report-generator/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill report-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 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.