mcpField
D
data-context-extractor

data-context-extractor

github.com/anthropicsデータ・データベース33.6k3.1k 回インストール1 日前に更新
リポジトリ

data-context-extractor について

Data Context Extractorは、社内固有のデータ知識を収集し、分析スキルを生成するメタスキルです。新規作成と、既存スキルへのドメイン別資料の追加に対応します。

主な機能

  1. 01データウェアハウスのスキーマ探索
  2. 02エンティティ、指標、データ規則の記録
  3. 03スキルとドメイン別資料の生成
  4. 04既存スキルへのコンテキスト追加
  5. 05スキルのパッケージ化と提供

活用シーン

  1. 01社内ウェアハウス向け分析スキルの作成
  2. 02主要指標の計算方法の文書化
  3. 03新しいデータ領域の分析情報の追加

MCP 対応

データウェアハウスのデータやスキーマを調べるツールを使い、現在のセッションにあるMCPツールも確認します。MCPサービスを提供するとは記載されていません。

インストール

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

$npx skills add https://github.com/anthropics/knowledge-work-plugins --skill data-context-extractor

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
domain-template.md
example-output.md
skill-template.md
sql-dialects.md
scripts/
package_data_skill.py

詳細

Data Context Extractor

アナリストから企業固有のデータに関する知識を抽出し、ニーズに合わせたデータ分析スキルを生成するメタスキルです。

仕組み

このスキルには、次の2つのモードがあります。

  1. ブートストラップモード:新しいデータ分析スキルをゼロから作成します
  2. 反復モード:ドメイン固有の参照ファイルを追加して、既存のスキルを改善します

ブートストラップモード

使用する状況:ユーザーが自社のデータウェアハウス向けに、新しいデータコンテキストスキルを作成したい場合。

フェーズ 1:データベースへの接続と調査

ステップ 1:データベースの種類を特定する

次のように尋ねます。「どのデータウェアハウスを使用していますか?」

一般的な選択肢:

  • BigQuery
  • Snowflake
  • PostgreSQL/Redshift
  • Databricks

~~data warehouse ツール(クエリとスキーマ)を使って接続します。不明な場合は、現在のセッションで利用可能な MCP ツールを確認します。

ステップ 2:スキーマを調査する

~~data warehouse のスキーマツールを使って、次の操作を行います。

  1. 利用可能なデータセット/スキーマを一覧表示する
  2. 最も重要なテーブルを特定する(ユーザーに「アナリストが最もよくクエリするテーブルを3〜5個教えてください」と尋ねます)
  3. それらの主要テーブルのスキーマ詳細を取得する

SQL 方言ごとの調査クエリの例:

-- BigQuery: List datasets
SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA

-- BigQuery: List tables in a dataset
SELECT table_name FROM `project.dataset.INFORMATION_SCHEMA.TABLES`

-- Snowflake: List schemas
SHOW SCHEMAS IN DATABASE my_database

-- Snowflake: List tables
SHOW TABLES IN SCHEMA my_schema
フェーズ 2:主要な質問(以下を尋ねる)

スキーマの調査後、会話の中でこれらの質問をします(すべてを一度に尋ねないでください)。

エンティティの区別(重要)

「ここで『ユーザー』や『顧客』と言う場合、具体的には何を指していますか?異なる種類がありますか?」

次の点に注意します。

  • 複数のエンティティ種別(ユーザーとアカウントと組織)
  • それらの間の関係(1対1、1対多、多対多)
  • それらを相互に結び付ける ID フィールド

主識別子

「[顧客/ユーザー/アカウント] の主な識別子は何ですか?同じエンティティに複数の ID がありますか?」

次の点に注意します。

  • 主キーと業務キー
  • UUID と整数 ID
  • レガシー ID システム

主要指標

「よく尋ねられる指標を2〜3個教えてください。それぞれどのように計算しますか?」

次の点に注意します。

  • 正確な計算式(ARR = 月次収益 × 12)
  • 各指標の算出に使うテーブル/列
  • 期間の慣例(過去7日間、暦月など)

データの衛生管理

「クエリから常に除外すべきデータはありますか?(テストデータ、不正行為、社内ユーザーなど)」

次の点に注意します。

  • 常に含める標準の WHERE 句
  • 除外を示すフラグ列(is_test、is_internal、is_fraud)
  • 除外する具体的な値(status = 'deleted')

よくある落とし穴

