spree-data-model

Explain Spree domain model relationships among Orders, LineItems, and Variants.

4|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/spree/agent-skills --skill spree-data-model
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spree-data-model
Source: https://github.com/spree/agent-skills/tree/main/skills/spree-data-model
Command: npx skills add https://github.com/spree/agent-skills --skill spree-data-model

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill provides a comprehensive understanding of Spree's domain models, their relationships, and architecture, aiding in navigating Spree's data model effectively.

Core Features & Use Cases

  • Domain Model Relationships: Understand the connections between Orders, LineItems, Variants, Products, Stores, Channels, Markets, Payments, Shipments, Customers, and Adjustments.
  • Architecture: Learn the structure and relationships within Spree's data model, including the catalog to cart pipeline and multi-channel/multi-store axis.
  • Use Case: When you need to know how Spree stores and retrieves data, or how different models interact, this Skill is your go-to.

Quick Start

Use the spree-data-model skill to explore the relationships between Products and Variants in Spree.

Frequently Asked Questions about spree-data-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does the Spree domain model connect Orders, LineItems, and Variants?

The Spree domain model links Orders to LineItems, which reference specific Variants. This architecture maps the catalog-to-cart pipeline, detailing how product data flows through the e-commerce checkout structure.

What is the relationship between Products and Variants in Spree's data architecture?

In Spree's data architecture, Products serve as parent entities to Variants. Understanding this relationship mapping is essential for managing catalog structures and retrieving specific product configurations.

How do I map multi-store and multi-channel data structures in Spree?

Spree maps multi-store and multi-channel structures through dedicated Stores, Channels, and Markets entities. These relationships define the architecture axis for distributing e-commerce data across different platforms.

Does Spree's data model include architecture for Payments and Shipments?

Spree's data model includes dedicated Payments, Shipments, and Adjustments entities. These structures connect directly to Orders, completing the e-commerce domain relationship mapping for transaction processing.

When do I need to reference Spree's domain model relationships?

You need to reference Spree's domain model relationships when building or maintaining Spree-based applications. It provides the architectural blueprint for understanding how data is stored, retrieved, and connected across e-commerce entities.