メインコンテンツまでスキップ

チュートリアル: Unity Catalogスキルを作成して共有する

このチュートリアルは、スキルをガバナンス対象の Unity Catalog 資産として管理したいスキル作成者および中央チームを対象としています。スキルをローカルで開発し、Unity Catalog スキーマに公開して共有することで、Databricks データの残りの部分を管理するのと同じ権限と監査の下で、チームメイトのエージェントがそのスキルを使用できるようになります。

要件

  • Unity Catalogが有効化されたDatabricksワークスペース、およびワークスペースURL(例:https://my-company.cloud.databricks.com)。
  • マシン上の Python 3.12 以降および uv (ucode のインストールに使用)。
  • MCP対応のコーディングエージェント(MCP:Model Context Protocolは、エージェントがツールに接続するために使用するオープン標準です)。
  • USE SCHEMA およびターゲットスキーマ上のCREATE VOLUME。これらはDatabricks管理者が付与します。完全なモデルについては、スキルのガバナンスを参照してください。

ucodeのインストールと接続

ucode をインストールし、それを使用してコーディングエージェントをDatabricksワークスペースのスキルレジストリに接続します。

ucode はワークスペースにサインインし、エージェントがスキルを作成および更新するために使用する Databricks Skills MCP server (databricks-skill-registry) を登録します。

プロンプト

エージェントにucodeのインストールと接続を依頼してください:

Install ucode from its Git source and connect my coding agent to Databricks:

1. Run: uv tool install git+https://github.com/databricks/ucode
2. Run: ucode configure --agents <your-agent> --workspaces https://<workspace-host>
3. Run: ucode configure skills

Use <your-agent> = my coding agent (claude, codex, gemini, opencode, or copilot) and
<workspace-host> = my workspace URL host (for example, my-company.cloud.databricks.com).
A browser will open during step 2 for me to sign in.

ご自身で行う場合は、ターミナルで同じコマンドを実行してください。

Bash
uv tool install git+https://github.com/databricks/ucode
ucode configure --agents <your-agent> --workspaces https://<workspace-host>
ucode configure skills

<your-agent>を使用するコーディングエージェントの名前(例:claudecodexgeminiopencode、またはcopilot)に置き換え、<workspace-host>をワークスペースURLホストに置き換えます。ucode configureの実行中にブラウザが開き、サインインを求められます。その後、エージェントを再起動して(ucode <your-agent>)、新しいツールを読み込ませます。

スキルをローカルで開発する

スキルとは単なるフォルダーです。手順が記載された SKILL.md ファイルと、エージェントが読み取るべきサポートファイルで構成されます。

このチュートリアルでは databricks-sql-guide スキルを構築します。これは Databricks SQL を記述するためのチームの規約であり、エージェントが記述するすべてのクエリーが同じ標準に従うようにします。

プロンプト

エージェントにスキルをドラフト作成させます:

Draft a databricks-sql-guide skill in a local folder ./databricks-sql-guide. Create a SKILL.md
with our Databricks SQL conventions: snake_case naming, named CTEs over nested subqueries,
filter on partition columns, and avoid SELECT *. Give it a specific description that says what
it covers and when to use it.

エージェントは次のようなフォルダーを書き込みます:

databricks-sql-guide/
└── SKILL.md

最小限の SKILL.md には、YAMLフロントマターと指示が含まれています:

Markdown
---
name: databricks-sql-guide
description: Databricks SQL conventions for writing queries — use for any Databricks SQL authoring or review.
---

# Databricks SQL guide

- Use snake_case for table, column, and CTE names.
- Prefer named CTEs over nested subqueries.
- Always filter on partition columns when they exist.
- Never use `SELECT *`; list columns explicitly.

description が最も重要です。これは、エージェントがスキルを使用するかどうかを決定する際に照合される対象であるため、そのスキルが 何を カバーし、 いつ 使用すべきかを具体的に記述してください。下書きを確認し、独自の規則が反映されるまで修正してください。

スキルを Unity Catalog に公開する

公開すると、ローカルフォルダーがガバナンス対象のスキルとしてUnity Catalogスキーマにuploadされます。あなたがそのスキルの 所有者 となり、共有するまで非公開となります。

プロンプト

エージェントに公開を依頼する:

Publish my ./databricks-sql-guide folder to the acme.sql_skills schema in Databricks.

エージェントは create_skill MCP ツールを呼び出してフォルダーを upload し、スキルを登録します。

後でスキルを変更するには、ローカルフォルダを編集し、フォルダから更新するようにエージェントに指示します。エージェントは同じサーバー上で update_skill を呼び出します。

スキルの共有

公開されたスキルは、アクセス権を付与するまで非公開となります。READ VOLUMEを付与することで、カタログエクスプローラーから共有できます。

必要な権限: スキルの所有者であるか、そのスキルに対する MANAGE 権限が必要です。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。
  2. スキルが保持されているスキーマに移動し、そのスキルを選択します。
  3. 権限 タブに移動します。
  4. 付与 をクリックします。
  5. ユーザーのメールアドレスまたはグループ名を入力します。
  6. READ VOLUMEを選択してください。
  7. OK をクリックします。

受信者がスキルにアクセスするには、acmeに対するUSE CATALOGと、sql_skillsに対するUSE SCHEMAも必要です。カタログとスキーマに対しても同様の方法で権限を付与します。後でアクセス権を取り消すには、[ 権限 ] tab で付与された権限を選択し、[ 取り消し ] をクリックします。

スキルの共有はコピーではなく権限の付与です。受信者のエージェントは、付与された権限と監査の下でライブスキルを読み取るため、同期を維持する必要はありません。完全な権限モデルについては、スキルのガバナンスを参照してください。

共有されると、チームメイトは各自のエージェントからあなたのスキルを見つけて使用できるようになります。「Unity Catalog スキルの検出と使用」を参照してください。

GitスキルリポジトリをUCスキーマに同期する

チームがGitリポジトリでスキルを管理している場合、それらすべてをスキーマに自動的に公開して、スキーマがリポジトリのBranchを追跡するように設定できます。

次のノートブックをDatabricksワークスペースにインポートし、git_urlcatalogschema、およびbranchのウィジェット(プライベートリポジトリの場合はgit_credential_id)を設定してから、スケジュールに従って実行します。リポジトリを複製し、新しいスキルを作成して、変更されたスキルを更新します。削除は行われないため、リポジトリから削除されたスキルは、明示的にドロップするまでスキーマ内に残ります。これはワークスペースの資格情報で実行され、あなたとして公開されます。

スキルの Git リポジトリを Unity Catalog スキーマに同期する

この方法でスキーマが同期されると、コンシューマーはスキーマ全体をライブでロードできるため、エージェントは常に最新の公開済みスキルを取得できます。

リファレンス

ucode はオープンソースです。完全な最新のコマンドリファレンスについては、ucodeリポジトリを参照してください。このチュートリアルで使用するコマンドは、上記のステップ内にインラインで記載されています。

スキルツール (接続後、エージェントが databricks-skill-registry MCPサーバー上でこれらを呼び出します):

ツール

目的

create_skill / update_skill / delete_skill

スキルの公開、更新、または削除

ツール

目的

create_skill / update_skill / delete_skill

スキルの公開、更新、または削除

スキルを共有するには、カタログエクスプローラーでそのスキルに対して READ VOLUME を付与します。スキルの共有を参照してください。

次のステップ