content-modeling-best-practices — Claude Code skill: content modeling
Guides your agent through content type design in headless CMS: what to reference, what to embed, how to stop duplicating data.
npx skills add sanity-io/agent-toolkit --skill content-modeling-best-practices -a claude-codeWhat content-modeling-best-practices does
The skill hands your agent a set of principles for content schemas. Four of them anchor everything: content is data, not pages; one source of truth; the model should survive channels that don't exist yet; and the editor creating content comes first.
Guidance is split across four files in references/: separating content from presentation, choosing between references and embedded objects, reuse patterns, and taxonomies — flat, hierarchical, faceted. The agent pulls the file that matches the decision in front of it rather than loading every topic.
The concepts apply to any headless CMS, with Sanity-specific implementation notes where they matter. Reach for it when a schema has already drifted: the same fields copied across three content types, or a structure that mirrors page layout instead of meaning. This is design and refactoring help, not schema code generation.
What it helps with
- decide between a reference and an embedded object
- separate content from presentation in an existing schema
- stop duplicating copy across content types
- plan a model for multi-channel delivery
- pick between flat, hierarchical and faceted classification
Example prompts for the agent
- Help me design content types for a blog: where do references make sense, where do embedded objects?
- Review my schema — is it too page-shaped?
- How do I reuse an author block across articles and case studies without duplication?
How to install content-modeling-best-practices
1Skills CLI (Vercel)
npx skills add sanity-io/agent-toolkit --skill content-modeling-best-practices -a claude-code2Manually: put the files in place
~/.claude/skills/content-modeling-best-practices/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/content-modeling-best-practices/
1Skills CLI (Vercel)
npx skills add sanity-io/agent-toolkit --skill content-modeling-best-practices -a codex2Manually: put the files in place
.agents/skills/content-modeling-best-practices/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add sanity-io/agent-toolkit --skill content-modeling-best-practices -a cursor2Manually: put the files in place
.cursor/skills/content-modeling-best-practices/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install sanity-io/agent-toolkit content-modeling-best-practices2Manually: put the files in place
.github/skills/content-modeling-best-practices/SKILL.md1Skills CLI (Vercel)
npx skills add sanity-io/agent-toolkit --skill content-modeling-best-practices -a gemini-cli2Platform CLI
gemini skills install https://github.com/sanity-io/agent-toolkit --path skills/content-modeling-best-practicesManually: put the files in place
.devin/skills/content-modeling-best-practices/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add sanity-io/agent-toolkit --skill content-modeling-best-practices -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about content-modeling-best-practices
How do I install content-modeling-best-practices in Claude?
Run npx skills add sanity-io/agent-toolkit --skill content-modeling-best-practices -a claude-code. The skill lands at ~/.claude/skills/content-modeling-best-practices/SKILL.md.
What does content-modeling-best-practices do?
It gives the agent principles for structured content modeling: separation of concerns, references versus embedding, content reuse, and taxonomy design.
Is this skill Sanity-only?
No. The concepts work for any headless CMS, though the text includes Sanity-specific implementation notes.
Source text
SKILL.md · MIT
--- 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
© sanity-io · MIT · sanity-io/agent-toolkit