This skill should be used when the user asks "how do I model my products?", "what attributes should I use?", "product vs variant attributes", "when to use dropdown vs multiselect", "how to structure my product types", "attribute type selection", "variant matrix design", "when to use Models vs Attributes", "how to create custom entities", "Categories vs Collections", "navigation structure", "Structures (Menus)", or needs guidance on designing their Saleor catalog. Provides decision frameworks for products, Models (Pages), Structures (Menus), Categories, and Collections.
View on GitHubsaleor/configurator
saleor-configurator
February 3, 2026
Select agents to install to:
npx add-skill https://github.com/saleor/configurator/blob/main/plugin/skills/product-modeling/SKILL.md -a claude-code --skill product-modelingInstallation paths:
.claude/skills/product-modeling/# Saleor Domain Modeling Guide users through designing their complete catalog structure in Saleor. This skill provides decision frameworks for: 1. **Products** - ProductTypes, Attributes, Variants 2. **Models (Pages)** - Custom entities beyond products 3. **Categories** - Hierarchical product organization 4. **Collections** - Curated product groupings 5. **Structures (Menus)** - Navigation and curated hierarchies ## The Complete Entity Hierarchy Understanding how Saleor entities relate is essential for good modeling: ``` ┌─────────────────────────────────────────────────────────────────────┐ │ SALEOR DOMAIN MODEL │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ATTRIBUTES (Building Blocks) │ │ ├── Reusable typed fields │ │ ├── Assigned to ProductTypes OR PageTypes (Models) │ │ └── Types: DROPDOWN, SWATCH, MULTISELECT, REFERENCE, etc. │ │ │ │ ┌──────────────────────┐ ┌──────────────────────┐ │ │ │ PRODUCT SIDE │ │ MODEL SIDE │ │ │ ├──────────────────────┤ ├──────────────────────┤ │ │ │ │ │ │ │ │ │ ProductType │ │ PageType (ModelType)│ │ │ │ (template/schema) │ │ (template/schema) │ │ │ │ │ │ │ │ │ │ │ │ ▼ │ │ ▼ │ │ │ │ Product │ │ Page (Model) │ │ │ │ (instance) │◄────┤ (instance) │ │ │ │ │ │ REF │ │ │ │ │ ▼