$npx -y skills add contentful/skill-kit --skill skillDiagnose, configure, and look up Contentful topics. Trigger keywords: contentful help, contentful doctor, contentful setup
| 1 | # contentful-help |
| 2 | |
| 3 | This skill is a structured workflow. You interact with it via MCP tools (preferred) or a |
| 4 | CLI binary (fallback), reading its JSON output, following the instructions in the `prompt` |
| 5 | field, and passing your response back. **Do not show the raw JSON or tool calls to the user.** |
| 6 | |
| 7 | **Use MCP tools if available.** If you have `mcp__contentful-help__start` and |
| 8 | `mcp__contentful-help__advance`, use MCP mode. Only fall back to CLI mode if MCP tools |
| 9 | are not available in your environment. |
| 10 | |
| 11 | ## How this skill works |
| 12 | |
| 13 | This skill was built with skill-kit, a structured workflow engine. Each step provides |
| 14 | a prompt containing XML-tagged sections: |
| 15 | |
| 16 | - **`<system>`** — Behavioral directives: persona, tone, or constraints. Follow as |
| 17 | guidelines for how to behave, not as tasks to relay to the user. |
| 18 | - **`<prompt>`** — Task instructions: what to do, what context to consider, what to produce. |
| 19 | - **`<ask-user>`** — Ask the user a question. Contains `<option>` children for structured |
| 20 | choices, or `type="open"` for free-form conversation. |
| 21 | - **`<confirm>`** — Binary yes/no confirmation. Attributes: `default`, `destructive`. |
| 22 | - **`<plan>`** — Present a plan for approval. Contains `<step>` children. |
| 23 | - **`<checklist>`** — Create tracked work items. Contains `<item>` children with status. |
| 24 | - **`<subagent>`** — Delegate work to an isolated sub-agent. If `no-recurse` is set, |
| 25 | the subagent must not invoke the skill named in the attribute. |
| 26 | - **`<rendered>`** — Pre-rendered output. Emit verbatim — no edits, no added commentary. |
| 27 | |
| 28 | A step may contain one or more of these sections in sequence. Follow them in order. |
| 29 | |
| 30 | The skill author composed these sections to guide your behavior. The tags and tool |
| 31 | mappings are generated by the SDK based on the author's intent and your host's |
| 32 | capabilities. A skill-level system directive may appear in the preamble — it applies |
| 33 | to all steps unless a step includes its own `<system>` override. |
| 34 | |
| 35 | The **preamble** (sent on the first step) contains a table mapping each tag to the |
| 36 | specific tool available in your environment. Refer to it throughout the workflow. |
| 37 | |
| 38 | ## How to run this skill |
| 39 | |
| 40 | ### MCP mode (preferred) |
| 41 | |
| 42 | If you have MCP tools for this skill (e.g., `mcp__contentful-help__start` and |
| 43 | `mcp__contentful-help__advance`), use them instead of the CLI: |
| 44 | |
| 45 | 1. Call the `start` tool (with `params` if the skill requires them). |
| 46 | 2. Read the `preamble` field (first call only). It maps XML tags to your available tools. |
| 47 | 3. Follow the `prompt` instructions. Produce a JSON object matching the `schema`. |
| 48 | 4. Call the `advance` tool with the `session`, `step`, and `output`. |
| 49 | 5. Repeat steps 3-4 until `status` is `"done"`. |
| 50 | |
| 51 | If you get `status: "error"` with `retry: true`, fix your output and resubmit. |
| 52 | **Do not show raw JSON, session IDs, or MCP tool calls to the user.** |
| 53 | |
| 54 | Skip the rest of this section — the CLI instructions below are only needed when |
| 55 | MCP tools are not available. |
| 56 | |
| 57 | ### CLI mode (fallback) |
| 58 | |
| 59 | This SKILL.md file is inside the skill directory. Resolve the **absolute path** to `scripts/run` |
| 60 | from this file's location (e.g., `/path/to/skill/scripts/run`). Use the absolute path in all |
| 61 | Bash commands — do not `cd` into the skill directory. |
| 62 | |
| 63 | In the examples below, `<skill>/scripts/run` is a placeholder for this absolute path. |
| 64 | |
| 65 | ### Detect your host |
| 66 | |
| 67 | Determine which agent host you are running in, and pass it as `--host`: |
| 68 | |
| 69 | - Claude Code: `--host claude-code` |
| 70 | - Codex: `--host codex` |
| 71 | - OpenCode: `--host opencode` |
| 72 | - Gemini CLI: `--host gemini-cli` |
| 73 | - Cline: `--host cline` |
| 74 | - Roo Code: `--host roo-code` |
| 75 | - Kilo Code: `--host kilo-code` |
| 76 | - Cursor: `--host cursor` |
| 77 | - Amp: `--host amp` |
| 78 | - Unknown/other: omit the flag (defaults to generic) |
| 79 | |
| 80 | ### Report your tools |
| 81 | |
| 82 | Pass the tools you have available as a comma-separated `--tools` flag on the **start** |
| 83 | command. The session remembers them — you don't need to pass `--tools` on advance. |
| 84 | |
| 85 | When `--host` is provided, `--tools` is merged with the host's known tool registry. |
| 86 | This means partial reporting is handled gracefully — the registry fills in any tools |
| 87 | you omit. If `--tools` is omitted entirely, the skill infers tools from `--host`. |
| 88 | If both are omitted, all interactions use generic fallbacks. |
| 89 | |
| 90 | ### Subagent invocations |
| 91 | |
| 92 | If you are a **subagent** (spawned by another agent, not the top-level agent the user |
| 93 | is talking to), add `--subagent` to the start command. This tells the skill that your |
| 94 | reported tools are a genuine subset — the skill will not merge them with the host registry. |
| 95 | |
| 96 | Without `--subagent`, the skill assumes you are a top-level agent and merges your tools |
| 97 | with the registry (since t |