michtio/craftcms-claude-skills

Craft CMS 5 expertise as Claude Code skills + a thin PHP API. Consumed by Claude Code (skills plugin) and craftpulse/craft-cortex (MCP prompts/resources).

Maintainers

Package info

github.com/michtio/craftcms-claude-skills

Language:Shell

pkg:composer/michtio/craftcms-claude-skills

Fund package maintenance!

michtio

Buy Me A Coffee

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 42

Open Issues: 0

v1.5.0 2026-05-15 16:54 UTC

This package is auto-updated.

Last update: 2026-05-15 16:54:23 UTC


README

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).

Support

If this project saves you time, consider supporting its development:

Quick Start

1. Install

# 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

2. Set Up Your Project

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) and generates a tailored CLAUDE.md and .claude/rules/ directory.

3. Start Building

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.

Example Prompts

Just describe what you need. Skills trigger automatically and produce high-quality results.

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.
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.
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.
Create an atomic button component that supports links, form submits,
and disabled states. It needs size variants and a loading spinner option.
Configure Redis for cache, sessions, and mutex in our Craft project.
We're running DDEV locally and deploying to a VPS with Redis installed.
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.

See docs/prompt-guide.md for 40+ prompts organized by task type.

What's Inside

Skills

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 + 22 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.
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.

8 skills, 86 reference files. Skills load automatically and declare companion skills so related knowledge loads together. See docs/skills-overview.md for the full breakdown.

Agents

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: PHP, Twig, JS, CSS, config (45 checklist items)

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 16 prevention rules map to the reviewer's 45 checklist items across PHP, Twig, JS, and CSS. See docs/agents.md for details.

Plugin Reference Library

22 Craft plugins with detailed configuration, Twig/PHP API, and common pitfalls:

View all 22 plugin references
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 spacecrafttechnologies Advanced image transforms, named presets, effects

Documentation

Guide What it covers
Getting Started Installation, project setup, how skills auto-trigger, first steps
Skills Overview All 8 skills with triggers, companion skills, reference counts, boundaries
Prompt Guide 40+ real-world prompts organized by task type
Agents 5 agents with tools, gate patterns, composition examples
Contributing Adding plugin references, improving skills, reporting issues

Requirements

  • Claude Code installed and configured
  • DDEV for local Craft CMS development
  • Craft CMS 5.x
  • Bash (macOS/Linux) for the install script

Versioning

The minor version of this package mirrors the Craft CMS minor version it documents:

  • 1.4.x — Craft 5.9 realm
  • 1.5.x — Craft 5.10 realm
  • 1.6.x — Craft 5.11 realm (when it ships)

When Craft bumps its major version (5.x → 6.x), this package follows (1.x → 2.x).

Both lines stay actively maintained. New plugin references, cross-version conventions, and fixes that apply to multiple Craft minors land on every supported line via cherry-pick. Content specific to a Craft minor — APIs introduced in that version, breaking shape changes, new core conventions — lands only on the line(s) that target it.

Development happens on main (currently 1.5.x). Older lines live on their own branches (1.4.x etc.). Releases tag from the appropriate branch — v1.5.0 from main, v1.4.9 from 1.4.x. The release-validation workflow enforces that manifest versions match the tag regardless of which branch shipped it.

Roadmap

  • Upgrade guide (Craft 3→4, 4→5, 3→5) with deprecated plugin mapping and migration paths
  • DDEV skill expansion (Xdebug deep-dive, custom services, production parity)
  • Commerce skill (products, variants, orders, carts, payments -- separate skill)
  • CKEditor 4→5 migration guide (config conversion, custom styles, plugin mapping, HTML cleanup)
  • More plugin references (Neo, Scout, Campaign)

Contributing

Contributions welcome. See docs/contributing.md for how to add plugin references, improve skills, and report issues.

For PHP consumers (composer)

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+.

License

MIT -- see LICENSE.