「新しいアナリストがこのデータでよく犯す間違いは何ですか?」

次の点に注意します。

  • 混同しやすい列名
  • タイムゾーンの問題
  • NULL の処理に関する癖
  • 履歴テーブルと現在状態テーブル
フェーズ 3:スキルを生成する

次の構成でスキルを作成します。

[company]-data-analyst/
├── SKILL.md
└── references/
    ├── entities.md          # Entity definitions and relationships
    ├── metrics.md           # KPI calculations
    ├── tables/              # One file per domain
    │   ├── [domain1].md
    │   └── [domain2].md
    └── dashboards.json      # Optional: existing dashboards catalog

SKILL.md テンプレート:references/skill-template.md を参照してください

SQL 方言セクション:references/sql-dialects.md を参照し、適切な方言に関する注記を含めてください。

参照ファイルのテンプレート:references/domain-template.md を参照してください

フェーズ 4:パッケージ化して提供する
  1. スキルディレクトリにすべてのファイルを作成する
  2. zip ファイルにパッケージ化する
  3. 収集した内容の概要を添えてユーザーに提示する

反復モード

使用する状況:ユーザーが既存のスキルを持っているものの、コンテキストをさらに追加する必要がある場合。

ステップ 1:既存のスキルを読み込む

既存のスキル(zip またはフォルダー)をアップロードするようユーザーに依頼するか、すでにセッション内にある場合はその場所を特定します。

現在の SKILL.md と参照ファイルを読み、すでに記録されている内容を把握します。

ステップ 2:不足している情報を特定する

次のように尋ねます。「どのドメインやトピックについて、さらに詳しいコンテキストが必要ですか?どのクエリが失敗したり、誤った結果を返したりしていますか?」

よくある不足情報:

  • 新しいデータドメイン(マーケティング、財務、製品など)
  • 指標の定義が不足している
  • テーブル間の関係が文書化されていない
  • 新しい用語
ステップ 3:対象を絞って調査する

特定したドメインについて、次の操作を行います。

  1. 関連テーブルを調査する:~~data warehouse のスキーマツールを使って、そのドメインのテーブルを探します

  2. ドメイン固有の質問をする:

    • 「[ドメイン] の分析にはどのテーブルを使いますか?」
    • 「[ドメイン] の主要な指標は何ですか?」
    • 「[ドメイン] のデータに特別なフィルターや注意点はありますか?」
  3. 新しい参照ファイルを生成する:ドメインテンプレートを使って references/[domain].md を作成します

ステップ 4:更新して再パッケージ化する
  1. 新しいリファレンスファイルを追加する
  2. 新しいドメインを含めるように、SKILL.md の「ナレッジベースのナビゲーション」セクションを更新する
  3. スキルを再パッケージ化する
  4. 更新したスキルをユーザーに提示する

リファレンスファイルの基準

各リファレンスファイルには、以下を含める必要があります。

テーブルのドキュメントの場合
  • 場所:テーブルの完全なパス
  • 説明:このテーブルに含まれる内容と、使用するタイミング
  • 主キー:行を一意に特定する方法
  • 更新頻度:データの更新頻度
  • 主要な列:列名、型、説明、注記を含むテーブル
  • リレーションシップ:このテーブルを他のテーブルと結合する方法
  • クエリの例:一般的なクエリパターンを 2~3 個
メトリクスのドキュメントの場合
  • メトリクス名:人が読みやすい名前
  • 定義:平易な英語での説明
  • 計算式:列を参照した正確な計算方法
  • ソーステーブル:データの取得元
  • 注意事項:特殊なケース、除外事項、注意点
エンティティのドキュメントの場合
  • エンティティ名:名称
  • 定義:ビジネスにおいて表すもの
  • 主要テーブル:このエンティティの検索先
  • ID フィールド:エンティティの特定方法
  • リレーションシップ:他のエンティティとの関係
  • 一般的なフィルター:標準的な除外条件(社内データ、テストデータなど)

品質チェックリスト

生成したスキルを納品する前に、以下を確認してください。

  • SKILL.md に完全なフロントマター(name、description)がある
  • エンティティの曖昧さを解消するセクションが明確である
  • 主要な用語が定義されている
  • 標準的なフィルター/除外条件が記載されている
  • ドメインごとに 2~3 個以上のクエリ例がある
  • SQL が正しい方言の構文を使用している
  • リファレンスファイルが SKILL.md のナビゲーションセクションからリンクされている

コメント