>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Python

如何让 Cursor 和 Claude Code 正确编写 Salesforce 代码

如果你尝试过通过 ChatGPT 或标准 Cursor 生成 Apex 触发器或 Lightning Web 组件,你可能已经遇到过这些典型错误。模型搞混触发器上下文、忘记循环内的 SOQL 限制,或者用过时的 API 版本组装 XML 清单。你最终会写出庞大的系统提示词,并在每次请求时手动附加文档片段。

Salesforce 决定系统性地解决这个问题,并发布了一个仓库 sf-skills。这是一组现成的指令、模板和可执行脚本,按照开放的 agent skills 标准打包。

sf-skills/
├── skills/               # Директории с конкретными воркфлоу
   ├── platform-apex-generate/
   ├── platform-custom-object-generate/
   ├── automation-flow-generate/
   └── ...
├── samples/              # Примеры приложений
└── scripts/

什么是 Agent Skills

格式理念很简单。与其向 LLM 喂入冗长、非结构化的文本,不如将每个 skill 组织为一个单独的文件夹,具有清晰的架构:

  • SKILL.md — 一个必需的文件,包含 YAML front matter 格式的指令和元数据。它描述了 agent 何时以及如何应用这个 skill。
  • scripts/ — 可执行的 Python、Bash 或 JavaScript 脚本,agent 可以运行这些脚本进行验证或制品生成。
  • references/ — 特定主题的参考资料和文档摘要。
  • assets/ — 现成的模板、元数据模式和映射表。

该仓库遵循 agentskills.io 规范。这意味着这些 skill 并未硬编码到公司的内部服务中。它们可以连接到任何支持此开放格式的工具。

如何连接到你的编辑器

如果你在内部的 Agentforce Vibes 环境中工作,skill 会自动拉取和更新。对于 Claude Code、OpenCode 或 Cursor 等熟悉的开发者工具,只需一个终端命令即可连接:

npx skills add forcedotcom/sf-skills

该工具下载所需的包并在 assistant 配置中注册它们。之后,agent 理解平台特定的命令和规则,无需在聊天中额外澄清。

库里面有什么

该仓库包含针对不同平台层的工作流程。

服务器端代码生成包括创建 Apex 类的规则、考虑 FLS(Field-Level Security)的正确 SOQL 查询编写,以及单元测试模板。assistant 停止仅为行覆盖率生成空断言。

对于声明式开发,有用于创建自定义对象、字段和权限集的 skill。agent 组装有效的 XML 元数据文件,可以通过 Salesforce CLI 立即部署,无需手动编辑标签。

一个单独的部分专门用于自动化和接口。包括创建 Flow 和 Lightning Web Components (LWC) 的工作流程,包括辅助的 React UI 包。

samples 文件夹包含现成应用的示例。例如,一个 UI 包模板通过 GitHub Actions 与 @salesforce/ui-bundle-template-app-react-sample-b2e npm 包直接同步。你可以在本地运行同步:

npm install
npm run sync-react-b2e-sample

需要注意什么

该项目正在积极重构。开发者在 README 中诚实警告:文件夹结构和 skill 名称可能会更改,不提供向后兼容性保证。与 GA Salesforce API 版本不同,这里没有稳定性保证。

如果你 fork 该仓库或进行本地更改,在从上游更新时需要准备解决冲突。目前,该项目在 GitHub 上有不到 900 颗星,但提交基础几乎每天都在更新。

值得尝试吗

如果你经常为 Salesforce 编写代码并在终端或 IDE 中使用 AI 助手,该项目肯定会节省时间。你不再需要手动提醒模型关于 Custom Field 的 XML 结构或解释 Apex 中 HTTP 调用的 mock 类编写规则。

最简单的入门方式是通过 npx skills add 在测试项目中安装,看看你的常用模型在新的指令下如何处理元数据生成。

相关项目