query-validation について
本番投入前のクエリ確認や、予想外の結果・低速な実行の調査に使う、分析担当者やデータチーム向けのSQLレビュースキルです。SQLの静的検査、アンチパターン確認、実行計画の解析、エンジン別ガイドを組み合わせてレビューします。
主な機能
- 01SQLの構文とエンジン互換性を検査
- 02重大度付きでクエリのアンチパターンを指摘
- 03実行計画から遅い処理を解析
- 04スキーマ統計がある場合に結合カーディナリティを推定
- 05レビュー結果と最適化案を作成
活用シーン
- 01ダッシュボードやレポート公開前のクエリ確認
- 02予想外のクエリ結果の調査
- 03性能問題の特定と書き換え案の検討
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nimrodfisher/ data-analytics-skills --skill query-validationインストール後、Claude Code で/query-validationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/optimization_recommendations.mdquery_review_template.mdreferences/engine_specific_guide.mdsql_anti_patterns.mdscripts/cardinality_estimator.pyexplain_plan_parser.pysql_lint.py詳細
使用するタイミング
- SQL クエリを本番環境のダッシュボードやレポートに反映する前
- クエリの結果が予想外、または正しくない場合
- クエリの実行が遅く、パフォーマンスのレビューが必要な場合
- アンチパターン(暗黙の型変換、SELECT *、上限のない CTE)によるインシデントを未然に防ぎたい場合
プロセス
- クエリを lint する —
scripts/sql_lint.py(sqlglot ベース)を実行し、構文エラー、対象エンジンでサポートされていない関数、スタイル違反を検出します。続行する前に重大なエラーを修正します。 - アンチパターンをレビューする — クエリの構造を
references/sql_anti_patterns.mdと照合します。該当するアンチパターンがあれば、重大度を評価して指摘します。 - 実行プランを解析する — EXPLAIN またはクエリプロファイルの出力がある場合は、
scripts/explain_plan_parser.pyを実行して、処理の遅いステップ(全テーブルスキャン、インデックス不足、多すぎる推定行数)を抽出します。 - カーディナリティを推定する — スキーマの統計情報がある場合は、
scripts/cardinality_estimator.pyを実行して、予期しないファンアウトが発生する可能性のある結合を指摘します。 - エンジン固有の動作を確認する — 対象エンジン(Snowflake / BigQuery / Postgres / Redshift)に応じて
references/engine_specific_guide.mdを参照し、日付関数、ウィンドウ関数の動作、クラスタリングの前提を確認します。 - レビュー結果を作成する —
assets/query_review_template.mdに調査結果を記入します。パフォーマンス上の問題が見つかった場合は、assets/optimization_recommendations.mdも記入します。
このスキルに必要な入力
- 必須:SQL クエリのテキスト
- 必須:対象のデータベースエンジン(Snowflake / BigQuery / Postgres / Redshift / その他)
- 任意:関連するテーブルスキーマ(列名、型、おおよその行数)
- 任意:EXPLAIN / クエリプロファイルの出力
- 任意:期待されるビジネスロジック — クエリで何を計算するか
出力
assets/query_review_template.md(記入済み) — カテゴリ別の調査結果:正確性、パフォーマンス、スタイルassets/optimization_recommendations.md(問題が見つかった場合は記入済み) — 期待される効果を添えた、優先順位付きの書き換え案
コメント
Markdown 対応