@wix/agent-skills 1.12.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +4 -0
  2. package/package.json +1 -1
  3. package/skills/wix-app/references/data-collection/WIX_DATA.md +10 -0
  4. package/skills/wix-design-system/SKILL.md +3 -1
  5. package/skills/wix-headless/references/BUILD-astro.md +10 -1
  6. package/skills/wix-headless/references/shared/STYLING.md +0 -1
  7. package/skills/wix-headless/scripts/compose.mjs +19 -24
  8. package/skills/wix-headless/scripts/patch-decorative-slots.mjs +15 -9
  9. package/skills/wix-manage/SKILL.md +32 -54
  10. package/skills/wix-manage/references/ecommerce/api-recommendation-tracking.md +3 -2
  11. package/skills/wix-manage/references/ecommerce/ecom-load-context.md +144 -0
  12. package/skills/wix-manage/references/ecommerce/ecom-pricing.md +84 -0
  13. package/skills/wix-manage/references/ecommerce/ecom-shipping.md +64 -0
  14. package/skills/wix-manage/references/ecommerce/{setup-coupons.md → pricing-promotions/ecom-pricing-create-coupon.md} +20 -6
  15. package/skills/wix-manage/references/ecommerce/{setup-discount-rules.md → pricing-promotions/ecom-pricing-create-discount-rule.md} +31 -1
  16. package/skills/wix-manage/references/ecommerce/{flow-bundle-and-save.md → pricing-promotions/ecom-pricing-flow-bundle-and-save.md} +11 -52
  17. package/skills/wix-manage/references/ecommerce/{flow-seasonal-promotion.md → pricing-promotions/ecom-pricing-flow-seasonal-promotion.md} +17 -57
  18. package/skills/wix-manage/references/ecommerce/{flow-stock-mover.md → pricing-promotions/ecom-pricing-flow-stock-mover.md} +28 -70
  19. package/skills/wix-manage/references/ecommerce/{flow-upsell-boost.md → pricing-promotions/ecom-pricing-flow-upsell-boost.md} +15 -68
  20. package/skills/wix-manage/references/ecommerce/{goal-clear-inventory.md → pricing-promotions/ecom-pricing-goal-clear-inventory.md} +22 -13
  21. package/skills/wix-manage/references/ecommerce/{goal-drive-cross-sells.md → pricing-promotions/ecom-pricing-goal-drive-cross-sells.md} +26 -8
  22. package/skills/wix-manage/references/ecommerce/{goal-increase-aov.md → pricing-promotions/ecom-pricing-goal-increase-aov.md} +32 -25
  23. package/skills/wix-manage/references/ecommerce/{goal-seasonal-revenue.md → pricing-promotions/ecom-pricing-goal-seasonal-revenue.md} +21 -8
  24. package/skills/wix-manage/references/ecommerce/{troubleshoot-discount-not-applying.md → pricing-promotions/ecom-pricing-troubleshoot-not-applying.md} +1 -1
  25. package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +23 -47
  26. package/skills/wix-manage/references/ecommerce/{api-shipping.md → shipping/ecom-shipping-api.md} +4 -3
  27. package/skills/wix-manage/references/ecommerce/{flow-fix-coverage-gaps.md → shipping/ecom-shipping-fix-coverage.md} +23 -17
  28. package/skills/wix-manage/references/ecommerce/{flow-add-free-shipping.md → shipping/ecom-shipping-free-shipping.md} +23 -18
  29. package/skills/wix-manage/references/ecommerce/{flow-optimize-shipping-rates.md → shipping/ecom-shipping-optimize-rates.md} +19 -16
  30. package/skills/wix-manage/references/ecommerce/{setup-store-pickup-location.md → shipping/ecom-shipping-setup-pickup.md} +12 -10
  31. package/skills/wix-manage/references/ecommerce/{setup-shipping-rates.md → shipping/ecom-shipping-setup-rates.md} +1 -2
  32. package/skills/wix-manage/references/ecommerce/{setup-shipping-regions.md → shipping/ecom-shipping-setup-regions.md} +1 -2
  33. package/skills/wix-manage/references/sites/query-sites.md +104 -32
  34. package/skills/wix-headless/references/astro/templates/Footer.astro +0 -27
  35. package/skills/wix-headless/references/astro/templates/Navigation.astro +0 -38
  36. package/skills/wix-headless/references/astro/templates/index.astro +0 -56
  37. package/skills/wix-manage/references/ecommerce/goal-reduce-cart-abandonment.md +0 -147
  38. package/skills/wix-manage/references/ecommerce/guardrail-discount-conflicts.md +0 -118
  39. package/skills/wix-manage/references/ecommerce/guardrail-margin-protection.md +0 -88
  40. package/skills/wix-manage/references/ecommerce/guardrail-rate-pricing-sanity.md +0 -108
  41. package/skills/wix-manage/references/ecommerce/guardrail-shipping-health.md +0 -124
  42. package/skills/wix-manage/references/ecommerce/recipe-apply-shipping-recommendations.md +0 -298
  43. package/skills/wix-manage/references/ecommerce/skill-graph.md +0 -139
  44. package/skills/wix-manage/references/ecommerce/troubleshoot-checkout-delivery-dropoff.md +0 -124
