关于 sf-docs
sf-docs 用于检索 Salesforce 官方公开文档,为回答提供依据。它限定官方来源、按具体概念定向查找并核验页面内容,也提供浏览器渲染提取方式以处理难以读取的页面。
主要功能
- 01检索 Salesforce 官方文档
- 02定向查找具体概念和标识符
- 03核验页面相关内容
- 04提取 JavaScript 密集型文档
- 05处理 Salesforce Help 页面
适用场景
- 01查找 Apex 或 API 官方指南
- 02研究 Salesforce 设置流程
- 03核实 Agentforce 文档内容
- 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、使用大量 JS 的 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上的文档- 使用大量 JS、由 Shell 渲染或难以通过常规抓取读取的页面
仅限官方来源
优先使用 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.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
请使用以下操作指南:
- 从最可能的官方指南根页面开始
- 如果页面大量依赖 JS,优先使用浏览器渲染提取
- 检查页面上是否出现确切概念
- 如果缺少该概念,请检查官方子链接,并继续访问最匹配的 1–3 个链接
- 优先选择概念完全匹配的页面,而不是宽泛的指南根页面
- 如果旧版 atlas 页面是该概念的真正官方参考资料,则可以使用
6. 对于 help.salesforce.com
使用简单抓取通常会导致帮助页面加载失败。
请使用以下操作指南:
- 如果有精确的
articleView?id=...URL,优先使用 - 如果普通抓取返回的是外壳内容,请使用浏览器渲染提取
- 将
Loading、Sorry to interrupt、CSS Error或大部分为界面框架/导航文本的输出视为提取失败,而非证据 - 查找真正的文章正文,而不只是页眉、导航或页脚文本
- 拒绝外壳页面和软 404 页面,例如:
- “我们找遍各处,但找不到该页面”
- 通用的空白帮助页外壳
- 如果从相关指南或中心页面开始,请沿着链接的帮助文章继续查找,直到找到真正的文章正文
- 如果针对性重试后仍提取失败,请返回找到的最佳官方帮助 URL,并明确说明文章正文提取未成功
验收规则
只有满足以下至少一项,页面才足以作为回答依据:
- 页面上出现确切标识符
- 页面上出现完全匹配的概念短语
- 多个与查询相关的短语出现在正确的官方上下文中
以下情况说明页面不够充分:
- 页面只是宽泛的着陆页
- 页面是几乎没有真实文章文本的外壳页面
- 页面来自错误的产品领域
- 页面不包含请求的标识符或概念
- 应当存在官方页面,却只找到了第三方说明
拒绝规则
拒绝将以下内容作为最终证据:
- 不包含确切概念的宽泛指南首页
- 预期应有概念/参考页面,却提供了发行说明
- 用户要求开发者文档,却提供了管理员博客文章
- 有官方文档时却提供了第三方博客
- 没有真实文章正文的外壳渲染页面
- 标题看似相关,但正文不包含请求概念的页面
依据要求
回答时,请包含:
- 指南/文章标题
- 精确的官方 URL
- 来源类型:
- 开发者文档页面
- atlas 参考页面
- 帮助文章页面
- 如果提取不完整或使用了浏览器渲染,请注明任何相关限制
如果证据薄弱,请明确说明。
示例
示例:Lightning Message Service
不要停留在通用的 LWC 指南根页面。 请找到介绍 Lightning Message Service 的精确 LWC 页面,或者沿着 LWC 文档中最相关的子链接继续查找,直到出现确切概念。
示例:Wire Service
除非 LWC 主页上确实出现 Wire Service,否则不要依据该页面回答。
请访问介绍 wire service 或 wire adapters 的相关子文档页面。
示例:Agentforce Actions
不要依据宽泛的 Agentforce 着陆页或博客文章回答。 请找到介绍 actions 的官方 Agentforce 开发者页面,或者沿着官方 Agentforce 文档中最匹配的子页面继续查找。
示例:Messaging for In-App and Web allowed domains
优先使用官方帮助文章和浏览器渲染提取。 拒绝通用帮助页外壳。如有需要,请从附近的官方 messaging 文档出发,沿着链接的帮助文章继续查找。
示例:System.StubProvider
优先使用包含确切标识符的官方 Salesforce 参考/开发者页面。 如果更宽泛的 Apex 着陆页不包含该标识符,请勿用它替代。
非目标
此技能不应:
- 维护本地文档语料库
- 依赖本地索引
- 使用 PDF 备用方案
- 运行基准工作流
- 依赖特定仓库脚本才能发挥作用
跨技能职责
其他 sf-* 技能在需要权威 Salesforce 文档时,应使用 sf-docs,而不是只依赖通用搜索。