• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLKnowledge Work

report-builder

プラグイン
Small Business
ソース
GitHub で見る ↗
説明

英文の説明をそのまま日本語の説明に変換します。自然な日本語で、一般向けにわかりやすく訳しました。 --- 日本語訳(英文説明)を日本語として自然で分かりやすい文章に訳してください。 平易な英語での説明をもとに、実際に使える繰り返し実行可能なレポートに変換します。対象となる指標を定義し、接続されているあらゆるデータソースから取得し、チャットでの要約とExcelファイル形式のブックを提供し、同じレポートを必要に応じて、または スケジュール通りに再実行できるように定義を保存します。「地域別売上と前年比較」から売掛金の経過月数分析、労働費が売上に占める割合まで、あらゆることに対応します。コネクター(連携機能)が利用できない場合は、アップロード済みのCSVまたはExcelファイルから完全に動作します。 次のような場合に使用: - 所有者がレポート、ダッシュボード(情報の一覧表示画面)、KPI集約データ、指標の要約、または繰り返しの数値データを求めている場合 - 「毎週これを追跡してくれますか」「これらの数値を毎月確認したい」「~についてレポートを作成してほしい」「前回と同じレポート」「KPIダッシュボード(情報の一覧表示画面)を作成してほしい」といった表現を含む場合 所有者が「レポート」という言葉を使わずに指標の名前だけを挙げる場合でも、このスキルの使用を検討してください。

原文を表示

Turns a plain-English description of a recurring report into a real, repeatable report — defines the metrics, pulls them from whatever data sources are connected, delivers a chat summary plus an XLSX workbook, and saves the definition so the same report reruns on demand or on a schedule. Handles anything from "sales by location versus last year" to AR aging to labor as a percentage of revenue. Works fully from an uploaded CSV or XLSX when no connector is available. Use this whenever the owner asks for a report, dashboard, KPI pack, metrics summary, or recurring numbers — including phrasings like "can you track this every week," "I need to see these numbers monthly," "build me a report on," "same report as last time," or "put together a KPI dashboard." Reach for it even when the owner names the metrics without using the word report.

ユースケース
  • 定期的に追跡する数値データが必要なとき
  • 複数のデータソースから指標をまとめるとき
  • レポートやダッシュボード、KPIの作成を求められたとき
  • 同じ内容のレポートを繰り返し実行したいとき
  • CSVやExcelファイルから数値分析レポートを作成するとき
本文(日本語訳)

レポート作成スキル

オーナーがレポートを説明するのは一度だけ。あなたがそれを構築し、実行し、定義を保存すれば、二度と説明する必要がなくなります。

現在、オーナーたちは3つのダッシュボードから手作業で数字を引き出し、その意味を自分たちで探ろうとしています。その作業を終わらせることが目標です。

ステップ1 — 既存の定義を確認する

何よりもまず、reference/saved_reports.mdを読んで、そのレポートが既に存在するかを確認します。また、作業フォルダ内にreport-definitions.mdがないかも確認してください。スキルフォルダへの書き込みができない場合、定義はそこに保存されます(ステップ7参照)。

オーナーが「前回と同じレポート」「いつもの週次レポート」と言ったり、既に定義がある名前のレポートを指定したりした場合は、ステップ4にスキップして実行してください。既に定義済みのレポートについて再度聞き取りを行うことほど、このスキルが壊れていると感じさせる方法はありません。

合致するものがなければ続行します。

ステップ2 — 説明を仕様書に落とし込む

オーナーはレポートをざっくり説明します:「毎週月曜日に、場所別の売上と去年との比較、売掛金の経過状況、労務費の割合」。この一文には4つの独立した決定が含まれています。これらをreference/report_spec.mdの形式を使って仕様に落とし込みます:

  • 指標 — 各指標に名前、計算式、データ源を付ける
  • グループ分け — 場所、製品、顧客、販路、営業担当者ごと
  • 比較対象 — 前期比、前年同期比、目標比
  • 期間 — 各実行がカバーする期間
  • 頻度 — 1回限り、週次、月次、四半期ごと

