write-query
指定したSQL方言のベストプラクティスに従い、最適化されたSQLを生成します。自然言語のデータ要件をSQLに変換したいとき、複数のCTEを用いたJOINや集計クエリを構築するとき、大規模パーティションテーブルへのクエリを最適化するとき、またはSnowflake・BigQuery・Postgres等の方言固有の構文が必要なときに活用してください。
description の原文を見る
Write optimized SQL for your dialect with best practices. Use when translating a natural-language data need into SQL, building a multi-CTE query with joins and aggregations, optimizing a query against a large partitioned table, or getting dialect-specific syntax for Snowflake, BigQuery, Postgres, etc.
SKILL.md 本文
/write-query - 最適化されたSQLを書く
不明なプレースホルダーがある場合や、どのツールが接続されているかを確認する必要がある場合は、
CONNECTORS.mdを参照してください。
自然言語の説明から SQL クエリを書き、特定の SQL 方言に対して最適化し、ベストプラクティスに従います。
使用方法
/write-query <必要なデータの説明>
ワークフロー
1. リクエストを理解する
ユーザーの説明を解析して、以下を特定します:
- 出力列: 結果に含めるべきフィールドは何か?
- フィルター: データを制限する条件は何か(時間範囲、セグメント、ステータスなど)?
- 集計: GROUP BY操作、カウント、合計、平均などが必要か?
- 結合: 複数のテーブルを組み合わせる必要があるか?
- 並べ替え: 結果をどのように並べ替えるべきか?
- 制限: top-Nやサンプリング要件があるか?
2. SQL 方言を確認する
ユーザーの SQL 方言がまだわかっていない場合は、どの方言を使用しているかを確認します:
- PostgreSQL (Aurora、RDS、Supabase、Neon を含む)
- Snowflake
- BigQuery (Google Cloud)
- Redshift (Amazon)
- Databricks SQL
- MySQL (Aurora MySQL、PlanetScale を含む)
- SQL Server (Microsoft)
- DuckDB
- SQLite
- その他 (詳細を確認)
同じセッション内の今後のクエリでも方言を覚えておきます。
3. スキーマを発見する(ウェアハウスが接続されている場合)
データウェアハウス MCP サーバーが接続されている場合:
- ユーザーの説明に基づいて関連するテーブルを検索
- 列の名前、型、関係を確認
- パフォーマンスに影響するパーティショニングキーやクラスタリングキーを確認
- クエリを簡素化する可能性のある事前構築ビューまたは具体化ビューを探す
4. クエリを書く
以下のベストプラクティスに従います:
構造:
- クエリが複数の論理的ステップを持つ場合、読みやすさのために CTE (WITH 句) を使用
- 論理的な変換またはデータソースごとに 1 つの CTE
- CTE に説明的な名前を付ける (例:
daily_signups、active_users、revenue_by_product)
パフォーマンス:
- 本番クエリで
SELECT *を使用しない -- 必要な列のみを指定 - 早い段階でフィルターする (WHERE 句をベーステーブルに可能な限り近く配置)
- 利用可能な場合はパーティションフィルターを使用 (特に日付パーティション)
- 大規模な結果セットを持つサブクエリには
INではなくEXISTSを優先 - 適切な JOIN 種別を使用 (INNER JOIN が正しい場合に LEFT JOIN を使用しない)
- 相関サブクエリは、JOIN またはウィンドウ関数が機能する場合は避ける
- 爆発的な結合 (多対多) に注意
読みやすさ:
- 非自明なロジックについて「なぜ」を説明するコメントを追加
- 一貫したインデントとフォーマットを使用
- テーブルに意味のある短い別名を付ける (
a、b、cのような単なる文字ではなく) - 主要な句をそれぞれ独立した行に配置
方言固有の最適化:
- 方言固有の構文と関数を適用 (
sql-queriesスキルの詳細を参照) - 方言に適切な日付関数、文字列関数、ウィンドウ構文を使用
- 方言固有のパフォーマンス機能に注意 (例: Snowflake クラスタリング、BigQuery パーティショニング)
5. クエリを提示する
以下を提供します:
- 完全なクエリ - SQL コードブロック内で構文ハイライト付き
- 簡潔な説明 - 各 CTE またはセクションが何をするかを説明
- パフォーマンスに関する注記 - 必要に応じて (予想コスト、パーティション使用、潜在的なボトルネック)
- 変更提案 - 一般的なバリエーション (異なる時間範囲、異なる粒度、追加フィルター) に対して調整する方法
6. 実行を提案する
データウェアハウスが接続されている場合は、クエリを実行して結果を分析することを提案します。ユーザーが自分でそれを実行したい場合は、クエリはコピー&ペースト用に準備完了です。
例
単純な集計:
/write-query 過去30日間のステータス別注文数
複雑な分析:
/write-query コホート保持分析 -- ユーザーをサインアップ月でグループ化し、サインアップ後1か月、3か月、6か月、12か月時点でまだアクティブ (少なくとも 1 つのイベントがある) なユーザーの割合を表示
パフォーマンス重視:
/write-query 500M行のイベントテーブルを日付でパーティショニングしています。過去7日間のイベント数が多いトップ100ユーザーを、彼らの最新のイベント種別と共に検出してください。
ヒント
- SQL 方言を最初に言及して、すぐに正しい構文を取得
- テーブル名がわかっている場合は、それを含める -- わからない場合は Claude が見つけるのに役立てます
- クエリがべき等 (再実行しても安全) か 1 回限りかを指定
- 繰り返しクエリの場合、日付範囲にパラメータを付けるべきかを言及
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- anthropics
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/anthropics/knowledge-work-plugins / ライセンス: Apache-2.0
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。