mcpField
P
platform-soql-query

platform-soql-query

github.com/forcedotcom数据与数据库1.1k6.9k 次安装1 天前更新
代码仓库

关于 platform-soql-query

面向 Salesforce 查询编写者和开发者的技能,用于生成、审查和优化 SOQL/SOSL 查询,涵盖查询结构、选择性、安全性及 Apex 场景设计。

主要功能

  1. 01从自然语言生成查询
  2. 02关系查询与聚合查询
  3. 03选择性与查询计划分析
  4. 04SOQL/SOSL 语法指导
  5. 05性能与安全检查

适用场景

  1. 01根据数据需求编写查询
  2. 02选择父子关系查询模式
  3. 03提升查询选择性
  4. 04检查 Apex 查询安全性

安装

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

$npx skills add https://github.com/forcedotcom/sf-skills --skill platform-soql-query

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

包含的文件

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

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

详细介绍

platform-soql-query:Salesforce SOQL 查询专家

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

此技能适用的任务

在工作涉及以下内容时,使用 platform-soql-query:

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

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


首先收集必要的上下文

询问或推断:

  • 目标对象
  • 所需字段
  • 筛选条件
  • 排序和限制要求
  • 查询用途是用于显示、自动化、类似报表的分析,还是 Apex
  • 是否已存在性能或选择性方面的顾虑

建议的工作流

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

优先考虑:

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

检查:

  • 筛选条件是否使用索引/具有选择性
  • 是否包含不必要的字段
  • 是否存在可避免的通配符或扫描密集型模式
  • 是否符合安全性实施要求
4. 必要时验证执行路径

如果用户需要运行时验证,将执行工作转交给:


关键规则

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

输出格式

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

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

建议结构——准确语法请参考 references/soql-syntax-reference.md:

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

跨技能协作

需求委派给原因
对组织运行查询platform-data-manage执行和导出
将查询嵌入服务/选择器platform-apex-generate实现上下文
根据日志分析慢查询症状platform-apex-logs-debug运行时证据
接入由查询驱动的 UIexperience-lwc-generate前端集成
在测试中验证查询行为platform-apex-test-run查询逻辑的测试覆盖

评分指南

分数含义
90+已针对生产环境优化的查询
80–89查询良好,仍有少量改进空间
70–79功能正常,但仍存在性能顾虑
< 70投入生产前需要修改

参考文件索引

文件何时阅读
references/soql-syntax-reference.md语法、运算符、日期字面量、关系查询模式
references/query-optimization.md选择性规则、索引策略、治理限制、安全模式
references/soql-reference.md快速参考——运算符、日期函数、聚合函数、WITH 子句
references/anti-patterns.md常见 SOQL 错误及其修正方法——定稿任何查询前请阅读
references/selector-patterns.mdApex 选择器层模式——在 Apex 类中嵌入查询时请阅读
references/field-coverage-rules.md字段覆盖率验证——生成 Apex 代码中使用的 SOQL 时请阅读
references/cli-commands.mdsf CLI 查询执行、批量导出、查询计划命令
assets/basic-queries.soql常见对象的入门查询示例
assets/relationship-queries.soql父到子和子到父关系查询模式
assets/aggregate-queries.soqlCOUNT、SUM、GROUP BY、ROLLUP 查询模式
assets/optimization-patterns.soql选择性筛选和索引感知查询模式
assets/bulkified-query-pattern.cls适用于触发器上下文的基于 Apex Map 的批量查询模式
assets/selector-class.cls完整的选择器类实现模板
scripts/post-tool-validate.py写入后钩子——在编辑 .soql 文件后运行静态 SOQL 验证和实时查询计划分析

评论

支持 Markdown