mcpField
S
sf-soql

sf-soql

github.com/jaganproData & databases4241.5k installsUpdated 26w ago
Repository

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

  1. 01Generate queries from natural language
  2. 02Write relationship and aggregate queries
  3. 03Analyze selectivity and query performance
  4. 04Check syntax and security requirements
  5. 05Suggest handoffs for query execution

Use cases

  1. 01Write SOQL or SOSL from requirements
  2. 02Query parent-child records and related fields
  3. 03Summarize record counts or grouped data
  4. 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-soql

After installing, type/sf-soqlin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with 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

Details

From the project README

sf-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:

  • .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 → 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
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:


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:

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

NeedDelegate toReason
run the query against an orgsf-dataexecution and export
embed the query in services/selectorssf-apeximplementation context
analyze slow-query symptoms from logssf-debugruntime evidence
wire query-backed UIsf-lwcfrontend integration

Reference Map

Start here
Specialized guidance

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

Comments

Markdown supported