content-modeling-best-practices

Structured content modeling guidance for schema design, reusability, and multi-channel delivery. Covers core principles: treating content as data rather than pages, maintaining single sources of truth, designing for future channels, and optimizing for editor workflows Includes decision frameworks for references versus embedded objects, separation of concerns, and content reuse patterns Provides taxonomy and classification guidance for flat, hierarchical, and faceted approaches Applies to...

npx skills add https://github.com/sanity-io/agent-toolkit --skill content-modeling-best-practices

Content Modeling Best Practices

Principles for designing structured content that's flexible, reusable, and maintainable. These concepts apply to any headless CMS but include Sanity-specific implementation notes.

When to Apply

Reference these guidelines when:

  • Starting a new project and designing the content model
  • Evaluating whether content should be structured or free-form
  • Deciding between references and embedded content
  • Planning for multi-channel content delivery
  • Refactoring existing content structures

Core Principles

  1. Content is data, not pages — Structure content for meaning, not presentation
  2. Single source of truth — Avoid content duplication
  3. Future-proof — Design for channels that don't exist yet
  4. Editor-centric — Optimize for the people creating content

References

Start with the reference that matches the modeling decision in front of you, instead of loading every topic at once. See references/ for detailed guidance on specific topics:

  • references/separation-of-concerns.md — Separating content from presentation
  • references/reference-vs-embedding.md — When to use references vs embedded objects
  • references/content-reuse.md — Content reuse patterns and the reuse spectrum
  • references/taxonomy-classification.md — Flat, hierarchical, and faceted classification

More skills from sanity-io

performance-optimization
sanity-io
Optimizes application performance. Use when performance requirements exist, when you suspect performance regressions, or when Core Web Vitals or load times…
official
rxjs-like-a-pro
sanity-io
This skill helps you write RxJS code that is idiomatic, composable, and free of common pitfalls. The core philosophy: keep logic in the observable chain . Every time you reach for .subscribe() , ask whether the work could instead be expressed as a transformation inside .pipe() .
official
find-skills
sanity-io
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express…
official
next-cache-components
sanity-io
Next.js 16 Cache Components - PPR, use cache directive, cacheLife, cacheTag, updateTag
official
vercel-react-best-practices
sanity-io
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js…
official
frontend-design
sanity-io
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or…
official
plugin-transfer
sanity-io
Guides agents through migrating an existing plugin into this monorepo with the copy-plugin generator workflow.
official
test-studio-script-runner
sanity-io
Explains the dev/test-studio Script Runner tool. Use when adding, editing, running, or documenting scripts in dev/test-studio/src/script-runner, or when the…
official