mcpField
F
fetching-salesforce-docs

fetching-salesforce-docs

github.com/forcedotcom生产力1.1k3.0k 次安装1 天前更新
代码仓库

关于 fetching-salesforce-docs

用于从 Salesforce 官方文档检索并核实信息的技能,帮助使用者针对具体概念查找页面并验证内容,也涵盖难以抓取的动态文档;不建立本地索引。

主要功能

  1. 01定向检索 Salesforce 官方来源
  2. 02按文档类型分类请求
  3. 03核实页面是否包含目标概念
  4. 04处理 JavaScript 动态页面
  5. 05排除空壳页面和 PDF 回退

适用场景

  1. 01查找特定 Salesforce API 或功能说明
  2. 02检索 Salesforce Help 中的配置指南
  3. 03基于官方设计系统文档回答问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/forcedotcom/sf-skills --skill fetching-salesforce-docs

安装后在 Claude Code 中输入/fetching-salesforce-docs确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
requirements.txt
scripts/
extract_help_salesforce.py
extract_salesforce_doc.py
runtime_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.com
  • help.salesforce.com
  • architect.salesforce.com
  • admin.salesforce.com
  • lightningdesignsystem.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 Service
  • Wire Service
  • System.StubProvider
  • Agentforce Actions
  • Messaging for In-App and Web allowed domains
3. 优先针对性检索官方文档

不要广泛爬取 Salesforce 文档。

请改为:

  1. 确定最可能的官方指南根页面或文章
  2. 如需搜索,仅搜索 Salesforce 官方域名
  3. 获取该官方页面
  4. 检查页面是否确实包含确切的目标概念
  5. 如果没有,查看并访问最相关的 1–3 个官方子链接
  6. 获得有依据的信息后即停止
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,并明确说明文章正文提取未成功

验收规则

只有满足以下至少一项,页面才足以作为回答依据:

  • 页面上出现了确切标识符
  • 页面上出现了确切概念短语
  • 页面在正确的官方上下文中包含多个与查询相关的短语

以下情况说明页面不足以作为回答依据:

  • 只是宽泛的着陆页
  • 是几乎没有真正文章文本的外壳页面
  • 来自错误的产品领域
  • 不包含所请求的标识符或概念
  • 在本应存在官方页面时,使用了第三方解释

拒绝规则

以下内容不得作为最终证据:

  • 不含确切概念的宽泛指南主页
  • 预期应有概念/参考页面时却使用了发行说明
  • 请求开发者文档时却使用了管理员博客文章
  • 有官方文档时却使用第三方博客
  • 没有真正文章正文的外壳渲染页面
  • 标题看似相关、但正文不包含所请求概念的页面

依据要求

回答时,请包含:

  1. 指南/文章标题
  2. 确切的官方 URL
  3. 来源类型:
    • 开发者文档页面
    • atlas 参考页面
    • 帮助文章页面
  4. 如果提取不完整或使用了浏览器渲染,请注明相关注意事项

如果证据不足,请明确说明。

示例

示例: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 作为后备方案
  • 运行基准工作流
  • 依赖特定于仓库的脚本才能发挥作用

输出要求

每次检索都应包含:

  1. 指南或文章标题
  2. 确切的官方 URL
  3. 来源类型(开发者文档页面/atlas 参考页面/帮助文章页面)
  4. 如果提取不完整或使用了浏览器渲染,请注明相关注意事项

如果证据不足,请明确说明,不要勉强作答。


参考文件索引

文件何时阅读
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)

评论

支持 Markdown