Manages Sanity CMS schemas, GROQ queries, dataset exports/imports, and Studio configuration. Use when updating Sanity schemas, running GROQ or Vision queries, exporting datasets, modifying content models, or configuring a headless CMS with Sanity.io.
100
100%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Generic Sanity CMS development methodology. For project-specific configuration, schemas, plugins, document types, and GROQ examples, see sanity-config.md.
get_schema to understand document types and field structures before writing GROQ queriesdefineType and defineField patterns — always use Sanity helpers for type safety and consistencydrafts. prefix when querying or mutating documentsFetch published articles with authors populated:
*[_type == "article" && defined(publishedAt)] | order(publishedAt desc) {
_id,
title,
"author": author-> { name, _id },
body
}Filter by tag and return first 10:
*[_type == "article" && "tech" in tags[]] | order(_createdAt desc)[0..9] { title, slug }// schemas/article.js
import { defineType, defineField } from 'sanity'
export default defineType({
name: 'article',
title: 'Article',
type: 'document',
fields: [
defineField({ name: 'title', type: 'string', title: 'Title' }),
defineField({ name: 'slug', type: 'slug', options: { source: 'title' } }),
defineField({ name: 'author', type: 'reference', to: [{ type: 'author' }] }),
defineField({ name: 'body', type: 'array', of: [{ type: 'block' }] }),
],
})sanity start to surface schema errors locally.sanity dataset export and sanity dataset import into a temporary dataset and run queries.f5c8508
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.