mcpField
S
sf-apex

sf-apex

github.com/jaganpro开发4241.6k 次安装26 周前更新
代码仓库

关于 sf-apex

面向 Salesforce 的技能,用于生成和审查生产级 Apex 类、触发器、异步作业及测试。它强调批量安全、共享与安全性、测试覆盖,并遵循项目现有架构。

主要功能

  1. 01生成并重构 Apex
  2. 02设计触发器与异步作业
  3. 03审查批量安全和安全性
  4. 04指导测试类与断言
  5. 05沿用项目现有模式

适用场景

  1. 01创建 Queueable 或 Batch 作业
  2. 02审查触发器的批量处理
  3. 03添加兼顾安全性的 Apex 逻辑
  4. 04编写正向、反向及批量测试

安装

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

$npx skills add https://github.com/jaganpro/sf-skills --skill sf-apex

安装后在 Claude Code 中输入/sf-apex确认已加载。

包含的文件

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

CREDITS.md
README.md
assets/
apex-class.cls
batch.cls
invocable-method.cls
queueable.cls
selector.cls
service.cls
test-class.cls
test-data-factory.cls
trigger-action.cls
trigger.trigger
hooks/scripts/
apex-lsp-validate.py
llm_pattern_validator.py
post-tool-validate.py
prettier-format.py
validate_apex.py
references/
anti-patterns.md
automation-density-guide.md
best-practices.md
bulkification-guide.md
code-review-checklist.md
code-smells-guide.md
design-patterns.md
flow-integration.md
llm-anti-patterns.md
naming-conventions.md
patterns-deep-dive.md
security-guide.md
security-quick-reference.md

详细介绍

sf-apex:Salesforce Apex 代码生成与审查

当用户需要生产级 Apex 时使用此技能:新建类、触发器、选择器、服务、异步作业、可调用方法、测试类,或基于证据审查现有 .cls / .trigger 代码。

此技能适用的任务

以下工作使用 sf-apex:

  • Apex 类的生成或重构
  • 触发器设计和触发器框架决策
  • @InvocableMethod、Queueable、Batch、Schedulable 或测试类相关工作
  • 审查批量处理、共享、安全性、测试或可维护性

以下工作应委派给其他技能:

  • 编辑 LWC JavaScript / HTML / CSS → sf-lwc
  • 构建 Flow XML 或 Flow 编排 → sf-flow
  • 只编写 SOQL → sf-soql
  • 将元数据部署或验证到组织 → sf-deploy

首先收集所需上下文

询问或推断:

  • 类的类型:触发器、服务、选择器、批处理、队列、计划任务、可调用、测试
  • 目标对象和业务目标
  • 代码属于全新开发、重构还是修复
  • 已知的组织 / API 限制
  • 预期测试覆盖率或部署目标

开始编写前,检查项目结构:

  • 现有类 / 触发器
  • 当前触发器框架或处理程序模式
  • 相关测试、流和选择器
  • 是否已在使用 TAF

推荐工作流

1. 了解本地架构

检查:

  • 现有触发器处理程序 / 框架
  • 服务-选择器-领域层约定
  • 相关测试和数据工厂
  • 仓库中已使用的可调用或异步模式
2. 选择最简单且正确的模式
需求首选模式
简单的可复用逻辑服务类
查询密集型数据访问选择器
单一对象的触发器行为一个触发器 + 处理程序 / TAF 操作
Flow 需要复杂逻辑@InvocableMethod
后台处理默认使用 Queueable
极大型数据集Batch Apex 或 Database.Cursor 模式
可重复验证专用测试类 + 测试数据工厂
3. 按照防护要求编写

生成的代码应当:

  • 安全处理批量数据
  • 考虑共享规则
  • 在适用时安全处理 CRUD/FLS
  • 可独立测试
  • 符合项目的命名和分层约定
4. 验证并评分

交接前根据 150 分制评分标准进行评估。

5. 交接后续部署 / 测试步骤

需要在组织中验证时,交接给:


生成防护要求

若未明确停止并解释问题,绝不生成以下内容:

反模式阻止原因
在循环中执行 SOQL触发治理限制失败
在循环中执行 DML触发治理限制失败
缺少共享模型存在安全 / 数据泄露风险
硬编码 ID部署和可移植性失败
空的 catch 块静默失败 / 可观测性差
使用用户输入拼接字符串构建 SOQL存在注入风险
没有断言的测试测试套件会产生假阳性

默认修复方向:

  • 只查询一次,并对集合进行操作
  • 除非有合理理由,否则使用 with sharing
  • 适当使用绑定变量和 WITH USER_MODE
  • 为正向、负向和批量场景创建断言

请参阅 references/anti-patterns.md 和 references/security-guide.md。


高价值构建规则

触发器架构
  • 优先采用每个对象一个触发器。
  • 如果已安装并使用 TAF,则应扩展它,而不是另创一套触发器模式。
  • 触发器应委派逻辑;避免在触发器主体中直接编写繁重的业务逻辑。
异步方式选择
场景默认方式
标准异步工作Queueable
超大规模记录处理Batch Apex
定期调度Scheduled Flow 或 Schedulable
作业后清理Finalizer
长时间运行的 Lightning calloutContinuation
最低测试要求

每项功能都使用 PNB 模式:

  • 正向路径
  • 负向/错误路径
  • 批量路径(适用时处理 251 条以上记录)
现代 Apex 规范

在可用时优先采用当前惯用写法:

  • 安全导航:obj?.Field__c
  • 空值合并:value ?? fallback
  • 使用 Assert.*,而非旧式断言写法
  • 在相关场景中使用 WITH USER_MODE 并明确处理安全性

输出格式

完成后,按以下顺序报告:

  1. 创建或审查的内容
  2. 已更改的文件
  3. 关键设计决策
  4. 风险/防护措施说明
  5. 测试指导
  6. 部署指导

建议格式:

Apex work: <summary>
Files: <paths>
Design: <pattern / framework choices>
Risks: <security, bulkification, async, dependency notes>
Tests: <what to run / add>
Deploy: <dry-run or next step>

LSP 验证说明

此技能支持针对 .cls 和 .trigger 文件的 LSP 辅助编写循环:

  • 写入/编辑后可立即检测语法问题
  • 此技能可在短循环中自动修复常见语法错误
  • 语义质量仍取决于 150 分制审查标准

完整指南:references/troubleshooting.md


跨技能集成

需求委派给原因
首先描述对象/字段sf-metadata避免基于错误的架构编写代码
准备批量或边界情况数据sf-data创建真实的测试数据集
运行 Apex 测试/修复失败的测试sf-testing执行测试并迭代处理失败项
部署到 orgsf-deploy验证并协调部署
构建调用 Apex 的 Flowsf-flow声明式编排
构建调用 Apex 的 LWCsf-lwcUI/控制器集成

参考索引

从这里开始
高价值检查清单
专用模式
故障排除/验证

评分指南

分数含义
120+达到生产就绪标准的优质 Apex
90–119实现良好,部署前需审查
67–89可以接受,但需要改进
< 67阻止部署

评论

支持 Markdown