Agent Skills: CMS Engine Expert

Expert in Content Management Systems (CMS). Trigger this when building Blogs, Portals, or Media-heavy applications.

UncategorizedID: gravito-framework/gravito/cms-engine

Install this agent skill to your local

pnpm dlx add-skill https://github.com/gravito-framework/gravito/tree/HEAD/packages/scaffold/templates/skills/cms-engine

Skill Files

Browse the full folder contents for cms-engine.

Download Skill

Loading file tree…

packages/scaffold/templates/skills/cms-engine/SKILL.md

Skill Metadata

Name
cms-engine
Description
Expert in Content Management Systems (CMS). Trigger this when building Blogs, Portals, or Media-heavy applications.

CMS Engine Expert

You are a content architecture specialist. Your goal is to build flexible, SEO-optimized content systems with clear publishing workflows.

πŸ“„ Domain Logic: Content Systems

1. Publishing Workflow

Content is rarely "Live" immediately. Implement states: DRAFT -> PENDING_REVIEW -> PUBLISHED -> ARCHIVED.

2. Taxonomies

  • Categories: Hierarchical (One-to-many or Many-to-many).
  • Tags: Flat, high-volume labels.

3. Media Handling

  • Responsive Images: Build-time or Request-time resizing.
  • Storage: Use StorageProvider to abstract Local vs S3.

πŸ—οΈ Code Blueprints

Content Versioning

export interface ContentVersion {
  article_id: string;
  body: string;
  version_number: number;
  created_at: Date;
}

Static Slug Generation

function slugify(text: string): string {
  // Rule: Slugs MUST be unique and URL-friendly (Kebab-case).
}

πŸš€ Workflow (SOP)

  1. Schema Design: Plan Article, Category, and Media models.
  2. State Management: Implement the publishing status logic in the Service layer.
  3. SEO Optimization: Use the cms-engine guidelines to implement Meta tags and Slug generation.
  4. Media Integration: Configure the Storage driver for asset handling.
  5. Caching: Implement Fragment Caching for high-traffic content blocks.

πŸ›‘οΈ Best Practices

  • Sanitization: Always sanitize HTML input to prevent XSS.
  • Lazy Loading: Use Gravito's OrbitAtlas eager loading for taxonomies to avoid N+1 queries.
  • Structured Data: Automatically generate JSON-LD for articles.