agentsclimarketplace

Magento hyva

Skill staksoft/magento-claude-skills/skills/magento-hyva

Hyvä theme development for Magento 2 / Mage-OS / Adobe Commerce: building and customizing Hyvä storefronts with Alpine.js and Tailwind CSS, Magewire reactive server-driven components, child-theme setup and the Tailwind build, overriding Hyvä/Luma templates and layout XML, and Luma-to-Hyvä compatibility. Use this skill whenever the user mentions Hyvä (hyva), or is doing Magento frontend work with Alpine.js, Tailwind, or Magewire — creating or styling a Hyvä theme, writing Alpine components in .phtml, configuring tailwind.config.js, building a Magewire component, fixing a Luma module that breaks on Hyvä, or converting a storefront from Luma to Hyvä. Strong triggers: "hyva theme", "alpine.js in magento", "tailwind in magento", "magewire", "my hyva component isn't reactive", "convert luma to hyva". For backend/module work (plugins, observers, db schema, DI, REST/GraphQL, CLI) use the magento-module skill; for storefront performance audits use the magento-audit skill.From its SKILL.md

Install
npx -y skills add staksoft/magento-claude-skills --skill magento-hyva

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 4 commands, including `python scripts/scaffold-theme.py "Vendor/theme-name" --parent Hyva/default` and 3 more.

SKILL.md

4.8 KB, 949 tokens by cl100k_base, as published. Nobody here has run it

Hyvä Theme Development (Magento 2 / Mage-OS)

Hyvä is a Magento frontend theme that replaces the Luma stack (RequireJS + Knockout + jQuery + LESS) with Alpine.js + Tailwind CSS, plus Magewire for reactive server-rendered components. It ships far less JavaScript and is the de-facto modern choice for new Magento and Mage-OS storefronts. Layout XML, view models, and the module system are unchanged — only the template/JS/CSS layer differs.

Hyvä's core theme is commercial (a one-time license, package hyva-themes/magento2-default-theme); the supporting Hyva_Theme module and many helpers are MIT. This skill covers the development conventions; it does not bundle or require the licensed theme.

Workflow

  1. Identify the task and read the matching reference before writing code:

    TaskRead first
    New child theme, Tailwind build setupreferences/theme-setup.md
    Interactivity in templates (Alpine.js)references/alpine.md
    Styling, Tailwind config, design tokensreferences/tailwind.md
    Reactive server-driven components (forms, cart)references/magewire.md
    Override a template, add a block, layout XMLreferences/overriding.md
    A Luma module/extension breaks on Hyväreferences/luma-compat.md
  2. For a new theme, scaffold the skeleton with the script — it produces the child-theme files and the web/tailwind/ build directory deterministically:

    python scripts/scaffold-theme.py "Vendor/theme-name" --parent Hyva/default
    
  3. Implement templates with Alpine for client-side interactivity and Magewire when the logic belongs on the server. Keep JavaScript minimal — that is the entire point of Hyvä.

  4. Build the CSS and verify. Tailwind compiles web/tailwind/tailwind-source.cssweb/css/styles.css:

    cd app/design/frontend/Vendor/theme/web/tailwind && npm ci && npm run build
    bin/magento cache:flush
    # production: bin/magento setup:static-content:deploy -f
    

Non-negotiable conventions (why they matter)

  • No RequireJS, Knockout, or jQuery. If you reach for data-mage-init, require([...]), or $(...), you're writing Luma, not Hyvä. Use Alpine (x-data, @click, x-model) for client interactivity, Magewire for server interactivity.
  • Style with Tailwind utility classes, not custom LESS/CSS files. Component classes go in the Tailwind layer via @apply only when a utility string genuinely repeats.
  • Escape output exactly as in Luma — $escaper->escapeHtml() / escapeHtmlAttr() / escapeUrl(). Alpine expressions in attributes are still attribute values: escape the PHP-injected parts.
  • CSP matters. Hyvä storefronts commonly run Magento's Content-Security-Policy in restrict mode; inline event handlers and scripts must go through the secure renderer / Hyvä's CSP-friendly patterns (references/alpine.md).
  • Logic still lives in view models, not blocks or templates — same rule as Luma (see the magento-module frontend.md reference).

Verification note

A running Hyvä theme requires the licensed hyva-themes/magento2-default-theme package. When it isn't installed, verify generated code structurally: theme registration and theme.xml parent resolve, tailwind.config.js/package.json are valid, layout XML validates, and templates escape output. Note in your summary that a live render needs a Hyvä-licensed environment.

Pairing

  • Backend for the feature (the module, its data, di.xml, APIs) → magento-module skill.
  • "Why is my Hyvä store slow / not caching" → magento-audit skill.

What ships with it: 7 files

23.6 KB alongside SKILL.md, 1 of them executable

scripts/

Gives 0 of the 12 instructions most project setup skills give in 949 tokens

Counted across 1,553 of the 3,091 authors here whose files we hold, read 2026-09-06

  • Write the configuration filein 36 of 1553
  • Create the directory structurein 35 of 1553, across 33 files
  • Verify the setupin 31 of 1553, across 28 files
  • Run the setup scriptin 30 of 1553, across 29 files
  • Pre-determine the required sample sizein 29 of 1553, across 12 files
  • Check if the configuration already existsin 29 of 1553
  • Document every testin 26 of 1553, across 10 files
  • Start with a hypothesisin 26 of 1553, across 11 files
  • Ask one question at a timein 22 of 1553
  • Test a single variable per testin 21 of 1553, across 9 files
  • Read product marketing context before asking questionsin 19 of 1553, across 8 files
  • Do not peek and stop earlyin 18 of 1553, across 7 files

Said here and by no other author read

  • Identify the task and read references first
  • Use Alpine and Magewire for interactivity
  • Keep JavaScript minimal
  • Style with Tailwind utility classes
  • Escape all PHP output
  • Put logic in view models

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.