mcpField
S
sf-soql

sf-soql

github.com/jaganproデータ・データベース4241.5k 回インストール26 週間前に更新
リポジトリ

sf-soql について

sf-soql は、Salesforce SOQL/SOSL の作成と最適化を支援するスキルです。自然言語からのクエリ生成、リレーションや集計クエリ、選択性分析に対応し、必要な項目に絞った安全な実行を重視します。

主な機能

  1. 01自然言語からのクエリ生成
  2. 02リレーションおよび集計クエリの作成
  3. 03選択性とクエリ性能の分析
  4. 04構文とセキュリティ要件の確認
  5. 05クエリ実行への引き継ぎ提案

活用シーン

  1. 01要件に基づく SOQL または SOSL の作成
  2. 02親子レコードや関連項目の照会
  3. 03レコード件数やグループデータの集計
  4. 04選択性の低いフィルターの調査

インストール

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

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

インストール後、Claude Code で/sf-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
hooks/scripts/
post-tool-validate.py
references/
anti-patterns.md
cli-commands.md
field-coverage-rules.md
query-optimization.md
selector-patterns.md
soql-reference.md
soql-syntax-reference.md

詳細

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

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

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

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

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

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

  • 大量データ操作を行う場合 → sf-data
  • より広範な Apex 実装にクエリロジックを組み込む場合 → sf-apex
  • クエリの形状ではなく、ログを使ってデバッグする場合 → sf-debug

最初に確認する必須コンテキスト

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

  • 対象オブジェクト
  • 必要な項目
  • 絞り込み条件
  • 並べ替え/上限の要件
  • 表示、自動化、レポートのような分析、Apex での使用のどれを目的とするクエリか
  • パフォーマンス/選択性がすでに懸念事項かどうか

推奨ワークフロー

1. 最もシンプルで正しいクエリを生成する

次の点を優先します。

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

次を確認します。

  • インデックス付き/選択性の高い絞り込み条件
  • 不要な項目がないこと
  • 回避可能なワイルドカードや、スキャン負荷の高いパターンがないこと
  • セキュリティ適用の要件
4. 必要に応じて実行経路を検証する

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


重要なルール

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

出力形式

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

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

推奨形式:

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

スキル間の連携

必要な処理委任先理由
組織に対してクエリを実行するsf-data実行とエクスポート
サービス/セレクターにクエリを組み込むsf-apex実装のコンテキスト
ログから遅いクエリの症状を分析するsf-debug実行時の証拠
クエリを利用する UI を組み込むsf-lwcフロントエンドとの連携

リファレンスマップ

まずはこちら
専門的なガイダンス

スコアガイド

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

コメント