@@ -1,22 +1,16 @@
1
1
  ---
2
2
  name: "Goal: Clear Inventory"
3
- description: Maps the STOCK_MOVER business goal to inventory turnover KPIs and clearance discount flows.
4
- layer: goal
5
- references:
6
- - name: "Flow: Stock Mover"
7
- path: ecommerce/flow-stock-mover.md
8
- load: true
9
- - name: "Guardrail: Margin Protection"
10
- path: ecommerce/guardrail-margin-protection.md
11
- load: false
3
+ description: STOCK_MOVER clearance goal — always load BEFORE recommending any clearance / overstock / slow-stock / dead-inventory action.
12
4
  ---
13
5
  # Goal: Clear Slow-Moving Inventory
14
6
 
15
- > **Before executing this skill**, read these referenced skills with `ReadFullDocsArticle`:
16
- > - [Flow: Stock Mover](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-stock-mover)
7
+ > **Routing rule (READ FIRST).** Any merchant query about clearing slow / overstocked / dead / stagnant inventory MUST load this recipe before any other clearance recipe. Do NOT route directly to [Flow: Stock Mover](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-stock-mover) from the WixREADME index — this goal owns the velocity scoring, discount tiers, **margin-floor guardrail**, and the per-recommendation presentation rules. The flow is a sub-step.
17
8
  >
18
- > **Related skills** (read with `ReadFullDocsArticle` if needed):
19
- > - [Guardrail: Margin Protection](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/guardrail-margin-protection)
9
+ > ⛔ **MANDATORY — call this NOW before any API call or recommendation generation:**
10
+ > ```
11
+ > ReadFullDocsArticle("https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-stock-mover")
12
+ > ```
13
+ > The guardrail is also enforced in [Pricing: Create Discount Rule](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/pricing-create-discount-rule) → "Guardrails".
20
14
 
21
15
  Automate clearance discounts for products with high stock levels and low sales velocity, converting stagnant inventory into revenue before it becomes a carrying cost liability.
22
16
 
@@ -79,6 +73,21 @@ The sole action for this goal. Identifies slow-moving products using the velocit
79
73
 
80
74
  ---
81
75
 
76
+ ## Presentation requirement — surface the margin guardrail
77
+
78
+ **Every clearance recommendation presented to the merchant MUST explicitly reference the margin-floor guardrail in its `reasoning` / `why` field.** Clearance discounts push closest to cost, so the merchant needs to see — per item — that the discount stays above the floor.
79
+
80
+ Acceptable phrasings:
81
+ - "Discount keeps effective margin ≥ 15% (minMarginPct floor)."
82
+ - "Stays above breakeven — current margin {X}%, post-discount {Y}%, floor 15%."
83
+ - "Margin protected: this discount does NOT push below the 15% floor on `{product}`."
84
+
85
+ If a candidate item would violate the floor at the velocity-tier discount, **either** lower the discount to stay above the floor and say so, **or** drop the item and note "skipped — would breach margin floor."
86
+
87
+ Do NOT present a clearance recommendation that omits margin language. Urgency / stock level / "why this %" are not substitutes — the guardrail line is required.
88
+
89
+ ---
90
+
82
91
  ## Measurement Plan
83
92
 
84
93
  ### Before campaign launch
@@ -1,16 +1,16 @@
1
1
  ---
2
2
  name: "Goal: Drive Cross-Sells"
3
- description: Maps the BUNDLE_AND_SAVE business goal to multi-item purchase KPIs and bundling flows.
4
- layer: goal
5
- references:
6
- - name: "Flow: Bundle and Save"
7
- path: ecommerce/flow-bundle-and-save.md
8
- load: true
3
+ description: BUNDLE_AND_SAVE goal — always load BEFORE recommending bundling / cross-sell / multi-item / "buy together" actions.
9
4
  ---
10
5
  # Goal: Drive Cross-Sells and Product Discovery
11
6
 
12
- > **Before executing this skill**, read these referenced skills with `ReadFullDocsArticle`:
13
- > - [Flow: Bundle and Save](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-bundle-and-save)
7
+ > **Routing rule (READ FIRST).** Any merchant query about cross-sells, bundling, "buy together", multi-item purchases, or items-per-order MUST load this recipe before any flow-* recipe. Do NOT route directly to [Flow: Bundle and Save](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-bundle-and-save) from the WixREADME index — this goal owns the catalog-profile→bundle-shape matrix and the **per-recommendation multi-item-structure requirement** (every recommendation MUST use `minItemQuantity` or an equivalent multi-item condition — plain single-item percent-off recommendations FAIL this goal). The flow is a sub-step.
8
+ >
9
+ > ⛔ **MANDATORY — call this NOW before any API call or recommendation generation:**
10
+ > ```
11
+ > ReadFullDocsArticle("https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-bundle-and-save")
12
+ > ```
13
+ > The flow defines the required discount-rule mechanics (minItemQuantity condition, catalog data steps, guardrails). Without it, your recommendations will lack the correct structure.
14
14
 
15
15
  Promote product discovery and multi-item purchases by creating bundle-based discounts that reward customers for buying across categories or adding complementary items to their cart.
16
16
 
