mcpField
Q
querying-soql

querying-soql

github.com/forcedotcomデータ・データベース1.1k3.0k 回インストール1 日前に更新
リポジトリ

querying-soql について

querying-soql は、Salesforce の SOQL/SOSL クエリを作成・最適化するスキルです。クエリ設計、選択性や安全性の確認を支援し、実行や実装は関連スキルに引き継ぎます。

主な機能

  1. 01自然言語からのクエリ生成
  2. 02リレーション・集計クエリのパターン
  3. 03選択性とパフォーマンスの確認
  4. 04SOQL/SOSL 構文のガイダンス
  5. 05セキュリティとガバナ制限への配慮

活用シーン

  1. 01要件から Salesforce クエリを作成
  2. 02リレーション・集計クエリの確認
  3. 03クエリの選択性と安全性の改善

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/forcedotcom/sf-skills --skill querying-soql

インストール後、Claude Code で/querying-soqlを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CREDITS.md
README.md
assets/
aggregate-queries.soql
basic-queries.soql
bulkified-query-pattern.cls
optimization-patterns.soql
relationship-queries.soql
selector-class.cls
references/
anti-patterns.md
cli-commands.md
field-coverage-rules.md
query-optimization.md
selector-patterns.md
soql-reference.md
soql-syntax-reference.md
scripts/
post-tool-validate.py

詳細

querying-soql:Salesforce SOQL クエリーのエキスパート

ユーザーが SOQL/SOSL の作成や最適化(自然言語からのクエリー生成、リレーションクエリー、集計、クエリープラン分析、Salesforce クエリーのパフォーマンスや安全性の改善)を必要としている場合に、このスキルを使用します。

このスキルが担当するタスク

次の作業には querying-soql を使用します。

  • .soql ファイル
  • 自然言語からのクエリー生成
  • リレーションクエリーと集計クエリー
  • クエリーの最適化と選択性分析
  • SOQL/SOSL の構文とガバナ制限を考慮した設計

次の場合は、別のスキルに委任します。


まず確認する必須コンテキスト

次の情報を確認するか、推測します。

  • 対象オブジェクト
  • 必要な項目
  • フィルター条件
  • 並べ替え/件数制限の要件
  • 表示、自動化、レポート形式の分析、Apex での使用のどれが目的か
  • パフォーマンスや選択性がすでに懸念事項となっているか

推奨ワークフロー

1. 最もシンプルで正確なクエリーを生成する

次を優先します。

  • 必要な項目のみを指定する
  • 明確な WHERE 条件
  • 適切な場合は妥当な LIMIT を設定する
  • リレーションの階層は必要な深さにとどめる
2. 適切なクエリー形式を選ぶ
必要なデータデフォルトのパターン
子から親のデータ子から親への参照
親から子のレコードサブクエリー
件数/ロールアップ集計クエリー
関連レコードがある/ないレコードセミジョイン/アンチジョイン
オブジェクトをまたいだテキスト検索SOSL
3. 選択性と安全性を最適化する

次を確認します。

  • インデックス付き/選択性の高いフィルター
  • 不要な項目がないこと
  • 避けられるワイルドカードやスキャン負荷の高いパターンがないこと
  • セキュリティ適用に関する要件
4. 必要に応じて実行パスを検証する

ユーザーが実行時の検証を希望する場合は、実行を次に引き継ぎます。


重要なルール

  • SELECT * のような考え方は決して使わず、必要な項目だけをクエリーします
  • Apex のコンテキストでは、ループ内でクエリーを実行しないでください
  • Apex で後からフィルターするより、SOQL でフィルターすることを優先します
  • 不要なレコードを読み込む代わりに、件数やグループ化した概要には集計を使用します
  • ワイルドカードの使用は慎重に評価します。先頭のワイルドカードはインデックスの効果を損なうことがよくあります
  • クエリーを Apex に組み込む際は、セキュリティモード/項目アクセスの要件を考慮します

出力形式

完了時には、次の順序で報告します。

  1. クエリーの目的
  2. 最終的な SOQL/SOSL
  3. この形式を選んだ理由
  4. 最適化またはセキュリティに関する注意事項
  5. 必要に応じた実行の提案

推奨形式 — 正確な構文については references/soql-syntax-reference.md を使用します。

Query goal: <summary>
Query: <soql or sosl>
Design: <relationship / aggregate / filter choices>
Notes: <selectivity, limits, security, governor awareness>
Next step: <run in handling-sf-data or embed in Apex>

スキル間の連携

必要な作業委任先理由
組織に対してクエリーを実行するhandling-sf-data実行とエクスポート
サービス/セレクターにクエリーを組み込むgenerating-apex実装コンテキスト
ログから遅いクエリーの症状を分析するdebugging-apex-logs実行時の証拠
クエリーに基づく UI を組み込むgenerating-lwc-componentsフロントエンドとの統合

スコアガイド

スコア意味
90+本番環境向けに最適化されたクエリー
80–89良好なクエリー。軽微な改善の余地あり
70–79機能するものの、パフォーマンス上の懸念が残る
< 70本番環境で使用する前に修正が必要

参考ファイル一覧

ファイル読むタイミング
references/soql-syntax-reference.md構文、演算子、日付リテラル、リレーションクエリのパターン
references/query-optimization.md選択性のルール、インデックス戦略、ガバナ制限、セキュリティパターン
references/soql-reference.mdクイックリファレンス — 演算子、日付関数、集計関数、WITH 句
references/anti-patterns.mdよくある SOQL の間違いと修正方法 — クエリを確定する前に必ず読んでください
references/selector-patterns.mdApex セレクターレイヤーのパターン — Apex クラスにクエリを埋め込む場合に読んでください
references/field-coverage-rules.mdフィールドカバレッジの検証 — Apex コード内で使用する SOQL を生成する場合に読んでください
references/cli-commands.mdsf CLI によるクエリ実行、一括エクスポート、クエリプランのコマンド
assets/basic-queries.soqlよく使用されるオブジェクト向けの基本的なクエリ例
assets/relationship-queries.soql親から子および子から親へのリレーションクエリのパターン
assets/aggregate-queries.soqlCOUNT、SUM、GROUP BY、ROLLUP クエリのパターン
assets/optimization-patterns.soql選択的なフィルターとインデックスを考慮したクエリのパターン
assets/bulkified-query-pattern.clsトリガーコンテキスト向けの Apex Map ベースの一括クエリパターン
assets/selector-class.clsセレクタークラスの完全な実装テンプレート
scripts/post-tool-validate.py書き込み後のフック — .soql ファイルの編集後に静的 SOQL 検証とライブクエリプラン分析を実行します

コメント