Skills claude-office-skills skills
report-generator
- Use it when:
- You have a CSV of sales or business data and want a quick report with KPIs and charts.
- It does:
- Computes totals, averages and the top product with pandas, plots bar and line charts with matplotlib, and fills an HTML template of KPI cards.
- You get:
- An HTML report and a PNG of its charts, from the skill's sample sales-report script.
- Limits:
- Short sample Python to adapt, whose parts don't fit together as written; the ReportLab PDF route is a stub, and its frontmatter's office-mcp tools are never called.
- Needs:
- Python with pandas and matplotlib.
TL;DR
From Claude Office Skills. You provide data as CSV, Excel or JSON, or describe it, and say what report you need, such as a sales report, a monthly KPI dashboard or an executive summary with charts. The skill gives the agent a report outline (executive summary, KPI dashboard, detailed analysis, charts, recommendations) and sample Python to adapt. Its sales-report example reads a CSV, computes total revenue, order count, average order and top product, draws revenue by product and by month with matplotlib and saves the charts as a PNG, then writes an HTML page with styled KPI cards. As written the pieces don't fit: the HTML template expects figures named revenue and growth, which the sales example never sets, so the code needs adapting before it runs. Another function sketches a PDF version with ReportLab but leaves the PDF code out. It links Matplotlib, Plotly and ReportLab as resources.
Summarizes the skill at 9c4c7d5.
npx skills add https://github.com/claude-office-skills/skills --skill report-generator skills.sh pageSource on GitHubAll skills from claude-office-skills/skills
- Total Downloads
- 5,400 on skills.sh, Nov 9, 2026
- Repo stars
- 569 claude-office-skills/skills
- First seen
- Mar 9, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 89 |
| Sep 28 | 72 |
| Oct 5 | 67 |
| Oct 12 | 108 |
| Oct 19 | 234 |
| Oct 26 | 186 |
| Nov 2 | 72 |
| Nov 9 | 87 |
| Category |
Research reproduction, financial data, charts and diagrams. Office files, notes and suites like Lark and Google Workspace. |
|---|---|
| Type |
Operates a CLI, API, app or bundled script to get something done. |
| Effect |
Its own steps create or change files, git state or local tools. |
| Needs |
A specific command-line tool or desktop app must be installed, such as gh, agent-browser, LibreOffice, Obsidian or a vendor CLI. |
| Publisher |
Everyone else. Unverified vendor claims default to community. |
| Topics | |
| Stack |
SKILL.md
From claude-office-skills/skills at 9c4c7d5. Checked daily, last changed Nov 6, 2026.
Frontmatter
# ═══════════════════════════════════════════════════════════════════════════════
# 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
- zhReport 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
- Provide data (CSV, Excel, JSON, or describe it)
- Specify the type of report needed
- 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')