content-modeling-best-practices
sanity-io/agent-toolkit
Structured content modeling guidance for schema design, reusability, and multi-channel delivery in headless CMSes.
What is content-modeling-best-practices?
Provides principles and patterns for designing flexible, maintainable content models in Sanity and other headless CMSes. Use this skill when designing schemas, deciding between references and embedded objects, planning omnichannel content, or refactoring to separate content from presentation.
- Guidance on separating content from presentation logic
- Decision frameworks for references versus embedded objects
- Content reuse patterns and the reuse spectrum
- Taxonomy and classification strategies (flat, hierarchical, faceted)
- Schema design for multi-channel content delivery
- Evaluation criteria for whether a model is too page-shaped
How to install content-modeling-best-practices
npx skills add https://github.com/sanity-io/agent-toolkit --skill content-modeling-best-practicesHow to use content-modeling-best-practices
- 1.Identify the modeling decision you're facing (schema design, references vs embedding, reuse, taxonomy, etc.)
- 2.Consult the relevant reference guide in `references/` that matches your decision
- 3.Apply the core principles: treat content as data, maintain single source of truth, design for future channels, optimize for editors
- 4.Review your schema or proposal against the guidance
- 5.Iterate on your model based on the patterns and principles provided
Use cases
- Starting a new project and designing the initial content model
- Deciding whether to embed content or use references in a schema
- Planning content delivery across web, mobile, and other channels
- Refactoring an existing schema to reduce duplication and improve reusability
- Evaluating whether a content type is too tightly coupled to presentation
- Content architects
- Headless CMS schema designers
- Full-stack developers building with Sanity
- Content strategists planning multi-channel delivery
- Teams refactoring legacy content models
content-modeling-best-practices FAQ
Use references when content needs to be reused across multiple places, updated independently, or queried separately. Embed when content is tightly coupled to its parent and never appears elsewhere. See `references/reference-vs-embedding.md` for detailed decision criteria.
Structure content around meaning and data relationships, not page layouts. Separate presentation concerns from content structure. A page-shaped model couples content to specific UI layouts and breaks when channels change.
Flat taxonomies are simple lists (tags). Hierarchical taxonomies have parent-child relationships (categories). Faceted taxonomies allow content to be classified across multiple independent dimensions. Choose based on your content complexity and query needs.
Start with the reuse spectrum: single-use content, reusable components, and shared references. Only abstract content into reusable pieces when you have actual reuse cases, not hypothetical ones.
Yes. These are headless CMS principles that apply across platforms. Implementation details vary, but the core concepts of separation of concerns, references, reuse, and taxonomy design are universal.
Full instructions (SKILL.md)
Source of truth, from sanity-io/agent-toolkit.
name: content-modeling-best-practices description: Structured content modeling guidance for schema design, content architecture, content reuse, references versus embedded objects, separation of concerns, and taxonomies across Sanity and other headless CMSes. Use this skill when designing or refactoring content types, deciding field shapes, debating reusable versus nested content, planning omnichannel content models, or reviewing whether a schema is too page-shaped or presentation-driven.
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
- Content is data, not pages — Structure content for meaning, not presentation
- Single source of truth — Avoid content duplication
- Future-proof — Design for channels that don't exist yet
- 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 presentationreferences/reference-vs-embedding.md— When to use references vs embedded objectsreferences/content-reuse.md— Content reuse patterns and the reuse spectrumreferences/taxonomy-classification.md— Flat, hierarchical, and faceted classification
Related skills
More from sanity-io/agent-toolkit and the wider catalog.

portable-text-conversion
Convert HTML and Markdown into Portable Text blocks for Sanity content migration and pipelines.

portable-text-serialization
Render and serialize Portable Text across React, Vue, Svelte, Astro, HTML, Markdown, and plain text.

sanity-best-practices
Sanity development best practices for schema design, GROQ, TypeGen, Visual Editing, and framework integrations.

sanity-migration
Plan, implement, and validate CMS-to-Sanity migrations with structured ETL workflows.

seo-aeo-best-practices
SEO and AEO best practices for metadata, structured data, sitemaps, and AI answer engine optimization.

book-study
Systematic reading coach with knowledge compilation, mastery testing, and spaced repetition for deep book learning.