magento-catalog

Work with Magento 2 catalog — product types, categories, attributes, indexing, and search integration. Use when building catalog features, customizing product types, or working with the catalog architecture.

17 stars

Best use case

magento-catalog is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Work with Magento 2 catalog — product types, categories, attributes, indexing, and search integration. Use when building catalog features, customizing product types, or working with the catalog architecture.

Teams using magento-catalog should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/magento-catalog/SKILL.md --create-dirs "https://raw.githubusercontent.com/OrcaQubits/agentic-commerce-skills-plugins/main/dist/antigravity/magento2-commerce/.agent/skills/magento-catalog/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/magento-catalog/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How magento-catalog Compares

Feature / Agentmagento-catalogStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Work with Magento 2 catalog — product types, categories, attributes, indexing, and search integration. Use when building catalog features, customizing product types, or working with the catalog architecture.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Magento 2 Catalog & Product Types

## Before writing code

**Fetch live docs**:
1. Web-search `site:developer.adobe.com commerce php development components catalog` for catalog development
2. Web-search `site:developer.adobe.com commerce php development components indexing` for indexer guide
3. Fetch `https://developer.adobe.com/commerce/php/development/components/indexing/` for indexing architecture

## Product Types

### Six Built-in Types

| Type | Description | Key Characteristics |
|------|-------------|-------------------|
| **Simple** | Single physical item | Unique SKU, own stock, no variations |
| **Configurable** | Parent with variant children | Children are simple products, vary by attributes (size, color) |
| **Grouped** | Collection of products | Simple/virtual children, purchased independently |
| **Bundle** | Customer-assembled set | Options with selectable items, dynamic/fixed pricing |
| **Virtual** | Non-physical (services) | No shipping, no weight |
| **Downloadable** | Digital products | Files/links, optional samples |

### Configurable Products

The most complex type — a parent product with simple product children:
- Super attributes determine variations (e.g., color, size)
- Each combination maps to a child simple product with its own SKU and stock
- Frontend: dropdown selectors, price updates, image swapping
- Key tables: `catalog_product_super_attribute`, `catalog_product_super_link`

### Custom Product Types

Possible to create custom types by:
- Extending `Magento\Catalog\Model\Product\Type\AbstractType`
- Registering in `etc/product_types.xml`
- Defining custom price model, stock handling, and checkout behavior

## Categories

### Category Tree

- Hierarchical structure with root categories and subcategories
- Each store view has one root category
- Categories use EAV for attributes
- URL rewrites generate SEO-friendly paths
- Display modes: products only, CMS block only, both

### Category Attributes

- `name`, `description`, `image`, `meta_title`, `meta_description`
- `is_active`, `include_in_menu`, `display_mode`
- `url_key`, `url_path`
- Custom attributes addable via data patches

## Indexing

### Why Indexing Exists

EAV queries are expensive. Indexers pre-compute denormalized data for fast reads.

### Standard Indexers

- `catalog_product_price` — pre-computed product prices
- `catalogsearch_fulltext` — search engine index (OpenSearch/Elasticsearch)
- `catalog_product_attribute` — filterable attributes for layered navigation
- `cataloginventory_stock` — stock status
- `catalogrule_product` — catalog price rules
- `catalog_category_product` — category-product associations

### Index Modes

| Mode | Behavior | Use Case |
|------|----------|----------|
| **Update on Save** | Reindexes immediately on data change | Small catalogs, development |
| **Update by Schedule** | Cron-based, uses changelog tables | Production (recommended) |

### Mview (Materialized Views)

Changelog tables (`*_cl`) track changes via database triggers. Cron compares versions in `mview_state` to determine what needs reindexing. Efficient — only processes changed entities.

### CLI Commands

```bash
bin/magento indexer:reindex                    # Reindex all
bin/magento indexer:reindex catalogsearch_fulltext  # Reindex specific
bin/magento indexer:status                     # Show status
bin/magento indexer:set-mode schedule           # Set all to schedule mode
```

## Search Integration

