data-context-extractor について
アナリストやデータウェアハウスから企業固有のデータ知識を集め、分析スキルを新規作成または拡張するメタスキルです。スキーマ、エンティティ、指標、データ上の注意点を再利用可能な参照ファイルにまとめます。
主な機能
- 01データ分析スキルの新規作成
- 02既存スキルへの反復的な追記
- 03ウェアハウスのスキーマとテーブルの調査
- 04エンティティ・指標・データ規則の記録
- 05参照ファイルの生成とパッケージ化
活用シーン
- 01新しいウェアハウス向けの分析ガイド作成
- 02ユーザーや顧客などの定義の文書化
- 03指標の計算式と標準フィルターの記録
- 04新しい業務領域に合わせたスキルの拡張
MCP 対応
現在のセッションで利用できるデータウェアハウス MCP ツールを使い、データベースへの接続、スキーマ確認、テーブル探索を行う手順を示します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ w95/ awesome-claude-corporate-skills --skill data-context-extractorインストール後、Claude Code で/data-context-extractorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/domain-template.mdexample-output.mdskill-template.mdsql-dialects.mdscripts/package_data_skill.py詳細
Data Context Extractor
アナリストから企業固有のデータに関する知識を抽出し、ニーズに合わせたデータ分析スキルを生成するメタスキルです。
仕組み
このスキルには、次の2つのモードがあります。
- ブートストラップモード:新しいデータ分析スキルをゼロから作成します
- 反復モード:ドメイン固有の参照ファイルを追加して、既存のスキルを改善します
ブートストラップモード
使用する状況:ユーザーが自社のデータウェアハウス向けに、新しいデータコンテキストスキルを作成したい場合。
フェーズ 1:データベースへの接続と調査
ステップ 1:データベースの種類を特定する
次のように尋ねます。「どのデータウェアハウスを使用していますか?」
一般的な選択肢:
- BigQuery
- Snowflake
- PostgreSQL/Redshift
- Databricks
~~data warehouse ツール(クエリとスキーマ)を使って接続します。不明な場合は、現在のセッションで利用可能な MCP ツールを確認します。
ステップ 2:スキーマを調査する
~~data warehouse のスキーマツールを使って、次の操作を行います。
- 利用可能なデータセット/スキーマを一覧表示する
- 最も重要なテーブルを特定する(ユーザーに「アナリストが最もよくクエリするテーブルを3〜5個教えてください」と尋ねます)
- それらの主要テーブルのスキーマ詳細を取得する
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:パッケージ化して提供する
- スキルディレクトリにすべてのファイルを作成する
- zip ファイルにパッケージ化する
- 収集した内容の概要を添えてユーザーに提示する
反復モード
使用する状況:ユーザーが既存のスキルを持っているものの、コンテキストをさらに追加する必要がある場合。
ステップ 1:既存のスキルを読み込む
既存のスキル(zip またはフォルダー)をアップロードするようユーザーに依頼するか、すでにセッション内にある場合はその場所を特定します。
現在の SKILL.md と参照ファイルを読み、すでに記録されている内容を把握します。
ステップ 2:不足している情報を特定する
次のように尋ねます。「どのドメインやトピックについて、さらに詳しいコンテキストが必要ですか?どのクエリが失敗したり、誤った結果を返したりしていますか?」
よくある不足情報:
- 新しいデータドメイン(マーケティング、財務、製品など)
- 指標の定義が不足している
- テーブル間の関係が文書化されていない
- 新しい用語
ステップ 3:対象を絞って調査する
特定したドメインについて、次の操作を行います。
-
関連テーブルを調査する:
~~data warehouseのスキーマツールを使って、そのドメインのテーブルを探します -
ドメイン固有の質問をする:
- 「[ドメイン] の分析にはどのテーブルを使いますか?」
- 「[ドメイン] の主要な指標は何ですか?」
- 「[ドメイン] のデータに特別なフィルターや注意点はありますか?」
-
新しい参照ファイルを生成する:ドメインテンプレートを使って
references/[domain].mdを作成します
ステップ 4:更新して再パッケージ化する
- 新しいリファレンスファイルを追加する
- 新しいドメインを含めるように、SKILL.md の「ナレッジベースのナビゲーション」セクションを更新する
- スキルを再パッケージ化する
- 更新したスキルをユーザーに提示する
リファレンスファイルの基準
各リファレンスファイルには、以下を含める必要があります。
テーブルのドキュメントの場合
- 場所:テーブルの完全なパス
- 説明:このテーブルに含まれる内容と、使用するタイミング
- 主キー:行を一意に特定する方法
- 更新頻度:データの更新頻度
- 主要な列:列名、型、説明、注記を含むテーブル
- リレーションシップ:このテーブルを他のテーブルと結合する方法
- クエリの例:一般的なクエリパターンを 2~3 個
メトリクスのドキュメントの場合
- メトリクス名:人が読みやすい名前
- 定義:平易な英語での説明
- 計算式:列を参照した正確な計算方法
- ソーステーブル:データの取得元
- 注意事項:特殊なケース、除外事項、注意点
エンティティのドキュメントの場合
- エンティティ名:名称
- 定義:ビジネスにおいて表すもの
- 主要テーブル:このエンティティの検索先
- ID フィールド:エンティティの特定方法
- リレーションシップ:他のエンティティとの関係
- 一般的なフィルター:標準的な除外条件(社内データ、テストデータなど)
品質チェックリスト
生成したスキルを納品する前に、以下を確認してください。
- SKILL.md に完全なフロントマター(name、description)がある
- エンティティの曖昧さを解消するセクションが明確である
- 主要な用語が定義されている
- 標準的なフィルター/除外条件が記載されている
- ドメインごとに 2~3 個以上のクエリ例がある
- SQL が正しい方言の構文を使用している
- リファレンスファイルが SKILL.md のナビゲーションセクションからリンクされている