sf-soql

>

Skill file

Preview skill file
---
name: sf-soql
description: >
  SOQL query generation, optimization, and analysis with 100-point scoring.
  TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql
  files, or asks about relationship queries, aggregates, or query performance.
  DO NOT TRIGGER when: bulk data operations (use sf-data), Apex DML logic
  (use sf-apex), or report/dashboard queries.
license: MIT
metadata:
  version: "1.1.0"
  author: "Jag Valaiyapathy"
  scoring: "100 points across 5 categories"
---

# 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](../sf-data/SKILL.md)
- embedding query logic inside broader Apex implementation → [sf-apex](../sf-apex/SKILL.md)
- debugging via logs rather than query shape → [sf-debug](../sf-debug/SKILL.md)

---

## 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:
- [sf-data](../sf-data/SKILL.md)

---

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

```text
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](../sf-data/SKILL.md) | execution and export |
| embed the query in services/selectors | [sf-apex](../sf-apex/SKILL.md) | implementation context |
| analyze slow-query symptoms from logs | [sf-debug](../sf-debug/SKILL.md) | runtime evidence |
| wire query-backed UI | [sf-lwc](../sf-lwc/SKILL.md) | frontend integration |

---

## Reference Map

### Start here
- [references/soql-syntax-reference.md](references/soql-syntax-reference.md)
- [references/query-optimization.md](references/query-optimization.md)
- [references/cli-commands.md](references/cli-commands.md)

### Specialized guidance
- [references/soql-reference.md](references/soql-reference.md)
- [references/anti-patterns.md](references/anti-patterns.md)
- [references/selector-patterns.md](references/selector-patterns.md)
- [references/field-coverage-rules.md](references/field-coverage-rules.md)
- [assets/](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 |

Source

Creator's repository · jaganpro/sf-skills

View on GitHub

License: MIT

Security

Security checks in progress
Results will appear here once audits complete
What this skill can do
Reads your filesConnects to the internetRuns code on your machine
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk