sf-docs について
sf-docsは、回答の根拠となるSalesforce公式の公開ドキュメントを検索するスキルです。公式サイトに絞った検索とページ内容の確認を行い、取得しにくいページにはブラウザー描画による抽出も利用できます。
主な機能
- 01Salesforce公式ドキュメントの検索
- 02概念や識別子を指定した検索
- 03ページ内容の関連性確認
- 04JavaScript主体の文書の抽出
- 05Salesforce Helpページへの対応
活用シーン
- 01ApexやAPIの公式ガイドの検索
- 02Salesforce設定手順の調査
- 03Agentforce文書の確認
- 04取得しにくいHelpページからの抽出
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jaganpro/ sf-skills --skill sf-docsインストール後、Claude Code で/sf-docsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdrequirements.txtscripts/extract_help_salesforce.pyextract_salesforce_doc.pyruntime_bootstrap.py詳細
sf-docs
このスキルを使用すると、公開ウェブ上のSalesforce公式ドキュメントを検索し、回答の根拠にできます。
このスキルは、意図的にシンプルに設計されています。
- ローカルコーパスなし
- インデックス作成なし
- ベンチマークワークフローなし
- ヘルパーCLIへの依存なし
- PDFへのフォールバックなし
このスキルは、取得が難しいSalesforceドキュメント、特にhelp.salesforce.com、JavaScriptを多用するdeveloper.salesforce.com、lightningdesignsystem.comのLightning Design Systemドキュメント、およびarchitect.salesforce.comやadmin.salesforce.comなど、Salesforceが所有するその他の公式ドキュメントページをオンラインで確実に検索するための手順を提供します。
オプションのラッパースクリプトを利用できます。
skills/sf-docs/scripts/extract_salesforce_doc.py
このスクリプトは、help.salesforce.comのURLを専用のHelp抽出ツールに自動で振り分けます。また、一般的なブラウザー描画経由で、*.salesforce.comやlightningdesignsystem.comなど、その他の公式ドキュメントページにも対応しています。ボット対策が施されたページでは、playwright-stealthがインストールされていれば、--stealthによるベストエフォートのオプションのステルスモードにも対応します。
専用のHelp抽出ツールは、次の場所から直接利用することもできます。
skills/sf-docs/scripts/extract_help_salesforce.py
主な目的
オンラインで最適なSalesforce公式HTMLページを見つけ、自信を持って回答するのに十分な実際のコンテンツを抽出します。
根拠が弱い場合は、無理に不確かな回答をせず、そのことを明確に伝えます。
使用する場面
ユーザーが次の内容を求めている場合は、sf-docsを使用してください。
- Salesforce公式ドキュメント
- Apex、API、LWC、メタデータ、Agentforce、設定、またはヘルプ記事
developer.salesforce.comのドキュメントhelp.salesforce.comのドキュメント- JavaScriptを多用している、シェルで描画される、または通常の取得方法では読み取りにくいページ
公式ソースのみ
Salesforceが所有する次のドキュメントソースを優先してください。
developer.salesforce.comhelp.salesforce.comarchitect.salesforce.comadmin.salesforce.comlightningdesignsystem.com- Salesforceが信頼できる情報源として使用している、その他の関連する公式Salesforceドキュメントページ
ユーザーから明示的に求められない限り、サードパーティーのブログ、動画、要約記事は避けてください。
PDFにはフォールバックしないでください。
検索ワークフロー
1. まずリクエストを分類する
何かを取得する前に、該当する可能性が高いドキュメントの種類を特定します。
| 種類 | 主なソース | 用途 |
|---|---|---|
| 開発者向けドキュメント | developer.salesforce.com/docs/... | Apex、API、LWC、メタデータ、Agentforce開発者向けドキュメント |
| Helpドキュメント | help.salesforce.com/... | 設定、管理、製品構成 |
| Architect/Adminドキュメント | architect.salesforce.com/...、admin.salesforce.com/... | ベストプラクティス、パターン、優れたアーキテクチャのガイダンス、管理者向けイネーブルメント |
| デザインシステムのドキュメント | lightningdesignsystem.com/... | SLDS、Cosmos、デザイントークン、コンポーネントとスタイルに関するガイダンス |
| 旧Atlasドキュメント | developer.salesforce.com/docs/atlas.en-us.* | 旧版の公式ガイドおよびリファレンスドキュメント |
2. 対象の概念を特定する
検索する前に、実際の対象を特定します。
- 正確なAPI/クラス/メソッド名
- 正確な機能名
- 正確な製品用語
- 正確な設定の概念
例:
Lightning Message ServiceWire ServiceSystem.StubProviderAgentforce ActionsMessaging for In-App and Web allowed domains
3. 公式ソースを対象に絞って検索する
Salesforceドキュメントを広範囲にクロールしないでください。
代わりに、次の手順で進めます。
- 可能性が最も高い公式ガイドのルートページまたは記事を特定する
- 検索が必要な場合は、Salesforceの公式ドメインだけに絞る
- 該当する公式ページを取得する
- 対象の概念が実際にそのページに記載されているかを確認する
- 記載されていない場合は、最も関連性の高い公式な子リンクを1~3件確認してたどる
- 根拠を得られたら検索を終了する
4. 概要ページだけで終わらない
ガイドのランディングページに、要求された概念が明確に記載されていない限り、そのページだけでは不十分です。
次の場合は特に重要です。
- LWCドキュメント
- Agentforceドキュメント
- プラットフォーム全般のガイドのホームページ
- 実際の記事へのリンクを掲載しているだけのHelpランディングページ
5. developer.salesforce.com の場合
次の手順を使用します。
- 最も可能性の高い公式ガイドのルートから開始します
- ページが JavaScript に大きく依存している場合は、ブラウザーでレンダリングしたコンテンツの抽出を優先します
- 該当する概念がページに正確に記載されているか確認します
- 概念が見つからない場合は、公式の子リンクを調べ、最も関連性の高いリンクを 1~3 件たどります
- 広範なガイドのルートより、概念に正確に対応するページを優先します
- 旧式の Atlas ページがその概念に関する実際の公式リファレンスである場合は、有効な情報源として扱います
6. help.salesforce.com の場合
Help ページは、単純な取得方法では失敗することがよくあります。
次の手順を使用します。
- 利用できる場合は、正確な
articleView?id=...URL を優先します - 通常の取得でシェルコンテンツが返される場合は、ブラウザーでレンダリングしたコンテンツの抽出を使用します
Loading、Sorry to interrupt、CSS Error、または大部分が画面の装飾やナビゲーションのテキストである出力は、証拠ではなく抽出の失敗として扱います- ヘッダー、ナビゲーション、フッターのテキストだけでなく、実際の記事本文を探します
- 次のようなシェルページやソフト 404 ページは除外します。
- 「ページが見つからないため、くまなく探しましたが見つかりませんでした」
- 一般的な、内容のない Help シェル
- 近接するガイドやハブのページから始めた場合は、実際の記事本文にたどり着くまで、リンク先の Help 記事をたどります
- 対象を絞った再試行を行っても抽出に失敗する場合は、見つかった最適な公式 Help URL を返し、記事本文の抽出に失敗したことを明記します
採用基準
次のいずれかを少なくとも 1 つ満たす場合に限り、そのページを回答の根拠として十分とみなします。
- 正確な識別子がページに記載されている
- 正確な概念名がページに記載されている
- クエリに固有の複数の語句が、適切な公式の文脈で使われている
次に該当するページは、十分な根拠とはみなしません。
- 広範なランディングページにすぎない
- 実際の記事テキストがほとんどないシェルページである
- 対象とは異なる製品領域のページである
- 要求された識別子や概念が含まれていない
- 公式ページがあるはずなのに、サードパーティによる解説である
除外基準
最終的な根拠として、次のものは除外します。
- 正確な概念が記載されていない、広範なガイドのホームページ
- 概念またはリファレンスページが期待される場合のリリースノート
- 開発者向けドキュメントが求められている場合の管理者向けブログ記事
- 公式ドキュメントがある場合のサードパーティのブログ
- 実際の記事本文がないシェル表示のページ
- タイトルは適切に見えても、本文に要求された概念が含まれていないページ
根拠の提示要件
回答には次の内容を含めます。
- ガイドまたは記事のタイトル
- 正確な公式 URL
- 情報源の種類:
- 開発者向けドキュメントページ
- Atlas リファレンスページ
- Help 記事ページ
- 抽出が部分的だった場合、またはブラウザーでレンダリングした場合の注意事項
根拠が弱い場合は、そのことを明確に伝えます。
例
例:Lightning Message Service
一般的な LWC ガイドのルートで調査を止めてはいけません。 Lightning Message Service に関する正確な LWC ページを見つけるか、正確な概念が見つかるまで LWC ドキュメントから最も関連性の高い子ページをたどります。
例:Wire Service
ページに Wire Service が実際に記載されていない限り、LWC のホームページを根拠に回答してはいけません。
Wire Service またはワイヤーアダプターに関する、関連する子ドキュメントのページをたどります。
例:Agentforce Actions
広範な Agentforce ランディングページやブログ記事を根拠に回答してはいけません。 アクションに関する公式の Agentforce 開発者向けページを見つけるか、公式の Agentforce ドキュメントから最も関連性の高い子ページをたどります。
例:アプリ内および Web 向けメッセージングの許可ドメイン
公式 Help 記事と、ブラウザーでレンダリングしたコンテンツの抽出を優先します。 一般的な Help シェルは除外します。必要に応じて、近接する公式のメッセージング関連ドキュメントから、リンク先の Help 記事をたどります。
例:System.StubProvider
正確な識別子が記載された、公式の Salesforce リファレンスまたは開発者向けページを優先します。 識別子が含まれていない場合、より広範な Apex のランディングページで代用してはいけません。
対象外
このスキルでは、次のことを行ってはいけません。
- ローカルのドキュメントコーパスを管理する
- ローカルのインデックスに依存する
- PDF にフォールバックする
- ベンチマークのワークフローを実行する
- 使用にプロジェクト固有のスクリプトを必要とする
他のスキルとの連携
他の sf-* スキルは、一般的な検索だけに頼るのではなく、信頼できる Salesforce ドキュメントが必要な場合に sf-docs を使用します。