Skip to content
Development
Skill

/craft-plugins

Index and router for plugin-specific Craft CMS 5 guidance — configuration, Twig API, PHP API, migrations, deployment, and pitfalls for the plugins this pack documents. Load whenever a task names a plugin this pack documents, and for passwordless or magic-link auth with no plugin

From plugin
craftcms-claude-skills
8914 skills6 agents

Claude Code

$ npx -y skills add michtio/craftcms-claude-skills --skill craft-plugins --agent claude-code

SKILL.md

craft-plugins.SKILL.md
name: craft-plugins
description: "Index and router for plugin-specific Craft CMS 5 guidance — configuration, Twig API, PHP API, migrations, deployment, and pitfalls for the plugins this pack documents. Load whenever a task names a plugin this pack documents, and for passwordless or magic-link auth with no plugin named; read references/<plugin>.md first."
when_to_use: "Triggers whenever a task names one of these plugins in ANY context (build, configure, style, render, query, import, migrate, deploy, cache, debug): Formie (forms, submissions, File Upload, form in a migration, notifications, translations), SEOmatic (meta, sitemaps, JSON-LD, SEO field), Blitz (static/page caching, purge), Feed Me (XML/JSON/CSV import), Imager-X (transforms, srcset, quick syntax, named transforms, Power Pack, pppicture, ppimg), ImageOptimize (OptimizedImages), CKEditor (rich text, nested entries), Sprig (reactive, htmx), Element API (JSON endpoints), Retour (redirects, 404s), Navigation (nav menus), Hyper (link field), Colour Swatches, Password Policy (HIBP), Typogrify, Cache Igniter, Knock Knock (staging password), Elements Panel (N+1 debug), Sherlock (security scan), Amazon SES (SES/SNS bounce), Embedded Assets (oEmbed), Timeloop (recurring dates), Vite (craft.vite.*, asset bundling), Warp (passwordless login, magic link, one-time code/OTP, passkeys, WebAuthn, craft.warp, member sessions). Do NOT trigger for Craft core with no plugin named (craftcms), template architecture (craft-site), or content modeling (craft-content-modeling)."

Craft CMS 5 — Plugin References (Index & Router)

This skill is a **router**, not a tutorial. Its job is to make per-plugin guidance discoverable from any task framing — front-end, back-end PHP, content migration, deployment, or config — and point you at the right reference file.

Each plugin's curated reference lives in `references/<plugin>.md` and covers configuration, the Twig and/or PHP API, and the real-world pitfalls. Read the matching reference **before** implementing anything plugin-specific.

How to use this skill

1. Identify the plugin(s) named in the task (by name, package, or feature). 2. Open the matching `references/<plugin>.md` from the table below. 3. If the task is back-end (PHP, content migration, events, deployment), check the reference's back-end / programmatic sections specifically — several plugins (Formie, Feed Me, Element API, Amazon SES) are primarily or substantially back-end despite historically living under the front-end skill.

Routing table

| Reference | Plugin (vendor) | Primary altitude | Key surface | |-----------|-----------------|------------------|-------------| | `references/formie.md` | Formie (verbb) | Front-end **and** back-end | Form rendering (one-line/granular), theme config; **programmatic form creation in a content migration**, editing an existing form's field in a migration, forms as DB elements (not project config), cross-environment deployment, multi-site/static translation, overriding Formie's bundled strings (server + client `window.FormieTranslations`), native min/max length validation & its two message keys, `required`+`min` interaction, File Upload volume + file renaming, notification attachments, captcha & caching | | `references/seomatic.md` | SEOmatic (nystudio107) | Front-end + config | Meta cascade, Twig get/set API, JSON-LD, custom element SEO bundles, sitemaps, GraphQL | | `references/blitz.md` | Blitz (putyourlightson) | Mixed (front-end + ops) | Refresh modes, Twig dynamic content, driver architecture (storage/purger/deployer), Nginx rewrite, Cloudflare integration | | `references/feed-me.md` | Feed Me (craftcms) | **Back-end / ops** | Data import from XML/JSON/CSV, field mapping, duplicate handling, CLI automation, scheduled imports | | `references/imager-x.md` | Imager X (spacecatninja) | Front-end + config | Quick syntax, responsive srcset, named transforms, Power Pack markup (`ppimg`/`pppicture`), automatic generation, transformers, effects, optimizers | | `references/image-optimize.md` | ImageOptimize (nystudio107) | Front-end + field config | OptimizedImages field, `imgTag()`/`pictureTag()` builders, loading strategies, transform methods, console commands | | `references/ckeditor.md` | CKEditor (craftcms) | Mixed (field config + front-end) | Field settings (toolbar, headings, image mode), nested entries with chunk rendering and value helpers, link configuration, GraphQL Mode, ES-module custom plugins, HTML Purifier, Redactor migration | | `references/sprig.md` | Sprig (putyourlightson) | Front-end | Reactive Twig components (htmx), live search, load more, pagination, filtering, form submissions without JS | | `references/element-api.md` | Element API (craftcms) | **Back-end / config** | JSON API via config file, Fractal transformers, endpoint routing, pagination, caching | | `references/retour.md` | Retour (nystudio107) | Ops / config | Redirect types (exact/regex), 404 tracking, CSV import, auto slug-change redirects, config | | `references/navigation.md` | Navigation (verbb) | Front-end | Node querying, custom rendering, active states, custom fields on nodes, GraphQL | | `references/hyper.md` | Hyper (verbb) | Front-end + field config | Link types, `getLinkAttributes()`, `getText()`, single/multi-link, element access, button atom integration | | `references/colour-swatches.md` | Colour Swatches (craftpulse) | Mixed | Palette config, multi-colour swatches, Tailwind class mapping, Twig model API | | `references/password-policy.md` | Password Policy (craftpulse) | **Back-end / config** | Validation rules, HIBP check, retention/expiry, console commands, recommended settings | | `references/typogrify.md` | Typogrify (nystudio107) | Front-end | `\|typogrify`, `\|widont`, `\|truncateOnWord`, smart quotes, widow prevention | | `references/cache-igniter.md` | Cache Igniter (putyourlightson) | Ops | GlobalPing warmer, geographic locations, refresh delay, Blitz companion | | `references/knock-

Read more
@michtio
Ships withcraftcms-claude-skills

Production-ready Claude Code skills, agents, and project templates for Craft CMS 5 development. Built and maintained by michtio.

8914 skills6 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
89
Star history of michtio/craftcms-claude-skills on GitHub, a chart by star-history.com

Other skills on craftcms-claude-skills.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about craft-plugins.

Which coding agents can use craft-plugins?
craft-plugins installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.