@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,529 @@
1
+ ---
2
+ name: rp-execute-import
3
+ description: >-
4
+ Runs the generated extract/import pipeline and records execution results. Use when setup
5
+ and codegen are complete and the user has approved the execution plan.
6
+ ---
7
+
8
+ # rp-execute-import
9
+
10
+ Execute the generated migration pipeline and capture import results.
11
+
12
+ ## Purpose
13
+
14
+ This skill runs the generated extract/import pipeline for the active project once setup and code generation are complete.
15
+
16
+ ## Required inputs
17
+
18
+ - generated code under `migrations/<project>/src/`
19
+ - `migrations/<project>/execution/execution-manifest.json`
20
+ - `migrations/<project>/execution/llm-handoff.json`
21
+ - `migrations/<project>/execution/review/import-plan.md`
22
+ - `migrations/<project>/execution/review/code-safety-review.md` when `SAFE_MODE=true` or
23
+ `DRY_RUN=true`
24
+ - `migrations/<project>/setup/setup-verification.json`
25
+
26
+ ## Preconditions
27
+
28
+ Do not proceed until:
29
+
30
+ - setup verification shows required items are passed or accepted; an unrecovered blocker
31
+ halts to needs-user
32
+ - reader, transform, and writer code exist for the intended entities
33
+ - execution artifacts define batching, retries, checkpoints, and write order clearly
34
+ - when `SAFE_MODE=true` or `DRY_RUN=true`, the post-codegen code-safety review exists and
35
+ has been accepted before execution approval is sought
36
+ - the **execution plan report has been presented and the user has accepted it** (see
37
+ below)
38
+
39
+ Prefer the machine-readable execution artifacts above. `execution/review/import-plan.md`
40
+ is a human-facing review artifact, not the primary execution contract.
41
+
42
+ Before live import and again before final reporting, validate
43
+ `execution/review/import-plan.freshness.json` with the deterministic freshness helper:
44
+
45
+ ```bash
46
+ node skills/replatform/scripts/artifact-freshness.js check migrations/<project> \
47
+ --domains-dir skills/replatform/resources/rp-target-wix/domains \
48
+ --delta execution/review/import-plan-delta.md
49
+ ```
50
+
51
+ If the check is stale, do not silently continue from the old approval text. Regenerate
52
+ `execution/review/import-plan.md` or append and present
53
+ `execution/review/import-plan-delta.md`; completion reports must reference the latest
54
+ accepted plan or delta.
55
+
56
+ ## Execution plan & user acceptance (required gate)
57
+
58
+ This gate precedes **all** writes to the user's site — both `rp-execute-setup`
59
+ provisioning and this import. Before writing anything, produce a human-readable
60
+ **execution plan report** and obtain explicit user acceptance. Do not write anything until
61
+ the user accepts. The report must show:
62
+
63
+ - **Setup changes to be made first:** apps to install (Blog / Members / Wix-Data enabler),
64
+ Wix Data enablement, and collections to create — so the user sees the site changes, not
65
+ just the content writes.
66
+ - **What will be imported and where:** each source entity → its Wix target (app or
67
+ collection) with record counts — e.g. posts → Wix Blog (1088); episodes →
68
+ `PodcastEpisodes` (86); categories/tags → Blog taxonomies; media → Media Manager (~1499).
69
+ Make media reporting explicit:
70
+ - referenced media imported through entity-native background ingestion
71
+ - referenced media imported through Media Manager first
72
+ - unattached media skipped by default unless explicitly in scope
73
+ - **What will NOT migrate cleanly / needs manual action:** the lossy and blocked items,
74
+ drawn from the mapping plan's faithfulness ledger and any `setup/setup-verification.json` items
75
+ still manual or blocked — e.g. category hierarchy flattened, comments anonymized,
76
+ drafts absent without auth, storage-plan upgrade required. **This must also include any
77
+ target with no verified Wix primitive** — state whether it falls back to a generic CMS
78
+ collection, to an `unverified`/best-effort runtime-derived call, or is skipped. Nothing
79
+ unverified or lossy may be written without first appearing here for consent.
80
+ Coupons follow the same native-first rule as other native Wix entities: prefer native
81
+ Wix Coupons, and mention CMS fallback only for truly unsupported coupon semantics.
82
+ - **Always state the analytics-data exclusion explicitly.** Historical analytics data —
83
+ traffic / visitor stats accumulated on the source — is **out of scope** and is **not**
84
+ imported (see "Out of scope" below). Call this out in the plan so the user knows before
85
+ accepting that analytics data will not migrate; do not let it pass silently.
86
+ - **Order & idempotency:** the write order and how re-runs dedupe. Be explicit that
87
+ source IDs are the stable migration key, while many native Wix target IDs are
88
+ server-assigned. The plan must state whether each entity re-run resolves via a
89
+ client-controlled source-id field on the target or via the durable local
90
+ `sourceId -> targetId` crosswalk. The plan must state the crosswalk authority
91
+ (`local`) and CMS mirror mode (`none`, `download`, `upload`, or `download-and-upload`).
92
+ - **URL preservation:** for public routed entities, state that source URL artifacts will
93
+ be captured locally under `state/url-preservation/`. List the public entity types whose
94
+ base paths and slugs will be tracked, any entity whose target route is deferred to the
95
+ website-builder phase, and whether redirects will be recorded as plans. The current
96
+ import phase must say that redirects and site routing are **not applied**.
97
+ - **Notification mute (spec 0012).** State that site notifications will be muted before
98
+ migration writes begin when mute is in effect. For a **new site** this is a one-line
99
+ factual disclosure (the mute is unconditional). For an **existing site that opted in**
100
+ (`WIX_MUTE_NOTIFICATIONS=on`) the disclosure is **mandatory and prominent** and must
101
+ state all three points:
102
+ - all site notifications will be muted before migration writes begin;
103
+ - visitor activity during the migration window (e.g. contact-form submissions,
104
+ Back in Stock alerts) will **not** generate notifications;
105
+ - the flow does **not** unmute automatically — after the migration the owner must
106
+ re-enable notifications themselves, or simply ask the agent to unmute at any point.
107
+
108
+ The owner accepting the plan is the consent for muting their live site. If the owner
109
+ rejects the mute line, revert to the existing-site default (`off`) and regenerate the
110
+ affected artifacts before seeking acceptance again.
111
+
112
+ Persist this in `execution/review/import-plan.md` (or a sibling report). This is the defined approval
113
+ checkpoint: the job pauses, surfaces the plan to the user, and resumes **only** on
114
+ accept. Nothing is written before acceptance.
115
+
116
+ If `SAFE_MODE=true` or `DRY_RUN=true`, this execution-plan approval gate comes only after
117
+ the separate post-codegen code-safety review checkpoint has passed. Do not merge the two
118
+ checkpoints into one prompt.
119
+
120
+ ## Out of scope — analytics (future enhancement)
121
+
122
+ **Do not attempt to import analytics data.** Historical traffic / visitor statistics —
123
+ the accumulated analytics records on the source (page views, sessions, visitor counts,
124
+ time-series reports) — are **not** part of the migration. Do not generate readers,
125
+ transforms, or writers for them. (This is about the *data*, not analytics
126
+ configuration/setup such as tracking tags — that is a separate concern and not what this
127
+ exclusion covers.)
128
+
129
+ - **Surface it before execute.** This exclusion must appear in the execution-plan report's
130
+ "What will NOT migrate" list (see the gate above) so the user is told **before** they
131
+ accept and we begin writing — not discovered afterward.
132
+ - **Future enhancement.** Analytics migration is a deferred scope item, not a permanent
133
+ limitation. If/when a faithful source→Wix analytics path exists, revisit and lift this
134
+ exclusion. Until then, treat analytics as explicitly skipped.
135
+
136
+ ## Execute the generated scripts — never an agentic MCP flow (required)
137
+
138
+ The **import** is performed by **running the generated artifact** (`node` the project's
139
+ entrypoint under `migrations/<project>/src/`), which writes to Wix via its own transport
140
+ (`fetch` + injected credentials to `www.wixapis.com`, or the Wix client SDK). The agent
141
+ **must not** perform the import writes itself by issuing per-record Wix MCP calls
142
+ (`CallWixSiteAPI`) and hand-translating shapes.
143
+
144
+ (Scope: this rule is **import-specific**. Setup execution (`rp-execute-setup`) may
145
+ currently use the agent+MCP for provisioning writes — an interim decision, with other
146
+ options still under discussion.)
147
+
148
+ Why the import must run the artifact:
149
+
150
+ - **Reproducibility & idempotency.** Re-runs, resume-from-checkpoint, write ordering, and
151
+ dedup keyed by source ID live in the artifact. For native Wix entities whose target IDs
152
+ are server-assigned, that means the artifact must maintain and consult the local
153
+ `state/crosswalk/crosswalk.ndjson` authority. An agent reconstructing writes ad hoc
154
+ bypasses all of it — a bulk, restartable data pipeline can't be driven by hand per
155
+ record.
156
+ - **Verified shapes.** The artifact calls `rp-target-wix`'s verified primitives. An agent
157
+ rebuilding request bodies live re-opens the exact shape-bug class we eliminated
158
+ (Ricos plugin enum case, oversized-HTML tag body, `heroImage.id`).
159
+ - **MCP may be absent at runtime.** Interactively-authenticated MCP servers can be missing
160
+ in headless/cron runs, so MCP can't be depended on as the write transport regardless of
161
+ whether the runtime is a pure script-runner or an agent. Either way the writes should
162
+ flow through the tested artifact, not be reconstructed by the model.
163
+ - **Validation honesty.** Writing by hand via MCP leaves the artifact's own auth, request
164
+ execution, async-media polling, retry, and checkpoint code unexercised — a green test
165
+ then says nothing about the path real users get. The Wix MCP's role here is
166
+ grounding/verification at codegen time and the one-time live contract test in
167
+ `rp-target-wix`, **not** the import transport.
168
+
169
+ Consequence for credentials: the artifact needs real Wix write credentials to run. If they
170
+ are absent, **halt to needs-user** — do **not** substitute the agent's MCP account auth to
171
+ "get the writes done." Missing credentials is a blocker to surface, not a path to route
172
+ around.
173
+
174
+ This skill should execute the machine import artifacts and generated entrypoints. It
175
+ should not re-decide write strategy live when `execution/execution-manifest.json`
176
+ already defines the ordered task graph and write contract.
177
+
178
+ ## Config files
179
+
180
+ Before running the generated entrypoint, verify the project-local config files exist and
181
+ contain required values:
182
+
183
+ - `migrations/<project>/config/wix.env`
184
+ - `WIX_SITE_STRATEGY`
185
+ - `WIX_SITE_ID`
186
+ - `WIX_AUTH_TOKEN` or another generated-code-supported Wix auth key
187
+ - `DRY_RUN`
188
+ - `SAFE_MODE`
189
+ - `SAFE_MODE_PHONE_NUMBER` when `SAFE_MODE` is enabled
190
+ - `migrations/<project>/config/source.<platform>.env`
191
+ - platform-specific source values, for example WordPress:
192
+ `WP_BASE_URL`, `WP_USERNAME`, `WP_APPLICATION_PASSWORD`
193
+
194
+ The generated script should load these files and then allow process env to override them.
195
+ `WIX_SITE_STRATEGY` is always required. `WIX_SITE_ID` is required before execution writes
196
+ begin; if the strategy is `new` and the site has not been created yet, halt to needs-user
197
+ and return to the site-creation step rather than assuming an existing-site flow. Never
198
+ print secret values.
199
+
200
+ `WIX_AUTH_TOKEN` is the canonical Wix auth key in project-local config. It may have been
201
+ used earlier for account-level site creation and may also power site-level writes when
202
+ the generated runtime supports that same key. If the generated import path needs a
203
+ different Wix credential, name that key explicitly in the generated artifacts.
204
+
205
+ If execution is blocked because a RePlatform `new site` + `headless` target was never
206
+ created, route back to the **Wix CLI headless scaffold** step defined in `replatform` →
207
+ "Headless site creation" (`npm create @wix/new@latest headless`). The account-level Projects
208
+ API is deprecated for this workflow (it produced non-headless sites).
209
+
210
+ When the accepted next run is dry-run, missing or blank `WIX_AUTH_TOKEN` and
211
+ `WIX_SITE_ID` are not blockers unless a local artifact requires the site ID as a stable
212
+ namespace. Report them as `would_block_live`, do not mint a Wix CLI token for dry-run, and
213
+ make the execution plan state that a later live run needs separate acceptance and valid
214
+ credentials.
215
+
216
+ If `DRY_RUN=true`, do not override it with `--no-dry-run` for setup probes, setup
217
+ provisioning, demo-catalog cleanup, extraction-side verification against Wix, or import
218
+ writes unless the user has explicitly approved leaving dry-run for that step or phase.
219
+ Prefer to avoid that override when a dry-run artifact or report can be produced instead.
220
+ The upstream new-site creation exception does not authorize this skill to make any other
221
+ live Wix API call.
222
+
223
+ Treat `migrations/<project>/config/*.env` as secret-bearing once they may contain real
224
+ values. Do not inspect them with whole-file reads that print contents into tool output;
225
+ check only existence and required-key status (`present`, `blank`, `missing`).
226
+
227
+ For CLI-scaffolded headless sites, acquire the site write token from the scaffolded
228
+ frontend folder with:
229
+
230
+ ```bash
231
+ npx @wix/cli@latest token --site "$WIX_SITE_ID"
232
+ ```
233
+
234
+ Persist the returned token as `WIX_AUTH_TOKEN` and send it as a Bearer token. The same Wix
235
+ CLI account should create the site and mint this token.
236
+
237
+ ## Workflow
238
+
239
+ 1. Resolve the active project.
240
+ 2. Review the machine execution artifacts and generated code; present the execution plan
241
+ report and obtain acceptance (see above) before any write.
242
+ 2b. Prepare deterministic local execution state before any setup/import write:
243
+
244
+ ```bash
245
+ node skills/replatform/scripts/execution-state-prepare.js migrations/<project>
246
+ ```
247
+
248
+ This validates `execution/execution-manifest.json`, initializes or validates
249
+ `state/crosswalk/crosswalk.ndjson`, rebuilds crosswalk indexes, initializes
250
+ `state/attempts/write-attempts.ndjson`, initializes `state/url-preservation/`
251
+ artifacts when URL preservation is enabled, and blocks CMS mirror download flows unless
252
+ local state is absent and explicit CMS mirror rows have been provided to seed it.
253
+ 3. Run a safe validation path first when possible, such as dry-run, sample batch, or read-only validation.
254
+ For dry-run, invoke the same generated setup/import entrypoints with `DRY_RUN=true` or
255
+ `--dry-run`. Do not use an agent/MCP hand-built substitute. The shared Wix runtime must
256
+ skip Wix calls at `wix.send`, write `state/attempts/wix-request-captures.ndjson`, and
257
+ keep placeholder target IDs out of `state/crosswalk/crosswalk.ndjson`.
258
+ Do not switch to `--no-dry-run` unless the user explicitly approves leaving dry-run for
259
+ that phase.
260
+ If media import is in scope and source media URLs are local/private (`localhost`,
261
+ `127.0.0.1`, Docker-only hosts, etc.), do not treat a successful dry-run as proof that
262
+ live media import can work. Wix Media import fetches URLs from Wix servers, so the user
263
+ must either expose the source through a public HTTPS tunnel or skip/defer media. This
264
+ is optional and, as far as we know today, only affects media import.
265
+ For Stores products carrying `subscriptionDetails`, the generated dry-run must execute
266
+ the same transform path as live import and call the vendored
267
+ `validateStoresProductSubscriptionDetails` helper before writes. Known contract
268
+ failures such as missing cadence or an invalid required nested field are record-level
269
+ preflight failures/deferred outcomes; they must be counted and reported without sending
270
+ that record to Wix.
271
+ If the run needs live Stores evidence during setup or recovery, use the shared
272
+ verification CLI and persist its JSON artifact:
273
+ `node skills/replatform/resources/rp-target-wix/scripts/verify-stores.js stores product-count --artifact migrations/<project>/execution/stores-product-count-verification.json`
274
+ or `stores product-by-source-marker --marker-path <path> --marker-value <value>`.
275
+ Do not write migration-local verification snippets for Stores product counts,
276
+ source-marker lookups, subscription probes, or probe cleanup.
277
+ 3b. **Clear the default demo catalog first.** A freshly provisioned Wix Stores catalog (and
278
+ `wix-headless`'s seed) ships ~12 placeholder demo products + demo categories. Delete them
279
+ before importing (keep the system `All Products` category) so the final store holds only
280
+ the migrated data — otherwise a clean 100-product import reads as 112. Applies in both
281
+ delivery modes.
282
+ 4. **Run source extraction first** using the generated extraction entrypoint (for example
283
+ `node src/extract/run-extract.js`). This step writes durable source files under the
284
+ project and must complete before the write phase unless the extraction artifacts are
285
+ already present and accepted for resume.
286
+ 5. **Execute the import by running the generated import entrypoint** (for example
287
+ `node src/import/run-import.js`) with credentials injected via config/env. The import
288
+ must read from the extracted files on disk — not by re-reading the source into memory,
289
+ and not by issuing writes through the agent/MCP.
290
+ For targeted recovery, run the generated main import entrypoint with its selective
291
+ resume flags rather than writing a migration-local one-off script:
292
+ - `--entity <entity>`
293
+ - `--source-type <subtype>`
294
+ - `--missing-only`
295
+ - `--failed-only`
296
+ - `--deferred-only`
297
+
298
+ `--missing-only`, `--failed-only`, and `--deferred-only` are mutually exclusive. The
299
+ runner must print or persist the selected record set summary before writes begin. For
300
+ native Wix entities, a local crosswalk hit must skip the create idempotently even if the
301
+ record was selected earlier.
302
+ If the execution manifest enables CMS mirror download, fetch CMS rows before this step
303
+ and pass them to the deterministic state-preparation layer; the generated import may use
304
+ only local crosswalk state after preparation succeeds.
305
+ 6. Capture compact reports, audit-log references, errors, retries, skipped records, and
306
+ checkpoint information from the shared runtime outputs. If a dependency phase has
307
+ systemic failures, stop before downstream writes that depend on it. Example:
308
+ product-category failures must block product writes unless the accepted execution plan
309
+ explicitly says category assignment is best-effort.
310
+ Safe-mode outputs must be summarized by counts and paths only: include skipped
311
+ safe-mode blocked record counts, the project-relative
312
+ `state/safe-mode/blocked-records.ndjson` path when present, and the
313
+ `state/safe-mode/email-replacements.ndjson` row count/path when replacement rows were
314
+ written. Do not print original email addresses or phone numbers from the recovery
315
+ ledger.
316
+ 7. Save durable execution artifacts, including the authoritative completion artifact and
317
+ deterministic user-facing completion summary.
318
+
319
+ ## Required final report contents
320
+
321
+ When execution finishes, the deterministic completion outputs must explicitly include:
322
+
323
+ - the destination site's **dashboard URL**
324
+ - the destination site's **editor URL** only when editor work was actually performed or
325
+ the next required step is explicitly in the editor
326
+ - the current **preview URL** only when public route/site verification is relevant to the
327
+ completed work
328
+ - whether store routes such as product/cart/checkout were verified or still unverified
329
+ - URL preservation counts: base paths captured, URL ledger rows written, redirect plans
330
+ recorded, unresolved public URLs, and manual-review URL rows
331
+ - safe-mode counts: email fields replaced, phone fields replaced, records skipped with
332
+ `SAFE_MODE_SUSPICIOUS_EMAIL`, and the project-relative safe-mode ledger paths. Do not
333
+ include original email addresses or phone numbers.
334
+ - dry-run counts when `dryRun: true`: requests built, Wix calls skipped, would create,
335
+ would update, would delete, would require live lookup, and local validation failures.
336
+ Do not report dry-run rows as created, updated, imported, installed, published, or
337
+ verified in Wix.
338
+ - an explicit statement that URL redirects/site routing were not applied in the current
339
+ import phase when `urlPreservation.applyRedirects` is `false`
340
+ - a plain-language distinction between:
341
+ - **catalog/data imported successfully**
342
+ - **website/homepage built successfully**
343
+ - **notification-mute state (spec 0012) — in every terminal report** (completed, halted
344
+ to needs-user, or aborted; an aborted run is exactly the case where the owner is least
345
+ likely to remember the mute happened). Derive "was muted" **only from recorded state**
346
+ — the `mute-site-notifications` item in `setup/setup-verification.json` and the import
347
+ run's preflight log entries — never from strategy/config inference. When a successful
348
+ mute is recorded, state in plain language that **all site notifications are currently
349
+ muted** and stay muted until re-enabled; that the owner can **simply ask the agent to
350
+ unmute them** (on request the agent calls `unmuteSiteNotifications` and confirms
351
+ `muted: false` via `getSiteMuteState`); and how to re-enable manually. For existing
352
+ sites this line is mandatory and prominent. If no successful mute is recorded, do not
353
+ claim the site is muted — for a run where mute was in effect, that is a blocker that
354
+ should already have stopped the import at the preflight.
355
+
356
+ Do not report a successful catalog import as if it automatically means a finished
357
+ website. If the homepage/root preview is still blank or no site shell has been built,
358
+ say that explicitly in the final report.
359
+
360
+ State the **delivery mode** explicitly (see `replatform` → "Delivery mode"):
361
+
362
+ - **`management` mode (default):** report that the deliverable is a **Wix-managed headless
363
+ backend** — data migrated and manageable from the dashboard, with **no customer-facing
364
+ website built (by design)**. Do not frame the missing storefront as an incomplete result.
365
+ You may note that a storefront can be generated on request (website mode, via
366
+ `wix-headless`), but do not build one unless the user asks.
367
+ - **`website` mode:** report the **storefront URL** produced by `wix-headless` and confirm
368
+ the released site serves the migrated catalog (not demo data).
369
+
370
+ ## Completion artifact authority
371
+
372
+ At the end of the run, artifact authority should be explicit:
373
+
374
+ 1. `execution-log.md` is authoritative for chronology and operator/debug context only
375
+ 2. `execution/completion-report.json` is authoritative for final outcome
376
+ 3. `execution/review/completion-summary.md` is the deterministic user-facing rendering of
377
+ `execution/completion-report.json`
378
+
379
+ This skill should not treat `execution-log.md` as the canonical source for final
380
+ imported/skipped/failed counts when `completion-report.json` exists.
381
+
382
+ ## Localhost media before live import
383
+
384
+ When source media URLs are local/private, ask the user to choose one path before live
385
+ media writes:
386
+
387
+ - Expose the source with a public HTTPS tunnel such as ngrok:
388
+
389
+ ```bash
390
+ brew install ngrok
391
+ ngrok config add-authtoken "<YOUR_AUTHTOKEN>"
392
+ ngrok http 8090
393
+ export WP_BASE_URL=https://<id>.ngrok-free.app
394
+ ```
395
+
396
+ - Or skip/defer media import and record the effect on hero images, galleries, downloadable
397
+ files, and other media-dependent references.
398
+
399
+ Non-media entities may continue if the execution plan clearly excludes or defers media.
400
+
401
+ ## Artifact to create or update
402
+
403
+ - `migrations/<project>/execution-log.md`
404
+ - `migrations/<project>/execution/live-import-summary.json`
405
+ - `migrations/<project>/execution/completion-report.json`
406
+ - `migrations/<project>/execution/review/completion-summary.md`
407
+ - `migrations/<project>/execution/recovery-log.json` for every resumed, partial,
408
+ missing-only, failed-only, or deferred-only run
409
+ - audit/report artifacts emitted by the shared import runtime
410
+
411
+ ## Recovery artifact contract
412
+
413
+ Targeted recovery is a first-class import mode, not a side script. Every selective,
414
+ resumed, partial, missing-only, failed-only, or deferred-only run must append one entry to
415
+ `execution/recovery-log.json` and update `execution/live-import-summary.json` through the
416
+ same shared summary writer used by the main import path.
417
+
418
+ Each recovery entry must include:
419
+
420
+ - recovery id
421
+ - timestamp
422
+ - selection filters
423
+ - reason
424
+ - records selected
425
+ - records attempted
426
+ - imported
427
+ - already present
428
+ - failed
429
+ - deferred
430
+ - crosswalk changes
431
+ - summary changes
432
+ - operator-visible outcome
433
+ - links to detailed logs
434
+
435
+ Do not overwrite earlier recovery entries. Failed or deferred records from an earlier
436
+ attempt must remain visible after a later successful recovery; the newer recovery entry and
437
+ summary delta explain what changed.
438
+
439
+ ## Completion report contract
440
+
441
+ This skill should expect the shared import runtime to emit a machine-readable completion
442
+ artifact and should preserve it as the primary post-run result.
443
+
444
+ `execution/completion-report.json` should be the authoritative source for:
445
+
446
+ - final run status:
447
+ `complete | complete_with_warnings | complete_with_recovered_records |
448
+ complete_with_deferred_records | incomplete_with_failures |
449
+ incomplete_with_mismatches | aborted`
450
+ - final completeness counts by entity and subtype: extracted, in-scope, attempted,
451
+ imported, already present by crosswalk, deferred, failed, skipped out of scope, and
452
+ unexpected skipped
453
+ - grouped skipped/deferred outcomes
454
+ - grouped failure outcomes
455
+ - mismatch rows where source, import, and crosswalk counts do not reconcile
456
+ - URL preservation summary counts and artifact paths when URL preservation is enabled
457
+ - dashboard/editor/preview destinations
458
+ - artifact references for logs and diagnostics
459
+
460
+ `execution/live-import-summary.json` should carry the same `entityCompleteness` accounting
461
+ contract during/after the live import so short imports are visible before any manual count
462
+ comparison. For every mapped entity/subtype row, the runtime must reconcile:
463
+
464
+ ```text
465
+ imported + alreadyPresentByCrosswalk + deferred + failed == inScope
466
+ ```
467
+
468
+ Any non-zero deferred, failed, or unexpected skipped count for an in-scope mapped entity
469
+ class must appear in the completion headline. Any mismatch must set the final status to
470
+ `incomplete_with_mismatches` unless the run was already `aborted`.
471
+
472
+ When more than one status applies, choose the highest-severity status in this order:
473
+
474
+ 1. `aborted`
475
+ 2. `incomplete_with_mismatches`
476
+ 3. `incomplete_with_failures`
477
+ 4. `complete_with_deferred_records`
478
+ 5. `complete_with_recovered_records`
479
+ 6. `complete_with_warnings`
480
+ 7. `complete`
481
+
482
+ The user-facing completion summary should be rendered deterministically from that artifact.
483
+ The completion report should be produced from the runtime's in-memory counters for the
484
+ current `runId`, with audit-log aggregation used only as a verification/fallback path.
485
+ When audit events are read, filter by `runId`; never infer final counts by counting every
486
+ line in an append-only `import-audit.ndjson` that may include dry-runs, retries, and
487
+ previous recovery passes.
488
+
489
+ ## Minimum execution log contents
490
+
491
+ - run timestamp
492
+ - command or entrypoint used
493
+ - extracted source location / manifest used
494
+ - entities processed
495
+ - records read, transformed, written, skipped, failed
496
+ - retry behavior
497
+ - blocking errors
498
+ - follow-up remediation
499
+ - member activation status, when members are in scope (activation automation created and
500
+ enabled post-window? label waves applied — which label, how many contacts per wave?) —
501
+ see rp-target-wix members guidance; never mass-send set-password emails
502
+ - dashboard URL
503
+ - editor URL when relevant
504
+ - preview URL when relevant
505
+ - post-import route verification status (for example product/cart/checkout reachable or
506
+ not yet installed)
507
+ - URL preservation artifact paths and counts, including redirect plans and unresolved
508
+ public URLs
509
+ - explicit state classification: `catalog imported`, `site shell built`, or both
510
+ - references to machine-readable report and audit artifacts
511
+
512
+ The execution log may mention outcome summaries, but it is not the authoritative source
513
+ for final imported/skipped/failed counts.
514
+
515
+ ## Guardrails
516
+
517
+ - **Import writes go through the executed artifact, not the agent.** Never perform import
518
+ writes via `CallWixSiteAPI`/MCP as a substitute for running the script. MCP is
519
+ verification-only here (see the section above). (Setup execution is out of scope for this
520
+ rule — see `rp-execute-setup`.)
521
+ - Prefer `execution/execution-manifest.json` over markdown when
522
+ deciding what to run.
523
+ - Prefer `execution/completion-report.json` over `execution-log.md` when reporting final
524
+ outcome to the user.
525
+ - Prefer `execution/recovery-log.json` over migration-local recovery scripts when
526
+ explaining targeted recovery outcomes.
527
+ - Prefer dry-runs or sample batches before full import.
528
+ - Stop on systemic mapping or write failures rather than amplifying bad writes.
529
+ - Preserve enough logging to support replay and debugging.