Skip to content
cccskills
FreePublished on GitHub

cms-pro

Integrate headless CMSs: content modeling, APIs, previews, webhooks, and editorial workflows. Use when content teams need to publish without developers.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md4.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

CMS Pro

A practical guide to headless CMS integration: content modeling, delivery APIs, preview/draft workflows, webhooks for revalidation, and the editorial UX that makes content teams self-sufficient.

Overview

A headless CMS separates content management (editorial UI, workflows) from presentation (your frontend consuming a content API). The integration work: modeling content types well, fetching efficiently, previewing drafts, and revalidating statically-generated pages on publish. Good modeling is 80% of success — bad models produce either developer bottlenecks or content chaos.

When to use

  • Marketing sites, blogs, docs, and landing pages edited by non-developers.
  • Choosing/evaluating a headless CMS (any vendor — patterns are universal).
  • Preview environments for draft content.
  • Webhook-driven revalidation and rebuilds.

Core concepts

  • Content modeling. Content types (Post, Page, Author), fields (rich text, references, media, SEO meta), and validations. Model for the editors' mental model, not the database's.
  • References vs embeds. Reference shared entities (authors, categories); embed page-specific blocks. Over-referencing complicates queries; over-embedding duplicates content.
  • Delivery API. Read-optimized CDN API (usually GraphQL or REST) with draft/published variants. Query at build time (static) or request time (dynamic) per page needs.
  • Preview. Draft mode: editors see unpublished content via preview URLs/tokens. Implementation: preview API route that bypasses the published cache with a secret token.
  • Webhooks. CMS publishes → webhook → revalidate affected paths (revalidatePath/revalidateTag) or trigger rebuild. Map content types to URL patterns for surgical invalidation.
  • Portable text / rich text. Structured rich text (blocks, marks, custom objects) rendered by your components — never raw HTML from the CMS without sanitization.
  • Media. CMS-hosted assets via CDN with transforms (resize, format). Use the CMS's image API, not originals.

Practical workflow

1. Model content.

Post: title, slug (unique, validated), excerpt, body (portable text),
      coverImage (media), author (reference), categories (references[]),
      seo { title, description, ogImage }, publishedAt, status

Add help text and validations on every field — editors shouldn't guess.

2. Fetch (Next.js example).

// lib/cms.ts
export async function getPost(slug: string, draft = false) {
  return cms.fetch(`*[_type == "post" && slug.current == $slug][0]`, { slug },
    { token: draft ? PREVIEW_TOKEN : undefined, perspective: draft ? 'drafts' : 'published' });
}

3. Draft preview.

// app/api/preview/route.ts — validates ?secret=, enables draft mode, redirects to the page
// page.tsx reads draftMode() and passes draft flag to fetches

4. Revalidate on publish. CMS webhook → /api/revalidate (verify signature!) → revalidateTag('posts') or revalidatePath('/blog/[slug]'). Tag-based invalidation scales best.

5. Render rich text safely. Map portable-text blocks to your components (headings, quotes, code blocks, embeds); sanitize any raw HTML.

6. Editorial QA. Preview links in the CMS workflow; required SEO fields; image alt requirements; broken-link checks on publish.

Common pitfalls

  • Modeling for developers. Field names and structures editors don't understand → constant support requests. Name things in editorial language; add help text.
  • N+1 queries. Fetching a list then each item's references individually. Use query projections/GROQ to fetch nested data in one request.
  • No preview. Editors publishing blind → broken layouts discovered in production. Draft preview is not optional for rich pages.
  • Full rebuilds on every edit. Rebuilding 10k pages for a typo fix. Webhook + tag/path revalidation instead.
  • Unsigned webhooks. Revalidation endpoints without signature verification = anyone can purge your cache / trigger builds. Verify signatures.
  • Raw HTML rendering. {@html body} from CMS content = XSS vector. Structured rich text + component mapping, or strict sanitization.
  • Slug changes breaking URLs. Allow slug edits but keep redirect history (old slug → new). Or lock slugs after publish.
  • Missing SEO fields. No title/description/OG per page = weak sharing and search. Make them required with sensible fallbacks.
  • Vendor lock-in blindness. Proprietary rich-text formats and media URLs complicate migration. Prefer portable formats; keep media URLs abstracted.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Master 1Password: vaults, Watchtower, passkeys, SSH agent, CLI, and family/team administration. Use when getting full value from 1Password personally or administering it for others.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills25Updated Oct 10, 2026

Create 3D visuals with modeling, texturing, lighting, rendering, and optimization for web and product.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills25Updated Oct 10, 2026

Create 3D web experiences: scene setup, models, materials, lighting, animation, scroll-driven scenes, and performance budgets. Use when adding 3D to websites beyond basic demos.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills25Updated Oct 10, 2026

Writing abstracts that get papers read — structured content, the 5-sentence core, and journal-specific constraints.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills25Updated Oct 10, 2026

Learn effectively from courses and academies: choosing programs, studying actively, and converting courses into skills. Use when investing time/money in structured learning.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills25Updated Oct 10, 2026

Audit designs for accessibility with WCAG checklists covering color, type, focus, motion, and content.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills25Updated Oct 10, 2026

See all skills by aicodedecode

Report a problem with this skill