querying-soql
SOQL query generation, optimization, and analysis with 100-point scoring. 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 or safety improvements for Salesforce queries. 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 handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
What this skill does
# querying-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 `querying-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 → [handling-sf-data](../handling-sf-data/SKILL.md) - embedding query logic inside broader Apex implementation → [generating-apex](../generating-apex/SKILL.md) - debugging via logs rather than query shape → [debugging-apex-logs](../debugging-apex-logs/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: - [handling-sf-data](../handling-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 — 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 handling-sf-data or embed in Apex> ``` --- ## Cross-Skill Integration | Need | Delegate to | Reason | |---|---|---| | run the query against an org | [handling-sf-data](../handling-sf-data/SKILL.md) | execution and export | | embed the query in services/selectors | [generating-apex](../generating-apex/SKILL.md) | implementation context | | analyze slow-query symptoms from logs | [debugging-apex-logs](../debugging-apex-logs/SKILL.md) | runtime evidence | | wire query-backed UI | [generating-lwc-components](../generating-lwc-components/SKILL.md) | frontend integration | --- ## 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 | --- ## Reference File Index | File | When to read | |------|-------------| | `references/soql-syntax-reference.md` | Syntax, operators, date literals, relationship query patterns | | `references/query-optimization.md` | Selectivity rules, indexing strategy, governor limits, security patterns | | `references/soql-reference.md` | Quick reference — operators, date functions, aggregate functions, WITH clauses | | `references/anti-patterns.md` | Common SOQL mistakes and their fixes — read before finalizing any query | | `references/selector-patterns.md` | Apex selector layer patterns — read when embedding queries in Apex classes | | `references/field-coverage-rules.md` | Field coverage validation — read when generating SOQL used inside Apex code | | `references/cli-commands.md` | sf CLI query execution, bulk export, query plan commands | | `assets/basic-queries.soql` | Starter query examples for common objects | | `assets/relationship-queries.soql` | Parent-to-child and child-to-parent relationship query patterns | | `assets/aggregate-queries.soql` | COUNT, SUM, GROUP BY, ROLLUP query patterns | | `assets/optimization-patterns.soql` | Selective filter and index-aware query patterns | | `assets/bulkified-query-pattern.cls` | Apex Map-based bulk query pattern for trigger contexts | | `assets/selector-class.cls` | Full selector class implementation template | | `scripts/post-tool-validate.py` | Post-write hook — runs static SOQL validation and live query plan analysis after `.soql` file edits |
Related in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.
timesfm-forecasting
IncludedZero-shot time series forecasting with Google's TimesFM foundation model. Use this skill when forecasting ANY univariate time series — sales, sensor readings, stock prices, energy demand, patient vitals, weather, or scientific measurements — without training a custom model. Supports both basic forecasting and advanced covariate forecasting (XReg) with dynamic and static exogenous variables. Automatically checks system RAM/GPU before loading the model, validates dataset fit before processing, supports CSV/DataFrame/array inputs, and returns point forecasts with calibrated prediction intervals. Includes a preflight system checker script that MUST be run before first use to verify the machine can load the model and handle your specific dataset.