Community研究&データ分析github.com

wan-huiyan/dbt-model-planner

スキーマ要件から構造化プランニング、人間によるレビュー、スキーマ検証、マルチダイアレクトSQL生成を通じてdbtモデルを計画・構築するClaude Codeスキル

dbt-model-planner とは?

このスキルは、Claude Codeの機能を拡張し、スキーマ要件からdbtモデルを体系的に計画・構築するためのエージェントワークフローを提供します。ユーザーが入力したスキーマ要件に基づいて、複数のステップ(要件分析、モデル計画、人間によるレビュー、スキーマ検証、SQL生成)を実行し、最終的にdbtモデルを生成します。主な特徴として、構造化されたプランニング段階で人間のフィードバックを組み込み、データモデルの品質を確保します。また、複数のSQLダイアレクト(BigQuery、Snowflake、Redshift、Databricksなど)に対応しており、特定のデータウェアハウスに最適化されたSQLを生成できます。このスキールはデータエンジニアやAIエージェント開発者にとって、dbtモデル作成の反復的な作業を自動化し、スキーマ検証によるエラー削減、そして複数のデータベース環境に適応可能な柔軟性を提供します。Claude Code上で動作し、ファイル操作やコード生成を通じてdbtプロジェクトとシームレスに連携します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add wan-huiyan/dbt-model-planner

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

dbt-model-planner は何をしますか?

Claude Codeスキル:スキーマ要件から構造化プランニング、人間によるレビュー、スキーマ検証、マルチダイアレクトSQL生成を通じてdbtモデルを計画・構築します。

概要

このスキルは、dbt(データビルドツール)モデルを体系的に計画・構築するためのワークフローを提供します。以下の機能があります:

  • 構造化プランニング:スキーマ要件に基づいてモデル計画を生成
  • 人間によるレビュー:計画段階でのフィードバックを組み込み、品質を確保
  • スキーマ検証:生成されたモデルが定義されたスキーマに準拠していることを確認
  • マルチダイアレクトSQL生成:複数のデータウェアハウスに対応したSQLを生成

使用方法

Claude Code環境で以下のようにこのスキルを使用します:

claude --skill wan-huiyan/dbt-model-planner

または、会話の中でスキルを有効にします。

ワークフロー

  1. 要件入力:ユーザーがスキーマ要件を提供します。
  2. モデル計画:スキーマ要件に基づいて、dbtモデル構造を計画します。
  3. 人間によるレビュー:計画されたモデルをユーザーが確認し、フィードバックを提供します。
  4. スキーマ検証:モデルが期待されるスキーマに適合しているかを自動検証します。
  5. SQL生成:選択されたデータウェアハウスに最適化されたSQLを生成します。

対応データウェアハウス

データウェアハウスダイアレクト
BigQuerybigquery
Snowflakesnowflake
Redshiftredshift
Databricksdatabricks

設定

環境変数で設定を調整できます:

  • 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ライセンスの下で提供されます。

関連スキル