合理的に推測できることは推測します。「場所別の売上と去年との比較」から、指標、グループ分け、比較対象がわかるなら、その点については聞かないでください。本当に曖昧な部分についてだけ、複数質問をまとめて一度に聞きます。

ほぼ毎回聞く価値のある2つの質問:

  • 各実行がカバーする期間は?カレンダー月、直近30日、月初から当日?
  • 「労務費の割合」のような数字は、売上を分母にするのか、総コストを分母にするのか?

これらを間違えると、見た目は正しいのに実は間違ったレポートが生まれます。これは質問しないより悪いです。

ステップ3 — 仕様を一度だけ確認する

解決した仕様をコンパクトなブロックで見せ直します。一度の確認を求めたら、構築に進みます。仕様を項目ごとに説明しないでください。オーナーは一文で説明し、一つの答えを期待しています。

修正があれば適用して進みます。二度目の確認はしないでください。

ステップ4 — データを取得する

すべてのデータソース呼び出しを1つの並列バッチで実行します。指標とツールのマッピングについてはreference/data_sources.mdを参照してください。

データソース(同時にアクセス):

  • 財務台帳 — MYOB、NetSuite、QuickBooks、Xero、Zoho Books のいずれかが接続されているもの。../../shared/connector-neutrality.mdに従う。損益計算書の各行、売上、経費、売掛金の経過状況、買掛金、分類・場所の内訳。MYOB は損益計算書、売掛金、買掛金のみで、過去3会計年度分。2つの財務台帳が接続されている場合は、どちが正式記録かを聞き、そちらから合計を取得します
  • HubSpot — 案件、ステージ、担当者、クローズ予定日、パイプライン値
  • PayPal、Square、Stripe — 決済額、手数料、払い戻し、取引の詳細
  • Shopify — 注文、SKU別の売上、配送ステータス
  • Ramp、Expensify — カード支出と経費の詳細。これらは読み取り専用ソース。Expensify は読み取り専用検索のみ

ソースがエラーを返すか何も返さない場合は記録して先に進みます。1つの接続ミスでレポート全体をブロックしないでください。

接続されたデータソースが全くない場合も、サポートされた方法です。失敗ではありません。 CSV または XLSX ファイルのエクスポートを求め、それを読み込んで同じレポートを構築します。はっきり言いましょう:「接続されたデータソースが見当たりません。お使いのシステムから売上レポートをエクスポートして、ここにドロップしてください。そのファイルから同じレポートを構築します」と。ツールをたくさん使っている所有者はこのモードで生活していますが、レポートは同じくらい優れています。

ステップ5 — 計算と妥当性確認

仕様に名前が挙がっているすべての指標を計算します。その後、結果を表示する前に確認します。実際に起こる失敗パターンについてはreference/gotchas.mdを読んでください。

実際のエラーを捉える確認事項:

  • 期間の境界 部分的な当月を前月全体と比較すると、常に下落に見えます。同一条件で比較するか、部分的な期間であることを明示的にラベル付けしてください。
  • 二重計算 Shopify の注文と Stripe の決済額は1つの売上です。両方のソースが接続されている場合は、売上ソースとして1つを選択し、どちを選んだかを記載してください。
  • 空のグループ 今期売上がない場所は消えるのではなく、ゼロで表示されるべきです。行が消えるとデータ問題に見えます。
  • 合計が合致しない グループ化された行の合計が全体と合致しない場合は、それを述べて、守れない数字を公開しないでください。

ステップ6 — 成果物を提出する

2つの成果物を、この順序で。常にこの順です。

チャットサマリーが最初に来ます。 reference/output_template.mdに従ってください。テーブルのダンプではなく、何が変わり、何を意味するのかで始めます。オーナーはスプレッドシートではなく意思決定のためにレポートを求めました。

