npx skills add ...
npx skills add hyva-themes/hyva-ai-tools --skill hyva-ui-component
Apply Hyva UI template-based components to a Hyvä theme. This skill should be used when the user wants to add, install, or apply a Hyva UI component (such as header, footer, gallery, menu, minicart, etc.) to their Hyvä theme. It lists available non-CMS components and their variants, displays component README instructions, and copies component files to the theme directory.
npx skills add hyva-themes/hyva-ai-tools --skill hyva-ui-component
Applies Hyva UI template-based (non-CMS) components to a Hyvä theme by copying files from {hyva_ui_path}/components/ to app/design/frontend/{Vendor}/{Theme}/.
Path variable: {hyva_ui_path} = vendor/hyva-themes/hyva-ui (default) or user-provided custom path.
Command execution: For any commands that need to run inside the development environment (e.g., bin/magento commands), use the hyva-exec-shell-cmd skill to detect the environment and determine the appropriate command wrapper.
If NOT found, offer options: (A) User provides custom extraction path, (B) composer require --dev hyva-themes/hyva-ui, (C) Download from https://hyva.io/my-account/my-downloads/
After install, refresh catalog: <skill_path>/scripts/refresh_catalog.sh {hyva_ui_path} <skill_path>/references/components.md
Where <skill_path> is the directory containing this SKILL.md file.
Use the hyva-theme-list skill to find existing Hyvä themes. Filter the results to only include themes in app/design/frontend/ (exclude vendor themes).
Prompt the user to select:
Example/winterWonderTheme)If user selects "Create new theme":
hyva-child-theme skill to create the new theme firstIf user selects an existing theme:
Continue with the selected theme path: app/design/frontend/{Vendor}/{Theme}
If no component specified or user asks to list components, show only the "Non-CMS Components (Template-Based)" section from references/components.md.
Do NOT list or mention:
These are internal dependencies or require the CMS Tailwind JIT compiler and are not applicable for direct installation via this skill.
Variants: A=Basic, B=Enhanced, C=Advanced, D=Specialized. List with: ls {hyva_ui_path}/components/{component}/
Always read {hyva_ui_path}/components/{component}/{variant}/README.md before copying. Present to user: dependencies, configuration options, special requirements.
Before copying, check which destination files already exist to track created vs updated:
Track each file as either:
Then copy:
The src/ directory contains Magento module folders (Magento_Theme/, Magento_Catalog/, etc.) that map directly to theme structure. For existing layout XML files, merge content rather than overwriting.
Check if README contains XML configuration (look for <var name=", etc/view.xml).
If found:
<var name= elements with default valuesmodule="Magento_Catalog"){theme_path}/etc/view.xml:
<view> structure<vars module="..."> exists: Add <var> elements inside it<vars module="..."> before </view>{theme_path}/etc/view.xml with default values."Preserve existing view.xml content and keep XML comments from README.
Check README for dependencies and install them automatically (do not ask the user to select plugins):
{hyva_ui_path}/plugins/{plugin}/src/ (e.g., splidejs for gallery/D-splide)composer require hyva-themes/magento2-hyva-payment-iconshyva-compile-tailwind-css skill with the target theme.After applying all changes, output a summary of modifications:
Display all files that were created or modified during this component installation. Use the tracking from Step 5 to label each file correctly:
If XML configuration was added to {theme_path}/etc/view.xml, render a table of the
options directly from the README's <var> block. For each <var name="...">value</var>
entry, emit a row with these columns:
<var> names), with a
common leading segment stripped (e.g. gallery. → show nav, magnifier.enable)<!-- ... --> comment, if anyExample output (common prefix like gallery. stripped):
When creating documentation, render the same data as a Markdown table instead.
See references/components.md for the full component catalog (only show non-CMS section to users).