@wix/agent-skills 1.15.0 → 1.16.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 (355) hide show
  1. package/README.md +5 -1
  2. package/package.json +1 -1
  3. package/skills/wix-app/SKILL.md +4 -1
  4. package/skills/wix-app/references/APP_TOOLS.md +134 -0
  5. package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +1 -1
  6. package/skills/wix-app/references/DASHBOARD_PAGE.md +0 -10
  7. package/skills/wix-app/references/DATA_COLLECTION.md +6 -4
  8. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +28 -7
  9. package/skills/wix-app/references/SERVICE_PLUGIN.md +12 -10
  10. package/skills/wix-app/references/STORES_VERSIONING.md +9 -211
  11. package/skills/wix-app/references/app-tools/TOOLS.md +75 -0
  12. package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +5 -0
  13. package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +2 -2
  14. package/skills/wix-app/references/editor-react-component/A11Y-REVIEW-REFERENCE.md +172 -0
  15. package/skills/wix-app/references/editor-react-component/A11Y-REVIEW.md +138 -0
  16. package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +172 -0
  17. package/skills/wix-app/references/editor-react-component/BRANDED-COMPONENTS.md +29 -0
  18. package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +1 -1
  19. package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +57 -0
  20. package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +33 -2
  21. package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +5 -3
  22. package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +18 -1
  23. package/skills/wix-app/references/editor-react-component/PARTS.md +15 -2
  24. package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +4 -3
  25. package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +13 -9
  26. package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +4 -0
  27. package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +4 -0
  28. package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +3 -1
  29. package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +4 -0
  30. package/skills/wix-app/references/service-plugin/TOOLS_PROVIDER.md +54 -0
  31. package/skills/wix-app/references/stores/CATEGORIES.md +22 -0
  32. package/skills/wix-app/references/stores/GET_PRODUCT.md +99 -0
  33. package/skills/wix-app/references/stores/INVENTORY.md +37 -0
  34. package/skills/wix-app/references/stores/QUERY.md +119 -0
  35. package/skills/wix-app/references/stores/WRITE.md +55 -0
  36. package/skills/wix-docs/SKILL.md +35 -3
  37. package/skills/wix-headless/SKILL.md +9 -2
  38. package/skills/wix-headless/entry/bootstrap.mjs +2 -2
  39. package/skills/wix-headless/entry/skill.md +0 -2
  40. package/skills/wix-headless/references/CAPABILITIES.md +6 -4
  41. package/skills/wix-headless/references/CONTENT.md +36 -0
  42. package/skills/wix-headless/references/DESIGN.md +54 -0
  43. package/skills/wix-headless/references/DISCOVERY.md +25 -1
  44. package/skills/wix-headless/references/FEEDBACK.md +16 -5
  45. package/skills/wix-headless/references/IMAGE_GENERATION.md +10 -0
  46. package/skills/wix-headless/references/SDK_HANDOFF.md +2 -0
  47. package/skills/wix-headless/references/SEED.md +3 -1
  48. package/skills/wix-headless/references/SETUP.md +1 -1
  49. package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +3 -2
  50. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +42 -2
  51. package/skills/wix-headless/references/inline-recipes/setup-bookings.md +5 -1
  52. package/skills/wix-headless/references/inline-recipes/setup-forms.md +1 -1
  53. package/skills/wix-headless/references/inline-recipes/setup-online-store.md +33 -8
  54. package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +3 -1
  55. package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +73 -0
  56. package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +38 -2
  57. package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +20 -1
  58. package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +1 -1
  59. package/skills/wix-headless/references/managed/CONNECT.md +2 -2
  60. package/skills/wix-headless/references/managed/CREATE.md +15 -1
  61. package/skills/wix-headless/references/managed/DEPLOYMENT.md +47 -0
  62. package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +8 -0
  63. package/skills/wix-headless/references/stripe/DEPLOYMENT.md +8 -0
  64. package/skills/wix-manage/SKILL.md +131 -12
  65. package/skills/wix-manage/references/analytics/analytics-dashboard-navigation.md +41 -0
  66. package/skills/wix-manage/references/analytics/query-site-analytics.md +66 -9
  67. package/skills/wix-manage/references/app-installation/app-installation-dashboard-navigation.md +28 -0
  68. package/skills/wix-manage/references/app-installation/install-wix-apps.md +3 -0
  69. package/skills/wix-manage/references/blog/blog-dashboard-navigation.md +56 -0
  70. package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +31 -6
  71. package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +3 -1
  72. package/skills/wix-manage/references/bookings/bookings-dashboard-navigation.md +63 -0
  73. package/skills/wix-manage/references/bookings/create-booking-service-from-prompt.md +6 -5
  74. package/skills/wix-manage/references/bookings/create-course-service.md +30 -5
  75. package/skills/wix-manage/references/bookings/diagnose-availability-issues.md +85 -42
  76. package/skills/wix-manage/references/cms/cms-dashboard-navigation.md +44 -0
  77. package/skills/wix-manage/references/cms/cms-data-items-crud.md +31 -3
  78. package/skills/wix-manage/references/cms/cms-publishing-flow.md +287 -0
  79. package/skills/wix-manage/references/cms/cms-schema-management.md +33 -1
  80. package/skills/wix-manage/references/contacts/contacts-dashboard-navigation.md +46 -0
  81. package/skills/wix-manage/references/contacts/create-a-contact.md +82 -0
  82. package/skills/wix-manage/references/contacts/update-a-contact.md +119 -0
  83. package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +82 -0
  84. package/skills/wix-manage/references/dashboard-navigation/routes.json +1733 -0
  85. package/skills/wix-manage/references/domains/domains-dashboard-navigation.md +32 -0
  86. package/skills/wix-manage/references/ecommerce/ecom-pricing.md +4 -4
  87. package/skills/wix-manage/references/ecommerce/ecom-shipping.md +1 -1
  88. package/skills/wix-manage/references/ecommerce/gift-cards/ecom-gift-cards-goal-sell-gift-cards.md +338 -0
  89. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-create-discount-rule.md +42 -78
  90. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-bundle-and-save.md +1 -1
  91. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-stock-mover.md +1 -1
  92. package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-upsell-boost.md +1 -1
  93. package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +90 -92
  94. package/skills/wix-manage/references/events/create-wix-event.md +176 -0
  95. package/skills/wix-manage/references/events/manage-wix-events.md +174 -0
  96. package/skills/wix-manage/references/forms/forms-dashboard-navigation.md +44 -0
  97. package/skills/wix-manage/references/get-paid/get-paid-dashboard-navigation.md +52 -0
  98. package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +30 -7
  99. package/skills/wix-manage/references/google-ads/billing-and-payment.md +80 -0
  100. package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +212 -0
  101. package/skills/wix-manage/references/google-ads/get-campaign-suggestions.md +110 -0
  102. package/skills/wix-manage/references/google-ads/google-ads-dashboard-navigation.md +25 -0
  103. package/skills/wix-manage/references/google-ads/install-and-create-account.md +155 -0
  104. package/skills/wix-manage/references/google-ads/manage-campaign-lifecycle.md +63 -0
  105. package/skills/wix-manage/references/google-ads/query-campaign-analytics.md +155 -0
  106. package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +225 -144
  107. package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +19 -10
  108. package/skills/wix-manage/references/marketing/marketing-dashboard-navigation.md +52 -0
  109. package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +99 -1
  110. package/skills/wix-manage/references/pricing-plans/pricing-plans-dashboard-navigation.md +45 -0
  111. package/skills/wix-manage/references/restaurants/restaurants-dashboard-navigation.md +68 -0
  112. package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +94 -125
  113. package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +48 -9
  114. package/skills/wix-manage/references/site-properties/site-properties-dashboard-navigation.md +31 -0
  115. package/skills/wix-manage/references/sites/create-headless-site.md +52 -0
  116. package/skills/wix-manage/references/sites/create-site-from-template.md +2 -25
  117. package/skills/wix-manage/references/sites/site-import.md +243 -0
  118. package/skills/wix-manage/references/sites/sites-dashboard-navigation.md +29 -0
  119. package/skills/wix-manage/references/stores/add-store-pages-to-site.md +17 -1
  120. package/skills/wix-manage/references/stores/create-product-from-image.md +8 -6
  121. package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +16 -10
  122. package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +26 -8
  123. package/skills/wix-manage/references/stores/stores-dashboard-navigation.md +65 -0
  124. package/skills/wix-manage/references/stores/update-product-with-options.md +39 -7
  125. package/skills/wix-replatform/.publish-manifest.json +8 -0
  126. package/skills/wix-replatform/SKILL.md +693 -0
  127. package/skills/wix-replatform/lib/artifact-freshness.js +215 -0
  128. package/skills/wix-replatform/lib/completion-report.js +200 -0
  129. package/skills/wix-replatform/lib/config-env.js +59 -0
  130. package/skills/wix-replatform/lib/execution-manifest.js +185 -0
  131. package/skills/wix-replatform/lib/execution-state.js +173 -0
  132. package/skills/wix-replatform/lib/import-recovery.js +313 -0
  133. package/skills/wix-replatform/lib/local-state.js +642 -0
  134. package/skills/wix-replatform/lib/orchestration-preflight.js +143 -0
  135. package/skills/wix-replatform/lib/orchestration-router.js +122 -0
  136. package/skills/wix-replatform/lib/orchestration-state.js +455 -0
  137. package/skills/wix-replatform/lib/progress-log.js +224 -0
  138. package/skills/wix-replatform/lib/progress-log.sh +140 -0
  139. package/skills/wix-replatform/lib/url-preservation-state.js +391 -0
  140. package/skills/wix-replatform/resources/rp-discovery/SKILL.md +184 -0
  141. package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +529 -0
  142. package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +316 -0
  143. package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +64 -0
  144. package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +1114 -0
  145. package/skills/wix-replatform/resources/rp-mapper/SKILL.md +430 -0
  146. package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +217 -0
  147. package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +148 -0
  148. package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +378 -0
  149. package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +183 -0
  150. package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +478 -0
  151. package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +136 -0
  152. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
  153. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +310 -0
  154. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +1081 -0
  155. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +618 -0
  156. package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +949 -0
  157. package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +196 -0
  158. package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +66 -0
  159. package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +60 -0
  160. package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +95 -0
  161. package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +82 -0
  162. package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +256 -0
  163. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +249 -0
  164. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +444 -0
  165. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +774 -0
  166. package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +71 -0
  167. package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +632 -0
  168. package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +330 -0
  169. package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +21 -0
  170. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -0
  171. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +37 -0
  172. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +37 -0
  173. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +39 -0
  174. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +35 -0
  175. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +14 -0
  176. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +35 -0
  177. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +36 -0
  178. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +35 -0
  179. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +14 -0
  180. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +131 -0
  181. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +37 -0
  182. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +37 -0
  183. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +21 -0
  184. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +37 -0
  185. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +37 -0
  186. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +97 -0
  187. package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +528 -0
  188. package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -0
  189. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +38 -0
  190. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +37 -0
  191. package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -0
  192. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +37 -0
  193. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +53 -0
  194. package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +84 -0
  195. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +25 -0
  196. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +37 -0
  197. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +37 -0
  198. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +38 -0
  199. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +37 -0
  200. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +90 -0
  201. package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +64 -0
  202. package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +141 -0
  203. package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +384 -0
  204. package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +260 -0
  205. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +238 -0
  206. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +237 -0
  207. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +238 -0
  208. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +2219 -0
  209. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +31 -0
  210. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +100 -0
  211. package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +107 -0
  212. package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +344 -0
  213. package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +250 -0
  214. package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1927 -0
  215. package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +83 -0
  216. package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +141 -0
  217. package/skills/wix-replatform/scripts/artifact-freshness.js +76 -0
  218. package/skills/wix-replatform/scripts/execution-manifest-validate.js +43 -0
  219. package/skills/wix-replatform/scripts/execution-state-prepare.js +128 -0
  220. package/skills/wix-replatform/scripts/orchestration-preflight.js +48 -0
  221. package/skills/wix-replatform/scripts/orchestration-route.js +46 -0
  222. package/skills/wix-replatform/scripts/orchestration-state.js +245 -0
  223. package/skills/wix-vibe-headless/SKILL.md +54 -25
  224. package/skills/wix-vibe-headless/install/deploy.cjs +95 -0
  225. package/skills/wix-vibe-headless/install/pin-agents-md.cjs +34 -0
  226. package/skills/wix-vibe-headless/platforms/README.md +26 -0
  227. package/skills/wix-vibe-headless/platforms/base44.md +177 -0
  228. package/skills/wix-vibe-headless/platforms/generic.md +122 -0
  229. package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +230 -119
  230. package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +43 -0
  231. package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +25 -0
  232. package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +15 -0
  233. package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +35 -0
  234. package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +38 -0
  235. package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +40 -0
  236. package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +54 -0
  237. package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +65 -0
  238. package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +50 -0
  239. package/skills/wix-vibe-headless/references/blog/seed/SEED.md +103 -0
  240. package/skills/wix-vibe-headless/references/blog/seed/seed-blog.js +270 -0
  241. package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +260 -145
  242. package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +65 -0
  243. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +47 -0
  244. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +13 -0
  245. package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +126 -0
  246. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +108 -0
  247. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +58 -0
  248. package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +95 -0
  249. package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +94 -0
  250. package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +89 -0
  251. package/skills/wix-vibe-headless/references/bookings/{wix-bookings-checkout.js → app/rest/wix-bookings-checkout.js} +1 -1
  252. package/skills/wix-vibe-headless/references/bookings/{wix-bookings-services.js → app/rest/wix-bookings-services.js} +90 -12
  253. package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +117 -0
  254. package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.js +333 -0
  255. package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +169 -147
  256. package/skills/wix-vibe-headless/references/cms/app/collection.config.js +31 -0
  257. package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +18 -0
  258. package/skills/wix-vibe-headless/references/cms/{wix-cms.js → app/rest/wix-cms.js} +47 -2
  259. package/skills/wix-vibe-headless/references/cms/seed/SEED.md +145 -0
  260. package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +228 -131
  261. package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +23 -0
  262. package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +43 -0
  263. package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +13 -0
  264. package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +29 -0
  265. package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +57 -0
  266. package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +78 -0
  267. package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +27 -0
  268. package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +54 -0
  269. package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +40 -0
  270. package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +81 -0
  271. package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +48 -0
  272. package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +36 -0
  273. package/skills/wix-vibe-headless/references/events/{wix-events-browse.js → app/rest/wix-events-browse.js} +3 -2
  274. package/skills/wix-vibe-headless/references/events/seed/SEED.md +107 -0
  275. package/skills/wix-vibe-headless/references/events/seed/seed-events.js +251 -0
  276. package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +276 -188
  277. package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +101 -0
  278. package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +33 -0
  279. package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +21 -0
  280. package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +29 -0
  281. package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +54 -0
  282. package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +77 -0
  283. package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +36 -0
  284. package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +32 -0
  285. package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +35 -0
  286. package/skills/wix-vibe-headless/references/members/{wix-members-auth.js → app/rest/wix-members-auth.js} +6 -3
  287. package/skills/wix-vibe-headless/references/members/install/Register.jsx +22 -0
  288. package/skills/wix-vibe-headless/references/members/seed/SEED.md +22 -0
  289. package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +233 -104
  290. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +31 -0
  291. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +15 -0
  292. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +39 -0
  293. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +15 -0
  294. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +29 -0
  295. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +35 -0
  296. package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +27 -0
  297. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +25 -0
  298. package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +39 -0
  299. package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +27 -0
  300. package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +60 -0
  301. package/skills/wix-vibe-headless/references/portfolio/{wix-portfolio.js → app/rest/wix-portfolio.js} +84 -55
  302. package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +94 -0
  303. package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.js +236 -0
  304. package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +240 -117
  305. package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +35 -0
  306. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +48 -0
  307. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +16 -0
  308. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +35 -0
  309. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +25 -0
  310. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +28 -0
  311. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +30 -0
  312. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +30 -0
  313. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +53 -0
  314. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +28 -0
  315. package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +86 -0
  316. package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.js +251 -0
  317. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +248 -124
  318. package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +81 -0
  319. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +71 -0
  320. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +43 -0
  321. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +21 -0
  322. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +60 -0
  323. package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +63 -0
  324. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +32 -0
  325. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +73 -0
  326. package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +28 -0
  327. package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +102 -0
  328. package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +180 -0
  329. package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.js +452 -0
  330. package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +56 -0
  331. package/skills/wix-vibe-headless/references/shared/{wix-client.js → app/rest/wix-client.js} +6 -8
  332. package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +6 -0
  333. package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +263 -148
  334. package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +20 -0
  335. package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +150 -0
  336. package/skills/wix-vibe-headless/references/storefront/app/components/ProductCard.jsx +167 -0
  337. package/skills/wix-vibe-headless/references/storefront/app/components/ProductGallery.jsx +51 -0
  338. package/skills/wix-vibe-headless/references/storefront/app/components/ProductGrid.jsx +54 -0
  339. package/skills/wix-vibe-headless/references/storefront/app/components/VariantPicker.jsx +119 -0
  340. package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +71 -0
  341. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +109 -0
  342. package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +98 -0
  343. package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +27 -0
  344. package/skills/wix-vibe-headless/references/storefront/app/pages/ProductDetail.jsx +139 -0
  345. package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +75 -0
  346. package/skills/wix-vibe-headless/references/storefront/{wix-store-cart.js → app/rest/wix-store-cart.js} +1 -1
  347. package/skills/wix-vibe-headless/references/storefront/{wix-store-catalog.js → app/rest/wix-store-catalog.js} +25 -2
  348. package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +111 -0
  349. package/skills/wix-vibe-headless/references/storefront/seed/seed-store.js +299 -0
  350. /package/skills/wix-vibe-headless/references/blog/{wix-blog.js → app/rest/wix-blog.js} +0 -0
  351. /package/skills/wix-vibe-headless/references/events/{wix-events-registration.js → app/rest/wix-events-registration.js} +0 -0
  352. /package/skills/wix-vibe-headless/references/pricing-plans/{wix-pricing-plans.js → app/rest/wix-pricing-plans.js} +0 -0
  353. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-menu.js → app/rest/wix-restaurants-menu.js} +0 -0
  354. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-ordering.js → app/rest/wix-restaurants-ordering.js} +0 -0
  355. /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-reservations.js → app/rest/wix-restaurants-reservations.js} +0 -0
