querying-soql 是做什么的?
SOQL 查询生成、优化和分析,配备 100 分制评分系统。当用户需要进行 SOQL/SOSL 编写或优化时使用此技能:自然语言到查询的生成、关联查询、聚合、查询计划分析以及 Salesforce 查询的性能或安全性改进。
触发条件: 用户编写、优化或调试 SOQL/SOSL 查询、处理 .soql 文件、或询问关联查询、聚合或查询性能时。
不触发条件: 批量数据操作(请使用 handling-sf-data)、Apex DML 逻辑(请使用 generating-apex)、或报告/仪表板查询。
能力
- 自然语言到 SOQL/SOSL 的生成 - 将日常语言描述转换为正确的查询。
- 关联查询 - 父项到子项 (
__r) 与子项到父项的子查询。 - 聚合与分组 - GROUP BY、HAVING、聚合字段 (COUNT、SUM、AVG、MIN、MAX)。
- 查询计划分析 - 使用
soql:queryPlan识别性能瓶颈。 - 评分与优化 - 在 100 分量表上对查询进行评分,并应用最佳实践优化。
- 语法检查 - 检测错误,如字段 / 对象名称错误或无效的空值处理。
- FORMAT() 与安全设置 - 确保使用
FORMAT()以实现本地化,并符合 FLS/CRUD 检查。
工作流
- 解析用户请求 - 识别输入的
.soql文件、自然语言描述或内联查询。 - 生成 / 优化查询 - 使用 AI 与 Salesforce SOQL 模式构建正确语法。
- 评分与校验 - 调用
soql:scoreQuery获取 100 分制评分与改进建议。 - 查询计划审查 - 可选地使用
soql:queryPlan分析性能。 - 输出结果 - 返回格式化查询、评分详情及优化建议。
使用示例
示例 1:自然语言到查询
用户:"查找过去 30 天创建、未结金额超过 1000 美元的商机,包含账户名称。" 技能:生成
SELECT Id, Name, Amount, Account.Name FROM Opportunity WHERE CreatedDate = LAST_N_DAYS:30 AND Amount > 1000 AND IsClosed = false
示例 2:优化现有查询
用户:粘贴 SOQL 并说"优化此查询" 技能:检查冗余过滤条件、缺失索引、FORMAT() 用法,并对查询进行评分。
示例 3:查询计划分析
用户:"解释此查询的计划" 技能:运行
soql:queryPlan并解释索引使用与表扫描。
支持平台
us-soql(Claude Desktop、Claude Code)
注意:此技能依赖于 Salesforce SOQL 模式知识、查询计划 API 和评分引擎。始终使用 SOQL 参考进行验证。