@wix/agent-skills 1.0.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 (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/package.json +29 -0
  4. package/skills/wix-app/SKILL.md +344 -0
  5. package/skills/wix-app/references/APP_IDENTIFIERS.md +35 -0
  6. package/skills/wix-app/references/APP_MARKET_REVIEW.md +311 -0
  7. package/skills/wix-app/references/APP_VALIDATION.md +171 -0
  8. package/skills/wix-app/references/BACKEND_API.md +233 -0
  9. package/skills/wix-app/references/BACKEND_EVENT.md +116 -0
  10. package/skills/wix-app/references/CODE_QUALITY.md +33 -0
  11. package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +587 -0
  12. package/skills/wix-app/references/DASHBOARD_MENU_PLUGIN.md +157 -0
  13. package/skills/wix-app/references/DASHBOARD_MODAL.md +283 -0
  14. package/skills/wix-app/references/DASHBOARD_PAGE.md +403 -0
  15. package/skills/wix-app/references/DASHBOARD_PLUGIN.md +205 -0
  16. package/skills/wix-app/references/DATA_COLLECTION.md +451 -0
  17. package/skills/wix-app/references/DOCUMENTATION.md +42 -0
  18. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +65 -0
  19. package/skills/wix-app/references/EMBEDDED_SCRIPT.md +468 -0
  20. package/skills/wix-app/references/EXTENSION_REGISTRATION.md +96 -0
  21. package/skills/wix-app/references/SERVICE_PLUGIN.md +235 -0
  22. package/skills/wix-app/references/SITE_PLUGIN.md +436 -0
  23. package/skills/wix-app/references/STORES_VERSIONING.md +334 -0
  24. package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +84 -0
  25. package/skills/wix-app/references/custom-element-widget/SETTINGS_PANEL.md +345 -0
  26. package/skills/wix-app/references/dashboard-menu-plugin/blog-slots.md +71 -0
  27. package/skills/wix-app/references/dashboard-menu-plugin/bookings-slots.md +58 -0
  28. package/skills/wix-app/references/dashboard-menu-plugin/crm-slots.md +8 -0
  29. package/skills/wix-app/references/dashboard-menu-plugin/ecommerce-slots.md +17 -0
  30. package/skills/wix-app/references/dashboard-menu-plugin/events-slots.md +29 -0
  31. package/skills/wix-app/references/dashboard-menu-plugin/restaurants-slots.md +27 -0
  32. package/skills/wix-app/references/dashboard-menu-plugin/stores-slots.md +35 -0
  33. package/skills/wix-app/references/dashboard-page/API_SPEC.md +138 -0
  34. package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +573 -0
  35. package/skills/wix-app/references/dashboard-page/DYNAMIC_PARAMETERS.md +269 -0
  36. package/skills/wix-app/references/dashboard-page/ECOM_NAVIGATION.md +164 -0
  37. package/skills/wix-app/references/dashboard-plugin/SLOTS.md +294 -0
  38. package/skills/wix-app/references/data-collection/WIX_DATA.md +270 -0
  39. package/skills/wix-app/references/data-collection/extension-template.ts +107 -0
  40. package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +138 -0
  41. package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +454 -0
  42. package/skills/wix-app/references/editor-react-component/COMPONENT-CONFIGURATION.md +165 -0
  43. package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +576 -0
  44. package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +170 -0
  45. package/skills/wix-app/references/editor-react-component/EDIT-FLOW.md +6 -0
  46. package/skills/wix-app/references/editor-react-component/PARTS.md +25 -0
  47. package/skills/wix-app/references/editor-react-component/PROPS-VS-CSS.md +203 -0
  48. package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +167 -0
  49. package/skills/wix-app/references/editor-react-component/REACT-PATTERNS.md +137 -0
  50. package/skills/wix-app/references/service-plugin/ADDITIONAL-FEES.md +112 -0
  51. package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +118 -0
  52. package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +87 -0
  53. package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +86 -0
  54. package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +135 -0
  55. package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +79 -0
  56. package/skills/wix-app/references/service-plugin/VALIDATIONS.md +68 -0
  57. package/skills/wix-app/references/site-plugin/EXAMPLES.md +311 -0
  58. package/skills/wix-app/references/site-plugin/SLOTS.md +263 -0
  59. package/skills/wix-design-system/SKILL.md +129 -0
  60. package/skills/wix-design-system/references/file-structure.md +56 -0
  61. package/skills/wix-design-system/scripts/wds.cjs +531 -0
  62. package/skills/wix-headless/SKILL.md +418 -0
  63. package/skills/wix-headless/references/DISCOVERY.md +332 -0
  64. package/skills/wix-headless/references/ORCHESTRATION.md +269 -0
  65. package/skills/wix-headless/references/SETUP.md +154 -0
  66. package/skills/wix-headless/references/blog/BLOG_CONTENT.md +152 -0
  67. package/skills/wix-headless/references/blog/BLOG_PAGES.md +299 -0
  68. package/skills/wix-headless/references/blog/BLOG_SETUP.md +218 -0
  69. package/skills/wix-headless/references/blog/INSTRUCTIONS.md +32 -0
  70. package/skills/wix-headless/references/cms/CMS_FOUNDATIONS.md +373 -0
  71. package/skills/wix-headless/references/cms/FAQ_KNOWLEDGE_BASE.md +229 -0
  72. package/skills/wix-headless/references/cms/INSTRUCTIONS.md +40 -0
  73. package/skills/wix-headless/references/cms/PORTFOLIO.md +454 -0
  74. package/skills/wix-headless/references/cms/RESOURCE_LIBRARY.md +356 -0
  75. package/skills/wix-headless/references/cms/TEAM_DIRECTORY.md +299 -0
  76. package/skills/wix-headless/references/commands/install-app.md +42 -0
  77. package/skills/wix-headless/references/commands/known-apps.json +5 -0
  78. package/skills/wix-headless/references/commands/mcp-bootstrap.md +28 -0
  79. package/skills/wix-headless/references/designer/INSTRUCTIONS.md +828 -0
  80. package/skills/wix-headless/references/ecom/CART_PAGES.md +120 -0
  81. package/skills/wix-headless/references/ecom/CART_WIRING.md +103 -0
  82. package/skills/wix-headless/references/ecom/COMPONENTS_CSS.md +132 -0
  83. package/skills/wix-headless/references/ecom/INSTRUCTIONS.md +59 -0
  84. package/skills/wix-headless/references/forms/CONTACT_FORM.md +477 -0
  85. package/skills/wix-headless/references/forms/INSTRUCTIONS.md +43 -0
  86. package/skills/wix-headless/references/gift-cards/COMPONENTS.md +119 -0
  87. package/skills/wix-headless/references/gift-cards/INSTRUCTIONS.md +51 -0
  88. package/skills/wix-headless/references/gift-cards/PAGES.md +129 -0
  89. package/skills/wix-headless/references/images/INSTRUCTIONS.md +359 -0
  90. package/skills/wix-headless/references/shared/BUILD_NOISE.md +8 -0
  91. package/skills/wix-headless/references/shared/IMAGE_GENERATION.md +185 -0
  92. package/skills/wix-headless/references/shared/IMPLEMENTER.md +155 -0
  93. package/skills/wix-headless/references/shared/MCP_PREFIX.md +105 -0
  94. package/skills/wix-headless/references/shared/PRODUCTION_SHARP_EDGES.md +97 -0
  95. package/skills/wix-headless/references/shared/RETURN_CONTRACT.md +423 -0
  96. package/skills/wix-headless/references/shared/STYLING.md +117 -0
  97. package/skills/wix-headless/references/stores/BACK_IN_STOCK.md +178 -0
  98. package/skills/wix-headless/references/stores/CATEGORY_PAGES.md +86 -0
  99. package/skills/wix-headless/references/stores/COMPONENTS_CSS.md +129 -0
  100. package/skills/wix-headless/references/stores/HOME_AND_NAV.md +227 -0
  101. package/skills/wix-headless/references/stores/INSTRUCTIONS.md +96 -0
  102. package/skills/wix-headless/references/stores/PRODUCT_CATALOG_DATA.md +249 -0
  103. package/skills/wix-headless/references/stores/PRODUCT_PAGES.md +213 -0
  104. package/skills/wix-headless/references/stores/SHARED_WIRING.md +164 -0
  105. package/skills/wix-headless/references/verticals/_schema.json +160 -0
  106. package/skills/wix-headless/references/verticals/_schema.md +185 -0
  107. package/skills/wix-headless/references/verticals/blog.md +125 -0
  108. package/skills/wix-headless/references/verticals/cms.md +121 -0
  109. package/skills/wix-headless/references/verticals/ecom.md +96 -0
  110. package/skills/wix-headless/references/verticals/forms.md +106 -0
  111. package/skills/wix-headless/references/verticals/gift-cards.md +121 -0
  112. package/skills/wix-headless/references/verticals/stores.md +167 -0
  113. package/skills/wix-headless/scripts/check-manifest.mjs +198 -0
  114. package/skills/wix-headless/scripts/copy-utility-templates.mjs +153 -0
  115. package/skills/wix-headless/scripts/emit-design-tokens.mjs +77 -0
  116. package/skills/wix-headless/scripts/finalize-run-json.mjs +141 -0
  117. package/skills/wix-headless/scripts/init-site-json.mjs +63 -0
  118. package/skills/wix-headless/scripts/patch-decorative-slots.mjs +124 -0
  119. package/skills/wix-headless/scripts/plan-entity-image-waves.mjs +190 -0
  120. package/skills/wix-headless/scripts/preview.sh +45 -0
  121. package/skills/wix-headless/scripts/release.sh +73 -0
  122. package/skills/wix-headless/scripts/scaffold.sh +53 -0
  123. package/skills/wix-headless/scripts/seed-utilities.sh +55 -0
  124. package/skills/wix-headless/shared-utilities/analytics.ts +40 -0
  125. package/skills/wix-headless/shared-utilities/ricos.ts +179 -0
  126. package/skills/wix-headless/shared-utilities/wix-image.ts +72 -0
  127. package/skills/wix-headless/templates/ecom/CartBadge.tsx +84 -0
  128. package/skills/wix-headless/templates/ecom/CartView.tsx +543 -0
  129. package/skills/wix-headless/templates/ecom/cart.astro +13 -0
  130. package/skills/wix-headless/templates/ecom/components-ecom.css +215 -0
  131. package/skills/wix-headless/templates/ecom/discounts.ts +71 -0
  132. package/skills/wix-headless/templates/ecom/thank-you.astro +24 -0
  133. package/skills/wix-headless/templates/gift-cards/GiftCardPurchase.tsx +172 -0
  134. package/skills/wix-headless/templates/gift-cards/_home-teaser-snippet.astro +42 -0
  135. package/skills/wix-headless/templates/gift-cards/_nav-snippet.astro +11 -0
  136. package/skills/wix-headless/templates/gift-cards/components-gift-cards.css +219 -0
  137. package/skills/wix-headless/templates/gift-cards/gift-cards.astro +51 -0
  138. package/skills/wix-headless/templates/gift-cards/gift-cards.ts +75 -0
  139. package/skills/wix-headless/templates/stores/AddToCartButton.tsx +77 -0
  140. package/skills/wix-headless/templates/stores/BackInStockForm.tsx +176 -0
  141. package/skills/wix-headless/templates/stores/CategoryRail.astro +69 -0
  142. package/skills/wix-headless/templates/stores/ProductCard.astro +79 -0
  143. package/skills/wix-headless/templates/stores/ProductPurchase.tsx +397 -0
  144. package/skills/wix-headless/templates/stores/SeoTags.astro +21 -0
  145. package/skills/wix-headless/templates/stores/back-in-stock.ts +67 -0
  146. package/skills/wix-headless/templates/stores/categories.ts +155 -0
  147. package/skills/wix-headless/templates/stores/category/[slug].astro +130 -0
  148. package/skills/wix-headless/templates/stores/components-stores.css +295 -0
  149. package/skills/wix-headless/templates/stores/products/[slug].astro +128 -0
  150. package/skills/wix-headless/templates/stores/products/index.astro +101 -0
  151. package/skills/wix-manage/SKILL.md +280 -0
  152. package/skills/wix-manage/references/app-installation/install-wix-apps.md +155 -0
  153. package/skills/wix-manage/references/app-installation/list-installed-apps.md +124 -0
  154. package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +226 -0
  155. package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +95 -0
  156. package/skills/wix-manage/references/bookings/booking-system-integration-gaps.md +416 -0
  157. package/skills/wix-manage/references/bookings/bookings-staff-setup.md +255 -0
  158. package/skills/wix-manage/references/bookings/create-and-update-booking-services.md +462 -0
  159. package/skills/wix-manage/references/bookings/end-to-end-booking-flow.md +278 -0
  160. package/skills/wix-manage/references/bookings/external-calendar-integration.md +258 -0
  161. package/skills/wix-manage/references/bookings/multi-resource-service-creation.md +231 -0
  162. package/skills/wix-manage/references/calendar/configure-default-business-hours.md +226 -0
  163. package/skills/wix-manage/references/cms/cms-data-items-crud.md +422 -0
  164. package/skills/wix-manage/references/cms/cms-data-operations-extended.md +263 -0
  165. package/skills/wix-manage/references/cms/cms-ecommerce-catalog-integration.md +136 -0
  166. package/skills/wix-manage/references/cms/cms-references-and-relationships.md +160 -0
  167. package/skills/wix-manage/references/cms/cms-schema-management.md +143 -0
  168. package/skills/wix-manage/references/contacts/bulk-delete-contacts.md +73 -0
  169. package/skills/wix-manage/references/contacts/bulk-label-and-unlabel-contacts.md +67 -0
  170. package/skills/wix-manage/references/domains/domain-search-and-purchase.md +434 -0
  171. package/skills/wix-manage/references/ecommerce/api-recommendation-tracking.md +420 -0
  172. package/skills/wix-manage/references/ecommerce/flow-add-free-shipping.md +267 -0
  173. package/skills/wix-manage/references/ecommerce/flow-bundle-and-save.md +290 -0
  174. package/skills/wix-manage/references/ecommerce/flow-fix-coverage-gaps.md +300 -0
  175. package/skills/wix-manage/references/ecommerce/flow-optimize-shipping-rates.md +364 -0
  176. package/skills/wix-manage/references/ecommerce/flow-seasonal-promotion.md +315 -0
  177. package/skills/wix-manage/references/ecommerce/flow-stock-mover.md +308 -0
  178. package/skills/wix-manage/references/ecommerce/flow-upsell-boost.md +271 -0
  179. package/skills/wix-manage/references/ecommerce/goal-clear-inventory.md +118 -0
  180. package/skills/wix-manage/references/ecommerce/goal-drive-cross-sells.md +122 -0
  181. package/skills/wix-manage/references/ecommerce/goal-increase-aov.md +132 -0
  182. package/skills/wix-manage/references/ecommerce/goal-reduce-cart-abandonment.md +148 -0
  183. package/skills/wix-manage/references/ecommerce/goal-seasonal-revenue.md +146 -0
  184. package/skills/wix-manage/references/ecommerce/guardrail-discount-conflicts.md +118 -0
  185. package/skills/wix-manage/references/ecommerce/guardrail-margin-protection.md +88 -0
  186. package/skills/wix-manage/references/ecommerce/guardrail-rate-pricing-sanity.md +108 -0
  187. package/skills/wix-manage/references/ecommerce/guardrail-shipping-health.md +124 -0
  188. package/skills/wix-manage/references/ecommerce/recipe-apply-shipping-recommendations.md +299 -0
  189. package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +582 -0
  190. package/skills/wix-manage/references/ecommerce/setup-coupons.md +338 -0
  191. package/skills/wix-manage/references/ecommerce/setup-discount-rules.md +444 -0
  192. package/skills/wix-manage/references/ecommerce/setup-shipping-rates.md +86 -0
  193. package/skills/wix-manage/references/ecommerce/setup-shipping-regions.md +56 -0
  194. package/skills/wix-manage/references/ecommerce/setup-store-pickup-location.md +209 -0
  195. package/skills/wix-manage/references/ecommerce/skill-graph.md +139 -0
  196. package/skills/wix-manage/references/ecommerce/troubleshoot-checkout-delivery-dropoff.md +124 -0
  197. package/skills/wix-manage/references/ecommerce/troubleshoot-discount-not-applying.md +95 -0
  198. package/skills/wix-manage/references/events/list-events.md +203 -0
  199. package/skills/wix-manage/references/forms/create-form.md +260 -0
  200. package/skills/wix-manage/references/get-paid/create-payment-links.md +212 -0
  201. package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +57 -0
  202. package/skills/wix-manage/references/get-paid/payment-links-for-bookings.md +101 -0
  203. package/skills/wix-manage/references/media/upload-media-to-wix.md +216 -0
  204. package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +77 -0
  205. package/skills/wix-manage/references/pricing-plans/pricing-plans-bookings-integration.md +166 -0
  206. package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +336 -0
  207. package/skills/wix-manage/references/rich-content/ricos-converter-service.md +295 -0
  208. package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +59 -0
  209. package/skills/wix-manage/references/sites/create-site-from-template.md +183 -0
  210. package/skills/wix-manage/references/sites/query-sites.md +125 -0
  211. package/skills/wix-manage/references/stores/add-store-pages-to-site.md +57 -0
  212. package/skills/wix-manage/references/stores/bulk-create-products-with-options.md +1041 -0
  213. package/skills/wix-manage/references/stores/create-product-catalog-v1.md +125 -0
  214. package/skills/wix-manage/references/stores/create-product-from-image.md +824 -0
  215. package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +566 -0
  216. package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +194 -0
  217. package/skills/wix-manage/references/stores/query-products-catalog-v1.md +80 -0
  218. package/skills/wix-manage/references/stores/setup-online-store-catalog-v3.md +99 -0
  219. package/skills/wix-manage/references/stores/update-product-pre-order.md +213 -0
  220. package/skills/wix-manage/references/stores/update-product-with-options.md +318 -0
@@ -0,0 +1,209 @@
1
+ ---
2
+ name: "Setup: Store Pickup Location"
3
+ description: Configures a pickup option for an online store so customers can choose in-store pickup at checkout. Uses the Delivery Profiles API to discover the Pickup carrier, add a delivery region, and attach the carrier with a free pickup rate.
4
+ ---
5
+ # Set Up Store Pickup Location
6
+
7
+ ## Prerequisites
8
+
9
+ - Wix Stores (or another eCommerce business solution) installed on the site
10
+ - The **Pickup** carrier must be installed on the site (it is a built-in carrier, not a third-party app)
11
+
12
+ ## Required APIs
13
+
14
+ - [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers)
15
+ - [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/query-delivery-profiles)
16
+ - [Add Delivery Region](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-region)
17
+ - [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier)
18
+
19
+ ---
20
+
21
+ ## Step 1: Discover the Pickup carrier
22
+
23
+ Call [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers) to find the Pickup carrier's `id`.
24
+
25
+ **Endpoint**: `GET https://www.wixapis.com/ecom/v1/delivery-profiles/installed-carriers`
26
+
27
+ **Response**:
28
+ ```json
29
+ {
30
+ "installedDeliveryCarriers": [
31
+ {
32
+ "id": "50d8c12f-715e-41ad-be25-d0f61375dbee",
33
+ "displayName": "Pickup",
34
+ "fallbackDefinitionMandatory": false,
35
+ "toggleGetCarrierSettingsEnabled": true
36
+ },
37
+ {
38
+ "id": "45c44b27-ca7b-4891-8c0d-1747d588b835",
39
+ "displayName": "Basic Shipping",
40
+ "description": "Manage shipping rates and options for this region",
41
+ "fallbackDefinitionMandatory": false,
42
+ "toggleGetCarrierSettingsEnabled": true
43
+ }
44
+ ]
45
+ }
46
+ ```
47
+
48
+ Look for the carrier with `"displayName": "Pickup"` and save its `id`. This is the `appId` you will use in Step 4.
49
+
50
+ If no Pickup carrier appears in the list, the Pickup app is not installed on the site and must be installed before proceeding.
51
+
52
+ ---
53
+
54
+ ## Step 2: Find the default delivery profile
55
+
56
+ Call [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/query-delivery-profiles) to retrieve the site's default delivery profile.
57
+
58
+ **Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/query`
59
+
60
+ **Request**:
61
+ ```json
62
+ {}
63
+ ```
64
+
65
+ The response contains an array of `deliveryProfiles`. Find the one where `"default": true`. Save its `id` and `revision`. Inspect its `deliveryRegions` array.
66
+
67
+ **Decision point:**
68
+ - **Region exists for the user's country** (match on `destinations[].countryCode`): save that region's `id` → skip to Step 4.
69
+ - **No matching region**: proceed to Step 3.
70
+
71
+ ---
72
+
73
+ ## Step 3: Add a delivery region for the pickup country
74
+
75
+ If no region exists for the user's country in the default profile, call [Add Delivery Region](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-region) to create one.
76
+
77
+ **Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/{deliveryProfileId}/delivery-region`
78
+
79
+ Replace `{deliveryProfileId}` with the default profile's `id` from Step 2.
80
+
81
+ **Request**:
82
+ ```json
83
+ {
84
+ "deliveryRegion": {
85
+ "name": "US Pickup",
86
+ "active": true,
87
+ "destinations": [
88
+ {
89
+ "countryCode": "US"
90
+ }
91
+ ]
92
+ },
93
+ "revision": "3"
94
+ }
95
+ ```
96
+
97
+ - `name`: descriptive, e.g. `"{Country} Pickup"`.
98
+ - `countryCode`: [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) code (e.g. `"US"`, `"IL"`, `"DE"`, `"GB"`).
99
+ - `revision`: from the profile returned in Step 2.
100
+
101
+ **Response**:
102
+ ```json
103
+ {
104
+ "deliveryProfile": {
105
+ "id": "02625bf4-70b4-49b7-93f0-5c9d72608937",
106
+ "name": "General profile",
107
+ "default": true,
108
+ "deliveryRegions": [
109
+ {
110
+ "id": "23823d4a-0ad2-4f92-a48a-467497a9470a",
111
+ "name": "US Pickup",
112
+ "active": true,
113
+ "deliveryCarriers": [],
114
+ "destinations": [
115
+ {
116
+ "countryCode": "US",
117
+ "subdivisions": []
118
+ }
119
+ ]
120
+ }
121
+ ],
122
+ "revision": "4"
123
+ }
124
+ }
125
+ ```
126
+
127
+ Save the new region's `id` from the response.
128
+
129
+ ---
130
+
131
+ ## Step 4: Add the Pickup carrier to the region
132
+
133
+ Call [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier) to attach the Pickup carrier to the delivery region.
134
+
135
+ **Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/add-delivery-carrier`
136
+
137
+ **Request**:
138
+ ```json
139
+ {
140
+ "deliveryRegionId": "<REGION_ID>",
141
+ "deliveryCarrier": {
142
+ "appId": "50d8c12f-715e-41ad-be25-d0f61375dbee",
143
+ "backupRate": {
144
+ "title": "Pickup at 123 Main St, New York",
145
+ "amount": "0",
146
+ "active": true
147
+ }
148
+ }
149
+ }
150
+ ```
151
+
152
+ - `deliveryRegionId`: from Step 2 (existing region) or Step 3 (new region).
153
+ - `appId`: the Pickup carrier `id` from Step 1.
154
+ - `backupRate.title`: the pickup address customers see at checkout.
155
+ - `backupRate.amount`: `"0"` for free pickup, or a price string like `"5.00"`.
156
+ - `backupRate.active`: must be `true` for the option to appear at checkout.
157
+
158
+ **Response**:
159
+ ```json
160
+ {
161
+ "deliveryProfile": {
162
+ "id": "02625bf4-70b4-49b7-93f0-5c9d72608937",
163
+ "name": "General profile",
164
+ "default": true,
165
+ "deliveryRegions": [
166
+ {
167
+ "id": "23823d4a-0ad2-4f92-a48a-467497a9470a",
168
+ "name": "US Pickup",
169
+ "active": true,
170
+ "deliveryCarriers": [
171
+ {
172
+ "appId": "50d8c12f-715e-41ad-be25-d0f61375dbee",
173
+ "backupRate": {
174
+ "title": "Pickup at 123 Main St, New York",
175
+ "amount": "0",
176
+ "active": true
177
+ },
178
+ "additionalCharges": []
179
+ }
180
+ ],
181
+ "destinations": [
182
+ {
183
+ "countryCode": "US",
184
+ "subdivisions": []
185
+ }
186
+ ]
187
+ }
188
+ ],
189
+ "revision": "5"
190
+ }
191
+ }
192
+ ```
193
+
194
+ ---
195
+
196
+ ## Error Handling
197
+
198
+ | Error | Cause | Fix |
199
+ |-------|-------|-----|
200
+ | `DESTINATIONS_COLLISION` | The country is already assigned to another region in the same profile. | Skip Step 3 — use the existing region's `id` and add the carrier to it in Step 4. |
201
+ | `CARRIER_ALREADY_EXISTS_IN_REGION` | The Pickup carrier is already configured in this region. | The pickup option is already set up. No action needed. |
202
+ | `DELIVERY_CARRIER_MISSING_BACKUP_RATE` | The `backupRate` or `backupRate.amount` field is missing. | Ensure `backupRate` includes `title`, `amount`, and `active`. |
203
+
204
+ ---
205
+
206
+ ## Related Documentation
207
+
208
+ - [Delivery Profiles: Introduction](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/introduction)
209
+ - [Delivery Profiles: Sample Flows](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/sample-flows)
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: "eCommerce Skill Graph"
3
+ description: Mermaid diagram showing how eCommerce skills connect — unified strategy entry point, goal/flow/guardrail chain, tracking inlined, troubleshoot as direct entries.
4
+ ---
5
+
6
+ ## Skill Graph Diagram
7
+
8
+ ```mermaid
9
+ flowchart TB
10
+ MR["Merchant Request"] --> R
11
+
12
+ subgraph R["R — Unified Entry Point"]
13
+ recommend-ecommerce-strategy
14
+ end
15
+
16
+ R --> |"loads API ref"| Config
17
+ R --> |"Step 4b: loads matching goal"| Goals
18
+ R --> |"Step 2+8: tracking inlined"| TrackingAPI
19
+
20
+ subgraph Goals["Goals — Business Objectives"]
21
+ subgraph GD["Discount + Shipping"]
22
+ goal-increase-aov
23
+ goal-clear-inventory
24
+ goal-seasonal-revenue
25
+ goal-drive-cross-sells
26
+ end
27
+ subgraph GA["Abandoned Cart"]
28
+ goal-reduce-cart-abandonment
29
+ end
30
+ end
31
+
32
+ Goals --> |"loads matching flows"| Flows
33
+ goal-increase-aov --> |"also loads shipping flows"| FS
34
+
35
+ subgraph Flows["Flows — Business Logic"]
36
+ subgraph FD["Discount"]
37
+ flow-upsell-boost
38
+ flow-bundle-and-save
39
+ flow-stock-mover
40
+ flow-seasonal-promotion
41
+ end
42
+ subgraph FS["Shipping"]
43
+ flow-fix-coverage-gaps
44
+ flow-add-free-shipping
45
+ flow-optimize-shipping-rates
46
+ end
47
+ end
48
+
49
+ Flows --> |"loads validation"| Guardrails
50
+ Flows --> |"loads setup"| Config
51
+
52
+ subgraph Guardrails["Cross-cutting: Guardrails"]
53
+ guardrail-discount-conflicts
54
+ guardrail-margin-protection
55
+ guardrail-shipping-health
56
+ guardrail-rate-pricing-sanity
57
+ end
58
+
59
+ subgraph Config["Config — Setup & API References"]
60
+ setup-discount-rules
61
+ setup-coupons
62
+ setup-shipping-regions
63
+ setup-shipping-rates
64
+ end
65
+
66
+ subgraph TrackingAPI["Tracking API"]
67
+ api-recommendation-tracking
68
+ end
69
+
70
+ subgraph Standalone["Direct Entry Points (from README)"]
71
+ recipe-apply-shipping-recommendations
72
+ setup-store-pickup-location
73
+ troubleshoot-discount-not-applying
74
+ troubleshoot-checkout-delivery-dropoff
75
+ end
76
+
77
+ Config -.-> |"calls via CallWixSiteAPI / ReadFullDocsArticle"| API
78
+
79
+ subgraph API["Wix REST API Docs (dev.wix.com)"]
80
+ D1["Discount Rules API"]
81
+ D2["Coupons API"]
82
+ D3["Products V3 API"]
83
+ D4["Categories API"]
84
+ D5["Catalog Analytics"]
85
+ S1["Delivery Profiles API"]
86
+ S2["Shipping Options API"]
87
+ S3["Pickup Locations API"]
88
+ S4["Local Delivery API"]
89
+ SD["Profile Service API (wix-profile-client)"]
90
+ end
91
+
92
+ classDef goal fill:#8b5cf6,stroke:#6d28d9,color:#fff
93
+ classDef guardrail fill:#ef4444,stroke:#dc2626,color:#fff
94
+ classDef flow fill:#3b82f6,stroke:#2563eb,color:#fff
95
+ classDef config fill:#f59e0b,stroke:#d97706,color:#fff
96
+ classDef reco fill:#ec4899,stroke:#db2777,color:#fff
97
+ classDef standalone fill:#6b7280,stroke:#4b5563,color:#fff
98
+ classDef apidoc fill:#e5e7eb,stroke:#9ca3af,color:#374151
99
+
100
+ class goal-increase-aov,goal-clear-inventory,goal-seasonal-revenue,goal-drive-cross-sells,goal-reduce-cart-abandonment goal
101
+ class guardrail-discount-conflicts,guardrail-margin-protection,guardrail-shipping-health,guardrail-rate-pricing-sanity guardrail
102
+ class flow-upsell-boost,flow-bundle-and-save,flow-stock-mover,flow-seasonal-promotion,flow-fix-coverage-gaps,flow-add-free-shipping,flow-optimize-shipping-rates flow
103
+ class setup-discount-rules,setup-coupons,setup-shipping-regions,setup-shipping-rates,api-recommendation-tracking config
104
+ class recommend-ecommerce-strategy reco
105
+ class recipe-apply-shipping-recommendations,setup-store-pickup-location,troubleshoot-discount-not-applying,troubleshoot-checkout-delivery-dropoff standalone
106
+ class D1,D2,D3,D4,D5,S1,S2,S3,S4,SD apidoc
107
+ ```
108
+
109
+ ## File Reachability
110
+
111
+ | File | Reached via |
112
+ |---|---|
113
+ | `recommend-ecommerce-strategy.md` | README routing (entry point) |
114
+ | `api-recommendation-tracking.md` | Entry point tracking steps |
115
+ | `goal-increase-aov.md` | Step 4b (UPSELL_BOOST) |
116
+ | `goal-clear-inventory.md` | Step 4b (STOCK_MOVER) |
117
+ | `goal-seasonal-revenue.md` | Step 4b (SEASONAL) |
118
+ | `goal-drive-cross-sells.md` | Step 4b (BUNDLE_AND_SAVE) |
119
+ | `goal-reduce-cart-abandonment.md` | Step 4b (ABANDONED_CART domain) |
120
+ | `flow-upsell-boost.md` | goal-increase-aov chain |
121
+ | `flow-bundle-and-save.md` | goal-increase-aov / goal-drive-cross-sells chain |
122
+ | `flow-stock-mover.md` | goal-clear-inventory chain |
123
+ | `flow-seasonal-promotion.md` | goal-seasonal-revenue chain |
124
+ | `flow-fix-coverage-gaps.md` | goal-reduce-cart-abandonment chain (critical operational fix) |
125
+ | `flow-add-free-shipping.md` | goal-increase-aov chain (shipping flows serving AOV) |
126
+ | `flow-optimize-shipping-rates.md` | goal-increase-aov chain (shipping flows serving AOV) |
127
+ | `guardrail-discount-conflicts.md` | flow-upsell-boost / bundle / stock / seasonal chains |
128
+ | `guardrail-margin-protection.md` | flow-upsell-boost / stock-mover chains |
129
+ | `guardrail-shipping-health.md` | flow-fix-coverage-gaps chain |
130
+ | `guardrail-rate-pricing-sanity.md` | flow-add-free-shipping / optimize chains |
131
+ | `setup-discount-rules.md` | All discount flow chains |
132
+ | `setup-coupons.md` | Step 4c (COUPON mechanism) |
133
+ | `setup-shipping-regions.md` | flow-fix-coverage-gaps chain |
134
+ | `setup-shipping-rates.md` | flow-add-free-shipping / optimize chains |
135
+ | `recipe-apply-shipping-recommendations.md` | README direct entry |
136
+ | `setup-store-pickup-location.md` | README direct entry |
137
+ | `troubleshoot-discount-not-applying.md` | README direct entry |
138
+ | `troubleshoot-checkout-delivery-dropoff.md` | README direct entry |
139
+ | `skill-graph.md` | Documentation reference |
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: "Troubleshoot: Checkout Delivery Drop-off"
3
+ description: Diagnostic tree for when delivery step conversion is below benchmark. Correlates shipping issues with checkout abandonment and calculates revenue impact.
4
+ layer: troubleshoot
5
+ ---
6
+ # Troubleshoot: Checkout Delivery Drop-off
7
+
8
+ ## When to use
9
+
10
+ Use this diagnostic tree when analyzing checkout funnel performance and the delivery step shows elevated abandonment. The delivery step is where customers choose their shipping method — drop-off here directly indicates shipping-related friction.
11
+
12
+ ---
13
+
14
+ ## Step 1: Check delivery step conversion rate
15
+
16
+ Compare `delivery_step_cvr` against the benchmark of **65%**.
17
+
18
+ ### Interpretation
19
+
20
+ | CVR range | Interpretation | Action |
21
+ |---|---|---|
22
+ | cvr < benchmark (65%) AND shipping issues detected | Correlate specific issues to conversion drop | Proceed to full diagnostic |
23
+ | cvr ≥ benchmark (65%) | Do NOT cite CVR gap as justification | Focus on best practices, not recovery |
24
+ | cvr ≥ 90% | Excellent — note strong performance | Focus on maintaining, not fixing |
25
+
26
+ **Important**: If the CVR is at or above benchmark, do not frame recommendations as fixing a conversion problem. Only cite CVR gap when the data supports it.
27
+
28
+ ---
29
+
30
+ ## Step 2: Calculate revenue impact
31
+
32
+ Use this formula to quantify the business impact of the delivery step drop-off:
33
+
34
+ ```
35
+ revenue_impact = (benchmark_delivery_cvr - delivery_step_cvr) / 100 × total_checkouts × aov
36
+ ```
37
+
38
+ **Example**: If benchmark is 65%, current CVR is 55%, with 2,000 checkouts/month and $80 AOV:
39
+ - `(65 - 55) / 100 × 2000 × 80 = $16,000/month` in potential lost revenue.
40
+
41
+ ### High traffic amplifier
42
+
43
+ If `visitors > 30,000` (approximately 1,000+ per day) AND a HIGH-severity shipping issue is detected, include a daily revenue impact estimate to emphasize urgency:
44
+
45
+ ```
46
+ daily_impact = revenue_impact / 30
47
+ ```
48
+
49
+ > "At your traffic volume, this shipping issue may be costing approximately ${daily_impact} per day."
50
+
51
+ ---
52
+
53
+ ## Step 3: Assign priority
54
+
55
+ Based on the gap between current CVR and benchmark:
56
+
57
+ | Gap | Priority | Urgency |
58
+ |---|---|---|
59
+ | Gap > 10 percentage points | **HIGH** | Address immediately — significant revenue loss |
60
+ | Gap 5-10 percentage points | **MEDIUM** | Address soon — meaningful improvement opportunity |
61
+ | Gap < 5 percentage points | **LOW** | Optimize when convenient — incremental gains |
62
+
63
+ ---
64
+
65
+ ## Step 4: Identify common causes
66
+
67
+ Check for these known shipping issues that correlate with delivery step drop-off:
68
+
69
+ 1. **No free shipping option**: Stores without any free shipping option see higher delivery-step abandonment. Customers expect at least a conditional free shipping tier.
70
+
71
+ 2. **Missing delivery estimates**: Shipping options without estimated delivery times create uncertainty. Customers abandon when they don't know when their order will arrive.
72
+
73
+ 3. **Per-item pricing (`multiplyByQuantity`)**: Customers adding multiple items see shipping costs spike unexpectedly at checkout.
74
+
75
+ 4. **Coverage gaps**: Customer's delivery address falls outside configured shipping regions. The checkout shows no available shipping methods.
76
+
77
+ 5. **Inactive backup rates**: When the primary carrier can't fulfill and no backup rate is configured, the customer sees no shipping options.
78
+
79
+ 6. **Options on inactive regions**: Shipping options configured for regions that are set to `active: false` are not available at checkout.
80
+
81
+ ---
82
+
83
+ ## Step 5: Run diagnostic sequence
84
+
85
+ Follow this sequence to systematically identify the root cause:
86
+
87
+ ### 5.1 Check configuration completeness
88
+ - Are delivery profiles configured?
89
+ - Are regions active?
90
+ - Are shipping options assigned to active regions?
91
+
92
+ ### 5.2 Check coverage gaps
93
+ - Do the configured regions cover the store's primary customer geographies?
94
+ - Are there common destination countries/states missing from region definitions?
95
+
96
+ ### 5.3 Check free shipping presence
97
+ - Is there at least one free shipping option (unconditional or threshold-based)?
98
+ - If threshold-based, is the threshold achievable relative to AOV?
99
+
100
+ ### 5.4 Check rate pricing sanity
101
+ - Are any rates exceeding 15% of AOV?
102
+ - Is `multiplyByQuantity` enabled on any rate?
103
+ - See the **Guardrail: Rate Pricing Sanity** skill for detailed checks.
104
+
105
+ ### 5.5 Check backup rates
106
+ - Are backup rates configured on carriers?
107
+ - Are backup rate amounts reasonable (5-10% of AOV)?
108
+
109
+ ### 5.6 Correlate findings with CVR impact
110
+ - For each issue found, estimate its contribution to the CVR gap.
111
+ - Prioritize fixes by expected conversion recovery.
112
+ - Present findings in order of impact, with revenue estimates where possible.
113
+
114
+ ---
115
+
116
+ ## Summary: Diagnostic checklist
117
+
118
+ | Step | Check | What to look for |
119
+ |---|---|---|
120
+ | 1 | CVR vs benchmark | Is there actually a gap to address? |
121
+ | 2 | Revenue impact | Quantify the business cost |
122
+ | 3 | Priority | HIGH (>10pt gap), MEDIUM (5-10pt), LOW (<5pt) |
123
+ | 4 | Common causes | Free shipping, estimates, per-item, coverage, backups |
124
+ | 5 | Diagnostic sequence | Config → coverage → free shipping → rates → backups → correlate |
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: "Troubleshoot: Discount Not Applying"
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
+ layer: troubleshoot
5
+ ---
6
+ # Troubleshoot: Discount Not Applying
7
+
8
+ ## When to use
9
+
10
+ Use this diagnostic tree when a merchant reports that a discount rule exists but products are not showing the discounted price at checkout or in the storefront.
11
+
12
+ ---
13
+
14
+ ## Step 1: Check rule active status
15
+
16
+ Query the discount rule by ID and verify the `active` field.
17
+
18
+ - If `active: false` → **Resolution**: "The rule is deactivated. Set `active: true` to enable it."
19
+ - If `active: true` → proceed to Step 2.
20
+
21
+ ---
22
+
23
+ ## Step 2: Check time window
24
+
25
+ Examine the `activeTimeInfo` field on the discount rule.
26
+
27
+ - If `activeTimeInfo` does not exist → the rule has no time constraints, proceed to Step 3.
28
+ - If `activeTimeInfo` exists:
29
+ - Is the current date/time within the `start` and `end` range?
30
+ - If the current date is before `start` → **Resolution**: "The campaign hasn't started yet. It begins on {startDate}."
31
+ - If the current date is after `end` → **Resolution**: "The campaign ended on {endDate}. Update or remove the time window to re-enable."
32
+ - If within range → proceed to Step 3.
33
+
34
+ ---
35
+
36
+ ## Step 3: Check scope targeting
37
+
38
+ Examine the discount rule's scope configuration:
39
+
40
+ ### CATALOG scope
41
+ - Should apply to all products. If it's not applying, skip to Step 5 (app installation check).
42
+
43
+ ### COLLECTION scope
44
+ - Verify that `categoryIds` contain valid GUIDs, not collection names.
45
+ - Common mistake: using the collection name string instead of its GUID.
46
+ - Call `getCategoryIds` or query collections to validate that each ID resolves to an existing collection.
47
+ - If any ID is invalid → **Resolution**: "The collection ID '{id}' does not match any existing collection. Use the collection GUID, not the display name."
48
+
49
+ ### SPECIFIC_PRODUCTS scope
50
+ - Verify that each `productId` in the rule exists in the store catalog.
51
+ - Query products to confirm each ID resolves.
52
+ - If any product was deleted → **Resolution**: "Product '{id}' no longer exists in the catalog. Remove it from the discount rule or replace it with a valid product ID."
53
+
54
+ ---
55
+
56
+ ## Step 4: Check revision
57
+
58
+ Was the rule recently updated? A revision mismatch indicates the update failed silently.
59
+
60
+ - Query the current rule and compare the `revision` field against the expected value.
61
+ - If the revision does not match what was expected after an update → **Resolution**: "The last update to this rule may have failed. The current revision is {currentRevision}. Try updating the rule again with the correct revision number."
62
+
63
+ ---
64
+
65
+ ## Step 5: Check app installation
66
+
67
+ Is the Wix Stores or eCommerce app installed on the site?
68
+
69
+ - Error code `WDE0110: Wix Code not enabled` → **Resolution**: "The Wix Stores app is not installed. Install Wix Stores first, then the discount rule will take effect."
70
+ - If the eCommerce platform is not fully set up, discount rules cannot be evaluated at checkout.
71
+
72
+ ---
73
+
74
+ ## Step 6: Check stacking interference
75
+
76
+ Are other active discount rules conflicting with or overriding this one?
77
+
78
+ 1. Query all active discount rules.
79
+ 2. Check for scope overlap with the problematic rule.
80
+ 3. Some discount combinations may cause unexpected behavior where one rule appears to "not apply" because another rule takes precedence.
81
+
82
+ **Resolution**: "There are {count} other active discount rules that overlap with this rule's scope. Review them to check if another rule is taking priority or if stacking behavior is masking this rule's effect."
83
+
84
+ ---
85
+
86
+ ## Summary: Diagnostic checklist
87
+
88
+ | Step | Check | Common resolution |
89
+ |---|---|---|
90
+ | 1 | `active` field | Set `active: true` |
91
+ | 2 | Time window | Update or remove expired `activeTimeInfo` |
92
+ | 3 | Scope targeting | Fix invalid collection/product GUIDs |
93
+ | 4 | Revision mismatch | Retry the update with correct revision |
94
+ | 5 | App installation | Install Wix Stores app |
95
+ | 6 | Stacking interference | Review and resolve overlapping rules |