@@ -0,0 +1,693 @@
1
+ ---
2
+ name: replatform
3
+ description: >-
4
+ Routes RePlatform source-to-Wix migrations to the next workflow step by inspecting
5
+ migration project artifacts. Use when starting, continuing, or recovering a migration run.
6
+ ---
7
+
8
+ # replatform
9
+
10
+ Guide the user or agent to the next migration step by inspecting the active migration
11
+ project (default `migrations/<project>/`; see `CONVENTIONS.md` for `REPLATFORM_MIGRATIONS_DIR`).
12
+
13
+ ## Purpose
14
+
15
+ This skill is the traffic controller for RePlatform work. It should determine the active
16
+ migration project, inspect authoritative orchestration artifacts, identify the next
17
+ missing decision or deliverable, and route to the appropriate internal resource.
18
+
19
+ Each migration project is fully isolated. Treat only artifacts inside the active
20
+ `migrations/<project>/` directory as authoritative for that run. Do not infer platform,
21
+ credentials, discovery results, mappings, setup, or approvals from sibling migration
22
+ projects, even when they target the same source URL or business.
23
+
24
+ ## Role
25
+
26
+ You are the RePlatform expert. Your job is to help the user migrate their business from
27
+ another platform into Wix while maintaining business continuity. Guide the migration in a
28
+ way that is careful, reliable, and easy for the user to follow.
29
+
30
+ ## Runtime contract
31
+
32
+ Every run follows one resumable orchestration pipeline:
33
+
34
+ resolve project → load or create `orchestration/` artifacts → collect source inputs →
35
+ resolve destination strategy → deterministic preflight → discovery → mapping →
36
+ **mapping review checkpoint** → setup-discovery →
37
+ codegen → **code safety review checkpoint** (required when `SAFE_MODE=true` or `DRY_RUN=true`) →
38
+ **execution approval gate** → setup provisioning → import → deterministic
39
+ completion reporting
40
+
41
+ **Telemetry companion (always active).** At the start of every run — including every
42
+ resume — load the internal resource `resources/rp-telemetry/` and keep its instructions
43
+ active for the entire run. It records run telemetry through its bundled recorder
44
+ (`start` at run begin, stage/wait boundaries as the pipeline moves, events as they
45
+ occur, `finalize` at a terminal state). This is the orchestrator's only telemetry
46
+ integration point; the migration skills do not change and telemetry is never
47
+ hand-written.
48
+
49
+ The orchestrator is deterministic-first:
50
+
51
+ - use durable JSON artifacts as the authoritative state contract
52
+ - prefer deterministic code and validators wherever the contract is already known
53
+ - use the LLM for user interaction, semantic mapping decisions, and structured recovery
54
+ cases that need judgment
55
+
56
+ The submission should collect these up front so the run does not block unexpectedly:
57
+ source site URL; the source acquisition mode when the platform offers more than one
58
+ read path (for Shopify: Admin API vs public storefront; for WordPress / WooCommerce:
59
+ public content only vs authenticated access that also includes private/gated data);
60
+ source credentials required by that acquisition mode; the Wix destination mode (`new site`
61
+ vs `existing site`);
62
+ Wix authorization (new headless sites are created + written via the **Wix CLI** — it must be
63
+ logged in with `npx @wix/cli@latest login`, and site-level writes use a CLI token minted per
64
+ run with `npx @wix/cli@latest token --site "$WIX_SITE_ID"`; a raw create-time API key is no
65
+ longer used); and explicit answers to known fidelity forks (comments:
66
+ anonymize vs. skip; member-create notifications on/off; WP pages handling).
67
+
68
+ ## Delivery mode: managed backend (default) vs. storefront website
69
+
70
+ A migration has two possible deliverables. Resolve which one applies **before** site
71
+ creation, and treat **management-only as the default**:
72
+
73
+ - **`management` (DEFAULT).** Migrate the business's data into a **Wix-managed headless
74
+ backend** — the catalog/content lives in Wix (Stores, CMS, Blog, …), manageable from the
75
+ Wix dashboard and served through Wix APIs. **No customer-facing website / JavaScript
76
+ frontend is built.** This is a complete, valid deliverable on its own.
77
+ **Do not ask about a website in this mode.** If the user has not asked for a site,
78
+ storefront, or frontend, assume `management` and proceed without a clarifying question.
79
+
80
+ - **`website` (OPT-IN).** Everything in `management`, **plus** a customer-facing storefront
81
+ (a JavaScript frontend) built with the **`wix-headless`** skill. Select this mode **only
82
+ when the user explicitly asks** for a website, storefront, site frontend, "a site people
83
+ can visit", or names a frontend framework. Never infer it from the mere fact that the
84
+ source had a website — the source always did; that is not a request to rebuild one.
85
+
86
+ Record the resolved mode in `orchestration/decisions.json` and, when set, in
87
+ `config/wix.env` as `WIX_DELIVERY_MODE=management|website`. **Both modes create the destination the same way**
88
+ — a genuine Wix Managed Headless site via the Wix CLI scaffold (see "Headless site
89
+ creation"). The mode only decides whether a frontend is built:
90
+
91
+ - In `management` mode (default), scaffold the headless site, install Wix Stores (and any
92
+ other required apps), and import the catalog. **Do not build or release a frontend.**
93
+ - In `website` mode, run the full `wix-headless` flow (it performs the same CLI scaffold,
94
+ installs apps, and additionally builds + releases the Astro storefront), then import the
95
+ catalog into that site (see "Website mode: build the storefront with `wix-headless`").
96
+
97
+ Site creation is identical across modes because a headless site is only produced correctly
98
+ by the CLI scaffold; `management` simply stops before the frontend build.
99
+
100
+ ## Notification muting: the `mute-notifications` config (spec 0012)
101
+
102
+ Migration writes can fire Wix site notifications (emails, dashboard alerts, pushes) for
103
+ every created entity. A single config governs whether the target site is muted before
104
+ migration writes, following the `WIX_DELIVERY_MODE` pattern: record it in
105
+ `orchestration/decisions.json` and mirror it in `config/wix.env` as
106
+ `WIX_MUTE_NOTIFICATIONS=on|off`. The default resolves by site strategy and the resolved
107
+ value is **always recorded explicitly**, never left implicit:
108
+
109
+ - **`WIX_SITE_STRATEGY=new` → `on`, effectively forced.** Do not ask. `off` + `new` is a
110
+ validation error (`rp-setup-discovery` and `rp-import-codegen` both fail it), and the
111
+ enforcement does not consult the config for new sites — it is unconditional.
112
+ - **`WIX_SITE_STRATEGY=existing` → `off`.** Do not ask up front. Muting a live site also
113
+ silences notifications for real visitor activity during the migration window, so it is
114
+ an explicit opt-in (`on`) the owner can request; when opted in, the mute and its
115
+ consequences are disclosed prominently at the execution-plan approval gate
116
+ (`rp-execute-import`).
117
+
118
+ **Hard invariant — no mute, no import.** When mute is in effect (always for new sites;
119
+ opt-in for existing), a failed mute call at any point (setup provisioning, import-script
120
+ preflight) halts the run to needs-user with the failure recorded. Never continue to
121
+ import writes with a warning, and never offer a continue-anyway option. Enforcement is
122
+ double-locked downstream: a standing setup requirement (`rp-setup-discovery` →
123
+ `rp-execute-setup`, ordered before all other setup writes) plus a preflight assertion in
124
+ the generated import script (`rp-import-codegen`).
125
+
126
+ **Terminal-report disclosure — every terminal state.** Nothing in the flow unmutes
127
+ automatically, so any site the flow muted is still muted at completion, halt, or abort.
128
+ Whatever report the run ends with must derive "was muted" from **recorded state**
129
+ (`setup/setup-verification.json` mute item + the import run's preflight log entries) —
130
+ never infer it from strategy/config — and, when a successful mute is recorded, state in
131
+ plain language:
132
+
133
+ - **all site notifications are currently muted**, and stay muted until re-enabled;
134
+ - **the owner can simply ask the agent to unmute them** whenever they want — on request,
135
+ call `unmuteSiteNotifications` (rp-target-wix) and confirm `muted: false` via
136
+ `getSiteMuteState`;
137
+ - alternatively they can re-enable manually (UnmuteSite —
138
+ `POST /notification-preferences/v1/site-mute/unmute` — or the dashboard path once one
139
+ exists).
140
+
141
+ For existing sites this disclosure is **mandatory and prominent** — it is the only
142
+ remaining safeguard against a live business staying silenced. If no successful mute is
143
+ recorded, the report must not claim the site is muted. The unmute is **never** run as
144
+ part of the flow itself — explicit owner request only.
145
+
146
+ ## Tone
147
+
148
+ Use a tone that is:
149
+
150
+ - professional
151
+ - friendly
152
+ - confidence-building
153
+
154
+ Explain the process clearly, avoid sounding uncertain when the workflow is defined, and
155
+ help the user understand what is happening and what will happen next. Be direct, calm, and
156
+ practical. Do not overwhelm the user with internal detail that does not help them make the
157
+ next decision.
158
+
159
+ ## User interaction contract
160
+
161
+ Keep interaction narrow and task-directed.
162
+
163
+ Allowed interactions:
164
+
165
+ - request one missing required input or credential
166
+ - ask the user to choose the active migration project when project resolution is genuinely ambiguous
167
+ - present the execution plan report and wait for explicit acceptance before any write
168
+ - halt to a defined needs-user state with the exact unblock action
169
+
170
+ Ask questions **one by one**. Do not bundle multiple unrelated questions into a single
171
+ message. Ask the next question only after the previous one is answered, unless a later
172
+ skill explicitly requires a single grouped approval artifact such as the execution plan.
173
+
174
+ ### Rules that hold in every run
175
+
176
+ - **One mandatory approval gate precedes _all_ writes to the user's site** — both setup
177
+ provisioning and the import. Before writing anything, present the **execution plan report**
178
+ and wait for explicit user acceptance. The report covers: the **setup changes** that will
179
+ be made (apps to install, Wix Data enablement, collections to create), **what will be
180
+ imported and where** (entities → Wix targets + counts), and **what can't be done and
181
+ needs manual action**. The job pauses, surfaces the plan, and resumes only on accept.
182
+ See `rp-execute-import` → Execution plan & user acceptance.
183
+ - **Read-only work runs before the gate; writes run after.** Discovery, mapping, codegen,
184
+ preview, and **read-only setup verification** (checking what's installed/missing) run
185
+ before acceptance to make the plan accurate. The "Migrate" consent + credentials
186
+ authorize the migration but are **not** a green light to start writing — only plan
187
+ acceptance is. After acceptance, run setup provisioning, then import, without
188
+ re-prompting per app/collection/write.
189
+ - **Dry-run remains sticky unless the user explicitly approves leaving it.** When
190
+ `DRY_RUN=true`, treat the project as dry-run-only by default. The one allowed exception
191
+ is **new-site creation** for `WIX_SITE_STRATEGY=new`: the Wix CLI headless scaffold may
192
+ run live even while the migration otherwise remains in dry-run mode, because no site
193
+ exists yet to target. Every other live override (`--no-dry-run`, setup provisioning,
194
+ app installation, live setup verification probes, demo-catalog cleanup, import writes)
195
+ requires explicit user approval to leave dry-run for that step or phase, and should be
196
+ avoided when a dry-run/report alternative exists.
197
+ - **Mapping review is a separate semantic checkpoint before setup/codegen.** After
198
+ `rp-mapper` writes `mapping/mapping-plan.json`, it must also write a concise
199
+ `mapping/review/mapping-summary.md` for user review. Pause there and ask the user to review
200
+ `mapping/review/mapping-summary.md` first, using `mapping/review/mapping-plan.md` for full details, and confirm that
201
+ the source entities, Wix targets, main gaps/lossiness, and major setup implications
202
+ match their intent. Do not proceed to `rp-setup-discovery` or `rp-import-codegen`
203
+ until the user accepts this mapping review checkpoint.
204
+ - **Safe-mode / dry-run code review is an agent-run checkpoint after codegen and before execution approval.**
205
+ When `SAFE_MODE=true` or `DRY_RUN=true`, `rp-import-codegen` must also write
206
+ `execution/review/code-safety-review.md`. The agent must perform this review itself by
207
+ inspecting the generated code and the mapping artifacts before asking the user for final
208
+ approval. That artifact must verify the generated code, not just the plan: every
209
+ relevant writer path passes `safeModeOptions` into the shared Wix runtime or direct REST
210
+ wrapper where applicable; dry-run uses the same code path with Wix calls skipped only at
211
+ the shared boundary; dry-run reports do not claim live writes happened; and the resolved
212
+ safe-mode replacement paths match the mapping artifacts. If the review finds any gap,
213
+ fix the code and regenerate the review artifact before surfacing it. The user approves
214
+ whether to proceed after the review passes; the user is not responsible for performing
215
+ the review itself.
216
+ - **Record every material decision** in the project artifacts
217
+ (`mapping/review/mapping-plan.md`, `mapping/review/mapping-summary.md`,
218
+ `setup/setup-verification.json`, `execution-log.md`).
219
+ - **Promote verified write contracts before continuing.** When same-session live
220
+ verification changes a Wix target write assumption, require a machine-readable
221
+ `contract-ledger-proposal.json`, promote the accepted proposal into shared
222
+ `rp-target-wix` domain metadata in the same session, or record an explicit deferral
223
+ reason. Generated code may rely on promoted ledger entries, not unreviewed local probe
224
+ output.
225
+ - **Keep execution review artifacts fresh.** `execution/review/import-plan.md` must have
226
+ freshness metadata covering the source schema, mapping plan, setup verification,
227
+ generated import code revision/hash, and target contract ledger revision. Before live
228
+ import and final reporting, check this metadata; if stale, regenerate the import plan or
229
+ write `execution/review/import-plan-delta.md` and make completion reporting reference
230
+ the latest accepted plan/delta.
231
+ - **Be non-destructive and idempotent:** never delete or overwrite existing user content;
232
+ dedupe by source ID; resume rather than restart. Do not assume native Wix entity IDs can
233
+ be preserved or client-assigned. When the target API assigns IDs server-side, the
234
+ workflow must maintain a durable local `sourceId -> targetId` crosswalk under
235
+ `migrations/<project>/state/crosswalk/` for resume and relationship resolution. CMS
236
+ `ImportCrosswalk` is optional site-local mirror/seed data for existing-site flows, not
237
+ the runtime source of truth.
238
+ - **Preserve public URL intent as local state:** for every migrated public routed entity,
239
+ mapping must capture route/base-path and slug policy, and import execution must write
240
+ local URL preservation artifacts under `migrations/<project>/state/url-preservation/`.
241
+ The current import phase records base paths, URL ledger rows, unresolved route rows, and
242
+ redirect plans, but does not apply Wix redirects or configure site routing.
243
+ - **Halt to needs-user only for:** a missing/invalid required input or credential; a
244
+ genuinely manual step with no API (e.g. storage-plan upgrade); or a systemic failure /
245
+ data-loss risk. When halting, write the reason to the artifacts and surface it — never
246
+ silently proceed and never silently stop.
247
+
248
+ ## Step 1: Resolve the active project
249
+
250
+ Resolve `<migrations-root>` first: use `REPLATFORM_MIGRATIONS_DIR` when set (absolute or
251
+ relative to cwd); otherwise default to `migrations/` under the host project's cwd. See
252
+ `CONVENTIONS.md`.
253
+
254
+ Determine `<migrations-root>/<project>/` using this order:
255
+
256
+ 1. Explicit project name provided by the user.
257
+ 2. Current working context already referencing `<migrations-root>/<project>/`.
258
+ 3. If exactly one project exists under `<migrations-root>/`, use it.
259
+ 4. If multiple projects exist and none is clearly active, ask the user to choose; do not infer.
260
+
261
+ ## Step 2: Inspect project artifacts
262
+
263
+ Look for these artifacts first:
264
+
265
+ - `config/wix.env`
266
+ - `orchestration/run.json`
267
+ - `orchestration/checkpoints.json`
268
+ - `orchestration/decisions.json`
269
+ - `orchestration/approvals.json`
270
+ - `config/source.<platform>.env` once the source platform is known
271
+ - `source-profile.md`
272
+ - `source-schema.json`
273
+ - `discovery/run.json`
274
+ - `discovery/entities/index.json`
275
+ - `mapping/mapping-plan.json`
276
+ - `mapping/review/mapping-summary.md`
277
+ - `setup/setup-plan.json`
278
+ - `setup/setup-requirements.json`
279
+ - `setup/setup-verification.json`
280
+ - `execution/execution-manifest.json`
281
+ - `execution/review/code-safety-review.md`
282
+ - `execution/completion-report.json`
283
+ - `execution/review/import-plan.md`
284
+ - generated code under `src/setup/`, `src/extract/`, `src/import/`
285
+ - `execution-log.md`
286
+
287
+ Reuse existing files if they already exist. Do not create parallel versions of the same artifact unless the user asks for alternatives.
288
+
289
+ Inspect only the active project's artifacts for resume and inference. Sibling
290
+ `migrations/<other-project>/` directories are out of scope and must not influence the
291
+ current run.
292
+
293
+ Treat each artifact as a complete checkpoint only when it is well-formed (e.g.
294
+ `source-schema.json` parses and contains at least one entity; required JSON artifacts parse
295
+ and contain their required top-level fields; markdown review artifacts are non-empty and
296
+ not truncated). A malformed or partial artifact means the stage
297
+ that produces it did NOT finish — re-run that stage rather than treating the file
298
+ as present. Skills should finish writing an artifact in one pass so a half-written
299
+ file is never mistaken for a completed one.
300
+
301
+ `execution-log.md` is not an authoritative resume source. Use it for chronology and
302
+ operator/debug context only. Resume state must come from the orchestration JSON artifacts
303
+ plus the active phase artifacts.
304
+
305
+ ## Step 2.1: Verify project-local config files before discovery
306
+
307
+ Before source discovery, make the migration project's config explicit. Any value that a
308
+ skill, generated script, or setup step expects as an environment variable must have a
309
+ home in a project-local config file under `migrations/<project>/config/`.
310
+
311
+ Use `.env` syntax (`KEY=value`) so humans can edit the files and generated scripts can
312
+ load them without extra dependencies.
313
+
314
+ ## Secret-safe config handling
315
+
316
+ Treat these as **secret-bearing files** once they may contain real user values:
317
+
318
+ - `migrations/<project>/config/wix.env`
319
+ - `migrations/<project>/config/source.<platform>.env`
320
+ - any equivalent local env/toml/json file carrying auth tokens, passwords, API keys, or
321
+ application credentials
322
+
323
+ Rules:
324
+
325
+ - Never print or paste the contents of those files into tool output, chat, artifacts, or
326
+ logs.
327
+ - Do not read them with whole-file commands that echo contents verbatim (`cat`, broad
328
+ `sed`, `head`, `tail`, broad globs) after they may be populated.
329
+ - Verify them with secret-safe checks only: file exists, required keys exist, and each key
330
+ is `present` / `blank` / `missing`.
331
+ - If a file must be created as a template, create it with empty values and from that point
332
+ forward treat it as secret-bearing even if some values are still blank.
333
+ - When reporting status, name keys only; never include values, partial values, or
334
+ redaction mistakes such as printing `KEY=value` lines.
335
+
336
+ Always create/verify:
337
+
338
+ - `config/wix.env`
339
+ - `WIX_SITE_STRATEGY=`
340
+ - `WIX_SITE_ID=`
341
+ - `WIX_AUTH_TOKEN=`
342
+
343
+ After the source system is identified or inferred, choose the source acquisition path
344
+ when the platform supports multiple modes. For Shopify URL-based migrations, ask whether
345
+ to use the Shopify Admin API or only publicly available storefront data. For WordPress /
346
+ WooCommerce URL-based migrations, ask whether to import only publicly available content
347
+ or also include private/authenticated data. Only the private/authenticated choice should
348
+ lead to a credentials request. Treat user-provided files/exports as a separate ingestion
349
+ flow that begins from those files, not from a site URL probe.
350
+
351
+ After the acquisition path is chosen, create/verify the adapter-specific source config.
352
+ For WordPress / WooCommerce:
353
+
354
+ - `config/source.wordpress.env`
355
+ - `WP_BASE_URL=`
356
+ - `WP_USERNAME=`
357
+ - `WP_APPLICATION_PASSWORD=`
358
+ - `WC_CONSUMER_KEY=` (optional; only when WooCommerce does not accept the WordPress
359
+ Application Password)
360
+ - `WC_CONSUMER_SECRET=` (optional; same condition)
361
+
362
+ ### File-provided runs (CSV)
363
+
364
+ When the user provides one or more CSV/export files instead of a site URL, the run is
365
+ file-based from the start. There is **no acquisition-mode fork and no credentials request**.
366
+
367
+ - Record `sourcePlatform=csv`, `sourceMode=files_only`, and **every** input file path in
368
+ `fileInputPaths` (an array) in `orchestration/decisions.json`. Preflight requires no source
369
+ env keys for `csv`; it checks that `fileInputPaths` is non-empty instead. Until it is, the
370
+ run sits in `awaiting_files`.
371
+ - Create/verify `config/source.csv.env` with optional keys only:
372
+
373
+ ```bash
374
+ CSV_INPUT_ROOT=
375
+ CSV_DELIMITER=
376
+ CSV_ENCODING=
377
+ CSV_VENDOR=
378
+ CSV_MEDIA_URL_REWRITE_FROM=
379
+ CSV_MEDIA_URL_REWRITE_TO=
380
+ ```
381
+
382
+ Unlike `source.wordpress.env`, this file is **not secret-bearing** — it holds
383
+ delimiter/encoding/vendor/rewrite hints only. Regular file handling applies. Every key is
384
+ optional: blank means auto-detect, so a blank file never blocks discovery.
385
+ - Discovery then uses the `rp-source-csv` adapter, which identifies the vendor (Shopify,
386
+ WooCommerce, Magento, BigCommerce, or `custom`) from the header row. Ask the user to name
387
+ the vendor only if the adapter reports a low-confidence or near-miss detection.
388
+
389
+ Workflow:
390
+
391
+ 1. If `config/wix.env` is missing, create it with empty keys, the requested dry-run mode,
392
+ and safe mode enabled:
393
+
394
+ ```bash
395
+ WIX_SITE_STRATEGY=
396
+ WIX_SITE_ID=
397
+ WIX_AUTH_TOKEN=
398
+ DRY_RUN=false
399
+ SAFE_MODE=true
400
+ SAFE_MODE_PHONE_NUMBER=+972 50 0000000
401
+ ```
402
+
403
+ Safe mode replaces outbound Wix email/phone write values with deterministic mock values
404
+ unless the user explicitly sets `SAFE_MODE=false` before mapping.
405
+ Dry-run is disabled by default; `DRY_RUN=true` or `--dry-run` runs the same generated
406
+ setup/import entrypoints while skipping Wix calls at the shared Wix boundary.
407
+ If the user asks to start, create, prepare, or run a migration "in dry-run mode",
408
+ write `DRY_RUN=true` into `config/wix.env` during scaffolding and carry that mode into
409
+ the execution-plan report. Do not later override it with `--no-dry-run` except for the
410
+ allowed new-site creation step or after explicit user approval to leave dry-run.
411
+ 2. Ask for the source site/app URL before asking for the platform. Try to infer the
412
+ platform from that URL or from a lightweight probe of the source (for example, a known
413
+ REST index, platform-specific headers, or HTML/application markers). Only ask the user
414
+ to identify the platform if detection is inconclusive.
415
+ 3. If the inferred platform offers multiple acquisition modes, ask the user to choose the
416
+ right one before requesting credentials.
417
+ - For Shopify URL-based migrations, the fork is: `Shopify Admin API` vs `public
418
+ storefront data only`.
419
+ - For WordPress / WooCommerce URL-based migrations, the fork is: `public content only`
420
+ vs `also include private/authenticated data`.
421
+ - For the WordPress / WooCommerce `public content only` path, do **not** ask for a
422
+ username, application password, or WooCommerce keys before discovery/import. Proceed
423
+ unauthenticated and make clear that the run will include only public data.
424
+ - For the WordPress / WooCommerce `also include private/authenticated data` path, ask
425
+ for the required credentials after the user selects that mode.
426
+ Do not ask about manual exports at this step; exports/files are a separate flow used
427
+ when the user provides files instead of a site URL (see "File-provided runs (CSV)").
428
+ 4. Before asking for any Wix site ID, ask whether the destination should be a `new site`
429
+ or an `existing site`, and record that as `WIX_SITE_STRATEGY`.
430
+ - If the user chooses `existing`, ask for `WIX_SITE_ID` later when it is the next
431
+ missing Wix detail.
432
+ - If the user chooses `new`, do not ask for an existing site ID; route to the site
433
+ creation step and fill `WIX_SITE_ID` only after the new site exists.
434
+ - For `new site`, the next question should be about the kind of Wix site to create
435
+ (for example standard Wix site vs Wix Studio vs headless, or another site-creation
436
+ fork required by the active tooling) rather than asking for a site ID that does not
437
+ exist yet.
438
+ - RePlatform destinations are **Wix Managed Headless** sites. Create them with the **Wix
439
+ CLI headless scaffold** — see "Headless site creation" below. The site id comes from the
440
+ scaffolded `wix.config.json`, not from an API key, so do **not** ask for a site-creation
441
+ API key here; the only prerequisite is that the Wix CLI is logged in
442
+ (`npx @wix/cli@latest login`).
443
+ 5. Once the platform and acquisition mode are known, create the matching
444
+ `config/source.<platform>.env` with empty keys and ask for missing required values one
445
+ at a time.
446
+ 6. Treat blank required keys as `needs-user`; do not start discovery if the missing value
447
+ would make discovery incomplete. Optional keys may remain blank when the adapter says
448
+ they are optional.
449
+ 7. Generated scripts should load project-local config first, then process environment,
450
+ with real environment variables allowed to override file values. Blank config values
451
+ must never overwrite non-empty environment variables.
452
+
453
+ Never print secret values back to the user. It is fine to say a required secret is
454
+ present or missing.
455
+
456
+ ## Headless site creation
457
+
458
+ When `WIX_SITE_STRATEGY=new`, site creation happens before setup/import. **Both delivery
459
+ modes create the site the same way** (see "Delivery mode"); `management` just stops before
460
+ the frontend build.
461
+
462
+ **Create the site with the Wix CLI headless scaffold — not the account-level Projects API.**
463
+ The Projects API (`POST /funnel/projects/v1/create`) was the prior default but is
464
+ **deprecated for this workflow**: in testing it produced sites that were **not** genuinely
465
+ headless and it silently dropped the `apps[]` install list. The CLI scaffold
466
+ (`npm create @wix/new@latest headless`, the same path the `wix-headless` skill uses) is the
467
+ verified way to get a real Wix Managed Headless site.
468
+
469
+ **Method (delegate to the `wix-headless` scaffold):**
470
+
471
+ - **Prerequisite:** the Wix CLI must be logged in **to the account the user intends the site
472
+ to live on**. Check `npx @wix/cli@latest whoami`; if logged out, halt to needs-user to run
473
+ `npx @wix/cli@latest login` (interactive — it prints a URL + code; it cannot be done from a
474
+ raw API key). This replaces the old "site-creation API key" input — headless creation is
475
+ CLI-authenticated, tied to the logged-in Wix account.
476
+ - **Confirm the account BEFORE scaffolding — this is a mandatory gate, not a nicety.** The
477
+ CLI silently creates the site on whatever account it is logged into, with no error if it's
478
+ the wrong one. Show the user the `whoami` email and confirm it is the intended Wix account.
479
+ If it is not (e.g. a personal Gmail account instead of the user's business account), halt to
480
+ needs-user: `npx @wix/cli@latest logout` then `login` as the correct account, and re-verify.
481
+ Do not scaffold against an unconfirmed account. **Use one account consistently for the whole
482
+ run** — the same CLI account creates the site *and* mints the import write token; never mix
483
+ in a separate `WIX_AUTH_TOKEN` API key that belongs to a different account (a create/import
484
+ account split silently writes to the wrong place or 404/403s).
485
+ - **Scaffold inside the active migration project** with the Wix CLI create command (this is
486
+ the primary, self-contained path — it needs no other skill installed). Run it from
487
+ `migrations/<project>/` and use `--folder-name frontend` unless the project artifacts
488
+ explicitly name a different scaffold folder. The command creates the `frontend/`
489
+ subfolder; it does not replace the migration folder or become the migration root:
490
+
491
+ ```bash
492
+ npm create @wix/new@latest -- headless \
493
+ --business-name "<Brand Name>" \
494
+ --folder-name frontend \
495
+ --site-template commerce --no-publish --skip-install
496
+ ```
497
+
498
+ This creates a real headless site and writes `frontend/wix.config.json` with `appId` and
499
+ `siteId`. This is the one step that may run live while the rest of the migration
500
+ remains in dry-run mode. Run the `npm create` command above directly —
501
+ `wix-headless` no longer ships a `scripts/scaffold.sh` wrapper, and this path
502
+ deliberately needs no other skill installed.
503
+ - **`--site-template commerce` is load-bearing when the migration carries a product
504
+ catalog — never scaffold `blank`.** `--site-template` accepts
505
+ `commerce|scheduler|registration|blank`, and **passing it bare, with no value, means
506
+ `blank`** ("no business solution preconfigured"). On a blank site, installing Wix Stores
507
+ afterwards through the App Installation API provisions **Catalog V1**, which this workflow
508
+ does not support at all — the Stores primitives in `rp-target-wix` are V3-only. A site's
509
+ catalog version is **fixed at provisioning** — there is no in-place V1 → V3 switch — so a
510
+ blank scaffold silently costs the whole site and forces a rebuild. The `commerce` template
511
+ is Commerce (Wix Stores) and provisions Stores on **Catalog V3** at creation. In `website`
512
+ mode, treat its pages as scaffolding to restyle, not as the delivered design.
513
+ - **Exactly one destination site per migration.** Site creation happens **once**. Before
514
+ scaffolding, read `WIX_SITE_ID` from `config/wix.env` — non-empty means the site already
515
+ exists, so do **not** scaffold again: not to retry a failed step, not to "start clean",
516
+ not after an error. **Never create a probe, test, or throwaway site** to verify what a
517
+ template or an install produced — every site lands in the user's real Wix account, stays
518
+ visible there, and has to be deleted by hand. Verify on the migration's own site with the
519
+ read-only catalog-version check below. If the site is genuinely unusable (e.g. it came up
520
+ `V1_CATALOG`), halt to needs-user with the site id and ask to approve a replacement rather
521
+ than rebuilding silently; on approval, write the new id into `config/wix.env` and report
522
+ the abandoned site id as safe to delete.
523
+ - **Record ids from `wix.config.json`:** persist `siteId` into `config/wix.env` as
524
+ `WIX_SITE_ID`, and keep `appId` in project artifacts. Construct the dashboard URL from the
525
+ site's `metaSiteId` (resolve it via `ListWixSites`/site query when needed).
526
+ - **Auth for later site-level writes is a CLI token, not a raw API key.** Mint it without
527
+ printing the secret to the transcript by running `scripts/mint-token.sh` from the
528
+ migration project root. The canonical copy lives at
529
+ `skills/replatform/resources/rp-execute-setup/scripts/mint-token.sh`; codegen copies it
530
+ into each migration project at scaffolding time. Run it via Bash:
531
+
532
+ ```bash
533
+ bash migrations/<project>/scripts/mint-token.sh
534
+ ```
535
+
536
+ Token shape: `OauthNG.JWS.<base64>.<base64>.<sig>` — a single line on stdout with no JSON
537
+ wrapper. Send it as a `Bearer` token (`Authorization: Bearer <token>`, plus
538
+ `wix-site-id: <siteId>`). The generated import client must send it as a Bearer token.
539
+ (`WIX_AUTH_TOKEN` is no longer a create-time API key; if set, it is the site write
540
+ credential the generated code consumes.)
541
+
542
+ **Do not** run `npx @wix/cli@latest token` raw in a Bash tool call — it prints the
543
+ credential to stdout which lands in the transcript. Always route through `mint-token.sh`.
544
+
545
+ **Wix Stores (and other apps) are NOT installed by the scaffold.** A freshly scaffolded
546
+ headless site has no Wix Stores — `stores/v3` returns `428 REQUIRED_APP_NOT_INSTALLED` until
547
+ Stores is installed. Install required apps as a distinct step after scaffolding, via the
548
+ same path `wix-headless` uses (its `SETUP.md` Step 3 → the `wix-manage` skill / app-install
549
+ API), authenticated with the CLI token. Verify installation (e.g. `stores/v3/products/count`
550
+ responds) before importing. Do not assume creation installed Stores.
551
+
552
+ **Then verify the catalog is V3 — before any Stores write.** Installing Stores does not
553
+ guarantee Catalog V3 (a `blank`-scaffolded site comes up V1). Gate on the read-only
554
+ Catalog Versioning API:
555
+
556
+ ```bash
557
+ curl -s -H "Authorization: Bearer $WIX_AUTH_TOKEN" -H "wix-site-id: $WIX_SITE_ID" \
558
+ https://www.wixapis.com/stores/v3/provision/version
559
+ ```
560
+
561
+ `catalogVersion` is `V3_CATALOG` (proceed), `STORES_NOT_INSTALLED` (install Stores, re-check),
562
+ or `V1_CATALOG` (**stop — write nothing, and see the one-site rule above**). Record the
563
+ result in `setup/setup-verification.json`. Do not skip this check on the assumption that
564
+ every Stores install is V3.
565
+
566
+ **Wipe the default demo catalog before importing — in BOTH modes.** A fresh Wix Stores
567
+ install (and `wix-headless`'s seed step) pre-populates the store with ~12 placeholder demo
568
+ products and demo categories. Left in place they mix with the migrated catalog (a clean
569
+ 100-product import otherwise reads as 112). After Stores is installed and before/right after
570
+ the import, delete the default demo products and demo categories so the store holds **only**
571
+ the migrated data (keep the system `All Products` category). This is the same cleanup the
572
+ website-mode section requires; it applies to the default `management` mode too, because both
573
+ modes now start from a freshly-provisioned Stores catalog.
574
+
575
+ **Site-scoping gotcha:** Wix Stores/Categories site-level APIs scope by the site's
576
+ **metaSiteId** in the `wix-site-id` header on some sites; if the scaffold `siteId` returns
577
+ `404`/`meta-site not found` on a Stores call, resolve and use the `metaSiteId`.
578
+
579
+ ## Website mode: build the storefront with `wix-headless`
580
+
581
+ Run this only when the delivery mode is `website` (the user explicitly asked for a
582
+ storefront/website/frontend). In `management` mode, skip this section entirely — the run
583
+ ends after import.
584
+
585
+ `wix-headless` builds a JavaScript storefront **only for a site it creates itself**; it
586
+ cannot target a pre-existing site id. So in `website` mode let it own the CLI scaffold — do
587
+ **not** run the "Headless site creation" scaffold yourself first (that would produce a
588
+ second, empty site). RePlatform then imports the migrated catalog into the site
589
+ `wix-headless` created.
590
+
591
+ Sequence:
592
+
593
+ 1. **Read-only migration prep first.** Run discovery → mapping (+ review checkpoint) →
594
+ setup-discovery → codegen as usual. Do **not** create a site yet, and leave
595
+ `WIX_SITE_ID` blank.
596
+ 2. **Hand off site creation + storefront to `wix-headless`.** Invoke the `wix-headless`
597
+ skill (Skill tool, name `wix-headless`; it starts at its own `SKILL.md`, which resolves the
598
+ project type and routes a new-site run to `references/managed/CREATE.md`) with the store
599
+ intent and brand. It creates a new headless site with Wix Stores installed, scaffolds an
600
+ Astro storefront, and builds + releases it, yielding a live URL. Its demo seeding is
601
+ idempotent and its pages read the live catalog at request time.
602
+ **Tell it to scaffold `--site-template commerce`.** Its own create flow scaffolds the
603
+ `blank` template on the reasoning that the model owns the design — correct for a
604
+ build-from-a-prompt run, wrong here: a blank site's Stores install comes up **Catalog V1**
605
+ and cannot be converted (see "Headless site creation"). Its template pages are scaffolding
606
+ to restyle against the captured source, not the delivered design.
607
+ 3. **Adopt that site as the migration destination.** Read `siteId` from the `wix-headless`
608
+ project's `wix.config.json`, persist it into `config/wix.env` as `WIX_SITE_ID`, and keep
609
+ `WIX_SITE_STRATEGY=new`. The Wix auth used for import must be able to write to that site.
610
+ Then run the catalog-version gate from "Headless site creation" before any Stores write —
611
+ a site handed over by `wix-headless` is not exempt.
612
+ 4. **Import into it — after removing the demo catalog.** Because `wix-headless` seeds demo
613
+ products/categories, first delete that demo catalog on the site, then run the generated
614
+ import (still behind the execution-plan approval gate) so the store holds only the
615
+ migrated data. Storefront pages query the live catalog, so the released site then serves
616
+ the migrated catalog; re-release only if statically generated routes must regenerate.
617
+ 5. **Report both layers.** The final handoff must state the storefront URL **and** keep the
618
+ `catalog/data imported` vs `website/homepage built` distinction (see `rp-execute-import`).
619
+
620
+ If `wix-headless` is unavailable in the runtime, halt to needs-user (it is required for
621
+ `website` mode — the storefront build); do not fall back to hand-building a frontend.
622
+
623
+ ## Recovery
624
+
625
+ - **Resume is the default.** If the workflow stopped mid-migration, re-running
626
+ orchestration inspects `orchestration/` plus phase artifacts (Step 2) and routes to the first
627
+ material gap. No work is repeated unnecessarily.
628
+ - **Never auto-delete.** Existing artifacts are preserved unless the user asks
629
+ otherwise.
630
+ - **From scratch is explicit and whole-project.** Only when the user explicitly
631
+ asks to start over, delete the entire `migrations/<project>/` directory and
632
+ re-run from discovery. Do not partially wipe individual stages.
633
+
634
+ ## Step 3: Choose the next step
635
+
636
+ Route according to the first material gap by consulting the matching internal resource
637
+ under `resources/`:
638
+
639
+ - Project-local config files missing or missing required values: create/update
640
+ `config/wix.env` and, after source platform is known, `config/source.<platform>.env`;
641
+ ask the user for missing details one at a time.
642
+ - Source acquisition decisions are known but destination strategy is not: resolve
643
+ `deliveryMode` and `WIX_SITE_STRATEGY`, defaulting `deliveryMode=management` unless the
644
+ user explicitly asked for a storefront or frontend.
645
+ - Source and destination decisions exist but deterministic preflight has not passed: run
646
+ the preflight contract and persist `orchestration/preflight.json`.
647
+ - No source-system understanding: consult `resources/rp-discovery/`.
648
+ - Source schema exists but no approved mapping: consult `resources/rp-mapper/`.
649
+ - Mapping plan exists but `mapping/review/mapping-summary.md` is missing: consult
650
+ `resources/rp-mapper/` to generate the summary and stop for user review.
651
+ - Mapping summary exists but the mapping review checkpoint has not been accepted: surface
652
+ `mapping/review/mapping-summary.md`, ask the user to review it, and wait for acceptance before
653
+ continuing.
654
+ - Mapping exists but Wix-side requirements are unclear: consult
655
+ `resources/rp-setup-discovery/`.
656
+ - Mapping and setup requirements exist but import code is missing: consult
657
+ `resources/rp-import-codegen/`.
658
+ - Safe mode or dry-run is enabled, but `execution/review/code-safety-review.md` is
659
+ missing, stale, failed, or not yet accepted: consult `resources/rp-import-codegen/`,
660
+ run the automatic review, fix any gaps it finds, regenerate the artifact, then surface
661
+ the passing review for user acceptance before the execution approval gate.
662
+ - **`website` mode, code generated but no destination site yet:** hand off to `wix-headless`
663
+ to create the site + storefront, then adopt its `siteId` (see "Website mode: build the
664
+ storefront with `wix-headless`") before setup/import.
665
+ - Setup artifacts exist but are not verified: consult
666
+ `resources/rp-execute-setup/`.
667
+ - Code and setup are ready, any required code-safety review has been accepted, and
668
+ `execution/execution-manifest.json` plus execution approval exist: consult
669
+ `resources/rp-execute-import/`.
670
+ - **`website` mode, catalog imported:** confirm the storefront is released and serving the
671
+ migrated catalog; report its URL. In `management` mode the run is done after import — do
672
+ not build a frontend.
673
+
674
+ ## Output
675
+
676
+ Respond minimally with:
677
+
678
+ - active project path
679
+ - artifacts found
680
+ - critical gaps
681
+ - exact next recommended skill
682
+ - concrete next action
683
+
684
+ ## Guardrails
685
+
686
+ - Do not guess the source schema when discovery artifacts are missing.
687
+ - Do not generate import code before a mapping plan exists.
688
+ - Do not execute import before setup verification and code review are complete.
689
+ - When notification mute is in effect (spec 0012), never proceed to import writes
690
+ without a verified mute — a failed mute halts to needs-user, with no
691
+ continue-anyway path. Never report a site as muted from strategy/config inference;
692
+ only from recorded verification state. Never unmute unless the owner explicitly
693
+ asks.