sf-datacloud-retrieve について
Salesforce Data Cloud の検索、クエリ、メタデータ確認を行うスキルです。同期・ページング・非同期 SQL やベクトル/ハイブリッド検索の選択を案内し、テーブル構造とインデックスの準備状態を確認します。
主な機能
- 01Data Cloud SQL クエリの実行
- 02ページングおよび非同期クエリへの対応
- 03テーブル構造とメタデータの確認
- 04ベクトル検索とハイブリッド検索
- 05検索インデックス状態の確認
活用シーン
- 01Data Cloud テーブルのレコードや項目の確認
- 02大規模な結果セットの非同期クエリ
- 03既存インデックスを使ったセマンティック検索やハイブリッド検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jaganpro/ sf-skills --skill sf-datacloud-retrieveインストール後、Claude Code で/sf-datacloud-retrieveを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CREDITS.mdLICENSEREADME.mdexamples/search-indexes/hybrid-structured.jsonvector-knowledge.json詳細
sf-datacloud-retrieve:Data Cloud 検索フェーズ
Data Cloud でクエリ、検索、メタデータの調査が必要な場合に、このスキルを使用します。対象は、同期 SQL、ページ分割された SQL、非同期クエリのワークフロー、テーブルの説明、ベクトル検索、ハイブリッド検索、検索インデックス操作です。
このスキルが担当するタスク
次の作業には sf-datacloud-retrieve を使用します。
sf data360 query *sf data360 search-index *sf data360 metadata *sf data360 profile *またはsf data360 insight *の調査- Data Cloud SQL の結果またはクエリの形式の把握
次の場合は、ほかのスキルに委任します。
- 標準的な CRM SOQL のみを書く場合 → sf-soql
- セグメントまたは計算済みインサイトアセットを設計する場合 → sf-datacloud-segment
- STDM/セッションのトレース/Parquet テレメトリを分析する場合 → sf-ai-agentforce-observability
最初に確認する必要があるコンテキスト
次の情報を質問するか、推測します。
- 対象の組織エイリアス
- ユーザーが必要としているもの(簡易カウント、中規模の結果セット、大規模なエクスポート、スキーマの調査、セマンティック検索)
- 既知の場合はテーブル名/インデックス名
- タスクが読み取り専用 SQL か、検索インデックスのライフサイクル管理か
基本的な運用ルール
- Data Cloud SQL は SOQL とは異なる独自のクエリ言語として扱います。
- クエリ/検索機能を利用する前に、共通の準備状況分類を実行します:
node ~/.claude/skills/sf-datacloud/scripts/diagnose-org.mjs -o <org> --phase retrieve --json。 - 列を推測する前に describe を使用します。
- 大規模な結果セットには、
sqlv2または非同期クエリのフローを優先します。 - ベクトル検索またはハイブリッド検索は、検索インデックスのライフサイクルが正常な場合にのみ使用します。
- STDM/Parquet/セッションのトレースのワークフローは、このスキル群の対象外とします。
推奨ワークフロー
1. 検索作業の準備状況を分類する
node ~/.claude/skills/sf-datacloud/scripts/diagnose-org.mjs -o <org> --phase retrieve --json
# optional query-plane probe, only with a real table name
node ~/.claude/skills/sf-datacloud/scripts/diagnose-org.mjs -o <org> --phase retrieve --describe-table MyDMO__dlm --json
2. 要件を満たす最小限のクエリ形式を選ぶ
sf data360 query sql -o <org> --sql 'SELECT COUNT(*) FROM "ssot__Individual__dlm"' 2>/dev/null
sf data360 query sqlv2 -o <org> --sql 'SELECT * FROM "ssot__Individual__dlm"' 2>/dev/null
sf data360 query async-create -o <org> --sql 'SELECT * FROM "ssot__Individual__dlm"' 2>/dev/null
3. フィールドを推測する前に describe を使用する
sf data360 query describe -o <org> --table ssot__Individual__dlm 2>/dev/null
4. インデックスが存在する場合にのみベクトル検索またはハイブリッド検索を使用する
sf data360 search-index list -o <org> 2>/dev/null
sf data360 query vector -o <org> --index Knowledge_Index --query "reset password" --limit 5 2>/dev/null
sf data360 query hybrid -o <org> --index Knowledge_Index --query "reset password" --limit 5 2>/dev/null
sf data360 query hybrid -o <org> --index Insurance_Index --query "weather damage coverage" --prefilter "Type_of_Insurance__c='Home'" --limit 10 2>/dev/null
5. インデックス作成時は、精選された検索インデックスの例を再利用する
JSON を一から作成するのではなく、このフェーズ用の例を使用します。
examples/search-indexes/vector-knowledge.jsonexamples/search-indexes/hybrid-structured.json
特に注意すべき点
- Data Cloud SQL は SOQL ではありません。
- SQL ではテーブル名を二重引用符で囲みます。
- 中規模の結果セットでは、その場しのぎの OFFSET ページングより
sqlv2が適しています。 - 大規模な結果には非同期クエリが適しています。
- 検索インデックス操作とベクトル/ハイブリッドクエリを利用するには、インデックスのライフサイクルが正常である必要があります。
- ハイブリッド検索では
--prefilterを使用できますが、検索インデックスの作成時にプリフィルター対応として設定されたフィールドに限ります。 - HNSW インデックスのパラメーターは通常、作成時には読み取り専用です。プラットフォームで明示的に別の方法が示されていない限り、
userValues: []のままにします。 query describeはすべてのテナントで使える調査方法ではありません。より広範な準備状況の確認が完了した後、既知の DMO または DLO テーブルに対してのみ実行します。
出力形式
Retrieve task: <sql / sqlv2 / async / describe / vector / search-index>
Target org: <alias>
Target object: <table or index>
Commands: <key commands run>
Verification: <query rows / schema / status>
Next step: <segment / harmonize / follow-up>
参考資料
コメント
Markdown 対応