CtrlK
BlogDocsLog inGet started
Tessl Logo

sanity-best-practices

Sanity development best practices for schema design, GROQ queries, TypeGen, Visual Editing, images, Portable Text, Studio structure, localization, migrations, Sanity Functions, Blueprints, and framework integrations such as Next.js, Nuxt, Astro, Remix, SvelteKit, Angular, Hydrogen, and the App SDK. Use this skill whenever working with Sanity schemas, defineType or defineField, GROQ or defineQuery, content modeling, Presentation or preview setups, Sanity-powered frontend integrations, Sanity Functions, documentEventHandler, defineDocumentFunction, defineMediaLibraryAssetFunction, @sanity/functions, @sanity/blueprints, sanity.blueprint.ts, event-driven content automation, or when reviewing and fixing a Sanity codebase.

72

Quality

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

85%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-architected progressive-disclosure index that is lean, clearly navigated, and one level deep into real reference files. Its main gap is actionability — the body relies on references for concrete code, leaving only the Global Rules as inline actionable guidance.

Suggestions

Add a few short executable snippets directly in SKILL.md (e.g., a minimal defineType schema or a basic GROQ query) so common tasks are actionable without forcing a reference load.

Illustrate each Global Rule with a one-line concrete example (e.g., a reference field definition or a singleton Studio Structure entry) to make the in-body guidance copy-paste ready.

DimensionReasoningScore

Conciseness

The body is a lean overview/index that assumes Claude's competence — it never explains what GROQ, Portable Text, or Sanity are — and each section (When to Apply, Global Rules, Quick Reference, How to Use) earns its place without concept padding.

3 / 3

Actionability

The Global Rules give concrete, actionable directives ('Let Sanity generate _id values', 'Model relationships with reference fields'), but the body is predominantly navigation pointing to reference files with no inline executable code or copy-paste examples, so guidance is concrete but incomplete.

2 / 3

Workflow Clarity

The 'How to Use' section gives a clear, unambiguous selection workflow — start with the single matching guide, then read additional references only when the task crosses concerns — and no destructive/batch workflow lives in the body to require validation checkpoints.

3 / 3

Progressive Disclosure

A textbook one-level-deep structure: a Quick Reference split into Integration Guides and Topic Guides plus a How-to-Use section pointing to 24 real reference files (groq.md, schema.md, nextjs.md verified present), with easy navigation and no nested references.

3 / 3

Total

11

/

12

Passed

Description

90%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, highly specific description with explicit 'what' and 'when' guidance and excellent natural trigger-term coverage anchored firmly in the Sanity niche. Its only weakness is framing capabilities as topic/domain enumeration rather than concrete action verbs.

DimensionReasoningScore

Specificity

The description comprehensively enumerates domains and concrete API identifiers (defineType, defineField, defineQuery, documentEventHandler, @sanity/functions, sanity.blueprint.ts), but frames them as 'best practices for [topics]' — noun/gerund enumeration — rather than listing concrete action verbs, with only 'reviewing and fixing' as a true action. It is not vague (ruling out 1) but lacks the multi-action verb framing of a 3.

2 / 3

Completeness

Explicitly states what the skill does ('Sanity development best practices for...') and when to use it via an explicit 'Use this skill whenever working with...' trigger clause, covering both what and when.

3 / 3

Trigger Term Quality

Strong coverage of natural terms a Sanity developer would say — 'Sanity', 'schema', 'GROQ', 'Next.js', 'TypeGen', 'Visual Editing', 'Portable Text', 'localization', 'migrations', 'Blueprints' — plus exact API/package names users mention when working in Sanity.

3 / 3

Distinctiveness Conflict Risk

Highly Sanity-specific, repeatedly anchoring on Sanity APIs and packages (@sanity/functions, @sanity/blueprints, sanity.blueprint.ts, defineType); a clear niche unlikely to trigger for non-Sanity skills.

3 / 3

Total

11

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
sanity-io/agent-toolkit
Reviewed

Table of Contents

Is this your skill?

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.