[新機能]Omni公式のClaude Code Pluginを用いてClaude CodeからOmniのダッシュボードを作成してみた

[新機能]Omni公式のClaude Code Pluginを用いてClaude CodeからOmniのダッシュボードを作成してみた

2026.03.23

さがらです。

先日、Tableauの.twbファイルからOmniのSemantic LayerのYAMLコードをClaude Codeで自動生成し、さらにOmni上でのグラフ再現手順をまとめた移行ガイドMarkdownファイルを生成するところまでを検証しました。この記事の検証時点ではダッシュボード自体の移行は対応していませんでした。移行ガイドMarkdownファイルを見ながら手動でOmni上にグラフやダッシュボードを作成する必要がありました。

https://dev.classmethod.jp/articles/try-twb-to-omni-yaml-with-claude-code/

しかし先日、Omniから公式のClaudeコネクタとSkillをまとめたPluginが公開されました。このPluginに含まれるSkillではダッシュボードの作成も行えるようなので、早速試してみました。その内容について本記事でまとめてみます。

https://omni.co/blog/announcing-claude-connector-and-claude-skills

https://github.com/exploreomni/omni-claude-skills

機能概要

Omni Claude Skillsとは

Omni Claude Skillsは、Claude CodeからOmniのAPIを操作するための公式Skillセットです。2026年3月23日時点で、以下の8つのSkillが提供されています。

Skill名 概要
omni-content-builder Workbook/Query/Dashboard/Tileの作成・更新
omni-model-explorer Topic・Viewのフィールド情報を探索
omni-content-explorer 既存のWorkbook/Dashboard/Queryの情報を取得
omni-query-runner Queryを実行しデータを取得
omni-look-and-feel Workbookのテーマ・スタイルを設定
omni-visual-check ビジュアライゼーションのスクリーンショットを取得・確認
omni-doc-lookup Omniの公式ドキュメントを検索
omni-admin ユーザー・グループ・権限の管理

本記事では、omni-content-builderをメインに使い、事前確認でomni-model-explorer、結果確認でomni-content-explorerを使用します。

前提条件

  • Omni: API Access有効、Snowflake接続設定済み、Semantic Layer(Topic/View)構築済み(先日の記事で実施)
  • Omni API Key: Settings > API Keysで発行済み
  • Claude Code: Max100プラン、Opus 4.6を使用
  • OS: Ubuntu 24.04 LTS(WSL2を使用)

事前準備

1. Omni Claude Skillsプラグインのインストール

Claude Codeを起動し、以下のコマンドでOmni Claude Skillsをインストールします。

/plugin marketplace add exploreomni/omni-claude-skills
/plugin install omni-analytics@omni-analytics

2026-03-23_09h15_59

インストール後Claudeを再起動し、/skillsコマンドでomni-content-builderomni-model-exploreromni-content-explorerなどが表示されればOKです。

2026-03-23_09h17_41

2. 環境変数の設定

Omni Claude Skillsを使うには、以下の2つの環境変数を設定する必要があります。

export OMNI_BASE_URL="https://<your-omni-instance>.omniapp.co"
export OMNI_API_KEY="<your-api-key>"

OMNI_BASE_URLはOmniインスタンスのURL、OMNI_API_KEYはOmniのSettings > API accessで発行したAPIキーを設定します。

3. 先日の記事で生成した移行ガイドMarkdownファイル

先日の記事のSkillで生成された移行ガイドMarkdownファイルは以下の4ファイルです。これらをomni-content-builderへの入力情報として使用します。

  • index.md | チャートタイプマッピング、計算フィールド・パラメータのマッピング一覧

2026-03-23_09h25_09

  • worksheet_月別トレンド_売上月別推移.md | 月別トレンドLine Chartの再現手順(7ステップ)

2026-03-23_09h26_38

  • worksheet_店舗別_遅延状況_店舗別遅延分析.md | 店舗別遅延状況Bar Chartの再現手順(7ステップ)

2026-03-23_09h27_04

  • dashboard_売上・遅延確認ダッシュボード_売上・遅延概況.md | ダッシュボードの構成(2つのワークシート)、共有フィルター、再現方針

2026-03-23_09h25_48

試してみた

1. omni-model-explorerでTopic・フィールドの確認

まず、移行ガイドMarkdownに記載されているフィールドがOmni上のTopicに存在するかを確認します。Claude Codeに以下のように依頼します。

omni-model-explorerを使って、Topic「売上・遅延分析(Tableauデータソース:売上・遅延確認用)」のフィールド一覧を取得してください。
特に以下のフィールドが存在するか確認してください:
- order_status_group
- sla_judgment
- region_avg_fulfillment_days
- selected_metric
- delivered_count
- delayed_count
- delay_rate
- gmv
- metric_selector
- sla_threshold

各種コマンドがClaude Code経由で実行された後、index.mdに記載されている8つのcalculated fieldsと2つのparameterに対応するフィールドがOmni上に存在していることが確認できればOKです。

2026-03-23_09h27_46

2. 月別トレンド(Line Chart)の作成

worksheet_月別トレンド_売上月別推移.mdの内容を基に、omni-content-builderでLine Chartを作成します。Claude Codeに以下のように依頼します。

omni-content-builderを使って、以下の移行ガイドの内容に基づき、Omni上にLine Chartを作成してください。

worksheet_月別トレンド_売上月別推移.md を読み込んで、Omni Reproduction Stepsの手順に沿ってLine Chartを作成してください。
Topic名は「売上・遅延分析(Tableauデータソース:売上・遅延確認用)」です。
作成・追記するWorkbook名は「20260323_create_by_claude_sagara」にしてください。

