关于 fetching-salesforce-docs
用于从 Salesforce 官方文档检索并核实信息的技能,帮助使用者针对具体概念查找页面并验证内容,也涵盖难以抓取的动态文档;不建立本地索引。
主要功能
- 01定向检索 Salesforce 官方来源
- 02按文档类型分类请求
- 03核实页面是否包含目标概念
- 04处理 JavaScript 动态页面
- 05排除空壳页面和 PDF 回退
适用场景
- 01查找特定 Salesforce API 或功能说明
- 02检索 Salesforce Help 中的配置指南
- 03基于官方设计系统文档回答问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill fetching-salesforce-docs安装后在 Claude Code 中输入/fetching-salesforce-docs确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdrequirements.txtscripts/extract_help_salesforce.pyextract_salesforce_doc.pyruntime_bootstrap.py详细介绍
获取 Salesforce 文档
使用此技能,从 公开网络上的 Salesforce 官方文档中检索信息,并据此作答。
此技能提供一套可靠的在线检索操作指南,用于获取难以抓取的 Salesforce 文档,尤其是 help.salesforce.com、使用大量 JavaScript 的 developer.salesforce.com、lightningdesignsystem.com 上的 Lightning Design System 文档,以及 architect.salesforce.com 和 admin.salesforce.com 等其他由 Salesforce 官方维护的文档页面。
scripts/ 中提供了可选的提取脚本,详见下方的参考文件索引。
范围
| 范围内 | Salesforce 官方文档检索:Apex、API、LWC、元数据、Agentforce、设置文章、SLDS、架构师/管理员指南 |
| 范围外 | 第三方博客、PDF 备用方案、本地语料库索引、基准工作流、生成代码或元数据 |
必需输入
检索前,请确定:
- 用户请求的具体概念、标识符、类、方法或功能名称
- 可能所属的文档类别(开发者文档、帮助文章、设计系统、架构师/管理员文档)
使用此技能中的检索指南无需额外设置。可选的提取脚本需要 playwright,详见 requirements.txt。
仅限官方来源
优先使用 Salesforce 官方维护的文档来源:
developer.salesforce.comhelp.salesforce.comarchitect.salesforce.comadmin.salesforce.comlightningdesignsystem.com- Salesforce 将其作为权威信息来源的其他官方文档页面
除非用户明确要求,否则请避免使用第三方博客、视频或摘要文章。
不要转而使用 PDF。
检索工作流
1. 先对请求分类
开始检索前,确定可能所属的文档类别。
| 类别 | 典型来源 | 适用内容 |
|---|---|---|
| 开发者文档 | developer.salesforce.com/docs/... | Apex、API、LWC、元数据、Agentforce 开发者文档 |
| 帮助文档 | help.salesforce.com/... | 设置、管理员、产品配置 |
| 架构师/管理员文档 | architect.salesforce.com/...、admin.salesforce.com/... | 最佳实践、模式、well-architected 指南、管理员赋能 |
| 设计系统文档 | 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 文档
- 宽泛的平台指南首页
- 链接到实际文章的帮助文档入口页
5. 针对 developer.salesforce.com
请按以下指南操作:
- 从最可能的官方指南根页面开始
- 如果页面大量使用 JavaScript,优先采用浏览器渲染提取
- 检查页面是否包含确切的目标概念
- 如果没有,查看官方子链接,并访问最匹配的 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 着陆页或博客文章作为回答依据。 找到官方 Agentforce 开发者文档中的 actions 页面,或者沿着官方 Agentforce 文档中最匹配的子页面查找。
示例:Messaging for In-App and Web allowed domains
优先使用官方帮助文章和浏览器渲染提取。 拒绝通用帮助页面外壳。如有需要,请沿着相关官方 Messaging 文档中的链接查找帮助文章。
示例:System.StubProvider
优先使用出现确切标识符的官方 Salesforce 参考/开发者页面。 如果 Apex 着陆页中没有该标识符,请不要用更宽泛的页面替代。
非目标
此技能不应:
- 维护本地文档语料库
- 依赖本地索引
- 使用 PDF 作为后备方案
- 运行基准工作流
- 依赖特定于仓库的脚本才能发挥作用
输出要求
每次检索都应包含:
- 指南或文章标题
- 确切的官方 URL
- 来源类型(开发者文档页面/atlas 参考页面/帮助文章页面)
- 如果提取不完整或使用了浏览器渲染,请注明相关注意事项
如果证据不足,请明确说明,不要勉强作答。
参考文件索引
| 文件 | 何时阅读 |
|---|---|
scripts/extract_salesforce_doc.py | 用于获取任何 Salesforce 官方文档 URL;会自动将 help.salesforce.com 路由到专用的 Help 提取器,并支持对所有 Salesforce 自有文档主机进行浏览器渲染提取 |
scripts/extract_help_salesforce.py | 直接用于目标为 help.salesforce.com articleView URL 的场景;当不适合使用封装脚本时使用 |
scripts/runtime_bootstrap.py | 由提取脚本导入,用于定位隔离的 fetching-salesforce-docs Python 运行时和 Playwright 浏览器路径;不会直接调用 |
requirements.txt | 列出运行提取脚本所需的 Python 依赖项(playwright、playwright-stealth) |