hyva-create-module — Claude Code skill: Magento 2 module scaffold
Scaffolds a Magento 2 module in app/code/ with registration.php, composer.json and etc/module.xml. Useful when you need a new module without copying boilerplate by hand.
npx skills add hyva-themes/hyva-ai-tools --skill hyva-create-module -a claude-codeWhat hyva-create-module does
The skill lays out a new module under app/code/{Vendor}/{Module}. It takes a vendor and module name in PascalCase, plus optional description, <sequence> dependencies and composer requirements. From those it generates three files from templates: registration.php, composer.json and etc/module.xml.
Before writing anything it checks that both names start with an uppercase letter and contain only alphanumerics, and that the target directory does not exist yet. If a check fails, creation stops and the error goes back to the calling skill. Kebab-case names for composer are derived automatically: ShoppingCartGraphQl becomes shopping-cart-graph-ql.
This is a utility skill for other skills rather than a standalone generator — it gets invoked when a workflow needs a module skeleton. The bin/magento setup:upgrade step depends on the hyva-exec-shell-cmd skill; without it that step is skipped and you run the command yourself. An existing module directory in app/code blocks the run, so clear the old folder first.
What it helps with
- scaffold a Magento 2 module without hand-copying files
- generate
registration.php,composer.jsonandetc/module.xmlfrom templates - declare module dependencies in the
<sequence>block - add composer requirements to the
requiresection - validate vendor and module names as PascalCase before creating directories
Example prompts for the agent
- Create a Magento 2 module: vendor
Acme, moduleCmsComponents, dependencyHyva_CmsBase. - Scaffold module
Acme_CustomFeatureinapp/codewith a description and composer requirementhyva-themes/commerce-module-cms. - Generate a new module
Acme_ShoppingCartGraphQland runbin/magento setup:upgrade.
How to install hyva-create-module
1Skills CLI (Vercel)
npx skills add hyva-themes/hyva-ai-tools --skill hyva-create-module -a claude-code2Manually: put the files in place
~/.claude/skills/hyva-create-module/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/hyva-create-module/
1Skills CLI (Vercel)
npx skills add hyva-themes/hyva-ai-tools --skill hyva-create-module -a codex2Manually: put the files in place
.agents/skills/hyva-create-module/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add hyva-themes/hyva-ai-tools --skill hyva-create-module -a cursor2Manually: put the files in place
.cursor/skills/hyva-create-module/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install hyva-themes/hyva-ai-tools hyva-create-module2Manually: put the files in place
.github/skills/hyva-create-module/SKILL.md1Skills CLI (Vercel)
npx skills add hyva-themes/hyva-ai-tools --skill hyva-create-module -a gemini-cli2Platform CLI
gemini skills install https://github.com/hyva-themes/hyva-ai-tools --path skills/hyva-create-moduleManually: put the files in place
.devin/skills/hyva-create-module/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add hyva-themes/hyva-ai-tools --skill hyva-create-module -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about hyva-create-module
How do I install hyva-create-module in Claude?
Run npx skills add hyva-themes/hyva-ai-tools --skill hyva-create-module -a claude-code. The skill file then lands at ~/.claude/skills/hyva-create-module/SKILL.md.
What does hyva-create-module do?
It creates a new Magento 2 module in app/code/: the directory, registration.php, composer.json and etc/module.xml. Dependencies and composer requirements come in as parameters.
What does hyva-create-module need to work?
The bin/magento setup:upgrade step needs the hyva-exec-shell-cmd skill. Without it that step is skipped and you run the command manually.