Communityライティング&編集github.com

kokilk/インパクトレポートビルダー

乱雑なプログラムデータ(CSVまたはExcel)を、資金提供者に提出可能なインパクトレポートに変換します。データのプロファイリングとクリーニング、スクリプトによる合意済み指標の計算、小グループの抑制、ドラフト作成、そしてドラフト内のすべての数値が計算結果と一致するかの検証を行います。インパクトレポート、資金提供者向けレポート、成果サマリー、プログラムダッシュボードに使用します(サマリーのみの依頼でも同様)。集計データのみを扱います。クライアントレベルのケースファイルは対象外です。

インパクトレポートビルダー とは?

このスキルは、プログラムデータ(CSVまたはExcel)を基に、資金提供者に提出可能な、すべての数値が計算された指標にトレース可能なインパクトレポートを作成します。ユーザーが主導権を持ち、データのプロファイリング、クリーニング、指標定義、ドラフトの各段階で承認を得ながら進行します。`scripts/impact.py`がすべてのカウント、割合、平均を計算し、ユーザーが手計算や目視での丸めを行わないようにすることで、レポートの信頼性を高めます。データは集計テーブル(グリーン)と個人レベル(アンバー:要PIIガード)を区別し、クライアントのケースノート(レッド)は処理しません。レポート作成後は`impact.py verify`で各数値を検証し、`metrics.json`との一致を確認します。このスキルはClaude Code, Cursor, CodexなどのAIエージェントプラットフォームで利用でき、データのプロファイリングから最終レポートの提供までを9つのステップで体系的にサポートします。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kokilk/Non-Profit-Skill-catalog-/tree/HEAD/skills/impact-report-builder

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

impact-report-builder

プログラムデータを、すべての数字が計算された指標に遡れる、資金提供者向けレポートに変換します。

ユーザーが主導権を握ります。あなたはプロファイリング、計算、ドラフト作成を行い、ユーザーはクリーニングルール、指標定義、最終レポートの各段階で承認します。

作業の進め方とその理由

  • 数字はスクリプトから、言葉はあなたから。 scripts/impact.py がすべてのカウント、割合、平均を計算します。レポートが静かに間違っていく原因となるため、頭の中で数字を計算したり、目視で丸めたりしてはいけません。ドラフト内のすべての数字は metrics.json に含まれているか、ユーザーが許可したリストに含まれている必要があります。
  • ドラフト、プレビュー、確認、検証。 先に進む前に、プロファイル結果、各クリーニングルール、各指標定義、ドラフトを表示します。すべてのドラフトで impact.py verify を実行し、最終版とする前にフラグが付けられたすべての数値を修正します。
  • 与えられたものだけを使用する。 ストーリーや引用は、組織が書面で提供し、同意がある場合のみ使用します。複合的なストーリーを作成して現実のものとして提示してはいけません。資金提供者の目標値や比較数値はユーザーから提供されます(--allow で追加)。
  • 相関関係は因果関係ではない。 デザインがそれをサポートしている場合を除き、「関連している」と表現します。プログラムが事前/事後の変化を引き起こしたと決して主張してはいけません。
  • すべての割合に分母を表示する(「80.0%(20人中16人)」)、結論が変わるような丸め方は決してしません。
  • 一度に一つの決定。 調査結果を表示し、次に一つの質問をします。小さなギャップはまとめて処理できます。
  • 進捗バー付きの簡潔な返信(Step 3 of 9 · Profile)と一行の Next:。
  • 決して捏造しない。 ギャップは [NEEDS FROM ORG: …] に、確認されていないものは [CONFIRM: …] になります。マーカーを含むドラフトには DRAFT とラベル付けします。
  • 例外は議論しない。 ユーザーがデータがサポートしていない数字(「70%が改善したと言え」など)を要求した場合、それは計算結果にないと伝え、データが示すものを提供し、そこで止めます。

データ階層

集計テーブルはグリーンです。個人レベルの行(参加者1人1行)はアンバーです。最初に pii-guard を実行し、レポートに不要な列(名前、メールアドレス、メモ)を削除します。クライアントのケースノート、健康詳細、または個人の子供に関するものは レッド です。処理しません。代わりに組織が準備したカウントから作業することを提案します。完全なルール: docs/DATA-TIERS.md。

Claudeチャットでは、アップロードされたファイルは既にモデルと共有されています。そのため、アップロード前にファイルが個人レベルかどうかを尋ねます。個人レベルの場合は、最初にローカルでpii-guardを実行することを提案します。

開始メッセージ

プログラムデータを、すべての数字が確認可能な計算に基づく、資金提供者に提出可能なインパクトレポートに変換できます。 必要なもの:レポートの提出先、報告期間、資金提供者が求める成果、およびデータ(参加者1行のCSVまたは集計テーブル)。 ファイルが1人1行の場合は、最初に名前と連絡先を確認しましょう(pii-guard)。クライアントのケースノートは処理しません。 あなたのOKなしには何も最終決定されず、ドラフト内のすべての数字は計算結果と照合されます。

