About sf-soql
sf-soql is a skill for authoring and optimizing Salesforce SOQL and SOSL. It supports natural-language query generation, relationship and aggregate queries, and selectivity analysis, with attention to lean field selection and safe execution.
Key features
- 01Generate queries from natural language
- 02Write relationship and aggregate queries
- 03Analyze selectivity and query performance
- 04Check syntax and security requirements
- 05Suggest handoffs for query execution
Use cases
- 01Write SOQL or SOSL from requirements
- 02Query parent-child records and related fields
- 03Summarize record counts or grouped data
- 04Investigate low-selectivity filters
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jaganpro/ sf-skills --skill sf-soqlAfter installing, type/sf-soqlin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
CREDITS.mdREADME.mdassets/aggregate-queries.soqlbasic-queries.soqlbulkified-query-pattern.clsoptimization-patterns.soqlrelationship-queries.soqlselector-class.clshooks/scripts/post-tool-validate.pyreferences/anti-patterns.mdcli-commands.mdfield-coverage-rules.mdquery-optimization.mdselector-patterns.mdsoql-reference.mdsoql-syntax-reference.mdDetails
From the project READMEsf-soql: 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 sf-soql when the work involves:
.soqlfiles- 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 → sf-data
- embedding query logic inside broader Apex implementation → sf-apex
- debugging via logs rather than query shape → sf-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
| Need | Default pattern |
|---|---|
| parent data from child | child-to-parent traversal |
| child rows from parent | subquery |
| counts / rollups | aggregate query |
| records with / without related rows | semi-join / anti-join |
| text search across objects | SOSL |
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:
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:
- Query purpose
- Final SOQL/SOSL
- Why this shape was chosen
- Optimization or security notes
- Execution suggestion if needed
Suggested shape:
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>
Cross-Skill Integration
| Need | Delegate to | Reason |
|---|---|---|
| run the query against an org | sf-data | execution and export |
| embed the query in services/selectors | sf-apex | implementation context |
| analyze slow-query symptoms from logs | sf-debug | runtime evidence |
| wire query-backed UI | sf-lwc | frontend integration |
Reference Map
Start here
Specialized guidance
- references/soql-reference.md
- references/anti-patterns.md
- references/selector-patterns.md
- references/field-coverage-rules.md
- assets/
Score Guide
| Score | Meaning |
|---|---|
| 90+ | production-optimized query |
| 80–89 | good query with minor improvements possible |
| 70–79 | functional but performance concerns remain |
| < 70 | needs revision before production use |