Skip to content
Content Modeling Best Practices

Content Modeling Best PracticesSkill

Released
1 views
MIT
Repository Docs

Summary

Sanity's official CMS-agnostic skill for structured content modelling — separation of concerns, references versus embedding, content reuse and taxonomy design, with Sanity-specific notes.

Features

  • CMS-agnostic principles with Sanity-specific implementation notes
  • Content is data not pages: structure for meaning, not presentation
  • Reference versus embedded object decision guidance
  • Content reuse patterns and the reuse spectrum
  • Flat, hierarchical and faceted taxonomy design
  • Loads one reference file per decision instead of the whole set

Install This Skill

Add this skill to your favorite AI agent in a few steps.

Any AI agent

This skill is plain instructions — it works with any assistant that accepts custom instructions or system prompts.

  1. Copy the skill content with the button below.
  2. Paste it into your agent's instruction file or system prompt (for example AGENTS.md, .cursorrules, or a custom instructions field).
  3. Ask the agent to apply the skill whenever the task matches.

Skill Content

Markdown Content

Copy this content and use it with your preferred AI agent

---
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

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

Usage Instructions

Learn how to use this skill with different AI agents.

Claude Desktop

In Claude Code: /plugin install sanity-plugin@sanity-agent-toolkit.

Example Usage

Review this schema — it looks like it was modelled around our landing page. Restructure it so the same content can drive an email and a mobile app.

Description

The most expensive mistake in a headless CMS project is modelling content the way the first page looks. Six months later the same copy has to appear in an email, an app and a voice assistant, and every field is named after a slot in a hero component. This skill is Sanity's attempt to get an agent to make the durable choice at the moment the schema is being written, when it is still cheap.

It is deliberately not Sanity-specific. The principles apply to any headless CMS; Sanity implementation notes are added where relevant. Four ideas anchor it: content is data, not pages, so structure it for meaning rather than presentation; a single source of truth, so the same fact is not duplicated across documents; future-proofing for channels that do not exist yet; and editor-centricity, optimising for the people who actually create the content.

Four reference files carry the detail, and the skill tells the agent to open the one that matches the decision in front of it rather than loading all of them:

  • separation-of-concerns.md — keeping content independent of presentation
  • reference-vs-embedding.md — when a reference beats an embedded object, and when it does not
  • content-reuse.md — reuse patterns and the reuse spectrum
  • taxonomy-classification.md — flat, hierarchical and faceted classification

When to reach for it: starting a new project's content model, deciding whether something should be structured or free-form, planning multi-channel delivery, or refactoring an existing model that has drifted page-shaped. It pairs naturally with sanity-best-practices, which covers the implementation side once the model is settled — but it is genuinely useful on a Contentful, Storyblok or Payload project too.

MIT licensed, part of sanity-io/agent-toolkit.

Related Skills

New

Google's official skill for the gws CLI — drive Gmail, Drive, Calendar, Sheets, Docs, Chat and Admin APIs from an agent, with Model Armor screening.

4 views 1 copies
New

Netlify's official skill for zero-config managed Postgres — querying from Functions, Drizzle setup, migrations and per-preview database branches.

3 views

Official WordPress skill for Gutenberg block work: block.json, attributes and serialization, dynamic rendering, and the deprecation path that keeps existing content valid.

2 views

Skill: claude-mem

by thedotmack

New

Persistent cross-session memory for coding agents: hooks capture each session, a local SQLite + vector store compresses it, and a mem-search skill reads it back.

1 views
Browse all skills →