Skip to main content
skill CX Codex

saleor-core — Claude Code skill: what it does, how to install

Reference guide for Saleor backend mechanics, covering discount rules and stock availability. Useful for debugging order math and Dashboard UI.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add saleor/agent-skills --skill saleor-core -a claude-code
Open on GitHub

What saleor-core does

This skill packs rules and direct code references from the Saleor core repository. It focuses on internal behavior omitted from public API docs: discount precedence hierarchies and denormalized field semantics. It also clarifies how free gift lines with OrderLine.isGift = true appear in data.

Another section covers stock availability for Saleor 3.23 and newer. It details purchasability versus shippability under Shop.useLegacyShippingZoneStockAvailability. Webhook trigger rules are also included.

Reconstructing how order discounts split across lines is tricky because the API never returns a per-record-per-line breakdown. The skill provides the two-pass calculation logic so your tools can allocate subtotal discounts accurately.

What it helps with

  • trace discount precedence and voucher stacking in Saleor orders
  • reconstruct order-level discount allocations across line items
  • debug triggers for variant availability channel webhooks
  • handle free-gift order lines correctly in Dashboard UI

Example prompts for the agent

  • Explain why a voucher discount conflicts with this promotion in Saleor
  • Reconstruct the two-pass order discount allocation across these order lines
  • Check why PRODUCT_VARIANT_OUT_OF_STOCK_IN_CHANNEL is not firing in Saleor 3.23

How to install saleor-core

1Skills CLI (Vercel)

npx skills add saleor/agent-skills --skill saleor-core -a claude-code

2Manually: put the files in place

~/.claude/skills/saleor-core/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/saleor-core/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about saleor-core

How to install saleor-core in Claude Code?

Run npx skills add saleor/agent-skills --skill saleor-core -a claude-code in your terminal. You can also place the skill file directly at ~/.claude/skills/saleor-core/SKILL.md.

What does the saleor-core skill do?

It provides internal Saleor core knowledge: discount precedence hierarchies, two-pass subtotal allocations, warehouse stock modes, and migration edge cases.

How does Saleor allocate order-level discounts across lines?

Saleor runs a two-pass calculation: Pass A collapses discounts into a single subtotal discount, while Pass B distributes it proportionally across lines, leaving the last line to absorb rounding differences.

Source text

SKILL.md · MIT
---
name: saleor-core
description: >
  Saleor backend internals and behavior reference. Covers discount precedence,
  order-level discount allocation across lines (two-pass calculation, what the
  API does and doesn't expose, gift-line shape gotchas), stock availability
  modes (legacy vs direct, 3.23+), Dashboard UI rules, webhook trigger
  conditions, denormalized field semantics, and migration footguns. Use when
  working with Saleor discounts or stock availability, building Dashboard UI,
  building price-explanation tooling, or debugging backend behavior.
license: MIT
metadata:
  author: saleor
  version: "1.2.0"
---

# Saleor Core

Backend behavior reference derived from the Saleor core source code. Covers
internal mechanics that aren't fully documented in the public API reference —
discount precedence, stock availability modes, denormalized fields, and known
Dashboard gotchas.

## When to Apply

- Building or debugging discount/promotion UI in the Dashboard
- Investigating why a voucher or promotion isn't applying
- Understanding order-level vs line-level discount precedence
- Working with `OrderDiscount` / `OrderLineDiscount` objects
- Debugging `unit_discount_value` on `OrderLine`
- Deciding whether discounts stack or suppress each other
- Building price-explanation / waterfall tooling on confirmed orders
- Reconstructing how an order-level discount distributed across lines
- Handling free-gift order lines (`OrderLine.isGift = true`)
- Working on stock availability, shipping zones, warehouses, or `Shop.useLegacyShippingZoneStockAvailability`
- Debugging why `PRODUCT_VARIANT_*_IN_CHANNEL` webhooks aren't firing
- Building diagnostic / "doctor" tooling that explains availability problems
- Auditing Dashboard copy that uses "available" / "in stock" / "purchasable"

## Rule Categories

| Priority | Category   | Impact   | Prefix       |
| -------- | ---------- | -------- | ------------ |
| 1        | Discounts  | CRITICAL | `discount-`  |
| 2        | Stock      | CRITICAL | `stock-`     |

## Quick Reference

### 1. Discounts (CRITICAL)

- `discount-precedence` — Full precedence hierarchy, stacking rules, manual vs voucher vs promotion interactions, denormalized field semantics, known Dashboard bug
- `order-discount-allocation` — Two-pass calculation of order-level discounts (Pass A collapses records into a single subtotal_discount; Pass B distributes proportionally across lines with last-line absorbing rounding), what the API exposes (per-line totals, per-record-at-order amounts) and what it doesn't (per-record-per-line decomposition), gift-line shape gotcha (`ORDER_PROMOTION` on `OrderLine.discounts[]` when `isGift = true`), reconstruction guidance for consumers

### 2. Stock (CRITICAL)

- `stock-availability-modes` — `Shop.useLegacyShippingZoneStockAvailability` (3.23+), purchasability vs shippability, server queryset dispatch, mode-conditional webhooks, Dashboard UI / copy / severity rules, migration footguns, test fixtures

## How to Use

Read individual rule files for detailed explanations and source-level evidence:

```
rules/discount-precedence.md
rules/order-discount-allocation.md
rules/stock-availability-modes.md
```

Each rule file contains:

- Precedence hierarchy or computation rules
- Source code references from `saleor/` with function names and file paths
- Anti-patterns and known bugs

© saleor · MIT · saleor/agent-skills

Similar skills

All skills for Backend and APIs →

From the same set5

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor