Help us improve
Share bugs, ideas, or general feedback.
From contentful
Sets up, debugs, and builds Contentful personalization and optimization, covering A/B testing, audience targeting, and content experiments with Ninetailed and Contentful Experiences SDK.
npx claudepluginhub contentful/skills --plugin contentfulHow this skill is triggered — by the user, by Claude, or both
Slash command
/contentful:contentful-personalization [question or topic][question or topic]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
This skill is a structured workflow driven by a compiled CLI binary. You interact with it
bin/contentful-personalization.mjspackage.jsonreferences/analytics-and-preview.mdreferences/analytics-patterns.mdreferences/common-errors.mdreferences/component-patterns.mdreferences/contentful-app-setup.mdreferences/contentful-integration-guide.mdreferences/env-var-spec.mdreferences/framework-notes.mdreferences/how-personalization-works.mdreferences/implementation-examples.mdreferences/middleware-patterns.mdreferences/package-versions.mdreferences/provider-patterns.mdreferences/readiness-criteria.mdreferences/rendering-pipeline.mdreferences/sdk-legacy-guide.mdreferences/sdk-next-guide.mdreferences/sdk-selection.mdGuides content experimentation and A/B testing: experiment design, hypotheses, metrics, sample size, statistical foundations, CMS-managed variants, and common pitfalls.
Explains core Contentful concepts and routes users to the right implementation skill or documentation. Clarifies APIs (CDA/CPA/CMA/GraphQL) and Contentful MCP server.
Generates SEO/GEO-optimized content like blogs/pages for web projects by auto-detecting framework, content schema, categories, authors, and brand voice, then validates with geo-lint's 92 rules.
Share bugs, ideas, or general feedback.
This skill is a structured workflow driven by a compiled CLI binary. You interact with it
by calling the binary, reading its JSON output, following the instructions in the prompt
field, and passing your response back. Do not show the raw JSON or Bash commands to the user.
This skill was built with skill-kit, a structured workflow engine. Each step provides a prompt containing XML-tagged sections:
<system> — Behavioral directives: persona, tone, or constraints. Follow as
guidelines for how to behave, not as tasks to relay to the user.<prompt> — Task instructions: what to do, what context to consider, what to produce.<ask-user> — Ask the user a question. Contains <option> children for structured
choices, or type="open" for free-form conversation.<confirm> — Binary yes/no confirmation. Attributes: default, destructive.<plan> — Present a plan for approval. Contains <step> children.<checklist> — Create tracked work items. Contains <item> children with status.<subagent> — Delegate work to an isolated sub-agent. If no-recurse is set,
the subagent must not invoke the skill named in the attribute.<rendered> — Pre-rendered output. Emit verbatim — no edits, no added commentary.A step may contain one or more of these sections in sequence. Follow them in order.
The skill author composed these sections to guide your behavior. The tags and tool
mappings are generated by the SDK based on the author's intent and your host's
capabilities. A skill-level system directive may appear in the preamble — it applies
to all steps unless a step includes its own <system> override.
The preamble (sent on the first step) contains a table mapping each tag to the specific tool available in your environment. Refer to it throughout the workflow.
If you have MCP tools for this skill (e.g., mcp__contentful-personalization__start and
mcp__contentful-personalization__advance), use them instead of the CLI:
start tool (with params if the skill requires them).preamble field (first call only). It maps XML tags to your available tools.prompt instructions. Produce a JSON object matching the schema.advance tool with the session, step, and output.status is "done".If you get status: "error" with retry: true, fix your output and resubmit.
Do not show raw JSON, session IDs, or MCP tool calls to the user.
Skip the rest of this section — the CLI instructions below are only needed when MCP tools are not available.
This SKILL.md file is inside the skill directory. Resolve the absolute path to scripts/run
from this file's location (e.g., /path/to/skill/scripts/run). Use the absolute path in all
Bash commands — do not cd into the skill directory.
In the examples below, <skill>/scripts/run is a placeholder for this absolute path.
Determine which agent host you are running in, and pass it as --host:
--host claude-code--host codex--host opencode--host gemini-cli--host cline--host roo-code--host kilo-code--host cursor--host ampPass the tools you have available as a comma-separated --tools flag on the start
command. The session remembers them — you don't need to pass --tools on advance.
When --host is provided, --tools is merged with the host's known tool registry.
This means partial reporting is handled gracefully — the registry fills in any tools
you omit. If --tools is omitted entirely, the skill infers tools from --host.
If both are omitted, all interactions use generic fallbacks.
If you are a subagent (spawned by another agent, not the top-level agent the user
is talking to), add --subagent to the start command. This tells the skill that your
reported tools are a genuine subset — the skill will not merge them with the host registry.
Without --subagent, the skill assumes you are a top-level agent and merges your tools
with the registry (since top-level agents often under-report their tools).
This skill takes no parameters. Pass --params '{}'.
<skill>/scripts/run --params '{}' --host claude-code --tools <your-tools> --session new 2>/dev/null
This returns a JSON pointer with sessionId, file, and line. The line field tells you
which line to read — it will be 2, not 1 (line 1 is an internal header, never read it).
Read only line line from file. It contains the step prompt, schema, and preamble.
Read the preamble first. It contains a table mapping XML tags to the tools
available in your environment. Refer to it throughout the workflow.
Read the prompt field. It contains XML-tagged sections (described in "How this skill
works" above): <system> directives to follow, <prompt> instructions to act on, and
interaction tags (<ask-user>, <confirm>, <plan>, <checklist>, <subagent>)
to execute using the tools mapped in the preamble. If a <rendered> block appears,
emit its content verbatim.
Produce a JSON object matching the schema.
Pass your output back with the step name:
<skill>/scripts/run advance --step <step-name> --output '<your-json>' --session abc123 2>/dev/null
This returns a single line number (e.g., 4). Read exactly and only that line from the session file — it contains the next prompt. Do not read any other lines.
Keep advancing until the line you read contains "type":"done". The finalOutput field
contains the skill's result. Present it to the user.
"error": "validation" or "type":"error"),
read the message field, fix your output, and retry the same step.This skill contains sub-skills that the workflow routes to automatically. Start the skill normally — the dispatcher will determine which sub-skill to use. Only use direct sub-skill access if the user explicitly requests a specific sub-skill by name.
Sub-skill step names are prefixed: <subskill>/<step> (e.g., doctor/diagnose).
<skill>/scripts/run <subskill> --params '<json>' --session new
<skill>/scripts/run <subskill> advance --session <id>
readinessOnly (boolean), userQuery (string)requestedUrl (string)userQuery (string)userQuery (string)Quick-reference topics accessible without running the full workflow:
<skill>/scripts/run topics # list all topics
<skill>/scripts/run topic <name> # load a specific topic