PluginBench
Skill
Review
Audit score 70

platform-soql-query

forcedotcom/sf-skills

Generate, optimize, and debug Salesforce SOQL/SOSL queries with relationship, aggregate, and performance analysis.

What is platform-soql-query?

This skill helps you author and optimize SOQL/SOSL queries for Salesforce. Use it when writing natural-language-to-query generation, handling relationship queries, aggregates, query-plan analysis, and performance tuning. It covers syntax, selectivity, governor limits, and security patterns.

  • Generate SOQL/SOSL from natural language descriptions
  • Optimize queries for selectivity and index usage
  • Analyze relationship queries (parent-to-child, child-to-parent, subqueries)
  • Build aggregate queries with COUNT, SUM, GROUP BY, and ROLLUP
  • Validate query syntax and identify anti-patterns
  • Provide query-plan analysis and performance recommendations

How to install platform-soql-query

npx skills add https://github.com/forcedotcom/sf-skills --skill platform-soql-query
Prerequisites
  • sf CLI (v2.0.0 or later)
  • Python 3.10 or later
  • jq 1.6 or later
Claude Code
Cursor
Windsurf
Cline

How to use platform-soql-query

  1. 1.Describe your query goal: target object(s), fields needed, filters, and sort/limit requirements
  2. 2.Provide context: whether the query is for display, automation, reporting, or Apex usage
  3. 3.Receive a generated SOQL/SOSL query with design rationale and optimization notes
  4. 4.Review selectivity, security, and governor-limit considerations
  5. 5.Execute the query via platform-data-manage or embed in Apex via platform-apex-generate

Use cases

Good for
  • Convert a user requirement into an optimized SOQL query for a custom report
  • Debug a slow query by analyzing its selectivity and suggesting indexed filters
  • Build a subquery to fetch related child records alongside parent data
  • Create an aggregate query to count records grouped by a custom field
  • Validate a SOQL query before embedding it in Apex code for governor compliance
Who it's for
  • Salesforce developers writing data queries
  • Apex engineers optimizing query performance
  • Platform architects designing selector layers
  • Developers debugging slow or inefficient queries

platform-soql-query FAQ

When should I use this skill vs. platform-data-manage?

Use platform-soql-query to author and optimize the query shape. Use platform-data-manage to execute it against an org and export results.

Can this skill help me embed queries in Apex?

This skill generates and validates SOQL. For embedding in Apex services or selector classes, delegate to platform-apex-generate with the finalized query.

What if my query is slow?

This skill analyzes selectivity, indexing, and query shape. If you have runtime logs showing slowness, use platform-apex-logs-debug to correlate symptoms with the query plan.

Does this skill handle bulk data operations?

No. For bulk inserts, updates, deletes, or large-scale data migration, use platform-data-manage instead.

How do I know if my query is production-ready?

This skill scores queries on a 90+ scale and flags anti-patterns. A score of 80+ indicates good production readiness with only minor improvements possible.

Full instructions (SKILL.md)

Source of truth, from forcedotcom/sf-skills.


name: platform-soql-query description: "Use when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan/selectivity analysis, and performance or safety improvements. TRIGGER when the user writes, optimizes, or debugs SOQL/SOSL, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER for bulk data operations (use platform-data-manage), Apex DML logic (use platform-apex-generate), or report/dashboard queries." metadata: version: "1.1" domains: ["Platform"] relatedSkills: - "experience-lwc-generate" - "platform-apex-generate" - "platform-apex-logs-debug" - "platform-apex-test-run" - "platform-data-manage" cliTools: - tool: ["jq"] semver: ">=1.6.0" - tool: ["python3"] semver: ">=3.10.0" - tool: ["sf"] semver: ">=2.0.0"

platform-soql-query: Salesforce SOQL Query Expert

Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance/safety improvements for Salesforce queries.

When This Skill Owns the Task

Use platform-soql-query when the work involves:

  • .soql files
  • query generation from natural language
  • relationship queries and aggregate queries
  • query optimization and selectivity analysis
  • SOQL/SOSL syntax and governor-aware design

Delegate elsewhere when the user is:

  • performing bulk data operations → platform-data-manage
  • embedding query logic inside broader Apex implementation → platform-apex-generate
  • debugging via logs rather than query shape → platform-apex-logs-debug

Required Context to Gather First

Ask for or infer:

  • target object(s)
  • fields needed
  • filter criteria
  • sort / limit requirements
  • whether the query is for display, automation, reporting-like analysis, or Apex usage
  • whether performance / selectivity is already a concern

Recommended Workflow

1. Generate the simplest correct query

Prefer:

  • only needed fields
  • clear WHERE criteria
  • reasonable LIMIT when appropriate
  • relationship depth only as deep as necessary

2. Choose the right query shape

NeedDefault pattern
parent data from childchild-to-parent traversal
child rows from parentsubquery
counts / rollupsaggregate query
records with / without related rowssemi-join / anti-join
text search across objectsSOSL

3. Optimize for selectivity and safety

Check:

  • indexed / selective filters
  • no unnecessary fields
  • no avoidable wildcard or scan-heavy patterns
  • security enforcement expectations

4. Validate execution path if needed

If the user wants runtime verification, hand off execution to:

  • platform-data-manage

High-Signal Rules

  • never use SELECT * style thinking; query only required fields
  • do not query inside loops in Apex contexts
  • prefer filtering in SOQL rather than post-filtering in Apex
  • use aggregates for counts and grouped summaries instead of loading unnecessary records
  • evaluate wildcard usage carefully; leading wildcards often defeat indexes
  • account for security mode / field access requirements when queries move into Apex

Output Format

When finishing, report in this order:

  1. Query purpose
  2. Final SOQL/SOSL
  3. Why this shape was chosen
  4. Optimization or security notes
  5. Execution suggestion if needed

Suggested shape — use references/soql-syntax-reference.md for exact syntax:

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>

Cross-Skill Integration

NeedDelegate toReason
run the query against an orgplatform-data-manageexecution and export
embed the query in services/selectorsplatform-apex-generateimplementation context
analyze slow-query symptoms from logsplatform-apex-logs-debugruntime evidence
wire query-backed UIexperience-lwc-generatefrontend integration

Score Guide

ScoreMeaning
90+production-optimized query
80–89good query with minor improvements possible
70–79functional but performance concerns remain
< 70needs revision before production use

Reference File Index

FileWhen to read
references/soql-syntax-reference.mdSyntax, operators, date literals, relationship query patterns
references/query-optimization.mdSelectivity rules, indexing strategy, governor limits, security patterns
references/soql-reference.mdQuick reference — operators, date functions, aggregate functions, WITH clauses
references/anti-patterns.mdCommon SOQL mistakes and their fixes — read before finalizing any query
references/selector-patterns.mdApex selector layer patterns — read when embedding queries in Apex classes
references/field-coverage-rules.mdField coverage validation — read when generating SOQL used inside Apex code
references/cli-commands.mdsf CLI query execution, bulk export, query plan commands
assets/basic-queries.soqlStarter query examples for common objects
assets/relationship-queries.soqlParent-to-child and child-to-parent relationship query patterns
assets/aggregate-queries.soqlCOUNT, SUM, GROUP BY, ROLLUP query patterns
assets/optimization-patterns.soqlSelective filter and index-aware query patterns
assets/bulkified-query-pattern.clsApex Map-based bulk query pattern for trigger contexts
assets/selector-class.clsFull selector class implementation template
scripts/post-tool-validate.pyPost-write hook — runs static SOQL validation and live query plan analysis after .soql file edits