content-modeling-best-practices

Guides structured content schema design for Sanity and headless CMS platforms.

Updated Mar 6, 2026
One-click install
npx skills add https://github.com/ebecerra-developer/ebecerra-web --skill content-modeling-best-practices-ebecerra-developer
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: content-modeling-best-practices
Source: https://github.com/ebecerra-developer/ebecerra-web/tree/main/.agents/skills/content-modeling-best-practices
Command: npx skills add https://github.com/ebecerra-developer/ebecerra-web --skill content-modeling-best-practices-ebecerra-developer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Designing content schemas that are reusable, presentation-independent, and scalable is hard, and poor modeling decisions lead to duplicated content, painful redesigns, and unmaintainable taxonomies. This Skill provides structured guidance for making sound content architecture decisions in Sanity and other headless CMSes. ## Core Features & Use Cases - Schema Design Principles: Apply core principles like separating content from presentation and treating content as data rather than pages. - Reference vs Embedding Decisions: Decide when to link content via references versus embedding objects, with Sanity TypeScript implementation examples. - Reuse and Taxonomy Patterns: Implement shared components, shared field sets, content fragments, and flat, hierarchical, or faceted classification with GROQ query examples. - Use Case: When refactoring a page-shaped schema into structured content, consult the references to rename presentation-driven fields like 'bigHeroText' into semantic fields like 'headline' and centralize categories as referenced taxonomy documents. ## Quick Start Ask the AI to review your Sanity schema and recommend whether each field should be a reference or an embedded object using content modeling best practices.

Frequently Asked Questions about content-modeling-best-practices

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decide between references and embedded objects in Sanity?▼

Use references when content is reusable, needs central management, or has its own lifecycle, such as authors or products. Use embedded objects for content unique to one document, like SEO metadata or page-specific sections.

How to design a content model that survives a redesign?▼

Name fields by meaning rather than appearance, such as 'headline' instead of 'bigHeroText'. Test each field by asking whether the name still makes sense after a complete visual redesign.

Does this content modeling guidance work with CMSes other than Sanity?▼

Yes, the core principles apply to any headless CMS, including separation of concerns, reuse patterns, and taxonomy design. Only the TypeScript schema definitions and GROQ query examples are Sanity-specific.

When should I use hierarchical versus faceted taxonomy?▼

Use hierarchical taxonomy for parent-child structures like product categories, and faceted classification when users filter by multiple independent dimensions like color, size, and material. Keep hierarchies to three or four levels maximum.

What are the signs of over-abstraction in a content model?▼

Over-abstraction shows up as references used only once, editors navigating multiple documents to edit one page, and complex queries joining rarely-shared content. If content appears in only one place, embedding it is simpler.