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.
npx skills add saleor/agent-skills --skill saleor-core -a claude-codeWhat 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-code2Manually: put the files in place
~/.claude/skills/saleor-core/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/saleor-core/
1Skills CLI (Vercel)
npx skills add saleor/agent-skills --skill saleor-core -a codex2Manually: put the files in place
.agents/skills/saleor-core/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add saleor/agent-skills --skill saleor-core -a cursor2Manually: put the files in place
.cursor/skills/saleor-core/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install saleor/agent-skills saleor-core2Manually: put the files in place
.github/skills/saleor-core/SKILL.md1Skills CLI (Vercel)
npx skills add saleor/agent-skills --skill saleor-core -a gemini-cli2Platform CLI
gemini skills install https://github.com/saleor/agent-skills --path skills/saleor-coreManually: put the files in place
.devin/skills/saleor-core/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add saleor/agent-skills --skill saleor-core -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
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