@@ -81,6 +81,24 @@ The sole action for this goal. Creates a percentage discount with a `minItemQuan
81
81
 
82
82
  ---
83
83
 
84
+ ## Presentation requirement — every recommendation MUST carry a multi-item condition
85
+
86
+ **Every cross-sell recommendation presented to the merchant MUST use a `minItemQuantity` (or equivalent multi-item) condition** — plain single-item percentage discounts FAIL this goal's intent. The merchant must be able to see, per recommendation, the quantity threshold that triggers the discount and the scope it applies to.
87
+
88
+ Acceptable shapes:
89
+ - `apply_discount` with `conditions.minItemQuantity: 2` (or 3, 4) scoped to a category or specific products
90
+ - "Buy 2+ accessories, save 15%" — minItemQuantity 2 on the accessories category
91
+ - "Buy any 3 items, save 10%" — minItemQuantity 3 site-wide
92
+ - "Buy these 2 together, save 15%" — minItemQuantity 2 on ITEMS scope with specific productIds
93
+
94
+ NOT acceptable for this goal:
95
+ - "20% off accessories" — no quantity threshold, defeats the cross-sell mechanic
96
+ - "Site-wide 10% off" — no multi-item incentive
97
+
98
+ State the quantity threshold and scope per recommendation in the `reasoning` / `why` field (e.g., "Buy 3+ items → 10% off site-wide; targets the multi-category catalog profile"). If you cannot construct a multi-item condition for a candidate, drop it; never present a plain percent-off as a cross-sell recommendation.
99
+
100
+ ---
101
+
84
102
  ## Measurement Plan
85
103
 
86
104
  ### Before campaign launch
@@ -1,36 +1,25 @@
1
1
  ---
2
2
  name: "Goal: Increase AOV"
3
- description: Maps the UPSELL_BOOST business goal to measurable KPIs and actionable discount flows. Covers AOV benchmarking, margin-based discount tiers, and minSubTotal strategy.
4
- layer: goal
5
- references:
6
- - name: "Flow: Upsell Boost"
7
- path: ecommerce/flow-upsell-boost.md
8
- load: true
9
- - name: "Flow: Bundle and Save"
10
- path: ecommerce/flow-bundle-and-save.md
11
- load: true
12
- - name: "Flow: Add Free Shipping"
13
- path: ecommerce/flow-add-free-shipping.md
14
- load: false
15
- - name: "Flow: Optimize Shipping Rates"
16
- path: ecommerce/flow-optimize-shipping-rates.md
17
- load: false
18
- - name: "Guardrail: Margin Protection"
19
- path: ecommerce/guardrail-margin-protection.md
20
- load: false
3
+ description: UPSELL_BOOST goal — always load BEFORE recommending AOV / upsell / "boost my sales" / shipping-threshold actions. Owns the cross-domain lever map (discount + shipping + bundle) for open-ended sales prompts.
21
4
  ---
22
5
  # Goal: Increase Average Order Value
23
6
 
24
- > **Before executing this skill**, read these referenced skills with `ReadFullDocsArticle`:
25
- > - [Flow: Upsell Boost](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-upsell-boost)
26
- > - [Flow: Bundle and Save](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-bundle-and-save)
7
+ > **Routing rule (READ FIRST).** Any merchant query about increasing AOV, upselling, "boosting sales", or open-ended "help my business" prompts MUST load this recipe before any flow-* recipe. Do NOT route directly to [Flow: Upsell Boost](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-upsell-boost) from the WixREADME index — this goal owns the cross-domain lever map (discount + shipping + bundle), the catalog→lever-selection rules, and the per-recommendation **multi-lever mix requirement** that an open "boost sales" prompt must satisfy. The flows are sub-steps.
8
+ >
9
+ > ⛔ **MANDATORY — call these NOW before any API call or recommendation generation:**
10
+ > ```
11
+ > ReadFullDocsArticle("https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-upsell-boost")
12
+ > ```
13
+ > If the request covers bundle/cross-sell intent too:
14
+ > ```
15
+ > ReadFullDocsArticle("https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-bundle-and-save")
16
+ > ```
27
17
  >
28
18
  > **Shipping flows that also serve AOV goals** (load if shipping domain is active):
29
- > - [Flow: Add Free Shipping](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-add-free-shipping) — free shipping threshold pushes carts above AOV
30
- > - [Flow: Optimize Shipping Rates](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-optimize-shipping-rates) — rate optimization improves conversion on higher-value orders
19
+ > - [Flow: Add Free Shipping](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-add-free-shipping) — free shipping threshold pushes carts above AOV
20
+ > - [Flow: Optimize Shipping Rates](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-optimize-rates) — rate optimization improves conversion on higher-value orders
31
21
  >
32
- > **Related skills** (read with `ReadFullDocsArticle` if needed):
33
- > - [Guardrail: Margin Protection](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/guardrail-margin-protection)
22
+ > The margin/cap guardrails are enforced in [Create Discount Rule](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/pricing-create-discount-rule) → "Guardrails".
34
23
 
35
24
  Incentivize customers to spend above the store's current average order value (AOV) by creating threshold-based discounts that reward higher cart totals.
36
25
 
@@ -96,6 +85,24 @@ A complementary action that increases AOV by encouraging multi-item purchases. I
96
85
 
97
86
  ---
98
87
 
88
+ ## Presentation requirement — open prompts demand a multi-lever mix
89
+
90
+ When the merchant's query is open-ended (e.g., "boost my sales", "help my business", "give me 3 to 5 actions"), the recommendation set **MUST mix at least two of the following lever types** — never propose an all-discount set:
91
+
92
+ | Lever type | Example action |
93
+ |---|---|
94
+ | Discount rule (auto-apply) | `apply_discount` with `minSubTotal` above AOV |
95
+ | Coupon | code-gated discount for subscribers / influencers |
96
+ | Free-shipping / shipping change | `create_shipping_option` with AOV-calibrated threshold |
97
+ | Bundle / `minItemQuantity` rule | multi-item discount targeting cross-sell categories |
98
+ | `minSubTotal` / AOV-threshold rule | spend-based discount above current AOV |
99
+
100
+ State the lever type per recommendation in the `reasoning` / `why` field (e.g., "Lever: free-shipping threshold — pushes carts above current AOV $X"). A recommendation set containing only `apply_discount` actions FAILS the UPSELL_BOOST goal's open-prompt intent.
101
+
102
+ If the merchant's prompt names a specific lever (e.g., "give me a coupon"), this rule does NOT apply — focus all recommendations on that lever. The multi-lever requirement is for OPEN prompts where the lever is the agent's call.
103
+
104
+ ---
105
+
99
106
  ## Measurement Plan
100
107
 
101
108
  ### Before campaign launch
@@ -1,16 +1,16 @@
1
1
  ---
2
2
  name: "Goal: Seasonal Revenue"
3
- description: Maps the SEASONAL business goal to event-driven revenue KPIs and promotional flows.
4
- layer: goal
5
- references:
6
- - name: "Flow: Seasonal Promotion"
7
- path: ecommerce/flow-seasonal-promotion.md
8
- load: true
3
+ description: SEASONAL goal — always load BEFORE recommending any holiday / event / date-tied promotion. Owns the priority rule (holiday beats UPSELL_BOOST when both signals are present).
9
4
  ---
10
5
  # Goal: Capitalize on Seasonal Events
11
6
 
12
- > **Before executing this skill**, read these referenced skills with `ReadFullDocsArticle`:
13
- > - [Flow: Seasonal Promotion](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-seasonal-promotion)
7
+ > **Routing rule (READ FIRST).** Any merchant query that mentions a holiday, cultural event, season, or specific date tied to a discount MUST load this recipe before any flow-* recipe. Do NOT route directly to [Flow: Seasonal Promotion](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-seasonal-promotion) from the WixREADME index — this goal owns the **priority rule** ("holiday/event/date beats all other signals — even 'maximize revenue' / 'boost sales' must classify as SEASONAL when a date is named"), the event calendar, and the per-recommendation time-window presentation rules. The flow is a sub-step.
8
+ >
9
+ > ⛔ **MANDATORY — call this NOW before any API call or recommendation generation:**
10
+ > ```
11
+ > ReadFullDocsArticle("https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/flow-seasonal-promotion")
12
+ > ```
13
+ > Do NOT skip this or defer it — the flow defines the event calendar, campaign window calculation, and discount-sizing logic required to produce correct seasonal recommendations.
14
14
 
15
15
  Capitalize on holidays, cultural events, and seasonal moments to drive revenue spikes through time-limited promotional campaigns.
16
16
 
@@ -107,6 +107,19 @@ For quick, high-urgency promotions with short windows (24-72 hours). Creates imm
107
107
 
108
108
  ---
109
109
 
110
+ ## Presentation requirement — every recommendation MUST carry a time window
111
+
112
+ **Every seasonal recommendation presented to the merchant MUST include an explicit campaign window** in its `reasoning` / `why` field — either `startDate` + `endDate` in the rule params, or a duration phrase in the human-readable reasoning. The merchant must be able to see, per recommendation, when it activates and when it expires.
113
+
114
+ Acceptable phrasings:
115
+ - "Runs Nov 25 – Dec 1 (Black Friday weekend)."
116
+ - "Campaign window: 7 days starting Dec 18; ends Christmas Eve."
117
+ - "Active from event launch through Cyber Monday (Nov 28)."
118
+
119
+ A seasonal recommendation with no time window is NOT acceptable — even if everything else is correct, the absence of a window means the discount runs indefinitely and defeats the seasonal framing. If you cannot determine a window for an item, drop it; never present a windowless seasonal recommendation.
120
+
121
+ ---
122
+
110
123
  ## Measurement Plan
111
124
 
112
125
  ### Before campaign launch
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: "Troubleshoot: Discount Not Applying"
2
+ name: "Pricing: Discount Not Applying"
3
3
  description: Diagnostic tree for when a discount rule exists but isn't applying at checkout. Checks active status, time window, scope targeting, revision, and app installation.
4
4
  layer: troubleshoot
5
5
  ---
@@ -18,25 +18,27 @@ references:
18
18
  - name: "Goal: Drive Cross-Sells"
19
19
  path: ecommerce/goal-drive-cross-sells.md
20
20
  load: false
21
- - name: "Goal: Reduce Cart Abandonment"
22
- path: ecommerce/goal-reduce-cart-abandonment.md
23
- load: false
24
21
  - name: "Setup: Coupons"
25
22
  path: ecommerce/setup-coupons.md
26
23
  load: false
27
24
  ---
28
25
  # Recommend: eCommerce Strategy
29
26
 
27
+ > ⛔ **MANDATORY PRE-STEP — do this BEFORE Step 1 (before any API call).**
28
+ >
29
+ > Classify the merchant's request and immediately call `ReadFullDocsArticle` on the matching goal skill. Do NOT gather data first — the goal skill tells you which metrics to pull and what guardrails to apply.
30
+ >
31
+ > | Merchant intent | Goal to load |
32
+ > |---|---|
33
+ > | Holiday / event / date mentioned | `ReadFullDocsArticle` → [Goal: Seasonal Revenue](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-seasonal-revenue) |
34
+ > | "increase AOV", "spend more", "upsell", "boost sales", generic sales improvement | `ReadFullDocsArticle` → [Goal: Increase AOV](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-increase-aov) |
35
+ > | "clear inventory", "overstock", "clearance", "slow-moving" | `ReadFullDocsArticle` → [Goal: Clear Inventory](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-clear-inventory) |
36
+ > | "bundle", "cross-sell", "buy together", "more items per order" | `ReadFullDocsArticle` → [Goal: Drive Cross-Sells](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-drive-cross-sells) |
30
37
  >
31
- > **After classifying domains in Step 4b**, load the matching goal skill with `ReadFullDocsArticle`:
32
- > - **SEASONAL** → [Goal: Seasonal Revenue](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-seasonal-revenue)
33
- > - **UPSELL_BOOST** / **SHIPPING** → [Goal: Increase AOV](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-increase-aov) (includes both discount and shipping flows)
34
- > - **STOCK_MOVER** → [Goal: Clear Inventory](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-clear-inventory)
35
- > - **BUNDLE_AND_SAVE** → [Goal: Drive Cross-Sells](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-drive-cross-sells)
36
- > - **ABANDONED_CART** → [Goal: Reduce Cart Abandonment](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-reduce-cart-abandonment)
38
+ > After loading the goal skill, continue from Step 1 below. The goal skill will instruct you to load the matching flow skill — follow those instructions too.
37
39
  >
38
- > **If COUPON mechanism in Step 4c**, load:
39
- > - [Setup: Coupons](https://dev.wix.com/docs/api-reference/business-solutions/coupons)
40
+ > **If COUPON mechanism in Step 4c**, also load:
41
+ > - [Pricing: Create Coupon](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/pricing-create-coupon)
40
42
 
41
43
  ## EXECUTION RULES — READ BEFORE ANYTHING ELSE
42
44
 
@@ -179,7 +181,6 @@ Based on the merchant's request AND the site data, determine which domains to an
179
181
  |---|---|---|
180
182
  | **DISCOUNTS** | Merchant mentions sales, promotions, revenue, AOV, clearance, holidays, coupons. **Also activate if no specific domain is mentioned** (default). | Always — site data contains discount metrics |
181
183
  | **SHIPPING** | Merchant mentions shipping, delivery, checkout conversion, cart abandonment. **Also activate proactively** if site data suggests shipping issues. | High visitors + low orders may indicate shipping friction |
182
- | **ABANDONED_CART** | Activate proactively if site data shows abandoned carts with no active recovery automation. No merchant trigger needed — detect from data. | `currentDiscounts` empty or no cart recovery automation visible |
183
184
 
184
185
  **Priority rule**: If the merchant mentions a specific holiday/event/date, the DISCOUNTS domain MUST use the **SEASONAL** strategy — even if other signals like "boost sales" or "increase revenue" could match other goals. Holidays are time-sensitive and take priority over general intent.
185
186
 
@@ -205,10 +206,6 @@ Based on the merchant's request AND the site data, determine which domains to an
205
206
 
206
207
  **For SHIPPING domain — load the same goal as discounts.** Shipping flows (free shipping threshold, rate optimization) serve the same business goals as discount flows. Load the matching discount goal above — it now includes shipping flow references.
207
208
 
208
- **For ABANDONED_CART domain — load the cart abandonment goal:**
209
-
210
- [Goal: Reduce Cart Abandonment](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/goal-reduce-cart-abandonment)
211
-
212
209
  **The goal skill will instruct you to load flow and guardrail skills** — follow those instructions. This chain provides the detailed execution logic you need for high-quality recommendations.
213
210
 
214
211
  **Do NOT skip this step.** The goal/flow/guardrail skills contain critical constraints (margin tiers, campaign windows, conflict checks) that prevent bad recommendations.
@@ -418,35 +415,9 @@ Analyze the site's shipping configuration using the rules below. All shipping re
418
415
 
419
416
  **Priority order:** CRITICAL blockers (no options, no coverage) → Conversion-linked (no free shipping, high rates) → Revenue opportunities (international, tiered pricing) → Configuration improvements (consolidate, add estimates).
420
417
 
421
- ### Abandoned cart recommendations (if ABANDONED_CART domain active)
422
-
423
- Detect if the merchant has significant cart abandonment without active recovery. All abandoned cart recommendations use `domain: "abandoned_cart_recovery"`.
424
-
425
- **Eligibility gate (BOTH conditions required):**
426
- 1. Cart abandonment recovery automation is **NOT active** on the site
427
- 2. Estimated missing sales >= $200 over the last 30 days
428
-
429
- **If either condition fails, do NOT generate abandoned cart recommendations.**
430
-
431
- **Urgency thresholds based on missing sales (USD, last 30 days):**
432
-
433
- | Missing sales | Urgency |
434
- |---|---|
435
- | >= $1,000 | HIGH |
436
- | $200 — $999 | MEDIUM |
437
- | < $200 | Do not recommend |
438
-
439
- **Action type:** `activate_abandoned_cart_recovery`
440
-
441
- **Params must include:** `automation_key` ("wix_e_commerce-cart_abandonment"), `missing_sales_usd` (integer, rounded), `abandoned_cart_count` (integer), `window_days` (always 30).
442
-
443
- **Title pattern:** "Recover $[missing_sales_usd] in abandoned carts"
444
-
445
- **Reasoning MUST cite:** automation is inactive, exact cart count, exact missing sales USD, 30-day window, and why the urgency level was chosen.
446
-
447
418
  ### Cross-domain balance
448
419
 
449
- - If request is generic, aim for recommendations from **multiple domains** (e.g., 2-3 discount + 1-2 shipping + abandoned cart if eligible)
420
+ - If request is generic, aim for recommendations from **multiple domains** (e.g., 2-3 discount + 1-2 shipping)
450
421
  - If request targets a specific domain, focus all slots on that domain
451
422
  - Rank by business impact: CRITICAL blockers first, then conversion-linked, then revenue opportunities
452
423
 
@@ -471,7 +442,13 @@ Detect if the merchant has significant cart abandonment without active recovery.
471
442
 
472
443
  **MANDATORY — do NOT skip unless the user said `SKIP_TRACKING`.**
473
444
 
474
- Call `BatchCreate` to persist ALL recommendations as PROPOSED:
445
+ Before calling BatchCreate, load the tracking recipe to get the exact request body shape:
446
+
447
+ ```
448
+ ReadFullDocsArticle("https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-recommendation-tracking")
449
+ ```
450
+
451
+ Then call `BatchCreate` to persist ALL recommendations as PROPOSED:
475
452
 
476
453
  ```
