mz-sql-navigation について
mz-sql-navigationは、mz-deploy言語サーバーを使ってMaterialize SQLプロジェクトを調べるスキルです。文字列検索ではなく、オブジェクトの定義や依存関係を意味に基づいて確認できます。
主な機能
- 01SQLオブジェクトの定義へ移動
- 02列と型をホバーで確認
- 03ファイルとワークスペースのシンボル一覧
- 04編集後のパーサー診断
- 05変更前の依存関係確認
活用シーン
- 01別スキーマにあるビューの定義を探す
- 02ファイル不明のオブジェクトを名前で特定
- 03編集前に下流の依存関係を確認
- 04編集後にSQL構文エラーを把握
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ materializeinc/ agent-skills --skill mz-sql-navigationインストール後、Claude Code で/mz-sql-navigationを入力して読み込まれたか確認します。
詳細
Materialize SQL のナビゲーション
mz-deploy 言語サーバーは、mz-deploy プロジェクトのオブジェクトグラフに関する質問に回答します。こうした質問にはテキスト検索ではなく LSP ツールを使用してください。grep はオブジェクト名に見える文字列を見つけますが、言語サーバーはオブジェクトを見つけます。
用途
- 定義へ移動 — 参照されているビュー、テーブル、ソース、インデックスの定義場所を、スキーマをまたいで特定します。
- ホバー — 定義を開かずにオブジェクトの列と型を確認します。
- ドキュメントシンボル — 1 つの
.sqlファイルで定義されているオブジェクトを一覧表示します。 - ワークスペースシンボル — ファイルが分からないときに、名前でオブジェクトを特定します。
オブジェクトを変更する前に、これらの機能を使って依存関係を確認してください。Materialize では、ビューの定義によってその下流にあるすべてのものが制約されるため、単独では型チェックに通る編集でも、依存先を壊すことがあります。
診断
編集のたびに、構文エラーが自動的に表示されます。構文については、プロジェクトのビルドに mz-deploy が使用するものと同じパーサーからの診断を正として扱ってください。
要件
mz-deploy が PATH 上にある必要があります(which mz-deploy)。サーバーが正常に見えるのに、すべてのナビゲーション要求の結果が空になる場合は、プラグインの mz-deploy プロジェクトディレクトリ設定が project.toml のあるディレクトリ以外を指しています。サーバーはそのディレクトリをプロジェクトルートとして扱うため、サブディレクトリにあるプロジェクトでは、設定にそのサブディレクトリを指定する必要があります。grep に切り替えるのではなく、この問題を報告してください。古い設定は一度修正する価値があります。