Help us improve
Share bugs, ideas, or general feedback.
From contentful
Adds and configures Contentful in an existing Next.js project. Covers SDK install, env vars, production/preview clients, content fetching in App Router or Pages Router, and Draft Mode preview flows.
npx claudepluginhub contentful/skills --plugin contentfulHow this skill is triggered — by the user, by Claude, or both
Slash command
/contentful:contentful-nextjs [what to set up][what to set up]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to integrate Contentful into an existing Next.js application.
Explains core Contentful concepts and routes users to the right implementation skill or documentation. Clarifies APIs (CDA/CPA/CMA/GraphQL) and Contentful MCP server.
Configures Nuxt Content v3 Git-based CMS for Markdown/MDC content in Nuxt apps, with type-safe queries, Zod/Valibot validation, full-text search, SQL storage, and Nuxt Studio editing for blogs/docs.
Integrates Sveltia CMS, lightweight Git-backed headless CMS for static sites (Hugo, Jekyll, 11ty, Gatsby, Astro, Next.js). Use for blogs, docs, i18n, OAuth/TOML/CORS errors.
Share bugs, ideas, or general feedback.
Use this skill to integrate Contentful into an existing Next.js application.
Contentful is a headless, API-first CMS (composable content platform) that lets Next.js apps fetch structured content through delivery and preview APIs.
https://www.contentful.com/developers/docs/tools/mcp-server/.echo "=== Contentful packages ===" && node -e "try{const p=require('./package.json');const d={...p.dependencies,...p.devDependencies};const c=Object.entries(d).filter(([k])=>k.includes('contentful'));console.log(c.length?c.map(([k,v])=>k+'@'+v).join('\n'):'(Contentful SDK not installed)')}catch{console.log('(no package.json)')}" 2>/dev/null
echo ""
echo "=== Contentful env vars ===" && grep -h CONTENTFUL .env.local .env 2>/dev/null | sed 's/=.*/=<set>/' || echo "(no Contentful env vars found in .env.local or .env)"
echo ""
echo "=== Router type ===" && ([ -d "app" ] && echo "App Router detected (app/ directory exists)" || ([ -d "pages" ] && echo "Pages Router detected (pages/ directory exists)" || echo "(could not detect router type)"))
https://github.com/vercel/next.js/releases when version-specific guidance is needed..env.local before continuing, and explain where to find each value.contentful SDK.https://github.com/vercel/next.js/releases before recommending upgrades, compatibility workarounds, or version-specific fixes.CONTENTFUL_SPACE_ID - Find it in the Contentful URL (/spaces/<SPACE_ID>/...) or in Space settings -> API keys.CONTENTFUL_ACCESS_TOKEN - CDA token from Space settings -> API keys.CONTENTFUL_PREVIEW_ACCESS_TOKEN (for preview workflows) - CPA token from Space settings -> API keys.Creating an API key in Contentful provides both tokens needed here:
CONTENTFUL_ACCESS_TOKENCONTENTFUL_PREVIEW_ACCESS_TOKENpreview.contentful.com and preview token when Draft Mode is enabled.master) as the client environment value to decouple runtime clients from release environment IDs.