- A search engine has been required since 2.4.0 (originally Elasticsearch; OpenSearch supported from 2.4.6; only OpenSearch from 2.4.8)
- Products, categories indexed for search and layered navigation
- Elasticsearch removed in 2.4.8
- Custom search attributes configurable per attribute

## Best Practices

- Use "Update by Schedule" indexing in production
- Design catalog structure before adding products — attribute sets are hard to change later
- Use configurable products for variant-heavy catalogs
- Keep EAV attribute count reasonable — more attributes = slower indexing
- Test catalog operations at scale (1000+ products) to catch performance issues
- Use the repository pattern (`ProductRepositoryInterface`) for programmatic product access

Fetch the catalog and indexing docs for exact indexer configuration, product type XML schema, and search integration patterns before implementing.

Related Skills

woo-catalog

17
from OrcaQubits/agentic-commerce-skills-plugins

Work with WooCommerce catalog — product types, categories, tags, attributes, product queries, search, related products, and product visibility. Use when managing products programmatically or customizing the catalog display.

spree-catalog

17
from OrcaQubits/agentic-commerce-skills-plugins

Build and customize Spree's catalog — Products with Variants and OptionTypes/OptionValues, Taxonomies and Taxons (nested set), Properties, Images via ActiveStorage, multi-currency Prices, the v5.3+ PriceList feature for customer/segment overrides, MeiliSearch faceted search (v5.4+), product archiving/activation, CSV import/export, and SEO. Use when modeling products, customizing the catalog UI, indexing search, or importing inventory.

shopify-catalog

17
from OrcaQubits/agentic-commerce-skills-plugins

Manage Shopify catalog — Product, Variant, and Option models, collections, metafields and metaobjects, inventory management, product taxonomy, bulk operations, and media. Use when working with Shopify product data.

sf-catalog

17
from OrcaQubits/agentic-commerce-skills-plugins

Manage Salesforce Commerce catalogs — B2C (Business Manager catalogs, categories, products, pricing books, promotions, search indexes) and B2B (Product2, Pricebook2, PricebookEntry, volume discounts, entitlements). Use when working with product data across either platform.

saleor-catalog

17
from OrcaQubits/agentic-commerce-skills-plugins

Manage the Saleor catalog — products, variants, product types, categories, collections, media, and warehouse stock. Use when working with Saleor product data.

medusa-catalog

17
from OrcaQubits/agentic-commerce-skills-plugins

Manage the Medusa v2 catalog — products, variants, options, collections, categories, tags, and product metadata. Use when working with Medusa product data.

magento-testing

17
from OrcaQubits/agentic-commerce-skills-plugins

Write tests for Magento 2 — PHPUnit unit tests, integration tests, MFTF functional tests, and API tests. Use when implementing test coverage for modules, debugging, or setting up CI/CD test pipelines.

magento-setup

17
from OrcaQubits/agentic-commerce-skills-plugins

Set up a Magento 2 Open Source project — installation, Composer setup, system requirements verification, and initial configuration. Use when starting a new Magento project or setting up a development environment.

magento-service-contracts

17
from OrcaQubits/agentic-commerce-skills-plugins

Implement Magento 2 service contracts — repository interfaces, data interfaces, SearchCriteria, and the repository pattern. Use when building module APIs, data access layers, or integrating with Magento's Web API.

magento-security

17
from OrcaQubits/agentic-commerce-skills-plugins

Implement Magento 2 security — CSP, 2FA, CSRF protection, ACL, admin security configuration, input validation, and security best practices. Use when hardening a Magento installation or reviewing security posture.

magento-plugins-interceptors

17
from OrcaQubits/agentic-commerce-skills-plugins

Implement Magento 2 plugins (interceptors) — before, after, and around methods for modifying class behavior without inheritance. Use when extending core or third-party module functionality.

magento-performance

17
from OrcaQubits/agentic-commerce-skills-plugins

Optimize Magento 2 performance — full page cache (Varnish), Redis, indexer tuning, JavaScript/CSS optimization, database optimization, and profiling. Use when diagnosing slow pages, optimizing load times, or configuring caching.