Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
netresearch avatar

Oro Frontend

  • 4 installs
  • 2 repo stars
  • Updated July 22, 2026
  • netresearch/orocommerce-skill

Helps with frontend development tasks.

About

oro-frontend is a Claude Code skill for frontend development. It helps solo builders move faster with AI-assisted coding.

  • oro-frontend
  • Frontend Development
  • AI-coding skill

Oro Frontend by the numbers

  • 4 all-time installs (skills.sh)
  • +1 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #1,817 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/netresearch/orocommerce-skill --skill oro-frontend

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs4
repo stars2
Last updatedJuly 22, 2026
Repositorynetresearch/orocommerce-skill

What it does

Helps with frontend development tasks.

Files

SKILL.mdMarkdownGitHub ↗

OroCommerce v6.1 Frontend Development

Theme Structure

Every OroCommerce theme lives in a bundle's Resources/views/layouts/ directory:

YourBundle/Resources/
├── views/layouts/
│   └── [theme-name]/
│       ├── theme.yml              # REQUIRED — defines theme metadata
│       └── config/
│           ├── assets.yml         # CSS/JS registration
│           └── jsmodules.yml      # JavaScript module paths
└── public/[theme-name]/
    ├── scss/
    │   ├── settings/              # Mixins, functions (compiled FIRST)
    │   ├── variables/             # Config variables (compiled SECOND)
    │   └── components/            # Component styles (compiled THIRD)
    └── js/

Theme Registration (theme.yml)

label: My Custom Theme
description: "Optional description"
parent: default
groups: [commerce]
rtl_support: true

Theme name constraint: Must match regex [a-zA-Z][a-zA-Z0-9_-:]*. Use kebab-case. Parent: default for OroCommerce storefront. Child themes inherit SCSS, templates, and JavaScript.

SCSS Organization — 3-Folder Compilation Order

Oro enforces a strict compilation order. Violating it causes build failures: 1. settings/ — Mixins, functions, reusable utilities 2. variables/ — Configuration variables, color palettes 3. components/ — Component styles (BEM: .block__element--modifier)

A mixin defined in components/ is unavailable to variables/. Use !default on variables so child themes can override. Use map.deep-merge() to extend parent palettes without losing keys.

See references/frontend-patterns.md for complete SCSS examples per folder.

Layout Updates

Layout updates are YAML files that modify the layout tree at runtime:

layout:
    actions:
        - '@add':
            id: my_custom_block
            parentId: page_main_content
            blockType: text
            options:
                text: 'Custom content here'
        - '@setBlockTheme':
            themes: 'my_custom_template.html.twig'
        - '@move':
            id: header_logo
            parentId: new_parent_id
            sibling: 2
        - '@remove':
            id: old_widget

See references/layout-actions.md for the full action reference.

JavaScript Page Components

OroCommerce uses Chaplin.js-based page components initialized from server-rendered HTML via data-page-component-module and data-page-component-options attributes. Register modules in jsmodules.yml under dynamic-imports: for async loading.

See references/frontend-patterns.md for full Chaplin.js examples and jsmodules.yml configuration.

Key Pitfalls

1. SCSS folder order: Defining a variable in components/ won't work if variables/ hasn't compiled yet. Follow the strict order: settings, variables, components.

2. Block naming: Twig layout blocks must end with _widget. ID-specific blocks use underscore prefix: _product_details_widget. Missing either breaks template resolution.

3. Parent theme inheritance: Use map.deep-merge() to extend parent color palettes. Direct assignment replaces the entire palette, losing parent keys.

See Also

  • references/frontend-patterns.md — SCSS examples, assets.yml, jsmodules.yml, Chaplin.js, template overrides, build commands, storefront vs. back-office
  • references/layout-actions.md — Full layout action reference
  • v6.1 notes | v7.0 notes

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.