{"id":48532609,"url":"https://github.com/michtio/craftcms-claude-skills","last_synced_at":"2026-07-14T17:02:16.719Z","repository":{"id":349870482,"uuid":"1204320786","full_name":"michtio/craftcms-claude-skills","owner":"michtio","description":"Production-ready Claude Code skills, agents, and project templates for Craft CMS 5 development","archived":false,"fork":false,"pushed_at":"2026-04-15T19:38:43.000Z","size":405,"stargazers_count":33,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-15T21:29:14.366Z","etag":null,"topics":["agent-skills","claude-code","claude-code-plugin","claude-code-skills","claude-skills","content-modeling","craft-cms","craft-cms-5","craftcms","ddev","php","twig"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michtio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-07T22:45:19.000Z","updated_at":"2026-04-15T19:38:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/michtio/craftcms-claude-skills","commit_stats":null,"previous_names":["michtio/craftcms-claude-skills"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/michtio/craftcms-claude-skills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michtio%2Fcraftcms-claude-skills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michtio%2Fcraftcms-claude-skills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michtio%2Fcraftcms-claude-skills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michtio%2Fcraftcms-claude-skills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michtio","download_url":"https://codeload.github.com/michtio/craftcms-claude-skills/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michtio%2Fcraftcms-claude-skills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32048536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","claude-code","claude-code-plugin","claude-code-skills","claude-skills","content-modeling","craft-cms","craft-cms-5","craftcms","ddev","php","twig"],"created_at":"2026-04-08T00:04:20.260Z","updated_at":"2026-07-14T17:02:16.706Z","avatar_url":"https://github.com/michtio.png","language":"Shell","funding_links":["https://github.com/sponsors/michtio","https://buymeacoffee.com/michtio"],"categories":["Source Catalog","⭐ 精选第三方技能"],"sub_categories":["💻 开发效率"],"readme":"# Craft CMS Claude Skills\n\n\u003e Production-ready [Claude Code](https://docs.anthropic.com/en/docs/claude-code) skills, agents, and project templates for Craft CMS 5 development.\n\nBuilt and maintained by [michtio](https://github.com/michtio). Covers both **plugin/module development** (extending Craft) and **site development** (content modeling, Twig templates, front-end architecture).\n\n## Support\n\nIf this project saves you time, consider supporting its development:\n\n- [GitHub Sponsors](https://github.com/sponsors/michtio)\n- [Buy Me a Coffee](https://buymeacoffee.com/michtio)\n\n## Quick Start\n\n### 1. Install\n\n```bash\n# Claude Code Plugin (recommended)\n# First time: add the marketplace, then install\n/plugin marketplace add michtio/craftcms-claude-skills\n/plugin install craftcms-claude-skills@michtio/craftcms-claude-skills\n\n# Or via Vercel Skills CLI\nnpx skills add michtio/craftcms-claude-skills --all\n\n# Or clone manually\ngit clone https://github.com/michtio/craftcms-claude-skills.git ~/.claude/craftcms-claude-skills\ncd ~/.claude/craftcms-claude-skills \u0026\u0026 bash install.sh\n```\n\n### 2. Set Up Your Project\n\nOpen Claude Code in your Craft project and say:\n\n```\nSet up Claude for this Craft project\n```\n\nThe `craft-project-setup` skill detects your project type (plugin, site, module, hybrid, or monorepo) and generates a tailored `CLAUDE.md` and `.claude/rules/` directory.\n\n### 3. Start Building\n\nThe skills trigger automatically based on what you're doing. Just describe what you need:\n\n```\nBuild a blog with topics, authors, and a flexible body builder using CKEditor\n```\n\nClaude loads the right skills, follows Craft conventions, and uses the correct field handles, DDEV commands, and project config workflow.\n\n## Example Prompts\n\nJust describe what you need — skills trigger automatically and produce high-quality results. A few to show the range, grouped by domain:\n\n**Content modeling \u0026 architecture**\n\n```\nPlan the content architecture for a multi-language corporate site with\nnews, team members, office locations, and a service catalog. We need\nEnglish, German, and French with subfolder-per-language routing.\n```\n\n**Plugins \u0026 modules**\n\n```\nBuild a custom element type for \"Job Listings\" with postDate/expiryDate\nstatus, a categories relation for departments, and a CP edit page with\nfield layout designer.\n```\n\n**Control panel \u0026 author experience**\n\n```\nI need a modal dialog for my Craft plugin that opens when clicking\n\"Add Item\", shows a form with name and handle fields, POSTs to my\nplugin's save action, and closes on success. Make it keyboard accessible.\n```\n\n**Front-end \u0026 Twig**\n\n```\nCreate an atomic button component that supports links, form submits,\nand disabled states. It needs size variants and a loading spinner option.\n```\n\n```\nBuild a member area with registration, login, password reset, and\nprofile editing. Users should be in the \"Members\" group and only see\ncontent in the gated section.\n```\n\n**Hosting \u0026 deployment**\n\n```\nSet this project up to deploy on Servd: Servd asset storage, static\ncaching with Blitz in reverse-proxy mode, and the dedicated queue\nrunner. Document the constraints in CLAUDE.md.\n```\n\n```\nConfigure Redis for cache, sessions, and mutex in our Craft project.\nWe're running DDEV locally and deploying to a VPS with Redis installed.\n```\n\nSee [docs/prompt-guide.md](docs/prompt-guide.md) for 40+ prompts organized by task type — content modeling, plugin development, field types, security, Twig, CP/JS, configuration \u0026 deployment, testing, and headless.\n\n## What's Inside\n\n### Skills\n\n| Skill | Track | Key Coverage |\n|-------|-------|--------------|\n| `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. |\n| `craft-php-guidelines` | Plugin | PHPDocs, section headers, naming, class organization, ECS/PHPStan. 5 reference files. |\n| `craft-content-modeling` | Site | Sections, entry types, fields, Matrix, relations, eager loading, entrification. Reuse-first field workflow. 6 reference files. |\n| `craft-site` | Site | Atomic design, component patterns, routing, Vite, auth flows, search, feeds, headless. 18 reference files. |\n| `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. |\n| `craft-twig-guidelines` | Site | Variable naming, null handling, whitespace, include isolation, Craft helpers, `collect()`. |\n| `craft-garnish` | Plugin | Garnish CP JavaScript: class system, UI widgets, drag system, ARIA/focus, Craft.* pattern. 5 reference files. |\n| `ddev` | Shared | Commands, services, configuration, Xdebug, site sharing, troubleshooting. |\n| `craft-project-setup` | Shared | Project scaffolding, upgrade, and audit. Generates CLAUDE.md, .claude/rules/, .claude/settings.local.json (permissions). Gap analysis for existing configs. |\n| `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. |\n| `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. |\n\n11 skills, 105 reference files. Skills load automatically and declare companion skills so related knowledge loads together. See [docs/skills-overview.md](docs/skills-overview.md) for the full breakdown.\n\n### Agents\n\n| Agent | Model | Purpose |\n|-------|-------|---------|\n| `craft-planner` | Opus | Decompose features into vertical slices with verification gates. Can research/audit public plugins via `gh` and `git clone`. |\n| `craft-feature-builder` | Opus | Build plugin code feature by feature with automated + manual test gates |\n| `craft-site-builder` | Opus | Site templates and components feature by feature with build-verify gates |\n| `craft-debugger` | Sonnet | Systematic bug investigation |\n| `craft-code-reviewer` | Sonnet | Full-stack review against a structured checklist: PHP, Twig, JS, CSS, config |\n| `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 |\n\nAgents 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](docs/agents.md) for details.\n\n### Plugin Reference Library\n\n23 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:\n\n\u003cdetails\u003e\n\u003csummary\u003eView all 23 plugin references\u003c/summary\u003e\n\n| Plugin | Author | Key Surface |\n|--------|--------|-------------|\n| SEOmatic | nystudio107 | Meta cascade, JSON-LD, sitemaps, GraphQL |\n| Blitz | putyourlightson | Static caching, Cloudflare, dynamic content, purgers |\n| Formie | verbb | Form rendering, Tailwind theming, submissions, hooks |\n| ImageOptimize | nystudio107 | Responsive images, transforms, loading strategies |\n| CKEditor | craftcms | Rich text, nested entries, HTML Purifier |\n| Sprig | putyourlightson | Reactive Twig components (htmx) |\n| Element API | craftcms | JSON API endpoints |\n| Retour | nystudio107 | Redirects, 404 tracking |\n| Navigation | verbb | Menu node querying, active states |\n| Hyper | verbb | Link fields, button integration |\n| Colour Swatches | craftpulse | Color palettes, Tailwind class mapping |\n| Password Policy | craftpulse | Validation rules, HIBP check |\n| Typogrify | nystudio107 | Typography filters, widow prevention |\n| Cache Igniter | putyourlightson | CDN cache warming |\n| Knock Knock | verbb | Staging password protection |\n| Elements Panel | putyourlightson | Debug toolbar, N+1 detection |\n| Sherlock | putyourlightson | Security scanning |\n| Embedded Assets | spicyweb | oEmbed as assets |\n| Amazon SES | putyourlightson | SES mail transport |\n| Timeloop | craftpulse | Recurring dates |\n| Feed Me | craftcms | Data import from XML/JSON/CSV, CLI automation |\n| Imager-X | spacecatninja | Advanced image transforms, named presets, effects |\n| Vite | nystudio107 | Asset loading (`craft.vite.*`), critical CSS, dev server, manifest |\n\n\u003c/details\u003e\n\n## Documentation\n\n| Guide | What it covers |\n|-------|----------------|\n| [Getting Started](docs/getting-started.md) | Installation, project setup, how skills auto-trigger, first steps |\n| [Skills Overview](docs/skills-overview.md) | All 11 skills with triggers, companion skills, reference counts, boundaries |\n| [Prompt Guide](docs/prompt-guide.md) | 40+ real-world prompts organized by task type |\n| [Agents](docs/agents.md) | 6 agents with tools, gate patterns, composition examples |\n| [Contributing](docs/contributing.md) | Adding plugin references, improving skills, reporting issues |\n\n## Requirements\n\n- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) installed and configured\n- [DDEV](https://ddev.com) for local Craft CMS development\n- Craft CMS 5.x\n- Bash (macOS/Linux) for the install script\n\n## Versioning\n\nThis package follows its own [semantic versioning](https://semver.org), driven by the pack's own content — it is **not** pinned to Craft's minor releases:\n\n- **Patch** (e.g. 1.6.0 → 1.6.1) — accuracy fixes, corrections, small content updates\n- **Minor** (e.g. 1.5.x → 1.6.0) — new skills, new plugin references, significant content additions\n- **Major** (1.x → 2.x) — Craft's next major (5.x → 6.x, where APIs break) or a major reorganization of the pack\n\nThe 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.\n\nDevelopment 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.\n\n## Roadmap\n\n- [ ] Upgrade guide (Craft 3→4, 4→5, 3→5) with deprecated plugin mapping and migration paths\n- [ ] DDEV skill expansion (Xdebug deep-dive, custom services, production parity)\n- [ ] Commerce skill (products, variants, orders, carts, payments -- separate skill)\n- [ ] CKEditor 4→5 migration guide (config conversion, custom styles, plugin mapping, HTML cleanup)\n- [ ] More plugin references (Neo, Scout, Campaign)\n\n## Contributing\n\nContributions welcome. See [docs/contributing.md](docs/contributing.md) for how to add plugin references, improve skills, and report issues.\n\n## For PHP consumers (composer)\n\nThe 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`](https://github.com/craftpulse/craft-cortex) — a Craft CMS 5 MCP server plugin that surfaces these skills as MCP prompts and resources to AI agents.\n\n```bash\ncomposer require michtio/craftcms-claude-skills\n```\n\n```php\nuse Michtio\\CraftCmsClaudeSkills\\Skills;\n\nSkills::skillNames();\n// ['craft-content-modeling', 'craft-garnish', 'craft-php-guidelines', ...]\n\nSkills::content('craftcms');\n// Full SKILL.md content as a string\n\nSkills::references('craftcms');\n// ['architecture', 'caching', 'conditions', ...]\n\nSkills::referenceContent('craftcms', 'elements');\n// Full reference markdown as a string\n\nSkills::agentNames();\n// ['craft-code-reviewer', 'craft-debugger', 'craft-feature-builder', ...]\n\nSkills::agentContent('craft-debugger');\n// Full agent markdown (frontmatter + body) as a string\n```\n\nThe helper is read-only and does no caching — wrap it in your own registry if you need that. PHP 8.2+.\n\n## Acknowledgements\n\nThanks to the people whose contributions and work have improved this pack:\n\n- **[William Bocchinelli](https://github.com/willbocc)** ([@willbocc](https://github.com/willbocc)) — element-index sources guidance for content modeling (PR #7).\n- **[John Henry](https://github.com/john-henry)** ([@john-henry](https://github.com/john-henry)) — the [Craft CP UI \u0026 Brand style guide](https://john-henry.github.io/craft-cp-ui-guide/) that prompted the v1.9.0 control-panel UI reconciliation pass.\n\n## License\n\nMIT -- see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichtio%2Fcraftcms-claude-skills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichtio%2Fcraftcms-claude-skills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichtio%2Fcraftcms-claude-skills/lists"}