Claude Code × dbtの組み合わせで使うdbt agent skills — 2つのチームの活用パターン【株式会社ライトコード】
はじめに
今回のペアブログでは、たまたまデータ関連の部署のメンバー同士でペアを組むことになりました。
実際はチームが違うので業務の領域も異なるのですが、dbtをメインで使っているチームと、今回新たに導入するチームにそれぞれ所属しています。
両チームに共通するdbtと、社内でも利用が積極的に推進されているClaude Codeを組み合わせ、dbt agent skillsについて記事を書いてみることにしました。
dbt agent skillsの概要
dbt agent skillsとは
dbt Labsが公式に公開している、Claude Code向けのAgent Skillsセットです。これらのスキルはスラッシュコマンドで呼び出すものではなく、必要なタイミングで暗黙的に呼び出されます。ユーザーは使用したいスキルを指定することなく、プロンプトの内容からClaude Codeが必要なスキルを判断し、自動で読み込んで結果に反映してくれます。
たとえば「このモデルをbuildして」と依頼するとrunning-dbt-commandsが、「incremental設定のオプションを調べたい」と依頼するとfetching-dbt-docsが呼び出されるようなイメージです。
インストール手順
Claude Code上で次のコマンドを実行することでインストールできます。11個のスキルは基本プラグインと移行用プラグインの2つのプラグインに分かれて配布されており、すべて入れたい場合は両方のプラグインをインストールします。移行用プラグインは普段は使わないため、必要に応じて追加します。
# marketplaceを追加
/plugin marketplace add dbt-labs/dbt-agent-skills
# 基本プラグインをインストール
/plugin install dbt@dbt-agent-marketplace
# 移行用プラグインをインストール(移行プロジェクトのときだけでOK)
/plugin install dbt-migration@dbt-agent-marketplace収録されているスキル基本的なスキル(9種類)
日常的に発火するスキルで、基本プラグインに同梱されています。
- using-dbt-for-analytics-engineering:
dbtモデルの構築と修正、エラーのデバッグ、データソースの探索、テストの記述を担う - running-dbt-commands:
dbt CLIコマンドを、正しいフラグ・selector・パラメータ形式で実行する - adding-dbt-unit-test:
dbtモデル向けのunit testを追加し、テスト駆動開発を実践する - fetching-dbt-docs:
dbtドキュメントを効率的に参照する」 - troubleshooting-dbt-job-errors:
dbtプラットフォーム上のジョブ失敗を診断し、解決する - building-dbt-semantic-layer:
MetricFlowでsemantic models、metrics、dimensionsを作成する - answering-natural-language-questions-with-dbt:
Semantic Layerに問い合わせて、ビジネス上の質問に回答する - working-with-dbt-mesh:
dbt Meshのガバナンス(contracts、access、groups、versions)と、プロジェクト横断の連携を実装する - configuring-dbt-mcp-serve:
Claude、Cursor、VS Code向けにdbt MCPサーバーをセットアップする
移行用スキル(2種類)
移行プロジェクト中に一度だけ使用するスキルで、移行用プラグインに同梱されています。
- migrating-dbt-project-across-platforms:
dbtプロジェクトをデータプラットフォーム間で移行する - migrating-dbt-core-to-fusion:
dbtプロジェクトをdbt CoreからFusionエンジンへ移行する
現場プロジェクトでの活用例
活用例1 —— dbt Cloudジョブの失敗をスキルで調査
こんにちは、林です。私の所属するチームではメインの業務でdbtを利用しています。このスキルを使うのは初めてですが、インストールすればすぐに使えるため、実際の業務で使ってみることにしました。
事前準備: スキルが呼び出されたことを確認する仕組み
dbt agent skillsは暗黙的に呼び出されるため、業務中のどの場面でどのスキルが呼ばれているかを把握する仕組みを先に用意しました。Claude Code自体には公式のスキル呼び出しログ機能はないため、Hooks機能を使って自前のログファイルに書き出す形にしています。
.claude/settings.jsonのhooksにPreToolUseを追加し、Skillツールが呼ばれる直前にログ取得スクリプトを実行します。
"hooks": {
"PreToolUse": [
{
"matcher": "Skill",
"hooks": [
{ "type": "command", "command": "bash ~/.claude/hooks/log-skill.sh" }
]
}
]
}log-skill.shは、呼ばれたスキル名・タイムスタンプ・作業ディレクトリ・引数を.claude/skill-usage.logに追記し、画面に「⭐️ Skill: <スキル名>」のシステムメッセージを表示します。
(今回は目立たせたかったので絵文字をつけてみました)
…
記事の続きは下のURLをクリック!
https://rightcode.co.jp/blogs/56034
もっとワクワクしたいあなたへ
現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「データエンジニア」「ゲームエンジニア」「デザイナー」「WEBディレクター」「営業」などを積極採用中です!
ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。
有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。
- もっと大きなことに挑戦したい!
- エンジニアとしてもっと成長したい!
- モダンな技術に触れたい!
現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?
ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。
- ライトコードの魅力を知っていただきたい!
- 社風や文化なども知っていただきたい!
- 技術に対して熱意のある方に入社していただきたい!
一度、【Wantedly内の弊社ページ】をのぞいてみてください。