mcpField
A
authoritative-data-harvester

authoritative-data-harvester

github.com/yushui2022データ・データベース45835 回インストール4 日前に更新
リポジトリ

authoritative-data-harvester について

数理モデリング向けに、信頼でき、引用可能で再現性のある公開データを取得するスキルです。公式 API や一括ダウンロードを優先し、データ、出典メタデータ、再現可能な取得手順を用意します。

主な機能

  1. 01公式 API または一括ダウンロードを優先
  2. 02出典・パラメーター・取得日の記録
  3. 03生データと処理済みデータの保存
  4. 04項目辞書と引用情報の提供
  5. 05単位・頻度・地域範囲の整合

活用シーン

  1. 01モデリング変数の公式データ源を探す
  2. 02再実行可能なデータ取得手順を作成
  3. 03論文用のデータ出典と引用を整備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yushui2022/mathmodel-skill --skill authoritative-data-harvester

インストール後、Claude Code で/authoritative-data-harvesterを入力して読み込まれたか確認します。

同梱ファイルscripts/run.py

詳細

権威データ自動取得(Authoritative Data Harvester)

全体ワークフローの連携ルール(長い会話での脱線防止)

  • このスキルを単独の入口として使用してはいけません。ユーザーが論文全体の作成、Word の生成、ワークフローの続行を求めた場合、または現在の段階が不明な場合は、まず paper-workflow-orchestrator に戻り、現在の S0-S8 段階を判断してください。
  • このスキルの正式なタスクを開始または続行する前に、必ず次を実行してください。
    python .claude/skills/paper-workflow-orchestrator/scripts/workflow_guard.py --skill authoritative-data-harvester
    
  • [WORKFLOW FAIL] が出力された場合、または status != "PASS" と報告された場合は、このスキルを停止し、paper_output/qa/workflow_guard_report.json の失敗項目に従って前段階を補完してください。記憶を頼りに続行してはいけません。
  • このスキルは、自身の契約範囲内の paper_output/ 成果物のみを書き込みます。完了後は必ず paper-workflow-orchestrator に戻って次の段階を判断し、context-memory-keeper を使用して完了した成果物、ブロッカー、次のステップを記録してください。
  • 長い会話でコンテキストが長くなった場合、段階が不明な場合、またはユーザーがスキルを分けて呼び出した場合は、まず次を実行してください。
    python .claude/skills/paper-workflow-orchestrator/scripts/workflow_guard.py --status
    
    その後、paper_output/qa/workflow_guard_report.json、paper_output/preflight_report.json、paper_output/input_manifest.json、paper_output/results/run_manifest.json、およびこのスキルの上流 JSON 契約を読み取り、レポート内の recommended_skill と next_action に従って続行してください。
  • ワークフローを続行する前に、paper_output/context/workflow_memory.json を長期的な再開ポイントの記録として扱ってください。そこにある current_step、next_step、recommended_skill が workflow_guard.py --status と一致しない場合は、guard レポートを優先してください。
  • このスキルの成果物を作成するたびに、まず paper-workflow-orchestrator に戻るか、workflow_guard.py --status を実行してから、ワークフローメモリを更新してください。
    python .claude/skills/context-memory-keeper/scripts/update_workflow_memory.py
    
    更新後、paper_output/context/workflow_memory.json / .md を読み取り、次のステップと推奨スキルが記録されていることを確認してください。

実行契約

  • 上流入力:ユーザーが提示した変数要件、または paper_output/step1/problem_analysis.json、paper_output/plan/model_route.json で特定された外部データ要件。
  • 必須出力:再現可能なデータソースの説明、取得またはダウンロード方法を提示し、元データ/処理済みデータと出典情報を crawled_data/ に保存します。可能な限り crawled_data/sources.json を含めてください。
  • 下流への引き渡し:data-cleaning-and-visualization が crawled_data/ を読み取り、データを統一的にクリーニングし、グラフ作成計画と論文品質の図表を作成します。
  • 推奨される次のステップ:データを保存した後、data-cleaning-and-visualization に進みます。論文全体を作成する場合は、paper-workflow-orchestrator に戻って後続段階を判断してください。
  • 失敗時のフォールバック:自動取得できない場合は、同等レベルの権威ある代替ソース、定義の差異、手動ダウンロードの方法を提示してください。出典のないデータや引用できないデータを、権威あるデータとして扱ってはいけません。

目標

数理モデリングのタスクで、「権威があり、引用可能で、再現可能」な公開データソースをすばやく見つけ、ウェブページのスクレイピングをできるだけ避け、API/一括ダウンロードを優先してデータを取得し、最終的に次を出力します。

  • データ取得スクリプト/方法(リンク、パラメーター、期間、フィールドの説明を含む)
  • 元データとクリーニング済みデータ(CSV/Parquet)
  • データ辞書と引用情報(出典、更新日時、ライセンス/利用規約、アクセス日)

呼び出すタイミング

  • 権威ある/公式データソース(統計局、国際機関、政府のオープンデータ)が必要な場合
  • 再現可能なデータ取得手順(インターフェイスのパラメーターが固定され、繰り返し実行可能)が必要な場合
  • 変数一覧はあるがデータが不足している場合、または代替指標が必要な場合

