# Sanity Groq

> Expert assistance for writing, optimizing, and debugging GROQ queries. Use when writing queries or debugging performance.

- Skill: `majiayu000/sanity-groq` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/sanity-groq`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/sanity-groq/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/sanity-groq

---


# GROQ Query Assistant

This skill helps users write GROQ queries that are efficient, correct, and compatible with Sanity TypeGen.

## Procedure

1.  **Analyze Request**
    *   Is the user asking for a new query?
    *   Is the user debugging an existing query?
    *   Is the user asking about performance?

2.  **Drafting Queries**
    *   **Rule:** Always wrap in `defineQuery` (or `groq` tag).
    *   **Rule:** Always use the `/* groq */` comment for syntax highlighting.
    *   **Rule:** Always use Projections `{ ... }`. Never return `*` (naked projection).
    *   **Example:**
        ```typescript
        const QUERY = defineQuery(/* groq */ `*[_type == "post" && slug.current == $slug][0]{ title, body }`);
        ```

3.  **Optimization Checks**
    *   **Scan:** Look for `*[_type == "..."]` without `{}`. -> **Warn:** "Fetch only what you need."
    *   **Scan:** Look for string interpolation (`slug == "${slug}"`). -> **Warn:** "Use parameters (`$slug`)."
    *   **Scan:** Look for deep expansion (`...`). -> **Warn:** "Be explicit to reduce payload size."

4.  **TypeGen Integration**
    *   After writing the query, remind the user to run `npm run typegen` (or equivalent).
    *   Show how to import the generated type: `import { type QUERYResult } from './sanity.types'`.