文章ルール(このプラグインのすべてのレポートスキルと同じ):

  • 数字が先、言葉が後。「売上は好調だった」ではなく「USD 43,200で、前年比8%増」
  • すべての数字には比較対象がつきます。基準値のない数字は、見落とされた洞察です。
  • 外れ値に名前をつけます。「ポートランドは22%下落、前年を下回った唯一の地域」は「結果は混合的だった」より優れています。
  • サマリーは最大3つの知見。それ以外はすべてワークブックに入ります。

次に XLSX。 指標グループごとに1つのタブ、サマリータブを最初に、生のデータを最後のタブに配置して、オーナーが計算を確認できるようにします。手作業ではなくスクリプトで構築します。

その後、オーナーの保存された出力設定に従ってレポートページを作成してください。マークダウンファイルをデフォルトにしないでください。 ## Business contextブロックのOutput preferenceを確認してください(共有スタイルガイドのルール、../../shared/artifact-style.md):

  • ビジュアル成果物(デフォルト): ハウススタイルの HTML ページとしてレポートをレンダリングします。各ヘッドライン指標は比較を文脈行として持つ統計タイル、グループ化された行(場所、製品、営業担当者別)は右揃えの表形式数字の表、目標との比較は状態パイル(目標通りで良好、スリップで警告、未達で危機的)を含みます。3つの知見はページの冒頭の独立したパネルで開き、利用不可のソースは静かなフッター行に1行あります。チャットサマリーとワークブックに加算され、代替ではありません。
  • docx / md / notion / canva 設定: 同じ内容をその形式で提供します。DOCX またはマークダウンファイル、Notion コネクタ経由で作成された Notion ページ(指定された宛先で、上書きなし)、または Canva コネクタ経由で作成された Canva ドキュメント(各実行は新しいデザイン、日付で名前付け、表はリストになります)。Notion または Canva が接続されていない場合はビジュアル成果物にフォールバックし、その理由を説明してください。XLSX は引き続き送られます。
  • スキルに最適: ビジュアル成果物を使用します。レポートは画面で読まれ、週ごとに比較されます。

ステップ7 — 定義を保存する

仕様をreference/saved_reports.mdに追記し、作成日と頻度を記載します。これがレポートを1回限りから定期的なものに変えます。

そのファイルに書き込めない場合、スキルフォルダがほとんどのインストール環境で読み取り専用の場合、定義をオーナーの作業フォルダ内のreport-definitions.mdに書き込む代わりに、どこに行ったかを述べてください。保存に失敗したが、これがサイレント失敗した定義は、保存されなかった場合と同じバグです。

オーナーが頻度を指定した場合、1行で確認します:「保存しました。毎月最初の月曜日に実行します」と。スケジューリングはこのスキルのプロパティです。別のコマンドは不要です。

実行後

1行:レポートが実行され、定義が保存されました。その後、最も関連性の高い次のステップ、最大で他に2つ:

  • 「週次パック、予定通り」は/report-packを実行し、これをスケジュールに沿った文脈でラップします。
  • 「業況はどうですか?」はbusiness-pulseを実行し、これらの数字の周辺の全体像を得ます。
  • 「キャッシュフロー予測」はレポートがキャッシュの質問を引き起こしたときにcash-flow-snapshotを実行します。

最大3つのオファー。今回のセッションでオーナーが断ったオファーは繰り返さないでください。

やってはいけないこと

  • 既に定義したレポートについてオーナーに聞き取りをしないでください。 saved_reports.mdを毎回最初に確認してください。
  • データプル許可を求めないでください。 スキルが呼び出されました。実行してください。
  • 数字を作らないでください。 ソースが何も返さなかった場合は、「n/a」と書き、ソースの名前を記載してください。信じてもらえそうな推測値を、オーナーが銀行に転送するレポートに入れることは、重大な失敗です。
  • テーブルで導入しないでください。 サマリーが製品。ワークブックは付録です。
  • 「コネクタがない」を阻止要因として扱わないでください。 CSV パスは第一級の方法です。