基本原則(必ず守ること)

  1. 公式 API または一括ダウンロードを優先し、HTML 解析は最後の手段とします。
  2. robots.txt とサービス利用規約を遵守し、レート制限を守ってください。ログイン/有料コンテンツ/CAPTCHA を回避してはいけません。
  3. 全工程を再現可能にしてください。出典 URL、インターフェイスのパラメーター、アクセス日、バージョン/更新日時、フィールドの意味と単位を記録します。
  4. データ品質を優先します。定義、単位、頻度、地理的範囲をそろえ、欠損値や異常値の処理方針を明確にします。

標準ワークフロー(実行のたびに、次の内容を出力)

1) 要件の正規化

「データ要件表」を出力します。最低限、次を含めてください。

  • 変数名(日英)、単位、希望する頻度(日/月/年)、期間
  • 地域の粒度(国/省/市/グリッド)と定義の説明
  • 代替指標として許容されるもの(主指標が取得できない場合)
2) ソース選定(利便性より権威性を優先)

タスクの種類に応じて、次のソースを優先します。

  • マクロ/開発:World Bank、IMF、OECD、UNData
  • 人口/社会:UN DESA、World Bank、各国の統計局/国勢調査
  • 公衆衛生:WHO(必要に応じて二次集計ソースを補い、出典の連鎖を明記)
  • 気象/気候:NOAA、NASA(オープンデータ方針に基づいて選択)
  • EU 統計:Eurostat
  • 中国:国家統計局、各省庁のオープンデータ、地方統計局(ダウンロード/インターフェイスが利用可能なものを優先)
3) アクセス方法の判断フロー
  • 公式 API がある:API を直接使用
  • API はないが一括ダウンロード(CSV/Excel/ZIP)がある:直リンクからダウンロード
  • ウェブページ上の表しかない:まずページの背後にある XHR/JSON を探し、それでも取得できない場合に HTML を解析
4) 取得実装の規範

納品するスクリプトには、次の機能が必要です。

  • パラメーター化:start/end、region、indicator、output_dir
  • 堅牢性:再試行(指数バックオフ)、タイムアウト、レート制限、キャッシュ/再開
  • 保存:raw/ と processed/ のディレクトリを分け、元のレスポンスまたは元ファイルを保持
  • ログ:必要な情報のみを記録し、機密情報を出力しない
5) クリーニングと検証(最低要件)
  • フィールド:名前を統一(snake_case)し、型変換、単位換算、時間インデックスの整合を行う
  • 欠損値:欠損の理由(取得不可/期間の中断/定義の変更)を説明し、処理方針を示す
  • 異常値:基本的なルールで検証(範囲、前年同期比/前期比の急変しきい値)
  • 抜き取り確認:サンプル行を出典ページ/メタデータと照合
6) 納品物一覧(必須出力)
  • データファイル:raw.*、processed.csv(または parquet)
  • メタデータ:sources.json(name/url/access_method/params/license/updated_at/accessed_at)
  • データ辞書:フィールドの意味、単位、頻度、地域の粒度、欠損値の処理方針
  • 引用形式:論文/レポートにそのまま使用できる参考文献項目

よく使われる権威あるデータソース(拡張可能)

  • World Bank Data API
  • IMF Data
  • UNData / UN agencies
  • OECD Data
  • Eurostat
  • WHO
  • NOAA / NASA
  • 各国の統計局および政府のオープンデータプラットフォーム

ユーザー入力テンプレート(すばやく開始するために使用)

  • 「【テーマ】のモデリングを行います。変数は【A,B,C】、期間は【YYYY-YYYY】、地域は【国/省/市】です。権威ある出典と再現可能なデータ取得スクリプト、クリーニング結果を提示してください。」
  • 「【特定の指標】の公式データが必要です。API を優先し、なければ一括ダウンロードを使用してください。sources.json + processed.csv を出力してください。」

失敗時のフォールバック戦略

ソースが利用できない/制限されている場合:

  1. 同等レベルの権威あるソースに切り替える(例:UN ↔ World Bank ↔ OECD)
  2. 代替指標に切り替え、定義の差異を明確にする
  3. ダウンロード可能な範囲で最も権威あるバージョンのみを納品し、自動化して取得できない理由を説明する

ディレクトリ規約(プロジェクト全体と整合)

  • 元データのダウンロードとインターフェイスのレスポンスは、crawled_data/raw/ に保存することを推奨します。
  • クリーニング済みの構造化データは、crawled_data/processed/ に保存することを推奨します。
  • 出典と再現性情報は、crawled_data/sources.json(url、パラメーター、アクセス日、ライセンス/利用規約を含む)として保存することを推奨します。

前後の連携

  • 通常、次に実行するのは data-cleaning-and-visualization です(crawled_data/ 内のデータを統一的にクリーニングし、図を作成します)。
  • 論文草稿まで続ける場合は、paper-workflow-orchestrator に戻ってください。

制約(必ず守ること)

  • メモリ連携(必須):
    • データ取得後:必ず context-memory-keeper を呼び出し、「新たに追加したデータソース名」と「保存先パス」を Short-term Workbench に記録してください。
  • このスキルは「権威あるデータを取得し、再現可能性を確保する」ことのみを担当し、論文本文を直接執筆しません。成果物は必ず crawled_data/ に保存してください。
  • 論文にデータを使用する場合、次の両方を満たす必要があります。
    • crawled_data/sources.json に引用可能な出典情報が記録されていること。
    • 後続で data-cleaning-and-visualization を呼び出し、データをクリーニングして paper_output/figures/ の根拠となる図表を生成すること。

コメント