dbt-model-planner は何をしますか?
Claude Codeスキル:スキーマ要件から構造化プランニング、人間によるレビュー、スキーマ検証、マルチダイアレクトSQL生成を通じてdbtモデルを計画・構築します。
概要
このスキルは、dbt(データビルドツール)モデルを体系的に計画・構築するためのワークフローを提供します。以下の機能があります:
- 構造化プランニング:スキーマ要件に基づいてモデル計画を生成
- 人間によるレビュー:計画段階でのフィードバックを組み込み、品質を確保
- スキーマ検証:生成されたモデルが定義されたスキーマに準拠していることを確認
- マルチダイアレクトSQL生成:複数のデータウェアハウスに対応したSQLを生成
使用方法
Claude Code環境で以下のようにこのスキルを使用します:
claude --skill wan-huiyan/dbt-model-planner
または、会話の中でスキルを有効にします。
ワークフロー
- 要件入力:ユーザーがスキーマ要件を提供します。
- モデル計画:スキーマ要件に基づいて、dbtモデル構造を計画します。
- 人間によるレビュー:計画されたモデルをユーザーが確認し、フィードバックを提供します。
- スキーマ検証:モデルが期待されるスキーマに適合しているかを自動検証します。
- SQL生成:選択されたデータウェアハウスに最適化されたSQLを生成します。
対応データウェアハウス
| データウェアハウス | ダイアレクト |
|---|---|
| BigQuery | bigquery |
| Snowflake | snowflake |
| Redshift | redshift |
| Databricks | databricks |
設定
環境変数で設定を調整できます:
DBT_PROJECT_DIR:dbtプロジェクトのディレクトリ(デフォルト:カレントディレクトリ)DBT_PROFILES_DIR:dbtプロファイルのディレクトリ(デフォルト:~/.dbt/)
スキーマ要件の例
input_schema:
- name: user_id
type: integer
description: ユーザーの一意識別子
- name: user_name
type: varchar(255)
description: ユーザーの表示名
- name: email
type: varchar(255)
description: ユーザーのメールアドレス
出力例
生成されたdbtモデル(models/staging/stg_users.sql):
-- stg_users.sql
-- dbtモデル:ユーザーステージングテーブル
with source as (
select * from {{ source('raw', 'users') }}
),
renamed as (
select
user_id as user_id,
user_name as user_name,
email as email
from source
)
select * from renamed
注意事項
- このスキルはClaude Code環境でのみ動作します。
- 人間によるレビューステップでは、ユーザーの入力を待つため、インタラクティブセッションが必要です。
- スキーマ検証は基本的な型チェックと必須フィールドの確認を行います。
ライセンス
このスキルはMITライセンスの下で提供されます。