Content Modeling Best Practices

Added March 5, 2026 Source: Sanity

Design flexible, reusable, and maintainable content structures with these best practices. This guide helps you model content as data, not pages, and think about future channels for delivery. It includes principles applicable to any headless CMS, alongside specific implementation notes for Sanity.

Installation

This skill is self-contained. Copy the SKILL.md below directly into your project to get started.

.claude/skills/content-modeling-best-practices/SKILL.md    # Claude Code
.cursor/skills/content-modeling-best-practices/SKILL.md    # Cursor

Or install as a personal skill (available across all your projects):

~/.claude/skills/content-modeling-best-practices/SKILL.md

You can also install using the skills CLI:

npx skills add sanity-io/agent-toolkit --skill content-modeling-best-practices

Requires Node.js 18+.

SKILL.md

---
name: content-modeling-best-practices
description: General principles for structured content modeling that apply across CMSs, with Sanity-specific guidance. Use when designing content schemas, planning content architecture, or evaluating content reuse strategies.
license: MIT
metadata:
  author: sanity
  version: "1.0.0"
---

# 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

## Resources

See `resources/` for detailed guidance on specific topics:
- `resources/separation-of-concerns.md` — Separating content from presentation
- `resources/reference-vs-embedding.md` — When to use references vs embedded objects
- `resources/content-reuse.md` — Content reuse patterns and the reuse spectrum
- `resources/taxonomy-classification.md` — Flat, hierarchical, and faceted classification

Originally by Sanity, adapted here as an Agent Skills compatible SKILL.md.

This skill follows the Agent Skills open standard, supported by Claude Code, Cursor, Codex, Gemini CLI, and 20+ more editors.

Works with

Agent Skills format — supported by 20+ editors. Learn more