From content-modelling
Design CMS content models with content types, fields, editorial workflows, governance rules, structured content architecture, and COPE (Create Once, Publish Everywhere) patterns. NOT for formal ontologies, taxonomies, or semantic modeling (use ontology-design).
npx claudepluginhub viktorbezdek/skillstack --plugin content-modellingThis skill uses the workspace's default tool permissions.
Design structured content models for reusable, multi-channel content.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Reviews prose for communication issues impeding comprehension, outputs minimal fixes in a three-column table per Microsoft Writing Style Guide. Useful for 'review prose' or 'improve prose' requests.
Design structured content models for reusable, multi-channel content.
| Concept | Definition |
|---|---|
| Content Type | Template defining structure for similar content |
| Field | Single data element within a content type |
| Relationship | Connection between content types |
| Instance | Specific piece of content based on a type |
| Type | Use Case | Example |
|---|---|---|
| Short text | Titles, labels | "Getting Started" |
| Long text | Descriptions | Paragraph content |
| Rich text | Formatted content | Bold, links, lists |
| Number | Quantities | 42 |
| Boolean | Toggles | true |
| Date | Timestamps | 2024-01-15 |
| Media | Images, files | hero.png |
| Reference | Links to other content | → Author |
| Enum | Fixed choices | `draft |
Content exists independently, linked by ID.
Article → Author (reference)
└─ Author can be edited separately
Content nested within parent.
Article ⊃ SEO Metadata (embedded)
└─ Metadata only exists in this article
Parent-child relationships.
Documentation
├── Getting Started
│ ├── Installation
│ └── Configuration
└── API Reference
## Content Type: [Name]
### Overview
| Attribute | Value |
|-----------|-------|
| **Purpose** | [what this type represents] |
| **Cardinality** | [expected instance count] |
| **Lifecycle** | [draft → review → published] |
### Fields
| Field | Type | Required | Constraints |
|-------|------|----------|-------------|
| title | Short text | Yes | Max 100 chars |
| slug | Short text | Yes | URL-safe, unique |
| body | Rich text | Yes | - |
| author | Reference | Yes | → Author |
| status | Enum | Yes | draft/published |
### Relationships
| Relation | Type | Target | Cardinality |
|----------|------|--------|-------------|
| author | Reference | Author | 1:1 |
| category | Reference | Category | Many:1 |
### Validation Rules
- `slug` must be unique within parent
- `publishedAt` required when `status = published`
| Element | Convention | Example |
|---|---|---|
| Types | PascalCase | BlogPost |
| Fields | camelCase | publishedAt |
| Slugs | kebab-case | getting-started |