Production-ready Claude Code skills, agents, and project templates for Craft CMS 5 development. Built and maintained by michtio.
FAQ
craftcms-claude-skills is a Claude Code plugin with 13 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes craft-cloud, craft-content-modeling, craft-garnish. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add michtio/craftcms-claude-skills> /plugin install craftcms-claude-skills@craftcms-claude-skills
Repo: michtio/craftcms-claude-skills
Production-ready Claude Code skills, agents, and project templates for Craft CMS 5 development.
Built and maintained by michtio. Covers both plugin/module development (extending Craft) and site development (content modeling, Twig templates, front-end architecture).
If this project saves you time, consider supporting its development:
# Claude Code Plugin (recommended)
# First time: add the marketplace, then install
/plugin marketplace add michtio/craftcms-claude-skills
/plugin install craftcms-claude-skills@michtio/craftcms-claude-skills
# Or via Vercel Skills CLI
npx skills add michtio/craftcms-claude-skills --all
# Or clone manually
git clone https://github.com/michtio/craftcms-claude-skills.git ~/.claude/craftcms-claude-skills
cd ~/.claude/craftcms-claude-skills && bash install.sh
Open Claude Code in your Craft project and say:
Set up Claude for this Craft project
The craft-project-setup skill detects your project type (plugin, site, module, hybrid, or monorepo) and generates a tailored CLAUDE.md and .claude/rules/ directory.
The skills trigger automatically based on what you're doing. Just describe what you need:
Build a blog with topics, authors, and a flexible body builder using CKEditor
Claude loads the right skills, follows Craft conventions, and uses the correct field handles, DDEV commands, and project config workflow.
Just describe what you need โ skills trigger automatically and produce high-quality results. A few to show the range, grouped by domain:
Content modeling & architecture
Plan the content architecture for a multi-language corporate site with
news, team members, office locations, and a service catalog. We need
English, German, and French with subfolder-per-language routing.
Plugins & modules
Build a custom element type for "Job Listings" with postDate/expiryDate
status, a categories relation for departments, and a CP edit page with
field layout designer.
Control panel & author experience
I need a modal dialog for my Craft plugin that opens when clicking
"Add Item", shows a form with name and handle fields, POSTs to my
plugin's save action, and closes on success. Make it keyboard accessible.
Front-end & Twig
Create an atomic button component that supports links, form submits,
and disabled states. It needs size variants and a loading spinner option.
Build a member area with registration, login, password reset, and
profile editing. Users should be in the "Members" group and only see
content in the gated section.
Hosting & deployment
Set this project up to deploy on Servd: Servd asset storage, static
caching with Blitz in reverse-proxy mode, and the dedicated queue
runner. Document the constraints in CLAUDE.md.
Configure Redis for cache, sessions, and mutex in our Craft project.
We're running DDEV locally and deploying to a VPS with Redis installed.
See docs/prompt-guide.md for 40+ prompts organized by task type โ content modeling, plugin development, field types, security, Twig, CP/JS, configuration & deployment, testing, and headless.
| Skill | Track | Key Coverage |
|---|---|---|
craftcms | Plugin | Elements, queries, services, controllers, migrations, events, GraphQL, configuration, caching, permissions, CP templates (form macros, settings, navigation), CP components (widgets, utilities, slideouts), CP UI patterns (tri-state, condition builders, asset bundles), console commands (80+ commands), debugging. 30 reference files. |
craft-php-guidelines | Plugin | PHPDocs, section headers, naming, class organization, ECS/PHPStan. 5 reference files. |
craft-content-modeling | Site | Sections, entry types, fields, Matrix, relations, eager loading, entrification. Reuse-first field workflow. 6 reference files. |
craft-site | Site | Atomic design, component patterns, routing, Vite, auth flows, search, feeds, headless. 18 reference files. |
craft-plugins | Plugin References | Name-routed index of third-party plugin guidance (config, Twig/PHP API, migrations, deployment, pitfalls), discoverable from any task altitude. 23 plugin references. |
craft-twig-guidelines | Site | Variable naming, null handling, whitespace, include isolation, Craft helpers, collect(). |
craft-garnish | Plugin | Garnish CP JavaScript: class system, UI widgets, drag system, ARIA/focus, Craft.* pattern. 5 reference files. |
craft-pest | Plugin | Testing with Pest and markhuot/craft-pest-core: database isolation (rollback is opt-in, env overrides are cwd-bound), factories, HTTP/queue/DB assertions, Craft internals that bite in tests, shared-install hygiene, CI test jobs. 5 reference files. |
craft-plugin-release | Plugin | Release mechanics: composer.json version key, Packagist verification via repo.packagist.org/p2, tag recreation risk model, GitHub release objects vs tags, gh release pitfalls, branch promotion hygiene, Composer path repositories. 1 reference file. |
ddev | Shared | Commands, services, configuration, Xdebug, site sharing, troubleshooting. |
craft-project-setup | Shared | Project scaffolding, upgrade, and audit. Generates CLAUDE.md, .claude/rules/, .claude/settings.local.json (permissions). Gap analysis for existing configs. |
13 skills, 111 reference files. Skills load automatically and declare companion skills so related knowledge loads together. See docs/skills-overview.md for the full breakdown.
| Agent | Model | Purpose |
|---|---|---|
craft-planner | Opus | Decompose features into vertical slices with verification gates. Can research/audit public plugins via gh and git clone. |
craft-feature-builder | Opus | Build plugin code feature by feature with automated + manual test gates |
craft-site-builder | Opus | Site templates and components feature by feature with build-verify gates |
craft-debugger | Sonnet | Systematic bug investigation |
craft-code-reviewer | Sonnet | Full-stack review against a structured checklist: PHP, Twig, JS, CSS, config |
craft-code-reviewer-deep | Opus | Deep review for high-stakes PRs (release branches, security, migrations, multi-service flows): cross-file data flow, untested paths, race conditions, scale concerns |
Agents build feature by feature (vertical slices), not layer by layer. Tests are written alongside each layer, not batched at the end. Manual testing gates (required + optional) are identified per feature. The builder's prevention rules map directly to the reviewer's checklist across PHP, Twig, JS, and CSS; craft-code-reviewer-deep (Opus) goes further for high-stakes changes. See docs/agents.md for details.
23 Craft plugins with detailed configuration, Twig/PHP API, and common pitfalls โ indexed and name-routed by the craft-plugins skill, so they surface from front-end, PHP, migration, and deployment tasks alike:
| Plugin | Author | Key Surface |
|---|---|---|
| SEOmatic | nystudio107 | Meta cascade, JSON-LD, sitemaps, GraphQL |
| Blitz | putyourlightson | Static caching, Cloudflare, dynamic content, purgers |
| Formie | verbb | Form rendering, Tailwind theming, submissions, hooks |
| ImageOptimize | nystudio107 | Responsive images, transforms, loading strategies |
| CKEditor | craftcms | Rich text, nested entries, HTML Purifier |
| Sprig | putyourlightson | Reactive Twig components (htmx) |
| Element API | craftcms | JSON API endpoints |
| Retour | nystudio107 | Redirects, 404 tracking |
| Navigation | verbb | Menu node querying, active states |
| Hyper | verbb | Link fields, button integration |
| Colour Swatches | craftpulse | Color palettes, Tailwind class mapping |
| Password Policy | craftpulse | Validation rules, HIBP check |
| Typogrify | nystudio107 | Typography filters, widow prevention |
| Cache Igniter | putyourlightson | CDN cache warming |
| Knock Knock | verbb | Staging password protection |
| Elements Panel | putyourlightson | Debug toolbar, N+1 detection |
| Sherlock | putyourlightson | Security scanning |
| Embedded Assets | spicyweb | oEmbed as assets |
| Amazon SES | putyourlightson | SES mail transport |
| Timeloop | craftpulse | Recurring dates |
| Feed Me | craftcms | Data import from XML/JSON/CSV, CLI automation |
| Imager-X | spacecatninja | Advanced image transforms, named presets, effects |
| Vite | nystudio107 | Asset loading (craft.vite.*), critical CSS, dev server, manifest |
| Guide | What it covers |
|---|---|
| Getting Started | Installation, project setup, how skills auto-trigger, first steps |
| Skills Overview | All 13 skills with triggers, companion skills, reference counts, boundaries |
| Prompt Guide | 40+ real-world prompts organized by task type |
| Agents | 6 agents with tools, gate patterns, composition examples |
| Contributing | Adding plugin references, improving skills, reporting issues |
| Code of Conduct | Contributor Covenant 2.1 โ expected behavior and enforcement |
| Security Policy | Supported versions, private vulnerability reporting, what's in and out of scope |
This package follows its own semantic versioning, driven by the pack's own content โ it is not pinned to Craft's minor releases:
The pack targets Craft CMS 5, latest minor (currently 5.10). Behaviour specific to a Craft minor is annotated inline in the content (e.g. "since 5.10.0"), so a single line serves projects on any Craft 5 minor โ the minors are additive and backward-compatible. New content like a hosting skill or plugin reference is a feature of the pack, independent of which Craft minor is current.
Development happens on main. The 1.4.x branch is a frozen snapshot targeting Craft 5.9 โ it received a final quality release and no longer takes new work; all new development lands on main. The release-validation workflow enforces that manifest versions match the release tag.
Contributions welcome. See docs/contributing.md for how to add plugin references, improve skills, and report issues.
The same repo also ships as a small composer package, exposing the bundled skills' markdown to PHP code through a thin static helper. The primary consumer is craftpulse/craft-cortex โ a Craft CMS 5 MCP server plugin that surfaces these skills as MCP prompts and resources to AI agents.
composer require michtio/craftcms-claude-skills
use Michtio\CraftCmsClaudeSkills\Skills;
Skills::skillNames();
// ['craft-content-modeling', 'craft-garnish', 'craft-php-guidelines', ...]
Skills::content('craftcms');
// Full SKILL.md content as a string
Skills::references('craftcms');
// ['architecture', 'caching', 'conditions', ...]
Skills::referenceContent('craftcms', 'elements');
// Full reference markdown as a string
Skills::agentNames();
// ['craft-code-reviewer', 'craft-debugger', 'craft-feature-builder', ...]
Skills::agentContent('craft-debugger');
// Full agent markdown (frontmatter + body) as a string
The helper is read-only and does no caching โ wrap it in your own registry if you need that. PHP 8.2+.
Thanks to the people whose contributions and work have improved this pack:
MIT -- see LICENSE.
.claude-plugin/
marketplace.json
plugin.json
.github/
FUNDING.yml
ISSUE_TEMPLATE/
bug-report.yml
config.yml
feature-request.yml
skill-improvement.yml
PULL_REQUEST_TEMPLATE.md
workflows/
release-validation.yml
.gitignore
agents/
craft-code-reviewer-deep.md
craft-code-reviewer.md
craft-debugger.md
craft-feature-builder.md
craft-planner.md
craft-site-builder.md
bin/
release.sh
CHANGELOG.md
CODE_OF_CONDUCT.md
composer.json
docs/
agents.md
contributing.md
getting-started.md
prompt-guide.md
skills-overview.md
evals/
measure_tokens.py
snapshot-2026-05-04-post.json
snapshot-2026-05-04.json
install.sh
LICENSE
project-template/
.claude/
rules/
architecture.md
coding-style.md
git-workflow.md
migrations.md
scaffolding.md
security.md
templates.md
testing.md
skills/
.gitkeep
CLAUDE.md
README.md
reference/
CLAUDE.md
SECURITY.md
skills/
craft-cloud/
references/
assets-and-transforms.md
caching-and-edge.md
commands-and-cron.md
config-file.md
database.md
deploy-pipeline.md
domains.md
extension.md
limitations.md
local-dev.md
migration.md
plugin-development.md
SKILL.md
craft-content-modeling/
references/
content-patterns.md
element-index-sources.md
field-types.md
infrastructure.md
object-templates.md
relations-and-eager-loading.md
users-and-permissions.md
SKILL.md
craft-garnish/
references/
class-system.md
drag-system.md
integration.md
ui-widgets.md
utilities.md
SKILL.md
craft-pest/
references/
ci.md
craft-state.md
isolation.md
patterns.md
shared-state.md
SKILL.md
craft-php-guidelines/
references/
authorization-parity.md
class-organization.md
naming-conventions.md
phpdoc-standards.md
templates-and-patterns.md
tooling.md
SKILL.md
craft-plugin-release/
references/
path-repositories.md
SKILL.md
craft-plugins/
references/
amazon-ses.md
blitz.md
cache-igniter.md
ckeditor.md
colour-swatches.md
element-api.md
elements-panel.md
embedded-assets.md
feed-me.md
formie.md
hyper.md
image-optimize.md
imager-x.md
knock-knock.md
navigation.md
password-policy.md
retour.md
seomatic.md
sherlock.md
sprig.md
timeloop.md
typogrify.md
vite.md
SKILL.md
craft-project-setup/
SKILL.md
templates/
module/
.claude/
rules/
architecture.md
coding-style.md
git-workflow.md
migrations.md
security.md
testing.md
CLAUDE.md
plugin/
.claude/
rules/
architecture.md
coding-style.md
git-workflow.md
migrations.md
scaffolding.md
security.md
testing.md
CLAUDE.md
site/
.claude/
rules/
git-workflow.md
security.md
templates.md
CLAUDE.md
craft-site/
references/
atomic-design.md
atomic-patterns.md
auth-account.md
auth-flows.md
boilerplate-routing.md
component-inventory.md
composition-patterns.md
element-partials.md
example-templates.md
feeds.md
headless.md
image-presets.md
javascript-boundaries.md
multi-site-patterns.md
search.md
tailwind-conventions.md
third-party-integration.md
twig-collections.md
vite-buildchain.md
SKILL.md
craft-twig-guidelines/
SKILL.md
craftcms/
references/
architecture.md
caching.md
conditions.md
config-app.md
config-bootstrap.md
config-general-extended.md
config-general.md
console-commands.md
controllers.md
cp-components.md
cp-ui-patterns.md
cp.md
debugging.md
deployment.md
drafts-revisions.md
element-authorization.md
element-index.md
elements.md
email.md
events.md
field-types-custom.md
fields.md
graphql.md
migrations.md
permissions.md
plugin-vite.md
quality.md
queue-jobs.md
sessions-and-auth.md
testing.md
SKILL.md
ddev/
SKILL.md
servd/
references/
asset-storage.md
caching.md
database-and-queue.md
deploy-and-environments.md
limitations.md
local-dev.md
SKILL.md
src/
Skills.php
uninstall.shยฉ 2026 Flowy ยท Free and open source
Built for Claude Code ยท Not affiliated with Anthropic
craft-cloud | Shared | Craft Cloud serverless hosting: craft-cloud.yaml, Build โ Migrate โ Release pipeline, the craftcms/cloud extension, edge image transforms, static caching + ESI, MySQL 8 / Postgres 15 constraints, Console command runner, plugin Cloud-compatibility, self-hosted โ Cloud migration. 12 reference files. |
servd | Shared | Servd managed hosting: git push-to-deploy + servd.yaml, local โ staging โ production sync, the servd/craft-asset-storage plugin (svdcdn CDN, off-server transforms), Servd static caching + Blitz reverse-proxy mode, MariaDB/MySQL over SSH, backups, Dedicated Queue Runner, ephemeral filesystem. 6 reference files. |