report-generator
データに基づいたPDFやHTML形式のレポート、週報、役員向けサマリー、チームの進捗報告などを、グラフや表、視覚的な表現を用いて作成し、構造化された文章で分かりやすく伝えるレポート作成を支援するSkill。
📜 元の英語説明(参考)
Generate professional reports with charts, tables, visualizations, and structured narratives. Covers data-driven PDF/HTML reports, weekly status reports, executive summaries, and recurring team updates. Use when a user asks to create a report, generate a data report, build a dashboard report, write a weekly report, create a status update, or produce a team progress report.
🇯🇵 日本人クリエイター向け解説
データに基づいたPDFやHTML形式のレポート、週報、役員向けサマリー、チームの進捗報告などを、グラフや表、視覚的な表現を用いて作成し、構造化された文章で分かりやすく伝えるレポート作成を支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o report-generator.zip https://jpskill.com/download/15340.zip && unzip -o report-generator.zip && rm report-generator.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15340.zip -OutFile "$d\report-generator.zip"; Expand-Archive "$d\report-generator.zip" -DestinationPath $d -Force; ri "$d\report-generator.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
report-generator.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
report-generatorフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
レポートジェネレーター
概要
データ視覚化、ナラティブテキスト、構造化された更新情報を組み合わせたプロフェッショナルなレポートを生成します。データレポート(CSV/データベースソースからのチャート、テーブル、KPIカードをHTMLまたはPDFとして)とステータスレポート(週次更新、チームの進捗状況、役員サマリーをMarkdownで)の2つのモードをサポートします。
手順
データレポート
ステップ 1: データのロードと分析
import pandas as pd
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime
import base64
from io import BytesIO
df = pd.read_csv("data.csv")
metrics = {
"total_revenue": df["revenue"].sum(),
"avg_order_value": df["revenue"].mean(),
"total_orders": len(df),
}
ステップ 2: 埋め込み用のbase64としてチャートを生成
def fig_to_base64(fig):
buf = BytesIO()
fig.savefig(buf, format="png", dpi=150, bbox_inches="tight")
buf.seek(0)
return base64.b64encode(buf.read()).decode("utf-8")
fig, ax = plt.subplots(figsize=(10, 5))
monthly = df.groupby("month")["revenue"].sum()
monthly.plot(kind="line", marker="o", ax=ax, color="#2563eb")
ax.set_title("Monthly Revenue Trend")
chart_b64 = fig_to_base64(fig)
plt.close()
ステップ 3: Jinja2でHTMLレポートを構築
メトリックカード、チャートセクション、データテーブルを含むテンプレートを使用します。レポートが単一の自己完結型ファイルになるように、チャートをbase64として埋め込みます。必要に応じて、weasyprintまたはChrome headlessでPDFに変換します。
ステータスレポート (週次/チーム更新)
対象者を特定する
| 対象者 | 焦点 | 詳細レベル |
|---|---|---|
| 直属の上司 | 個人の貢献、ブロッカー | 詳細 |
| 部長/VP | チームの進捗、リスク、メトリック | 中程度 |
| 役員/経営幹部 | ビジネスへの影響、マイルストーン、KPI | ハイレベルなサマリー |
| 部門横断 | 依存関係、共有の更新 | 関連アイテムのみ |
標準テンプレートを使用する
# 週次レポート: [チーム/プロジェクト名]
**週:** [開始日] - [終了日]
## サマリー
[2〜3文の概要。主な焦点、注目すべき成功または課題。]
## 今週完了したこと
- **[プロジェクト]:** [何が行われ、なぜそれが重要なのか]
- **[バグ修正]:** [何が解決されたか]
## 進行中
| 項目 | 担当者 | ステータス | ETA |
|------|-------|--------|-----|
| [タスク] | [担当者] | 順調 | [日付] |
| [タスク] | [担当者] | ブロック | - |
## ブロッカーとリスク
- **[ブロッカー]:** [説明とブロックを解除するために必要なもの]
## 主要メトリック
| メトリック | 今週 | 先週 | 傾向 |
|--------|-----------|-----------|-------|
| [メトリック] | [値] | [値] | 上昇/下降/横ばい |
## 来週の計画
- [ ] [優先度 1]
- [ ] [優先度 2]
コンテンツのガイドライン
- 活動ではなく影響を重視する: 「ページロード時間を40%短縮」は「パフォーマンスに取り組んだ」よりも優れています
- 可能な限り定量化する (数値、パーセンテージ、カウント)
- ブロッカーについて正直であること — 問題を隠しても解決にはなりません
- 一貫したステータスラベルを使用する: 順調、リスクあり、ブロック、完了
- レポート全体を1ページ以内にする (~400-500語)
例
例 1: 週次エンジニアリングステータスレポート
ユーザーリクエスト: 「次のメモから週次レポートを作成してください: auth v2を出荷、3つの本番バグを修正、ダッシュボードの再設計を開始、APIチームのエンドポイントを待機中、ベロシティは34ポイントでした」
出力:
# 週次レポート: プラットフォームエンジニアリング
**週:** 1月20日 - 1月24日
## サマリー
強力なデリバリー週。Auth v2を予定通りに出荷し、3つの本番問題を解決しました。ダッシュボードの再設計を開始しましたが、APIの依存関係によって部分的にブロックされています。
## 完了
- **Auth v2のローンチ:** MFAとセッション管理でユーザーの100%にロールアウト
- **本番バグ (3):** 支払いタイムアウト、アバターアップロードのクラッシュ、タイムゾーン表示
## 進行中
| 項目 | ステータス | ETA |
|------|--------|-----|
| ダッシュボードの再設計 (フロントエンド) | 順調 | 2月7日 |
| ダッシュボードAPI統合 | ブロック | APIチームを待機中 |
## ブロッカー
- **APIエンドポイント:** アナリティクスエンドポイントについてAPIチームを待機中。ETAはまだありません。
## メトリック
| メトリック | 今週 | 先週 | 傾向 |
|--------|-----------|-----------|-------|
| スプリントベロシティ | 34 pts | 28 pts | 上昇 |
| オープンバグ (P1/P2) | 2 | 5 | 下降 |
例 2: CSVからのデータ駆動型セールスレポート
ユーザーリクエスト: 「このCSVから週次セールスレポートを生成してください」
エージェントはCSVをロードし、今週にフィルタリングし、KPI (収益、注文数、AOV、トップ製品) を計算し、チャート (日次収益トレンド、トップ10製品、チャネル内訳) を生成し、メトリックカード、チャート、トランザクションテーブルを含む洗練されたHTMLレポートを構築します。
例 3: 複数のソースからの役員サマリー
ユーザーリクエスト: 「セールス、サポート、エンゲージメントデータを組み合わせて役員サマリーを作成してください」
エージェントは3つのデータソースをロードし、部門横断的なメトリックを計算し、比較チャートを生成し、部門ごとのナラティブサマリーを作成し、概要ダッシュボード、部門ごとのセクション、および推奨事項を含むPDFを出力します。
ガイドライン
- ヘッドレス環境での表示の問題を避けるために、
matplotlib.use('Agg')を使用してください - 自己完結型のレポートのために、チャートをHTMLにbase64として埋め込みます
- すべてのデータレポートに、データソース、生成日、およびレポート期間を含めます
- メトリックカードには、値と傾向 (前の期間との比較) の両方を表示します
- レポート内のすべてのチャートで一貫したカラースキームを使用します
- PDF出力には、weasyprintまたはChrome headlessを使用します
- 生成前にデータを検証します — 欠落または不正なデータにフラグを立てます
- ステータスレポートでは、たとえなくても常にブロッカーを含めます ("今週はブロッカーはありません")
- ステータスラベルは正直である必要があります — リスクがある場合に「順調」とマークすると、信頼が損なわれます
- 一貫性が重要です — 読者がどこを見ればよいかわかるように、毎週同じ構造を使用します
- 対象者に向けて書く: 役員は成果を求め、マネージャーは詳細を求めます
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Report Generator
Overview
Generate professional reports combining data visualizations, narrative text, and structured updates. Supports two modes: data reports (charts, tables, KPI cards from CSV/database sources as HTML or PDF) and status reports (weekly updates, team progress, executive summaries in Markdown).
Instructions
Data Reports
Step 1: Load and analyze data
import pandas as pd
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime
import base64
from io import BytesIO
df = pd.read_csv("data.csv")
metrics = {
"total_revenue": df["revenue"].sum(),
"avg_order_value": df["revenue"].mean(),
"total_orders": len(df),
}
Step 2: Generate charts as base64 for embedding
def fig_to_base64(fig):
buf = BytesIO()
fig.savefig(buf, format="png", dpi=150, bbox_inches="tight")
buf.seek(0)
return base64.b64encode(buf.read()).decode("utf-8")
fig, ax = plt.subplots(figsize=(10, 5))
monthly = df.groupby("month")["revenue"].sum()
monthly.plot(kind="line", marker="o", ax=ax, color="#2563eb")
ax.set_title("Monthly Revenue Trend")
chart_b64 = fig_to_base64(fig)
plt.close()
Step 3: Build HTML report with Jinja2
Use a template with metric cards, chart sections, and data tables. Embed charts as base64 so the report is a single self-contained file. Convert to PDF with weasyprint or Chrome headless if needed.
Status Reports (Weekly/Team Updates)
Identify the audience
| Audience | Focus | Detail Level |
|---|---|---|
| Direct manager | Individual contributions, blockers | High detail |
| Director/VP | Team progress, risks, metrics | Medium detail |
| Executive/C-suite | Business impact, milestones, KPIs | High-level summary |
| Cross-functional | Dependencies, shared updates | Relevant items only |
Use the standard template
# Weekly Report: [Team/Project Name]
**Week of:** [Start Date] - [End Date]
## Summary
[2-3 sentence overview. Main focus, notable wins or challenges.]
## Completed This Week
- **[Project]:** [What was done and why it matters]
- **[Bug fix]:** [What was resolved]
## In Progress
| Item | Owner | Status | ETA |
|------|-------|--------|-----|
| [Task] | [Person] | On track | [Date] |
| [Task] | [Person] | Blocked | - |
## Blockers & Risks
- **[Blocker]:** [Description and what is needed to unblock]
## Key Metrics
| Metric | This Week | Last Week | Trend |
|--------|-----------|-----------|-------|
| [Metric] | [Value] | [Value] | Up/Down/Flat |
## Next Week Plan
- [ ] [Priority 1]
- [ ] [Priority 2]
Content guidelines
- Lead with impact, not activity: "Reduced page load time by 40%" beats "Worked on performance"
- Quantify wherever possible (numbers, percentages, counts)
- Be honest about blockers — hiding problems does not make them go away
- Use consistent status labels: On Track, At Risk, Blocked, Complete
- Keep the full report under 1 page (~400-500 words)
Examples
Example 1: Weekly engineering status report
User request: "Write a weekly report from these notes: shipped auth v2, fixed 3 prod bugs, started dashboard redesign, waiting on API team for endpoints, velocity was 34 points"
Output:
# Weekly Report: Platform Engineering
**Week of:** Jan 20 - Jan 24
## Summary
Strong delivery week. Shipped Auth v2 on schedule and resolved 3 production
issues. Dashboard redesign kicked off but partially blocked on API dependencies.
## Completed
- **Auth v2 launch:** Rolled out to 100% of users with MFA and session management
- **Production bugs (3):** Payment timeout, avatar upload crash, timezone display
## In Progress
| Item | Status | ETA |
|------|--------|-----|
| Dashboard redesign (frontend) | On track | Feb 7 |
| Dashboard API integration | Blocked | Pending API team |
## Blockers
- **API endpoints:** Waiting on API team for analytics endpoints. No ETA yet.
## Metrics
| Metric | This Week | Last Week | Trend |
|--------|-----------|-----------|-------|
| Sprint velocity | 34 pts | 28 pts | Up |
| Open bugs (P1/P2) | 2 | 5 | Down |
Example 2: Data-driven sales report from CSV
User request: "Generate a weekly sales report from this CSV"
The agent loads the CSV, filters to the current week, computes KPIs (revenue, orders, AOV, top product), generates charts (daily revenue trend, top 10 products, channel breakdown), and builds a polished HTML report with metric cards, charts, and a transactions table.
Example 3: Executive summary from multiple sources
User request: "Create an executive summary combining sales, support, and engagement data"
The agent loads three data sources, computes cross-functional metrics, generates comparison charts, writes narrative summaries per department, and outputs a PDF with overview dashboard, per-department sections, and recommendations.
Guidelines
- Use
matplotlib.use('Agg')to avoid display issues in headless environments - Embed charts as base64 in HTML for self-contained reports
- Include data source, generation date, and reporting period on every data report
- Show both value and trend (vs prior period) for metric cards
- Use consistent color schemes across all charts in a report
- For PDF output, use weasyprint or Chrome headless
- Validate data before generating — flag missing or malformed data
- For status reports, always include blockers even if none ("No blockers this week")
- Status labels should be honest — marking "on track" when at risk erodes trust
- Consistency is key — use the same structure every week so readers know where to look
- Write for the audience: executives want outcomes, managers want details