semantic-model-builder について
semantic-model-builderは、メトリクス、ディメンション、エンティティを構造化YAMLで定義するデータスキルです。データチームによる業務定義の標準化やメタデータの検証、セマンティックレイヤー向けの準備に役立ちます。
主な機能
- 01メトリクス、ディメンション、エンティティのYAMLを生成
- 02項目、型、参照を検証
- 03dbt Semantic Layerのガイドを参照
- 04定義ファイルと検証レポートを作成
活用シーン
- 01メトリクスの標準定義を確立
- 02dbt Semantic Layer用のYAMLを準備
- 03中核データモデルのメタデータを記録
- 04既存のセマンティックモデルYAMLを確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nimrodfisher/ data-analytics-skills --skill semantic-model-builderインストール後、Claude Code で/semantic-model-builderを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/dimension_definition.yamlentity_definition.yamlmetric_definition.yamlreferences/dbt_semantic_layer_guide.mddimension_hierarchy_patterns.mdmetric_definition_framework.mdscripts/metric_template_generator.pymodel_yaml_validator.py詳細
使用する場面
- 関係者から「[metric] はどのように計算されますか?」と尋ねられたが、正式な定義が存在しない
- dbt Semantic Layer を設定しており、YAML によるメトリクス/ディメンション/エンティティの定義が必要
- 複数のチームが同じメトリクスに異なる SQL クエリを使っており、唯一の正式な定義を明文化する必要がある
- 中核モデルのデータカタログ項目を作成しており、構造化メタデータが必要
プロセス
- オブジェクトの種類を特定する — メトリクス、ディメンション、エンティティのどれを文書化するか決めます。メトリクスには
references/metric_definition_framework.md、ディメンションにはreferences/dimension_hierarchy_patterns.mdのフレームワークを使用します。 - 定義に必要な情報を集める — 計算ロジック(SQL または数式)、ビジネス上の背景、データソース、粒度、エッジケース、既知の注意点を集めます。不明な点があれば、データのオーナーに確認します。
- YAML テンプレートを生成する —
scripts/metric_template_generator.pyを実行して、オブジェクトの種類に応じた YAML の初期構造を作成します。生成されたテンプレートに値を入力します。 - YAML を検証する —
scripts/model_yaml_validator.pyを実行して、必須フィールド、型の制約、参照の整合性(参照先のディメンションが同じファイル内に存在すること)を確認します。 - dbt のコンテキストを追加する — dbt Semantic Layer にデプロイする場合は、使用する dbt バージョンにおける正確なフィールド名と制約について、
references/dbt_semantic_layer_guide.mdを参照します。 - 最終定義を保存する — メトリクスは
assets/metric_definition.yaml、ディメンションはassets/dimension_definition.yaml、エンティティはassets/entity_definition.yamlに保存します。
スキルに必要な入力
- 必須:文書化するメトリクス名またはモデル名
- 必須:計算ロジック — SQL スニペット、数式、または自然言語による手順
- 必須:ビジネス上の背景 — 誰が使うのか、どのような意思決定に役立つのか、「良好な」値とはどのようなものか
- 任意:データソースのテーブル名とカラム名
- 任意:対象のセマンティックレイヤーのフレームワーク(dbt Semantic Layer、Cube.js、LookML など)
- 任意:検証する既存の YAML
出力
assets/metric_definition.yaml— 入力済みのメトリクス YAML 定義assets/dimension_definition.yaml— 入力済みのディメンション YAML 定義assets/entity_definition.yaml— 入力済みのエンティティ YAML 定義scripts/model_yaml_validator.pyによる検証レポート(インライン出力)
コメント
Markdown 対応