AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Content Modelling

skill-viktorbezdek-skillstack-content-modelling · by viktorbezdek

Design CMS content models — content types, fields, editorial workflows, governance rules, and COPE (Create Once, Publish Everywhere) patterns — for structured, multi-channel publishing. Use when the user asks to design a content model, define content types in a CMS, structure fields for editorial content, plan a headless CMS architecture, or design content reuse across channels. NOT for formal kn…

No reviews yet
0 installs
32 views
0.0% view→install

Install

$ agentstack add skill-viktorbezdek-skillstack-content-modelling

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-viktorbezdek-skillstack-content-modelling)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Content Modelling? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Content Modelling

Design structured content models for reusable, multi-channel content.

When to Use / Not Use

Use when:

  • Designing a CMS schema for a new project
  • Defining content types with fields, constraints, and relationships
  • Planning editorial workflows (draft, review, publish, archive)
  • Building multi-channel content systems (web, mobile, email, API)
  • Migrating from page-based to structured content models
  • Establishing naming conventions for content types and fields

Do NOT use when:

  • Building formal ontologies with classes, properties, and inference rules -> use ontology-design
  • Standardizing naming conventions across code and documentation -> use consistency-standards
  • Designing API schemas and endpoints -> use api-design

Decision Tree

What are you modeling?
├── CMS content types (what fields, what relationships)
│   ├── New system? -> Start with content inventory, then type design (§Field Types, §Relationship Types)
│   └── Existing system with problems? -> Audit for anti-patterns first (§Anti-Patterns)
├── Multi-channel publishing (same content, different outputs)
│   └── Need COPE? -> Use semantic fields, not layout fields (§Design Principles)
├── Editorial workflow (who reviews, when, how)
│   └── Need lifecycle model? -> Define status enum + transition rules (§Content Model Template)
├── Terminology standardization (what to call things)
│   └── Naming conventions only? -> Use `consistency-standards` instead
└── Formal knowledge model with reasoning?
    └── Use `ontology-design` instead

Core Concepts

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

Field Types

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

Relationship Types

Reference (Linked)

Content exists independently, linked by ID.

Article → Author (reference)
         └─ Author can be edited separately

Embedded

Content nested within parent.

Article ⊃ SEO Metadata (embedded)
          └─ Metadata only exists in this article

Hierarchical

Parent-child relationships.

Documentation
├── Getting Started
│   ├── Installation
│   └── Configuration
└── API Reference

Relationship Decision Guide

| Question | If Yes | If No | |----------|--------|-------| | Does the related content exist independently? | Use Reference | Use Embedded | | Will it be edited in one place and propagate? | Use Reference | Use Embedded | | Is it a tree structure? | Use Hierarchical | — |

Content Model Template

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

Naming Conventions

| Element | Convention | Example | |---------|------------|---------| | Types | PascalCase | BlogPost | | Fields | camelCase | publishedAt | | Slugs | kebab-case | getting-started |

Design Principles

COPE: Create Once, Publish Everywhere

  • Separate content from presentation
  • Use semantic fields, not layout fields
  • Enable multi-channel delivery

Atomic Content

  • Break content into smallest reusable units
  • Compose complex content from atoms
  • Avoid duplication

Anti-Patterns

| Anti-Pattern | Problem | Solution | |---|---|---| | Page-based models | Content tied to specific layouts; cannot reuse across channels | Redesign with semantic fields; remove all layout-specific fields (heroImage position, sidebar width) from content types | | HTML in rich text fields | Content renders incorrectly on mobile or in email; mixes content with presentation | Enforce rich text fields as semantic markup only; strip layout HTML in migration; use structured blocks | | Monolithic content type | One "General Content" type with 40 optional fields; authors confused about which to fill | Decompose into specific types based on field usage analysis; each type gets only its relevant fields | | Redundant fields | Same data in multiple places; drift on updates | Single-source via references or variables; if data changes, update once | | Missing lifecycle | Content jumps from draft to published with no review; stale content never archived | Add status enum with transition rules and required review steps | | Presentation in model | heroImage on a Guide type that not all channels render | Move to separate MediaAsset reference; rendering layer decides what to show |

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.