cloudcannon-snippets
Use when adding snippet support to a CloudCannon site, configuring MDX components for the Content Editor, debugging snippet round-trip issues, or setting up inline HTML snippets in markdown content.
How do I install this agent skill?
npx skills add https://github.com/cloudcannon/agent-skills --skill cloudcannon-snippetsIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides documentation and configuration guidelines for CloudCannon snippets. No security issues were detected.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
CloudCannon Snippets
Snippets let editors insert and edit complex markup (components, shortcodes, embeds) inside CloudCannon's rich text Content Editor. This skill covers both the SSG layer (how components are imported/built) and the CloudCannon layer (_snippets config that teaches the editor the syntax).
When to use
- Adding snippet support to a new or existing CloudCannon site
- Configuring MDX components for the Content Editor
- Adding inline HTML snippets (figure, video, details) to markdown content
- Debugging snippet parsing, round-trip, or toolbar issues
When not to use
- The component should be a page-builder block, not inline content — editors pick blocks from a structure, not from the rich text toolbar. See
cloudcannon-configurationand the migration skill's page-building guide. - Making an existing rendered element editable in place — that is
cloudcannon-visual-editing. Snippets insert new markup; editable regions edit markup already on the page. - Plain markdown content with no components or inline HTML — no snippet configuration is needed
Contents
| Doc | When to read |
|---|---|
| snippets.md | Start here. Overview of both layers, configuration hierarchy, which approach to use, snippet properties, toolbar setup, raw HTML snippets in .md files |
| template-based.md | Component syntax matches a built-in template (most common path) |
| raw.md | Component needs custom syntax (e.g. client:load, non-standard attributes) |
| built-in-templates.md | Understanding built-in MDX templates, the import bundle, parser internals |
| gotchas.md | Preventative rules — the pitfalls and their workarounds |
| troubleshooting.md | Symptom index — start here when something is already broken, it routes to the rule |
SSG-specific:
| SSG | Doc |
|---|---|
| Astro | astro/overview.md — MDX stack, astro-auto-import, when to use MDX vs raw |
Quick decision
| Case | Approach |
|---|---|
| Component syntax matches a built-in template | Template-based — see template-based.md |
| Extra syntax, SSG directives, custom parsing | Raw — see raw.md |
Inline HTML in .md (<figure>, <video>) | Raw snippets — see snippets.md § Raw snippets for inline HTML |
Most setups use template-based for simple components and raw for anything with SSG-specific directives.
Checklist
Read this before starting and verify every item when done.
- Every component used in content files has a
_snippetsentry -
_editablesincludessnippet: trueon relevant content blocks - Each snippet round-trips correctly (insert via editor, save, reopen — markup unchanged)
-
_inputsare configured for snippet fields (image fields gettype: image, etc.) - Snippet previews are configured (
view: galleryfor image-bearing snippets) -
picker_previewuses static values (notkey:lookups, which don't resolve in picker context)
Common mistakes
| Excuse | Reality |
|---|---|
| "The built-in templates handle this" | Verify the round-trip. Built-in templates have known edge cases — see gotchas.md. |
| "I'll configure the snippet toolbar later" | No toolbar means editors can't insert snippets. Add snippet: true to _editables now. |
| "This component is too niche for a snippet" | If editors encounter it in content, they need to be able to edit it. Configure it. |
| "Import statements in content are fine" | Use auto-import (Astro: astro-auto-import) to keep imports out of content files. |
"I can use _snippets_imports for this" | Don't. It loads catchall matchers that can match incorrectly. Write explicit _snippets entries. |
"I configured _snippets, snippets are done" | Without astro-auto-import wired in astro.config.mjs AND the import lines removed from MDX files, editors still see raw import statements at the top of MDX content. All four pipeline steps are required — see astro/overview.md § MDX setup pipeline. |
| "Inline image grid in MDX is fine as raw HTML" | Editors can't safely edit raw <div class="grid"> + <Image> blocks. Extract to a self-closing <Gallery images={[{src, alt}, ...]} /> component (auto-imported) with a matching _snippets entry — images as type: array with nested images[*].src: type: image. See cc-friendly-conventions.md § Image galleries in MDX content. |
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/cloudcannon/agent-skills/cloudcannon-snippets">View cloudcannon-snippets on skillZs</a>