Claude Code経由で、以下のようにOmniのAPIを叩くコマンドが実行されます。

2026-03-23_09h33_45

実行完了後、以下のようにアクセス用のURLと併せてどんなタイルを作成したかが表示されます。

2026-03-23_09h40_01

URLを開いてOmni上で作成されたLine Chartを確認すると、下図のようにグラフが生成されていることが確認できました。

2026-03-23_09h41_53

3. 店舗別遅延状況(Bar Chart)の作成

次に、worksheet_店舗別_遅延状況_店舗別遅延分析.mdの内容を基に、Bar Chartを作成します。

omni-content-builderを使って、以下の移行ガイドの内容に基づき、Omni上にBar Chartを作成してください。

migration-guides-twb2omni/OmniへのClaudeCodeでの変換検証_202603/worksheet_店舗別_遅延状況_店舗別遅延分析.md を読み込んで、Omni Reproduction Stepsの手順に沿ってBar Chartを作成してください。
Topic名は「売上・遅延分析(Tableauデータソース:売上・遅延確認用)」です。
作成・追記するWorkbook名は「20260323_create_by_claude_sagara」にしてください。

先ほどと同様に、Claude Code経由でOmniのAPIを叩くコマンドが実行されます。(今回はタイルの追加のため、下図のように既存ドキュメントを削除して両タイルを含む新ドキュメントを作成する挙動となりました。)

2026-03-23_09h47_21

2026-03-23_09h48_39

実行完了後、以下のようにアクセス用のURLと併せてどんなタイルを作成したかが表示されます。

2026-03-23_09h50_28

Omni上で作成されたBar Chartを確認します。Markdownの内容に沿って折れ線グラフのタイルに棒グラフのタイルが追加されたダッシュボードが作成されました。しかし、本来のMarkdownの指示とは異なり、X軸・Y軸・色分けでそれぞれ想定通りの設定がされていませんでした

2026-03-23_09h52_04

2026-03-23_09h53_26

4. ダッシュボードの作成

これまでは各グラフを1つずつ追加する方向で検証していましたが、先程の「3. 店舗別遅延状況(Bar Chart)の作成」の検証結果を見るに、1度にまとめてダッシュボードまで作成したほうがWorkbookの削除も発生しないため良さそうだと感じました。

そのため、dashboard_売上・遅延確認ダッシュボード_売上・遅延概況.mdの内容を基に、2つのグラフをダッシュボードに1つにまとめることを1回のClaude Codeへの依頼で行なうことを試してみます。

omni-content-builderを使って、以下の移行ガイドの内容に基づき、Omniダッシュボードを作成してください。

dashboard_売上・遅延確認ダッシュボード_売上・遅延概況.md を読み込んで、ダッシュボードを作成してください。作成・追記するWorkbook名は「20260323_create_by_claude_sagara」にしてください。

2つのQuery(月別トレンド Line Chart、店舗別遅延状況 Bar Chart)を以下の構成でダッシュボードに配置してください:
- 上段Tile: 月別トレンド(Line Chart)worksheet_月別トレンド_売上月別推移.md
- 下段Tile: 店舗別遅延状況(Bar Chart)worksheet_店舗別_遅延状況_店舗別遅延分析.md
- Dashboard Filter Controlsに metric_selector と sla_threshold を追加

これまでと同様に、Claude Code経由でOmniのAPIを叩くコマンドが実行されます。

2026-03-23_10h01_56

実行完了後のログは以下です。

2026-03-23_10h02_50

Omni上でダッシュボードを確認します。フィルタも適切に設定されていましたが、先ほどと同様に、本来のMarkdownの指示とは異なり、X軸・Y軸・色分けでそれぞれ想定通りの設定がされていませんでした

2026-03-23_10h03_46

そのため、以下の修正依頼を行ってみます。(結果としてはダッシュボードの再生成になります。)

先程生成してもらったダッシュボードについて、店舗別遅延状況(Bar Chart)のグラフが適切に作られていません。以下の設定に沿ってもう一度グラフを作成してくれますか

- X軸: `delayed_count`(遅延件数)
- Y軸: `store_name`(店舗名)
- Color: `omni_dbt_dwh__fact_order_lifecycle.region_avg_fulfillment_days`(地域別_平均フルフィル日数)を Color encoding に設定

この結果、もう一度ダッシュボードが生成されて、下図のように表示されました。しかし、結果は先程と変わらずでした…

2026-03-23_10h08_45

対策としては、Skillにこのあたりの仕様の説明を追加する必要があると感じたので、これは公式が対処するかユーザー側でこのSkillをカスタマイズするしかなさそうです。

最後に

先日の記事の「Semantic Layer YAML自動生成&移行ガイドMarkdown作成」と、今回の「Omni Claude Skillsによるダッシュボード自動作成」を組み合わせることで、Tableauの.twbファイルからOmniのダッシュボードまでを2段階のワークフローで自動化できることを確認しました。

ただし、今回の検証範囲では一部のグラフでX軸・Y軸・Colorに適切なフィールドを設定してくれないことが気になりました。ここは記事中でも書いた通り、Skill側を修正していく必要がありそうです。

いずれにせよ、今回リリースされたSkillを使うことでベースラインとなるダッシュボードはClaude Codeから簡単に作成できることがわかりました。今回は移行をスコープにした内容でしたが、完全新規のダッシュボードを自然言語でリクエストできるのも強いと思います。

ぜひ、ご活用ください!

この記事をシェアする

FacebookHatena blogX

関連記事