リファレンスファイル

  • reference/report_spec.md — 仕様の形式、具体例付き
  • reference/data_sources.md — 指標からコネクタへのマッピング、フォールバック付き
  • reference/output_template.md — チャットサマリーとワークブックの正確な構造
  • reference/saved_reports.md — 保存されたレポート定義、時系列で追記
  • reference/gotchas.md — 確信を持って誤ったレポートを生み出す失敗パターン

リストにないツールを使用する場合

このスキルに名前が挙がっているコネクタはテストされたパスであり、壁ではありません。オーナーがこのフローを接続されていないまたはリストにないツールを使うことを望む場合は、build-connectorを提供します。まずコネクタディレクトリを確認し、必要に応じて Zapier 経由で接続します。手作りの生 API には対応しません。接続が存在すれば、そのツールは他のオプショナルコネクタと同じように、同じ承認ゲートの下、このスキルに参加します。

原文(English)を表示

Report Builder

The owner describes a report once. You build it, run it, and save the definition so it never has to be described again.

Owners are pulling numbers out of three dashboards by hand and trying to find the story themselves. The job is to end that.

Step 1 — Check for an existing definition

Before anything else, read reference/saved_reports.md and check whether this report already exists. Also check for a report-definitions.md in the working directory — that's where definitions land when the skill folder isn't writable (see Step 7).

If the owner says "same report as last time," "run the weekly one," or names a report you have a definition for, skip straight to Step 4 and run it. Re-interviewing someone about a report they already defined is the fastest way to make this skill feel broken.

If nothing matches, continue.

Step 2 — Turn the description into a spec

Owners describe reports loosely: "every Monday, sales by location versus last year, AR aging, and labor percent." That sentence contains four separate decisions. Resolve them into a spec using the format in reference/report_spec.md:

  • Metrics — each one named, with its formula and source
  • Grouping — by location, product, customer, channel, rep
  • Comparison — versus prior period, versus last year, versus target
  • Period — the window each run covers
  • Cadence — one-off, weekly, monthly, quarterly

Infer what you reasonably can. "Sales by location vs last year" gives you the metric, the grouping, and the comparison — don't ask about those. Ask only about what's genuinely ambiguous, and ask it in one batch rather than one question at a time.

The two questions worth asking almost every time:

  • Which period does each run cover — calendar month, trailing 30 days, month-to-date?
  • Is a number like "labor percent" measured against revenue or against total costs?

Getting these wrong produces a report that looks right and is quietly wrong, which is worse than asking.

Step 3 — Confirm the spec, once

Show the resolved spec back in a compact block. Ask for one confirmation, then build. Do not walk the owner through the spec field by field — they described this in one sentence and expect one answer.

If they correct something, apply it and go. Do not re-confirm a second time.

Step 4 — Pull the data

Dispatch every source call in a single parallel batch. See reference/data_sources.md for the metric-to-tool mapping.

Sources, tried simultaneously:

  • The ledger — MYOB, NetSuite, QuickBooks, Xero, or Zoho Books, whichever is connected; peers per ../../shared/connector-neutrality.md. P&L lines, revenue, expenses, AR aging, AP, class and location splits. MYOB is P&L, AR, and payables only, three financial years back. If two ledgers are connected, ask which is the source of record and take totals from that one
  • HubSpot — deals, stages, owners, close dates, pipeline value
  • PayPal, Square, Stripe — settlements, fees, refunds, transaction detail
  • Shopify — orders, SKU-level revenue, fulfillment status
  • Ramp, Expensify — card spend and expense detail. Both are read sources here; Expensify is read-only search

If a source errors or returns nothing, record it and move on. Never block the whole report on one bad connector.

No connectors at all is a supported path, not a failure. Ask for a CSV or XLSX export, read it, and build the identical report from the file. Say so plainly: "I don't see a connected data source. Export the sales report from your system and drop it here — I'll build the same report from that." Owners with tool sprawl live in this mode, and the report is just as good.

Step 5 — Compute and sanity-check

Compute every metric named in the spec. Then check the results before showing them. Read reference/gotchas.md for the failure modes that actually happen.

