/ 目录 / 演练场 / craftcms-claude-skills
● 社区 michtio ⚡ 即开即用

craftcms-claude-skills

作者 michtio · michtio/craftcms-claude-skills

A Claude Code skill bundle that knows Craft CMS 5 inside out — writes modules, Twig templates, migrations, and GraphQL queries the Craft way.

Production-ready skills, agents and project templates that teach Claude Code how Craft CMS 5 actually works. Instead of generic PHP suggestions, you get idiomatic Craft patterns — proper element queries, field handles, module structure, Pixel & Tonic conventions.

为什么要用

核心特性

实时演示

实际使用效果

craftcms-claude-skill.replay ▶ 就绪
0/0

安装

作者仓库 · Claude Skills 官方文档

使用场景

实战用法: craftcms-claude-skills

Scaffold a custom Craft CMS module without leaving Claude Code

👤 Craft CMS developers building site-specific modules ⏱ ~30 min intermediate

何时使用: You need a new module and don't want to hand-copy another one as a template.

步骤
  1. Describe the module's job
    Use craftcms-claude-skills. Create a new module called 'Inventory' that registers a custom element type for warehouse items.✓ 已复制
    → Claude scaffolds modules/inventory/ with src/Inventory.php, elements/WarehouseItem.php, and a config entry
  2. Wire it up
    Register the module in config/app.php and add the bootstrap entry.✓ 已复制
    → Config diff shown; module loads without errors on craft setup/check
  3. Add an element query
    Add a WarehouseItemQuery class with a custom 'sku' parameter that filters on the content table.✓ 已复制
    → Query class with proper WHERE clauses, not raw SQL soup

结果: A working Craft module that follows Pixel & Tonic conventions — ready for your first migration.

注意事项
  • Claude writes Craft 3/4 style code — Explicitly state Craft CMS 5 in every prompt — the API surface changed
搭配使用: filesystem · mysql

Refactor a mess of Twig templates into idiomatic Craft

👤 Front-end devs inheriting a Craft site with sketchy templates ⏱ ~45 min intermediate

何时使用: You took over a Craft project and the templates are full of raw SQL, inline PHP, and cache tags that don't work.

步骤
  1. Point Claude at the worst template
    Using craftcms-claude-skills, review templates/_entries/blog.twig and rewrite it using proper element queries and {% cache %} tags.✓ 已复制
    → Refactored template with craft.entries, section handle, and correct cache scoping
  2. Extract reusable macros
    Pull the card markup into a macro in _macros/cards.twig and include it properly.✓ 已复制
    → Macro file created; includes use {% from %} syntax

结果: Templates that load faster and future devs can actually read.

注意事项
  • Cache tags wrap dynamic user data and show wrong content — Use {% cache %} with globally keyed variations, never around authenticated user data
搭配使用: filesystem

Write a safe Craft migration for content model changes

👤 Craft devs shipping schema changes to production ⏱ ~30 min advanced

何时使用: You're adding a new field or restructuring an existing one and need a migration that won't eat data.

步骤
  1. Describe the change
    Use craftcms-claude-skills. Write a Craft migration that adds a 'featuredAt' datetime field to the News section, with a safe backfill from postDate.✓ 已复制
    → Migration file with safeUp / safeDown; uses Craft's Fields service, not raw schema hacks
  2. Dry-run in dev
    Walk me through testing this with ./craft migrate/up --interactive=0 on a staging copy first.✓ 已复制
    → Step-by-step checklist including DB backup

结果: A migration you can ship on a Friday without panic.

注意事项
  • Forgetting to register the field type in project config — Always run craft project-config/write after the migration and commit the YAML
搭配使用: mysql · git

组合

与其他 MCP 搭配,撬动十倍杠杆

craftcms-claude-skill + filesystem

Skill provides Craft patterns; filesystem lets Claude actually apply them in your project

Apply the craftcms-claude-skills module scaffold to my current project directory.✓ 已复制
craftcms-claude-skill + mysql

Inspect Craft's content tables while writing migrations

Show me the current schema of the elements_sites table before I write this migration.✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
module_scaffold module name, element types Starting a new module 0
field_generator field name, type, handle Adding a custom field type 0
twig_refactor template path Cleaning up legacy templates 0

成本与限制

运行它的成本

API 配额
None
每次调用 Token 数
Moderate — reference files load on demand
费用
Free
提示
Reference the skill by name only when working on Craft code; it adds context overhead to unrelated tasks.

安全

权限、密钥、影响范围

凭据存储: No credentials
数据出站: None — local prompts and files only

故障排查

常见错误与修复

Claude generates Craft 3-era code (craft()->elements)

Mention 'Craft CMS 5' explicitly; the API namespace is craft\elements in 5.x

验证: grep -r 'craft()->' src/ should return nothing in Craft 5 code
Migration runs but field doesn't appear in CP

Run ./craft project-config/write and ./craft project-config/apply — project config drift is the usual cause

验证: ./craft project-config/diff

替代方案

craftcms-claude-skills 对比其他方案

替代方案何时用它替代权衡
Raw Claude CodeSimple Twig-only tweaks that don't need Craft-specific idiomsGeneric PHP suggestions, often wrong for Craft
symfony-hexagonal-skillYou're on Symfony, not CraftDifferent framework conventions

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills