mcpField
S
sf-soql

sf-soql

github.com/jaganpro数据与数据库4241.5k 次安装26 周前更新
代码仓库

关于 sf-soql

sf-soql 是用于 Salesforce SOQL/SOSL 编写与优化的技能,支持从自然语言生成查询,并处理关系查询、聚合和选择性分析。它强调精简字段、过滤条件和运行安全。

主要功能

  1. 01从自然语言生成查询
  2. 02编写关系查询与聚合查询
  3. 03分析选择性和查询性能
  4. 04检查语法与安全要求
  5. 05提供查询执行交接建议

适用场景

  1. 01按需求编写 SOQL 或 SOSL
  2. 02查询父子记录及相关字段
  3. 03汇总记录数量或分组数据
  4. 04排查低选择性过滤条件

安装

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

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

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

包含的文件

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

CREDITS.md
README.md
assets/
aggregate-queries.soql
basic-queries.soql
bulkified-query-pattern.cls
optimization-patterns.soql
relationship-queries.soql
selector-class.cls
hooks/scripts/
post-tool-validate.py
references/
anti-patterns.md
cli-commands.md
field-coverage-rules.md
query-optimization.md
selector-patterns.md
soql-reference.md
soql-syntax-reference.md

详细介绍

sf-soql:Salesforce SOQL 查询专家

当用户需要编写或优化 SOQL/SOSL 时使用此技能:将自然语言转换为查询、编写关系查询、聚合查询、分析查询计划,以及改进 Salesforce 查询的性能和安全性。

此技能负责的任务

在工作涉及以下内容时使用 sf-soql:

  • .soql 文件
  • 根据自然语言生成查询
  • 关系查询和聚合查询
  • 查询优化和选择性分析
  • SOQL/SOSL 语法和考虑治理限制的设计

以下情况请委派给其他技能:

  • 执行批量数据操作 → sf-data
  • 在更广泛的 Apex 实现中嵌入查询逻辑 → sf-apex
  • 通过日志而非查询结构进行调试 → sf-debug

首先收集所需上下文

询问或推断:

  • 目标对象
  • 所需字段
  • 筛选条件
  • 排序/限制要求
  • 查询用途:展示、自动化、类似报表的分析,还是 Apex
  • 性能/选择性是否已成为问题

推荐工作流

1. 生成最简单且正确的查询

优先选择:

  • 仅查询所需字段
  • 清晰的 WHERE 条件
  • 适当时设置合理的 LIMIT
  • 关系遍历深度仅达到必要程度
2. 选择合适的查询形式
需求默认模式
从子记录获取父记录数据子到父的关系遍历
从父记录获取子记录行子查询
计数/汇总聚合查询
查询存在/不存在相关记录的记录半连接/反连接
跨对象文本搜索SOSL
3. 优化选择性和安全性

检查:

  • 筛选条件是否使用索引/具有选择性
  • 是否存在不必要的字段
  • 是否存在可避免的通配符或大量扫描模式
  • 安全性执行要求
4. 按需验证执行路径

如果用户需要运行时验证,请将执行工作委派给:


重要规则

  • 绝不采用 SELECT * 的思路;只查询必需字段
  • 在 Apex 上下文中,不要在循环内执行查询
  • 优先在 SOQL 中筛选,而不是在 Apex 中进行后置筛选
  • 计数和分组汇总应使用聚合查询,而不是加载不必要的记录
  • 谨慎评估通配符的用法;前置通配符通常会使索引失效
  • 将查询放入 Apex 时,考虑安全模式/字段访问要求

输出格式

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

  1. 查询用途
  2. 最终 SOQL/SOSL
  3. 选择此查询形式的原因
  4. 优化或安全性说明
  5. 需要时提供执行建议

建议格式:

Query goal: <summary>
Query: <soql or sosl>
Design: <relationship / aggregate / filter choices>
Notes: <selectivity, limits, security, governor awareness>
Next step: <run in sf-data or embed in Apex>

跨技能协作

需求委派给原因
对组织运行查询sf-data执行和导出
在服务/选择器中嵌入查询sf-apex实现上下文
根据日志分析慢查询问题sf-debug运行时证据
接入由查询提供数据的 UIsf-lwc前端集成

参考资料索引

从这里开始
专项指南

评分指南

分数含义
90+针对生产环境优化的查询
80–89优秀的查询,仍有少量改进空间
70–79功能正常,但仍存在性能问题
< 70用于生产环境前需要修改

评论

支持 Markdown