ステップ

#ステップ何が起こるか参照先
1スコープ資金提供者、期間、必要な指標、形式、期限。データを分類する(個人レベル=アンバー、集計=グリーン、ケースノート=レッド→停止)
2プライバシーゲート個人レベルの行:最初にpii-guardを実行;不要な列を削除
3プロファイルimpact.py profile data.csv:型、空白、重複、混合または曖昧な日付、外れ値、識別列。結果を表示references/data-and-metrics.md §1
4クリーニング(同意あり)各ルールを提案(完全一致の重複削除、使用する日付形式、カテゴリのスペル統一)。ユーザーが各ルールを承認;状態ファイルに記録references/data-and-metrics.md §2
5指標の定義各指標を設定に記述:名前、種類、フィルター、分母、平易な言葉での意味。ユーザーが確認references/data-and-metrics.md §3
6計算impact.py metrics data.csv --config metrics-config.json --out metrics.json。結果、除外されたものとその理由、抑制されたものを表示references/data-and-metrics.md §4
7ドラフトmetrics.json の数字のみを使用してレポートを作成。方法と限界を含めるreferences/report-writing.md
8検証impact.py verify draft.md --metrics metrics.json --allow {funder figures, page numbers}。フラグが付けられたすべての数値を修正references/report-writing.md §4
9納品Markdown、または利用可能な場合はdocxスキルを介してWord。最後に来歴ブロック

スクリプト

scripts/impact.py は1ファイルで、標準ライブラリのみを使用します。終了コード:0 正常、1 確認すべきものあり、2 不正な入力。

サブコマンド使用目的
profile列の型、空白、重複、日付形式(曖昧な03/02の日付を含む)、外れ値、識別列
metricsJSON設定から計算:count_rows, count_unique, sum, mean, median, rate, change_pre_post。いずれも group_by 列でグループ化可能。除外された行を理由とともに記録。min_cell(デフォルト5)未満のグループを抑制。補完的抑制も行う
verifyドラフト内のすべての数字が metrics.json または --allow と一致する必要がある。「X%(A of B)」は計算された割合と正確に一致する必要がある。年は許可。マーカー内のテキストは無視

コネクタ

不要。データが接続されたスプレッドシートにある場合、ユーザーに必要なシートをCSVとしてエクスポートするよう依頼します。レポートをDriveやWordで必要とする場合、ファイルを生成し、ユーザーに配置してもらいます。

状態ファイル

impact-report-{slug}.json(assets/state-template.json から):スコープ、データの説明と階層、プロファイル結果、ユーザーが承認した各クリーニングルール、指標定義、min_cell の選択と選択者、レポートバージョンと検証結果、追加専用の change_log。個人レベルの行は決して含まれません。

出力と来歴

metrics.json、レポートドラフト、検証結果。レポートは次で終了します:

Provenance: impact-report-builder 0.1.0 · {date}
Data: {file} ({rows used} rows; sha256 {first 12 chars}) · Period: {period}
Cleaning: {rules approved} · Small groups under {min_cell} suppressed (org policy)
Metrics: metrics.json · Verify: PASS ({n} numbers checked)
Open markers: {count}

境界と引き継ぎ

  • 決して クライアントレベルのケースノートやレッドデータを処理しない;事前/事後データから因果関係を主張しない;ストーリー、引用、複合事例をでっち上げない;レポートを提出しない。
  • 資金提供者固有のテンプレート:ユーザーから提供された場合に従います。
  • これらの数値を必要とする助成金申請:metrics.json を添えて grant-scout に引き継ぎます。
  • 統計的有意性、評価デザイン、研究に関する主張:このスキルは記述的な結果のみを報告するものであり、評価者を提案することを伝えます。

問題が発生した場合

症状考えられる原因最初の対処
verify が確信している数字で失敗する手入力された、または異なる方法で丸められたmetrics.json からコピー;資金提供者の目標値の場合は --allow で追加
グループが抑制されたと表示されるmin_cell未満の人数、または補完的抑制「5人未満」と報告するか、グループを統合する(新しい指標定義、確認済み)
事前/事後の変化が大きく見える完了者のみが事後スコアを持っている一致したnと除外されたnを報告し、誰が欠けているかを伝える
日付が曖昧とフラグ付けされる03/02/2026 が3月か2月か不明ユーザーにシステムがどの形式を使用しているか尋ね、ルールを記録
ユーザーがデータにない成果を望む資金提供者に良い印象を与えようとする圧力データが示すものを伝え;計画については「私たちは目指す」という表現を提供

参照ファイル

ファイルいつ読むか
references/data-and-metrics.mdステップ3~6:プロファイル結果、クリーニングルール、指標設定の作成、抑制
references/report-writing.mdステップ7~8:構造、誠実さのルール、限界セクション、検証
assets/metrics-config-example.json指標設定の開始時
assets/state-template.json状態ファイルの作成時

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル