{
  "markdown": "<div align=\"center\">\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"contentful-logo.svg\" />\n  <img src=\"contentful-logo.svg\" alt=\"Contentful\" height=\"40\" />\n</picture>\n\n<br /><br />\n\n**Your AI agent knows how to code. These skills teach it Contentful.**\n\n<br />\n\n[![version](https://img.shields.io/badge/v1.5.1-0286FF?style=flat&label=version)](https://github.com/contentful/skills/releases)\n[![license](https://img.shields.io/badge/MIT-grey?style=flat&label=license)](LICENSE)\n[![skills](https://img.shields.io/badge/7_skills-0286FF?style=flat&label=)](skills/)\n[![platforms](https://img.shields.io/badge/35%2B_platforms-0286FF?style=flat&label=)](https://agentskills.io)\n\n</div>\n\n<br />\n\nAI coding agents write great code but know nothing about your content model, your SDK patterns, or which of Contentful's five APIs to reach for. **Contentful Skills** fixes that — curated instructions, reference docs, and structured workflows that produce correct Contentful integrations on the first try.\n\n## Quickstart — Claude Code\n\nTwo commands. You get seven skills plus live MCP connections to your Contentful spaces.\n\n```\n/plugin marketplace add contentful/skills\n/plugin install contentful@contentful\n```\n\nRun `/reload-plugins` to activate. This registers two MCP servers:\n- **contentful-mcp** — connection to `mcp.contentful.com` for CMS operations\n- **contentful-personalization** — local MCP for structured personalization workflows\n\n---\n\n## What's inside\n\n| Skill | What it does |\n|:------|:-------------|\n| **[contentful-guide](#contentful-guide)** | Explains core concepts and routes you to the right skill, API, or doc. Start here. |\n| **[contentful-api](#contentful-api)** | Language-agnostic REST and GraphQL API reference — curl examples for CMA, CDA, CPA, Images, and GraphQL. |\n| **[contentful-nextjs](#contentful-nextjs)** | Integrates Contentful into a Next.js project — SDK setup, content fetching, Draft Mode previews. |\n| **[contentful-migration](#contentful-migration)** | Writes and runs content model migration scripts — fields, validations, transforms, editor interfaces. |\n| **[contentful-custom-app-from-scratch](#contentful-custom-app-from-scratch)** | Designs, scaffolds, builds, and validates new App Framework custom apps. |\n| **[contentful-custom-app-enhancement](#contentful-custom-app-enhancement)** | Improves and debugs existing Contentful custom apps in customer-owned repos. |\n| **[contentful-personalization](#contentful-personalization)** | Sets up, debugs, and develops personalization and A/B testing with the Experiences SDK. |\n\nThe custom app skills are packaged together under `skills/contentful-apps/`.\n\n---\n\n## Other platforms\n\nSkills also work without the plugin on any platform that supports the [agentskills.io](https://agentskills.io) spec.\n\n### Cursor\n\nInstall the [Contentful Cursor plugin](https://cursor.directory/plugins/contentful-1) from Cursor Directory.\n\nAlternatively, add the skills manually:\n\n1. Open **Settings** → **Rules**\n2. Click **Add Rule** → **Remote Rule (GitHub)**\n3. Enter `contentful/skills`\n\n### Universal CLI\n\n```bash\nnpx skills add contentful/skills\n```\n\nWorks with GitHub Copilot, VS Code, OpenAI Codex, Gemini CLI, and [35+ other platforms](https://agentskills.io).\n\n<details>\n<summary><strong>More options</strong></summary>\n\n<br />\n\n**Gemini CLI:**\n\n```bash\ngemini skills install contentful/skills\n```\n\n**GitHub Copilot / VS Code:**\n\nSkills auto-discover from `.agents/skills/` when added to your project. Use `/skills` in Copilot Chat to confirm they're loaded.\n\n**Install a single skill:**\n\n```bash\nnpx skills add contentful/skills --skill contentful-personalization\n```\n\nAvailable: `contentful-guide`, `contentful-api`, `contentful-nextjs`, `contentful-migration`, `contentful-custom-app-from-scratch`, `contentful-custom-app-enhancement`, `contentful-personalization`\n\n</details>\n\n---\n\n## Skills\n\n### contentful-guide\n\nExplains core Contentful concepts and routes you to the right skill or documentation. Start here if you're new to Contentful or unsure which API to use.\n\n<details>\n<summary>Triggers and details</summary>\n\n<br />\n\n**Activates on:** \"Contentful 101\", \"which API should I use\", \"how do I get started\", \"what does X mean in Contentful\"\n\n**Covers:**\n- Core vocabulary — spaces, environments, content types, entries, assets, locales\n- API selection — CDA vs CPA vs CMA vs GraphQL vs Images API\n- Routing to the right implementation skill\n- Contentful MCP server orientation\n\n</details>\n\n### contentful-api\n\nLanguage-agnostic reference for Contentful's REST and GraphQL APIs. Pair this with any framework or language — examples are curl-based.\n\n<details>\n<summary>Triggers and details</summary>\n\n<br />\n\n**Activates on:** \"curl Contentful\", \"CMA request\", \"CDA query parameters\", \"publish entry HTTP\", \"Images API URL\", \"Contentful GraphQL query\"\n\n**Covers:**\n- Authentication — token types, headers, US/EU base URLs\n- HTTP conventions — version locking, rate limits, pagination, error payloads, locale structure\n- Content Management API — entries, content types, assets, environments, bulk actions\n- Content Delivery API — querying, includes/link resolution, localization, sync\n- Content Preview API — draft + published content via CDA endpoints\n- Images API — on-the-fly transformations via URL parameters\n- GraphQL Content API — querying with CDA tokens\n\n</details>\n\n### contentful-nextjs\n\nAdd and configure Contentful in a Next.js project. Covers SDK setup, environment variables, content fetching, and Draft Mode preview flows for both App Router and Pages Router.\n\n<details>\n<summary>Triggers and details</summary>\n\n<br />\n\n**Activates on:** \"add Contentful to Next.js\", \"Contentful SDK setup\", \"Draft Mode\", \"preview mode\", \"Server Components Contentful\"\n\n**Covers:**\n- SDK installation and client configuration\n- Environment variables and environment aliases\n- Content fetching patterns (App Router and Pages Router)\n- Draft Mode preview flows with CPA\n- ISR (Incremental Static Regeneration) setup\n- Troubleshooting common integration issues\n\n</details>\n\n### contentful-migration\n\nWrite and run content model migration scripts using the Contentful migration library. Covers field operations, validations, entry transforms, and editor interface configuration.\n\n<details>\n<summary>Triggers and details</summary>\n\n<br />\n\n**Activates on:** \"write a migration\", \"create content type\", \"schema migration\", \"field validation\", \"editor interface\", \"changeFieldId\"\n\n**Covers:**\n- Content type creation, editing, and deletion\n- Field operations — add, rename, move, change type\n- Validations — range, regex, linked content types, asset file constraints\n- Entry transforms — in-place edits, deriving linked entries, moving entries between types\n- Editor interface wiring — widgets, field layout, sidebar controls\n- Best practices — sandbox testing, sequential file naming, separating schema from data changes\n\n</details>\n\n### contentful-custom-app-from-scratch\n\nDesign, scaffold, build, and validate a new Contentful App Framework custom app for your own repository or workspace.\n\n<details>\n<summary>Triggers and details</summary>\n\n<br />\n\n**Activates on:** \"build a Contentful app\", \"custom app from scratch\", \"App Framework app\", \"sidebar app\", \"field editor app\", \"page app\", \"app action\", \"app function\"\n\n**Covers:**\n- Idea shaping and v1 scoping for internal custom apps\n- App location selection — app config, page, home, dialog, entry editor, entry field, entry sidebar\n- Scaffolding with `create-contentful-app`\n- App SDK, React Apps Toolkit, Forma 36, installation parameters, App Actions, and Functions guidance\n- Local Contentful setup, sandbox testing, validation, and handoff\n\n</details>\n\n### contentful-custom-app-enhancement\n\nImprove, debug, and extend an existing Contentful App Framework custom app in a customer-owned repository.\n\n<details>\n<summary>Triggers and details</summary>\n\n<br />\n\n**Activates on:** \"fix my Contentful app\", \"improve a custom app\", \"enhance App Framework app\", \"debug custom app\", \"update sidebar app\", \"custom app feature request\"\n\n**Covers:**\n- Triage from bug reports, support notes, screenshots, and feature requests\n- Existing app inspection across locations, SDK usage, parameters, App Actions, Functions, and backend code\n- Small, reviewable implementation plans\n- App-native UI and security guardrails\n- Targeted tests, local smoke checks, sandbox verification, and PR handoff\n\n</details>\n\n### contentful-personalization\n\nSet up, debug, and develop with Contentful personalization and A/B testing. A structured, multi-step skill with three workflows and a reference library of 19+ documents.\n\n<details>\n<summary>Workflows and details</summary>\n\n<br />\n\n**Activates on:** \"set up personalization\", \"A/B test\", \"personalization not working\", \"Experiences SDK\", \"run an experiment\", \"audience targeting\"\n\n**Workflows:**\n- **Onboard** — Assess readiness, select SDK, guided installation, content type setup\n- **Doctor** — Diagnose broken setups: checks packages, env vars, API connectivity, content state\n- **Develop** — Day-to-day companion for personalizing components, running experiments, wiring analytics\n\n**Reference library:** SDK guides, component patterns, SSR/middleware patterns, provider patterns, analytics setup, environment variables, error resolution, and more.\n\nBuilt with [@contentful/skill-kit](https://github.com/contentful/skill-kit) — a structured state machine with MCP server integration.\n\n</details>\n\n---\n\n## MCP Server Setup\n\nPlugin installs configure MCP connections automatically. If you installed via `npx skills add` or another non-plugin path, set up the MCP servers manually to get the full experience.\n\n### Contentful MCP (CMS operations)\n\nConnects your agent to your Contentful spaces for reading and writing content, content types, and assets.\n\n**Claude Code:**\n\n```\n/mcp add-http contentful-mcp https://mcp.contentful.com/mcp\n```\n\n**Other platforms** — add to your MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"contentful-mcp\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.contentful.com/mcp\"\n    }\n  }\n}\n```\n\n- **Documentation:** [contentful.com/developers/docs/tools/mcp-server](https://www.contentful.com/developers/docs/tools/mcp-server/)\n\n### Personalization MCP (structured workflows)\n\nThe `contentful-personalization` skill includes a local MCP server that powers its interactive workflows. Point your agent at the skill's run script:\n\n**Claude Code:**\n\n```\n/mcp add -- /path/to/skills/contentful-personalization/scripts/run mcp --host claude-code\n```\n\n**Other platforms** — add to your MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"contentful-personalization\": {\n      \"command\": \"/path/to/skills/contentful-personalization/scripts/run\",\n      \"args\": [\"mcp\", \"--host\", \"claude-code\"]\n    }\n  }\n}\n```\n\n> [!NOTE]\n> Replace `/path/to/skills/` with the actual path where skills were installed (typically `.agents/skills/` in your project).\n\n---\n\n## Local Plugin Testing (Claude Code)\n\nTo test the full plugin locally — including skills, MCP servers, and hooks — without publishing:\n\n```bash\nclaude --plugin-dir /path/to/contentful/skills\n```\n\nThis loads everything defined in `.claude-plugin/plugin.json` for that session: skills, the Contentful MCP server, and the personalization MCP server. Use `/reload-plugins` inside the session to pick up changes without restarting.\n\nYou can also combine multiple plugin directories:\n\n```bash\nclaude --plugin-dir ./skills --plugin-dir ./other-plugin\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines. We welcome bug reports, feature requests, and pull requests.\n\n## Help and Support\n\n- Open a [GitHub issue](https://github.com/contentful/skills/issues) for bugs and feature requests\n- For security issues, see [SECURITY.md](SECURITY.md)\n- Contentful support: [contentful.com/help](https://www.contentful.com/help/getting-started/how-to-get-help/)\n\n## Contributors\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Lp-Francois\"><img src=\"https://avatars.githubusercontent.com/u/32224751?v=4?s=100\" width=\"100px;\" alt=\"François\"/><br /><sub><b>François</b></sub></a><br /><a href=\"https://github.com/contentful/skills/commits?author=Lp-Francois\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/TimBeyer\"><img src=\"https://avatars.githubusercontent.com/u/2362075?v=4?s=100\" width=\"100px;\" alt=\"Tim Beyer\"/><br /><sub><b>Tim Beyer</b></sub></a><br /><a href=\"https://github.com/contentful/skills/commits?author=TimBeyer\" title=\"Code\">💻</a></td>\n    </tr>\n  </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n## License\n\nMIT — see [LICENSE](LICENSE) for details.\n",
  "bytes": 13117,
  "sha": "de7528124827cacede7660f443a6d3d9781be9564d9f8dc393ec830f9eb5655d",
  "repo_slug": "contentful/skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_contentful_skills_contentful_custom_app__74ee78ba/readme"
}