477
454
  CallWixSiteAPI(
@@ -483,7 +460,7 @@ CallWixSiteAPI(
483
460
  {
484
461
  "title": "<recommendation title>",
485
462
  "reasoning": "<recommendation reasoning>",
486
- "domain": "<discounts|shipping|abandoned_cart_recovery>",
463
+ "domain": "<discounts|shipping>",
487
464
  "urgency": "<CRITICAL|HIGH|MEDIUM|LOW>",
488
465
  "advice": {
489
466
  "action": "<action type>",
@@ -550,7 +527,7 @@ If BatchCreate fails, report the error and include recommendations without track
550
527
  | `id` | GUID from tracking BatchCreate response (omit if tracking skipped/failed) |
551
528
  | `title` | Short, actionable. Max 200 chars. Always English. |
552
529
  | `reasoning` | **Must reference which API call returned the data.** Always English. |
553
- | `domain` | `"discounts"`, `"shipping"`, or `"abandoned_cart_recovery"` (future: `"gift_cards"`, `"taxes"`) |
530
+ | `domain` | `"discounts"` or `"shipping"` (future: `"gift_cards"`, `"taxes"`) |
554
531
  | `urgency` | `CRITICAL`, `HIGH`, `MEDIUM`, or `LOW` |
555
532
  | `mechanism` | `AUTOMATIC` or `COUPON`. From Step 4c. Only for discounts domain. |
556
533
  | `name` | Marketing headline, 2-5 words. Translate to site `language` if not English. |
@@ -565,7 +542,6 @@ If BatchCreate fails, report the error and include recommendations without track
565
542
  |---|---|
566
543
  | discounts | `apply_discount` |
567
544
  | shipping | `create_shipping_option`, `update_shipping_option`, `enable_backup_rate`, `activate_region` |
568
- | abandoned_cart_recovery | `activate_abandoned_cart_recovery` |
569
545
 
570
546
  ---
571
547
 
@@ -1,7 +1,6 @@
1
1
  ---
2
- name: "API: Shipping Delivery"
3
- description: REST API reference for Shipping Options and Delivery Profiles. Covers CRUD operations, region/carrier management, and query patterns for both services. Internal reference — these APIs are not yet published in public docs.
4
- layer: config
2
+ name: "Shipping: API Reference"
3
+ description: "Shipping Options API: POST /ecom/v1/shipping-options/query (list all), POST /ecom/v1/shipping-options (create), PATCH /ecom/v1/shipping-options/{id} (update), DELETE /ecom/v1/shipping-options/{id} (delete). Delivery Profiles API: POST /ecom/v1/delivery-profiles/query. Base: https://www.wixapis.com/ecom"
5
4
  ---
6
5
  # API: Shipping Delivery
7
6
 
@@ -73,6 +72,8 @@ Creates a new shipping option and associates it with one or more delivery region
73
72
 
74
73
  **Required fields**: `shippingOption.deliveryRegionId` (or `deliveryRegionIds`), `shippingOption.title`, `shippingOption.rates[]`
75
74
 
75
+ > **Gotcha:** use the **singular** `deliveryRegionId` when linking an option to one region. Passing a single region in the plural `deliveryRegionIds` field returns `deliveryRegionId is not a valid GUID`.
76
+
76
77
  **Request**:
77
78
  ```json
78
79
  {
@@ -1,20 +1,26 @@
1
1
  ---
2
- name: "Flow: Fix Coverage Gaps"
3
- description: Detects active delivery regions with zero shipping options and creates standard shipping for them. Cross-references delivery profiles with shipping options to find regions where customers cannot complete checkout.
4
- layer: flow
5
- references:
6
- - name: "Guardrail: Shipping Health"
7
- path: ecommerce/guardrail-shipping-health.md
8
- load: true
9
- - name: "Setup: Shipping Regions"
10
- path: ecommerce/setup-shipping-regions.md
11
- load: true
2
+ name: "Shipping: Fix Coverage Gaps"
3
+ description: "Coverage gap = active delivery region with ZERO Shipping Options (NOT zero carriers or no backup rate). Step 1: POST /ecom/v1/delivery-profiles/query. Step 2: POST /ecom/v1/shipping-options/query — count options per region; gap = active region with count 0. Step 3: POST /ecom/v1/shipping-options to create standard shipping for each gap region."
12
4
  ---
13
5
  # Flow: Fix Shipping Coverage Gaps
14
6
 
15
- > **Before executing this skill**, read these referenced skills with `ReadFullDocsArticle`:
16
- > - [Guardrail: Shipping Health](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/guardrail-shipping-health)
17
- > - [Setup: Shipping Regions](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/setup-shipping-regions)
7
+ > **Before executing this skill**, read [Setup: Shipping Regions](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-set-up-regions) with `ReadFullDocsArticle` for region/carrier mechanics.
8
+
9
+ ## Shipping health score (inline)
10
+
11
+ Use to gauge urgency before fixing gaps:
12
+
13
+ | Score | Key indicator | Action |
14
+ |---|---|---|
15
+ | CRITICAL | no profiles/options, or all regions inactive | immediate setup |
16
+ | POOR | minimal config, low CVR, or no backup rates | fix fundamentals |
17
+ | FAIR | basic setup, no free shipping, moderate CVR | add free shipping, expand regions |
18
+ | GOOD | domestic + international, free shipping, good CVR | optimize rates/carriers |
19
+ | EXCELLENT | full coverage, tiered rates, high CVR | maintain |
20
+
21
+ ## Business-context filter for international (MANDATORY)
22
+
23
+ Before creating or recommending ANY international shipping, check the store's `industry`/`businessType` (case-insensitive) for: food, restaurant, grocery, bakery, catering, perishable, fresh, meat, produce, dairy, drink, beverage. **If matched → do NOT create/recommend international shipping** (cold-chain & regulatory barriers). A region is "international" if its `name` contains "international"/"internacional", its `destinations[]` is empty (Rest of World), or it includes countries outside the store's home country.
18
24
 
19
25
  Detects delivery regions where customers cannot see any shipping options at checkout and creates standard shipping to fill the gaps. A coverage gap is a HIGH priority blocking issue -- customers in affected destinations literally cannot complete a purchase.
20
26
 
@@ -26,9 +32,9 @@ Detects delivery regions where customers cannot see any shipping options at chec
26
32
 
27
33
  ## Required APIs
28
34
 
29
- - [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-delivery-profiles)
30
- - [Query Shipping Options](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-shipping-options)
31
- - [Create Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#create-shipping-option)
35
+ - [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#query-delivery-profiles)
36
+ - [Query Shipping Options](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#query-shipping-options)
37
+ - [Create Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#create-shipping-option)
32
38
 
33
39
  ---
34
40
 
@@ -296,4 +302,4 @@ Use the same request from Step 2 and verify the count now covers all active, non
296
302
 
297
303
  ## References
298
304
 
299
- - [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping)
305
+ - [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference)
@@ -1,20 +1,25 @@
1
1
  ---
2
- name: "Flow: Add Free Shipping"
2
+ name: "Shipping: Add Free Shipping"
3
3
  description: Creates a free shipping option with an AOV-calibrated threshold to reduce cart abandonment and increase average order value. Validates threshold against catalog price distribution.
4
- layer: flow
5
- references:
6
- - name: "Guardrail: Rate Pricing Sanity"
7
- path: ecommerce/guardrail-rate-pricing-sanity.md
8
- load: true
9
- - name: "Setup: Shipping Rates"
10
- path: ecommerce/setup-shipping-rates.md
11
- load: true
12
4
  ---
13
- # Flow: Add Free Shipping
5
+ # Shipping: Add Free Shipping
14
6
 
15
- > **Before executing this skill**, read these referenced skills with `ReadFullDocsArticle`:
16
- > - [Guardrail: Rate Pricing Sanity](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/guardrail-rate-pricing-sanity)
17
- > - [Setup: Shipping Rates](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/setup-shipping-rates)
7
+ > **This skill is the single source for adding free shipping.** Do NOT load `…/skills/flow-add-free-shipping` — that legacy slug pre-dates the routing tree migration and its content has been merged into this file. If the WixREADME index surfaces it, or this slug returns a transient 404 from the docs backend (rawdocs ingestion delay), retry this same URL — do NOT fall back to the legacy slug.
8
+
9
+ > **Before executing this skill**, read [Setup: Shipping Rates](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-set-up-rates) with `ReadFullDocsArticle` for the rate-object mechanics.
10
+
11
+ ## Rate pricing sanity (inline guardrail)
12
+
13
+ Validate every rate you create or update against the store's AOV; flag any that fail:
14
+
15
+ | Check | Threshold | Why / fix |
16
+ |---|---|---|
17
+ | Excessive rate | amount > AOV × 0.15 | top cart-abandonment driver |
18
+ | Per-item penalty | `multiplyByQuantity: true` | penalizes larger orders → use flat/tiered |
19
+ | Free threshold too high | threshold > AOV × 2 | unreachable; lower to ~AOV × 1.2 |
20
+ | Free threshold too low | threshold < AOV × 0.8 | no upsell incentive; raise to ~AOV × 1.2 |
21
+ | Backup rate shock | `backupRate.amount` > AOV × 0.15 | set to 5–10% of AOV |
22
+ | Hidden surcharges | total `additionalCharges` > AOV × 0.10 | review necessity |
18
23
 
19
24
  Adds a free shipping option with an optimal threshold calibrated against the site's average order value and catalog price distribution. Free shipping is the single most effective lever for reducing cart abandonment at the delivery step.
20
25
 
@@ -27,10 +32,10 @@ Adds a free shipping option with an optimal threshold calibrated against the sit
27
32
 
28
33
  ## Required APIs
29
34
 
30
- - [Query Shipping Options](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-shipping-options)
31
- - [Create Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#create-shipping-option)
32
- - [Update Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#update-shipping-option)
33
- - [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-delivery-profiles)
35
+ - [Query Shipping Options](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#query-shipping-options)
36
+ - [Create Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#create-shipping-option)
37
+ - [Update Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#update-shipping-option)
38
+ - [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#query-delivery-profiles)
34
39
 
35
40
  ---
36
41
 
@@ -263,4 +268,4 @@ Report to the merchant:
263
268
 
264
269
  ## References
265
270
 
266
- - [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping)
271
+ - [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference)
@@ -1,20 +1,23 @@
1
1
  ---
2
- name: "Flow: Optimize Shipping Rates"
2
+ name: "Shipping: Optimize Rates"
3
3
  description: Analyzes catalog price distribution and current rate structure to recommend optimal shipping rate strategy. Handles flat-to-tiered conversion, tier gap detection, and per-item penalty removal.
4
- layer: flow
5
- references:
6
- - name: "Guardrail: Rate Pricing Sanity"
7
- path: ecommerce/guardrail-rate-pricing-sanity.md
8
- load: true
9
- - name: "Setup: Shipping Rates"
10
- path: ecommerce/setup-shipping-rates.md
11
- load: true
12
4
  ---
13
5
  # Flow: Optimize Shipping Rates
14
6
 
15
- > **Before executing this skill**, read these referenced skills with `ReadFullDocsArticle`:
16
- > - [Guardrail: Rate Pricing Sanity](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/guardrail-rate-pricing-sanity)
17
- > - [Setup: Shipping Rates](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/setup-shipping-rates)
7
+ > **Routing rule:** BEFORE taking any action, call `ReadFullDocsArticle` on [Shipping API Reference](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference). The Query Shipping Options and Update/Create Shipping Option endpoints used in Steps 2–4 live there. Do NOT query or modify any shipping options without loading it first.
8
+
9
+ ## Rate pricing sanity (inline guardrail)
10
+
11
+ Validate every rate you create or update against the store's AOV; flag any that fail:
12
+
13
+ | Check | Threshold | Why / fix |
14
+ |---|---|---|
15
+ | Excessive rate | amount > AOV × 0.15 | top cart-abandonment driver |
16
+ | Per-item penalty | `multiplyByQuantity: true` | penalizes larger orders → use flat/tiered |
17
+ | Free threshold too high | threshold > AOV × 2 | unreachable; lower to ~AOV × 1.2 |
18
+ | Free threshold too low | threshold < AOV × 0.8 | no upsell incentive; raise to ~AOV × 1.2 |
19
+ | Backup rate shock | `backupRate.amount` > AOV × 0.15 | set to 5–10% of AOV |
20
+ | Hidden surcharges | total `additionalCharges` > AOV × 0.10 | review necessity |
18
21
 
19
22
  Analyzes the site's catalog price distribution and current shipping rate structure to determine if the rate strategy is optimal. Recommends and applies changes when flat rates should become tiered, when tier gaps exist, or when per-item penalties are harming conversion.
20
23
 
@@ -27,9 +30,9 @@ Analyzes the site's catalog price distribution and current shipping rate structu
27
30
 
28
31
  ## Required APIs
29
32
 
30
- - [Query Shipping Options](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-shipping-options)
31
- - [Update Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#update-shipping-option)
32
- - [Create Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#create-shipping-option)
33
+ - [Query Shipping Options](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#query-shipping-options)
34
+ - [Update Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#update-shipping-option)
35
+ - [Create Shipping Option](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference#create-shipping-option)
33
36
 
34
37
  ---
35
38
 
@@ -360,4 +363,4 @@ Verify:
360
363
 
361
364
  ## References
362
365
 
363
- - [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping)
366
+ - [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/shipping-api-reference)