Claude-skill-registry contentful-sdk

Comprehensive Contentful SDK guide for TypeScript/JavaScript. Covers Management SDK (CMA) for content/schema management, Delivery SDK (CDA) for fetching content, and App Framework SDK for building Contentful apps. Use for any Contentful API integration work.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/contentful-sdk" ~/.claude/skills/majiayu000-claude-skill-registry-contentful-sdk && rm -rf "$T"
manifest: skills/data/contentful-sdk/SKILL.md
source content

Contentful SDK Guide

Comprehensive guide for Contentful SDKs in TypeScript/JavaScript.

Which SDK Do You Need?

Management SDK (CMA)

For creating, updating, and managing content, content types, assets, and environments.

Start here: references/management/overview.md

Topics:

  • content-types.md - Define and update content models with field types and validations
  • entries.md - Create, update, query, and publish entries with version locking
  • assets.md - Upload, process, and publish media files
  • environments.md - Create, clone, and manage environments and aliases
  • error-handling.md - Handle rate limits, version conflicts, and validation errors
  • bulk-operations.md - Pagination, batch processing, and concurrency control

Delivery SDK (CDA)

For fetching published content in production applications.

Start here: references/delivery/overview.md

Topics:

  • querying.md - Query parameters, filters, search operators, and pagination
  • includes-links.md - Link resolution, includes parameter, and handling references
  • localization.md - Locale handling, fallbacks, and multi-language content
  • rich-text.md - Rendering rich text fields with embedded entries and assets

App Framework SDK

For building apps that extend the Contentful UI.

Start here: references/app-framework/overview.md

Topics:

  • locations.md - All app locations: field, sidebar, dialog, entry editor, page, config
  • sdk-apis.md - Navigator, dialogs, notifier, access, and window APIs
  • parameters.md - Installation, instance, and invocation parameters

Quick Reference

Version Locking (Management SDK)

Always pass

sys
when updating to prevent conflicts:

const entry = await client.entry.get({ spaceId, environmentId, entryId })
await client.entry.update({ spaceId, environmentId, entryId }, {
  sys: entry.sys,  // Required for version locking
  fields: { ... }
})

TypeScript Entry Skeletons (Delivery SDK)

Define type-safe content structures:

type BlogPostSkeleton = {
  contentTypeId: 'blogPost'
  fields: {
    title: EntryFieldTypes.Text
    slug: EntryFieldTypes.Symbol
    body: EntryFieldTypes.RichText
  }
}
const entry = await client.getEntry<BlogPostSkeleton>('entry-id')

CMA Integration in Apps (App Framework)

Use SDK adapter to avoid exposing tokens:

import contentful from 'contentful-management'

const cma = contentful.createClient(
  { apiAdapter: sdk.cmaAdapter },
  {
    type: 'plain',
    defaults: {
      spaceId: sdk.ids.space,
      environmentId: sdk.ids.environmentAlias ?? sdk.ids.environment
    }
  }
)