The checks that catch real errors:

  • Period boundaries. A partial current month compared against a full prior month always looks like a collapse. Either compare like-for-like or label the partial period explicitly.
  • Double-counting. A Shopify order and its Stripe settlement are one sale. If both sources are connected, pick one as the revenue source and note which.
  • Empty groups. A location with no sales this period should appear with a zero, not vanish. A disappearing row reads as a data problem.
  • Totals that don't tie. If the grouped rows don't sum to the total, say so rather than publishing a number you can't defend.

Step 6 — Deliver

Two artifacts, always, in this order.

The chat summary comes first. Follow reference/output_template.md. Lead with what changed and what it means, not with a table dump. The owner asked for a report because they want a decision, not a spreadsheet.

Writing rules, same as every reporting skill in this plugin:

  • Numbers lead, words follow. Not "sales were strong" — "USD 43,200, up 8% versus last year."
  • Every number carries its comparison. A figure with no baseline is a missed insight.
  • Name the outlier. "Portland is down 22%, the only location below last year" beats "results were mixed."
  • Three findings maximum in the summary. The workbook holds everything else.

Then the XLSX. One tab per metric group, a summary tab first, raw pulled data on a final tab so the owner can check your math. Build it with a script rather than by hand.

Then the report page, per the owner's stored output preference — never default to a markdown file. Check the ## Business context block's Output preference (shared style guide rule, ../../shared/artifact-style.md):

  • Visual artifact (the default): render the report as an HTML page in the house style — each headline metric is a stat tile with its comparison as the context line; the grouped rows (by location, product, rep) are a table with right-aligned tabular-nums; any metric versus target carries a status pill (good on target, warn slipping, critical missed); the three findings open the page in their own panel; "n/a" sources go in one quiet footer line. Additive to the chat summary and the workbook, never a replacement.
  • docx / md / notion / canva preference: deliver the same content in that form — a DOCX or markdown file, a Notion page created via the connector (named destination, never overwriting), or a Canva Doc created via the Canva connector (a new design each run, named with the date; tables become lists); fall back to the visual artifact if Notion or Canva is not connected — and say that is why. The XLSX still ships alongside.
  • Best for skill: use the visual artifact — a report is read on screen and compared week to week.

Step 7 — Save the definition

Append the spec to reference/saved_reports.md with the date it was created and the cadence. This is what makes the report recurring instead of one-off.

If that file can't be written — the skill folder is read-only in most installed runtimes — write the definition to report-definitions.md in the owner's working directory instead and say where it went. A definition that silently failed to save is the same bug as never saving it.

If the owner asked for a cadence, confirm it in one line: "Saved. I'll run this the first Monday of each month." Scheduling is a property of this skill — no separate command needed.

After the run

One line: the report ran and the definition is saved. Then the single most relevant next step, with at most two others nearby:

  • "The weekly pack, on schedule" runs /report-pack to wrap this in context on a cadence.
  • "How's the business doing?" runs business-pulse for the picture around these numbers.
  • "Cash forecast" runs cash-flow-snapshot when the report raised a cash question.

Max three offers. Never repeat an offer the owner declined this session.

What not to do

  • Do not interview the owner about a report they already defined. Check saved_reports.md first, every time.
  • Do not ask permission to pull data. The skill was invoked. Run it.
  • Do not invent a number. If a source returned nothing, write "n/a" and name the source. A plausible-looking guess in a report the owner forwards to their bank is a serious failure.
  • Do not lead with the table. The summary is the product; the workbook is the appendix.
  • Do not treat "no connectors" as a blocker. The CSV path is a first-class mode.

Reference files

  • reference/report_spec.md — the spec format, with worked examples
  • reference/data_sources.md — metric to connector mapping, with fallbacks
  • reference/output_template.md — exact structure for the chat summary and the workbook
  • reference/saved_reports.md — stored report definitions, appended to over time
  • reference/gotchas.md — the failure modes that produce confidently wrong reports

Using a tool that isn't listed

The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer build-connector — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。