@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.
- package/README.md +5 -1
- package/package.json +1 -1
- package/skills/wix-app/SKILL.md +4 -1
- package/skills/wix-app/references/APP_TOOLS.md +134 -0
- package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +1 -1
- package/skills/wix-app/references/DASHBOARD_PAGE.md +0 -10
- package/skills/wix-app/references/DATA_COLLECTION.md +6 -4
- package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +28 -7
- package/skills/wix-app/references/SERVICE_PLUGIN.md +12 -10
- package/skills/wix-app/references/STORES_VERSIONING.md +9 -211
- package/skills/wix-app/references/app-tools/TOOLS.md +75 -0
- package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +5 -0
- package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +2 -2
- package/skills/wix-app/references/editor-react-component/A11Y-REVIEW-REFERENCE.md +172 -0
- package/skills/wix-app/references/editor-react-component/A11Y-REVIEW.md +138 -0
- package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +172 -0
- package/skills/wix-app/references/editor-react-component/BRANDED-COMPONENTS.md +29 -0
- package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +1 -1
- package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +57 -0
- package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +33 -2
- package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +5 -3
- package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +18 -1
- package/skills/wix-app/references/editor-react-component/PARTS.md +15 -2
- package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +4 -3
- package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +13 -9
- package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +4 -0
- package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +4 -0
- package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +3 -1
- package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +4 -0
- package/skills/wix-app/references/service-plugin/TOOLS_PROVIDER.md +54 -0
- package/skills/wix-app/references/stores/CATEGORIES.md +22 -0
- package/skills/wix-app/references/stores/GET_PRODUCT.md +99 -0
- package/skills/wix-app/references/stores/INVENTORY.md +37 -0
- package/skills/wix-app/references/stores/QUERY.md +119 -0
- package/skills/wix-app/references/stores/WRITE.md +55 -0
- package/skills/wix-docs/SKILL.md +35 -3
- package/skills/wix-headless/SKILL.md +9 -2
- package/skills/wix-headless/entry/bootstrap.mjs +2 -2
- package/skills/wix-headless/entry/skill.md +0 -2
- package/skills/wix-headless/references/CAPABILITIES.md +6 -4
- package/skills/wix-headless/references/CONTENT.md +36 -0
- package/skills/wix-headless/references/DESIGN.md +54 -0
- package/skills/wix-headless/references/DISCOVERY.md +25 -1
- package/skills/wix-headless/references/FEEDBACK.md +16 -5
- package/skills/wix-headless/references/IMAGE_GENERATION.md +10 -0
- package/skills/wix-headless/references/SDK_HANDOFF.md +2 -0
- package/skills/wix-headless/references/SEED.md +3 -1
- package/skills/wix-headless/references/SETUP.md +1 -1
- package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +3 -2
- package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +42 -2
- package/skills/wix-headless/references/inline-recipes/setup-bookings.md +5 -1
- package/skills/wix-headless/references/inline-recipes/setup-forms.md +1 -1
- package/skills/wix-headless/references/inline-recipes/setup-online-store.md +33 -8
- package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +3 -1
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +73 -0
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +38 -2
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +20 -1
- package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +1 -1
- package/skills/wix-headless/references/managed/CONNECT.md +2 -2
- package/skills/wix-headless/references/managed/CREATE.md +15 -1
- package/skills/wix-headless/references/managed/DEPLOYMENT.md +47 -0
- package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +8 -0
- package/skills/wix-headless/references/stripe/DEPLOYMENT.md +8 -0
- package/skills/wix-manage/SKILL.md +131 -12
- package/skills/wix-manage/references/analytics/analytics-dashboard-navigation.md +41 -0
- package/skills/wix-manage/references/analytics/query-site-analytics.md +66 -9
- package/skills/wix-manage/references/app-installation/app-installation-dashboard-navigation.md +28 -0
- package/skills/wix-manage/references/app-installation/install-wix-apps.md +3 -0
- package/skills/wix-manage/references/blog/blog-dashboard-navigation.md +56 -0
- package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +31 -6
- package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +3 -1
- package/skills/wix-manage/references/bookings/bookings-dashboard-navigation.md +63 -0
- package/skills/wix-manage/references/bookings/create-booking-service-from-prompt.md +6 -5
- package/skills/wix-manage/references/bookings/create-course-service.md +30 -5
- package/skills/wix-manage/references/bookings/diagnose-availability-issues.md +85 -42
- package/skills/wix-manage/references/cms/cms-dashboard-navigation.md +44 -0
- package/skills/wix-manage/references/cms/cms-data-items-crud.md +31 -3
- package/skills/wix-manage/references/cms/cms-publishing-flow.md +287 -0
- package/skills/wix-manage/references/cms/cms-schema-management.md +33 -1
- package/skills/wix-manage/references/contacts/contacts-dashboard-navigation.md +46 -0
- package/skills/wix-manage/references/contacts/create-a-contact.md +82 -0
- package/skills/wix-manage/references/contacts/update-a-contact.md +119 -0
- package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +82 -0
- package/skills/wix-manage/references/dashboard-navigation/routes.json +1733 -0
- package/skills/wix-manage/references/domains/domains-dashboard-navigation.md +32 -0
- package/skills/wix-manage/references/ecommerce/ecom-pricing.md +4 -4
- package/skills/wix-manage/references/ecommerce/ecom-shipping.md +1 -1
- package/skills/wix-manage/references/ecommerce/gift-cards/ecom-gift-cards-goal-sell-gift-cards.md +338 -0
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-create-discount-rule.md +42 -78
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-bundle-and-save.md +1 -1
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-stock-mover.md +1 -1
- package/skills/wix-manage/references/ecommerce/pricing-promotions/ecom-pricing-flow-upsell-boost.md +1 -1
- package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +90 -92
- package/skills/wix-manage/references/events/create-wix-event.md +176 -0
- package/skills/wix-manage/references/events/manage-wix-events.md +174 -0
- package/skills/wix-manage/references/forms/forms-dashboard-navigation.md +44 -0
- package/skills/wix-manage/references/get-paid/get-paid-dashboard-navigation.md +52 -0
- package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +30 -7
- package/skills/wix-manage/references/google-ads/billing-and-payment.md +80 -0
- package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +212 -0
- package/skills/wix-manage/references/google-ads/get-campaign-suggestions.md +110 -0
- package/skills/wix-manage/references/google-ads/google-ads-dashboard-navigation.md +25 -0
- package/skills/wix-manage/references/google-ads/install-and-create-account.md +155 -0
- package/skills/wix-manage/references/google-ads/manage-campaign-lifecycle.md +63 -0
- package/skills/wix-manage/references/google-ads/query-campaign-analytics.md +155 -0
- package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +225 -144
- package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +19 -10
- package/skills/wix-manage/references/marketing/marketing-dashboard-navigation.md +52 -0
- package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +99 -1
- package/skills/wix-manage/references/pricing-plans/pricing-plans-dashboard-navigation.md +45 -0
- package/skills/wix-manage/references/restaurants/restaurants-dashboard-navigation.md +68 -0
- package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +94 -125
- package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +48 -9
- package/skills/wix-manage/references/site-properties/site-properties-dashboard-navigation.md +31 -0
- package/skills/wix-manage/references/sites/create-headless-site.md +52 -0
- package/skills/wix-manage/references/sites/create-site-from-template.md +2 -25
- package/skills/wix-manage/references/sites/site-import.md +243 -0
- package/skills/wix-manage/references/sites/sites-dashboard-navigation.md +29 -0
- package/skills/wix-manage/references/stores/add-store-pages-to-site.md +17 -1
- package/skills/wix-manage/references/stores/create-product-from-image.md +8 -6
- package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +16 -10
- package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +26 -8
- package/skills/wix-manage/references/stores/stores-dashboard-navigation.md +65 -0
- package/skills/wix-manage/references/stores/update-product-with-options.md +39 -7
- package/skills/wix-replatform/.publish-manifest.json +8 -0
- package/skills/wix-replatform/SKILL.md +693 -0
- package/skills/wix-replatform/lib/artifact-freshness.js +215 -0
- package/skills/wix-replatform/lib/completion-report.js +200 -0
- package/skills/wix-replatform/lib/config-env.js +59 -0
- package/skills/wix-replatform/lib/execution-manifest.js +185 -0
- package/skills/wix-replatform/lib/execution-state.js +173 -0
- package/skills/wix-replatform/lib/import-recovery.js +313 -0
- package/skills/wix-replatform/lib/local-state.js +642 -0
- package/skills/wix-replatform/lib/orchestration-preflight.js +143 -0
- package/skills/wix-replatform/lib/orchestration-router.js +122 -0
- package/skills/wix-replatform/lib/orchestration-state.js +455 -0
- package/skills/wix-replatform/lib/progress-log.js +224 -0
- package/skills/wix-replatform/lib/progress-log.sh +140 -0
- package/skills/wix-replatform/lib/url-preservation-state.js +391 -0
- package/skills/wix-replatform/resources/rp-discovery/SKILL.md +184 -0
- package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +529 -0
- package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +316 -0
- package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +64 -0
- package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +1114 -0
- package/skills/wix-replatform/resources/rp-mapper/SKILL.md +430 -0
- package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +217 -0
- package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +148 -0
- package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +378 -0
- package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +183 -0
- package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +478 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +136 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +310 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +1081 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +618 -0
- package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +949 -0
- package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +196 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +66 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +60 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +95 -0
- package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +82 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +256 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +249 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +444 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +774 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +71 -0
- package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +632 -0
- package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +330 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +21 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +39 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +35 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +35 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +36 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +35 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +131 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +21 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +97 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +528 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +38 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +53 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +84 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +25 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +38 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +37 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +90 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +64 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +141 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +384 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +260 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +238 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +237 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +238 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +2219 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +31 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +100 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +107 -0
- package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +344 -0
- package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +250 -0
- package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1927 -0
- package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +83 -0
- package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +141 -0
- package/skills/wix-replatform/scripts/artifact-freshness.js +76 -0
- package/skills/wix-replatform/scripts/execution-manifest-validate.js +43 -0
- package/skills/wix-replatform/scripts/execution-state-prepare.js +128 -0
- package/skills/wix-replatform/scripts/orchestration-preflight.js +48 -0
- package/skills/wix-replatform/scripts/orchestration-route.js +46 -0
- package/skills/wix-replatform/scripts/orchestration-state.js +245 -0
- package/skills/wix-vibe-headless/SKILL.md +54 -25
- package/skills/wix-vibe-headless/install/deploy.cjs +95 -0
- package/skills/wix-vibe-headless/install/pin-agents-md.cjs +34 -0
- package/skills/wix-vibe-headless/platforms/README.md +26 -0
- package/skills/wix-vibe-headless/platforms/base44.md +177 -0
- package/skills/wix-vibe-headless/platforms/generic.md +122 -0
- package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +230 -119
- package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +43 -0
- package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +25 -0
- package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +15 -0
- package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +35 -0
- package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +38 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +40 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +54 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +65 -0
- package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +50 -0
- package/skills/wix-vibe-headless/references/blog/seed/SEED.md +103 -0
- package/skills/wix-vibe-headless/references/blog/seed/seed-blog.js +270 -0
- package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +260 -145
- package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +65 -0
- package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +47 -0
- package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +13 -0
- package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +126 -0
- package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +108 -0
- package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +58 -0
- package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +95 -0
- package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +94 -0
- package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +89 -0
- package/skills/wix-vibe-headless/references/bookings/{wix-bookings-checkout.js → app/rest/wix-bookings-checkout.js} +1 -1
- package/skills/wix-vibe-headless/references/bookings/{wix-bookings-services.js → app/rest/wix-bookings-services.js} +90 -12
- package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +117 -0
- package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.js +333 -0
- package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +169 -147
- package/skills/wix-vibe-headless/references/cms/app/collection.config.js +31 -0
- package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +18 -0
- package/skills/wix-vibe-headless/references/cms/{wix-cms.js → app/rest/wix-cms.js} +47 -2
- package/skills/wix-vibe-headless/references/cms/seed/SEED.md +145 -0
- package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +228 -131
- package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +23 -0
- package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +43 -0
- package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +13 -0
- package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +29 -0
- package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +57 -0
- package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +78 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +27 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +54 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +40 -0
- package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +81 -0
- package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +48 -0
- package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +36 -0
- package/skills/wix-vibe-headless/references/events/{wix-events-browse.js → app/rest/wix-events-browse.js} +3 -2
- package/skills/wix-vibe-headless/references/events/seed/SEED.md +107 -0
- package/skills/wix-vibe-headless/references/events/seed/seed-events.js +251 -0
- package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +276 -188
- package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +101 -0
- package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +33 -0
- package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +21 -0
- package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +29 -0
- package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +54 -0
- package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +77 -0
- package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +36 -0
- package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +32 -0
- package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +35 -0
- package/skills/wix-vibe-headless/references/members/{wix-members-auth.js → app/rest/wix-members-auth.js} +6 -3
- package/skills/wix-vibe-headless/references/members/install/Register.jsx +22 -0
- package/skills/wix-vibe-headless/references/members/seed/SEED.md +22 -0
- package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +233 -104
- package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +31 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +15 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +39 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +15 -0
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +29 -0
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +35 -0
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +27 -0
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +25 -0
- package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +39 -0
- package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +27 -0
- package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +60 -0
- package/skills/wix-vibe-headless/references/portfolio/{wix-portfolio.js → app/rest/wix-portfolio.js} +84 -55
- package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +94 -0
- package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.js +236 -0
- package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +240 -117
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +35 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +48 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +16 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +35 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +25 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +28 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +30 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +30 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +53 -0
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +28 -0
- package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +86 -0
- package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.js +251 -0
- package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +248 -124
- package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +81 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +71 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +43 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +21 -0
- package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +60 -0
- package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +63 -0
- package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +32 -0
- package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +73 -0
- package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +28 -0
- package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +102 -0
- package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +180 -0
- package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.js +452 -0
- package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +56 -0
- package/skills/wix-vibe-headless/references/shared/{wix-client.js → app/rest/wix-client.js} +6 -8
- package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +6 -0
- package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +263 -148
- package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +20 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +150 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/ProductCard.jsx +167 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/ProductGallery.jsx +51 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/ProductGrid.jsx +54 -0
- package/skills/wix-vibe-headless/references/storefront/app/components/VariantPicker.jsx +119 -0
- package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +71 -0
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +109 -0
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +98 -0
- package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +27 -0
- package/skills/wix-vibe-headless/references/storefront/app/pages/ProductDetail.jsx +139 -0
- package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +75 -0
- package/skills/wix-vibe-headless/references/storefront/{wix-store-cart.js → app/rest/wix-store-cart.js} +1 -1
- package/skills/wix-vibe-headless/references/storefront/{wix-store-catalog.js → app/rest/wix-store-catalog.js} +25 -2
- package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +111 -0
- package/skills/wix-vibe-headless/references/storefront/seed/seed-store.js +299 -0
- /package/skills/wix-vibe-headless/references/blog/{wix-blog.js → app/rest/wix-blog.js} +0 -0
- /package/skills/wix-vibe-headless/references/events/{wix-events-registration.js → app/rest/wix-events-registration.js} +0 -0
- /package/skills/wix-vibe-headless/references/pricing-plans/{wix-pricing-plans.js → app/rest/wix-pricing-plans.js} +0 -0
- /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-menu.js → app/rest/wix-restaurants-menu.js} +0 -0
- /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-ordering.js → app/rest/wix-restaurants-ordering.js} +0 -0
- /package/skills/wix-vibe-headless/references/restaurants/{wix-restaurants-reservations.js → app/rest/wix-restaurants-reservations.js} +0 -0
package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: "RECIPE: Change a Site's
|
|
3
|
-
description: "Updates the site-level payment currency (store billing currency) using Site Properties API, including the required request body shape and field mask."
|
|
2
|
+
name: "RECIPE: Change a Site's Regional Properties (Currency, Time Zone, Language) via Site Properties API"
|
|
3
|
+
description: "Updates the site-level payment currency (store billing currency) using Site Properties API, including the required request body shape and field mask. Covers the site time zone and primary language through the same call, whose field mask names top-level properties."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# RECIPE: Change a Site's
|
|
6
|
+
# RECIPE: Change a Site's Regional Properties via Site Properties API
|
|
7
7
|
|
|
8
8
|
## Goal
|
|
9
|
-
Update a Wix site's **
|
|
9
|
+
Update a Wix site's **regional properties** — payment currency, time zone, or primary language — programmatically.
|
|
10
10
|
|
|
11
11
|
## When to use
|
|
12
12
|
- You need to switch a site's store/payment currency (for example, from `USD` to `EUR`).
|
|
13
|
+
- You need to change a site's time zone or primary language.
|
|
13
14
|
- You want to automate regional/business setup for sites.
|
|
14
15
|
|
|
15
16
|
## Important notes before you start
|
|
16
|
-
-
|
|
17
|
+
- These fields are part of **Site Properties** (often shown in the dashboard under regional/business info).
|
|
17
18
|
- A successful update increments the Site Properties `version`.
|
|
18
19
|
- Use a **field mask** (`fields.paths`) to indicate which fields you're updating.
|
|
20
|
+
- **Field mask paths are top-level property names.** The read response also contains a `locale` object, but it is not the write surface — see Gotchas.
|
|
19
21
|
|
|
20
22
|
## Step 1 — (Optional) Read current site properties version
|
|
21
23
|
This is useful to understand the current snapshot version and other regional fields.
|
|
@@ -25,8 +27,14 @@ curl -X GET 'https://www.wixapis.com/site-properties/v4/properties' \
|
|
|
25
27
|
-H 'Authorization: <AUTH>'
|
|
26
28
|
```
|
|
27
29
|
|
|
28
|
-
## Step 2 — Update the
|
|
29
|
-
Use the `PATCH /site-properties/v4/properties` endpoint: put the new
|
|
30
|
+
## Step 2 — Update the properties you need
|
|
31
|
+
Use the `PATCH /site-properties/v4/properties` endpoint: put the new values under `properties` and name each one in a `fields.paths` mask.
|
|
32
|
+
|
|
33
|
+
| Property | Field name | Value format |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| Payment currency | `paymentCurrency` | 3-letter ISO-4217 code — `USD`, `EUR`, `GBP` |
|
|
36
|
+
| Time zone | `timeZone` | IANA time zone name — `America/New_York`, `Europe/Rome` |
|
|
37
|
+
| Primary language | `language` | 2-letter ISO 639-1 code — `en`, `es`, `it` |
|
|
30
38
|
|
|
31
39
|
```bash
|
|
32
40
|
curl -X PATCH 'https://www.wixapis.com/site-properties/v4/properties' \
|
|
@@ -42,18 +50,49 @@ curl -X PATCH 'https://www.wixapis.com/site-properties/v4/properties' \
|
|
|
42
50
|
}'
|
|
43
51
|
```
|
|
44
52
|
|
|
53
|
+
Time zone, same shape:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
curl -X PATCH 'https://www.wixapis.com/site-properties/v4/properties' \
|
|
57
|
+
-H 'Content-Type: application/json' \
|
|
58
|
+
-H 'Authorization: <AUTH>' \
|
|
59
|
+
--data-binary '{
|
|
60
|
+
"properties": {
|
|
61
|
+
"timeZone": "America/New_York"
|
|
62
|
+
},
|
|
63
|
+
"fields": {
|
|
64
|
+
"paths": ["timeZone"]
|
|
65
|
+
}
|
|
66
|
+
}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
To update several properties at once, include each one in `properties` and name each in `paths`:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
--data-binary '{
|
|
73
|
+
"properties": { "timeZone": "Europe/Rome", "language": "en" },
|
|
74
|
+
"fields": { "paths": ["timeZone", "language"] }
|
|
75
|
+
}'
|
|
76
|
+
```
|
|
77
|
+
|
|
45
78
|
### Expected response
|
|
46
|
-
A successful call returns
|
|
79
|
+
A successful call returns only the updated Site Properties snapshot version — it does **not** echo the properties back:
|
|
47
80
|
|
|
48
81
|
```json
|
|
49
82
|
{ "version": "123" }
|
|
50
83
|
```
|
|
51
84
|
|
|
85
|
+
To confirm the new value, re-read with the Step 1 `GET`.
|
|
86
|
+
|
|
52
87
|
## Gotchas & troubleshooting
|
|
53
|
-
- **Always send a field mask**: omitting `fields.paths`
|
|
88
|
+
- **Always send a field mask**: omitting `fields.paths` fails with `400` and `"Illegal request - No updates on request body"`.
|
|
89
|
+
- **Do not nest the mask path under `locale`.** The `GET` response contains a `locale` object (`languageCode`, `country`), which makes a path like `locale.timezone` look plausible — it is rejected with `400` and `"Illegal request - Unknown field in field mask - locale.timezone"`. Time zone and language are the top-level `timeZone` and `language` fields.
|
|
90
|
+
- **`locale.languageCode` is a read-only projection** and can differ from the top-level `language` value. Set `language`; read `language` back to verify.
|
|
54
91
|
- Currency must be a **3-letter ISO-4217** code (for example, `USD`, `CAD`, `EUR`, `GBP`).
|
|
92
|
+
- There is no separate per-field endpoint for currency, time zone, or language — all three go through this one call.
|
|
55
93
|
|
|
56
94
|
## Related APIs
|
|
57
95
|
- **Site Properties API**: [REST](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/introduction)
|
|
96
|
+
- **Get Site Properties** (full read shape): [REST](https://dev.wix.com/docs/api-reference/business-management/site-properties/properties/get-site-properties)
|
|
58
97
|
- Stores Currency Converter (conversion utilities, not for setting the site currency):
|
|
59
98
|
- `POST https://www.wixapis.com/currency_converter/v1/currencies/amounts/{from}/convert/{to}`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Site Settings Dashboard Navigation"
|
|
3
|
+
description: "Builds direct links to the site-settings dashboard pages on manage.wix.com — the settings hub, website settings, and language & region. Pairs site properties with the Site Properties read API. Use when the user asks where something is in the Wix dashboard, wants a direct link to a dashboard page, or you need a dashboard URL to include with the result of an API operation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Site Settings Dashboard Navigation
|
|
7
|
+
|
|
8
|
+
Build direct links into the settings pages of a site's dashboard. For the general URL contract (metaSiteId, fallbacks, redirects), see [Dashboard Navigation](../dashboard-navigation/dashboard-navigation.md).
|
|
9
|
+
|
|
10
|
+
## Main Pages
|
|
11
|
+
|
|
12
|
+
| Page | URL after `/dashboard/{metaSiteId}/` | What it manages |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| Settings hub | `settings` | All site settings sections (business info, payments, etc.) |
|
|
15
|
+
| Website settings | `settings/website-settings` | Site name, favicon, social sharing |
|
|
16
|
+
| Language & region | `settings/language-and-region` | Language, currency, time zone |
|
|
17
|
+
|
|
18
|
+
Older `manage-website...` links redirect to the current routes.
|
|
19
|
+
|
|
20
|
+
## Pairing Entities with Their Read APIs
|
|
21
|
+
|
|
22
|
+
| Entity | Read API | Dashboard link |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| Site properties (business info, locale, currency) | `GET /site-properties/v4/properties` | `settings` (hub) or `settings/language-and-region` |
|
|
25
|
+
|
|
26
|
+
Example — after changing the payment currency:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Payment currency set to EUR.
|
|
30
|
+
Review your regional settings: https://manage.wix.com/dashboard/{metaSiteId}/settings/language-and-region
|
|
31
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Create Headless Site"
|
|
3
|
+
description: Creates a Wix Headless site (headless business) with one account-level API call — site, Wix Business Solution apps, and a configured OAuth client.
|
|
4
|
+
---
|
|
5
|
+
# Create Headless Site
|
|
6
|
+
|
|
7
|
+
Headless sites are not created from templates. One account-level call creates the site, installs the requested Wix Business Solution apps, and creates and configures the site's OAuth client.
|
|
8
|
+
|
|
9
|
+
> Do NOT use the [Create Site from Template](create-site-from-template.md) API for headless sites — it only tags the site's namespace and skips the headless setup entirely.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- Wix account with site creation permissions
|
|
14
|
+
- Account-level API access
|
|
15
|
+
|
|
16
|
+
## Provision a Headless Business
|
|
17
|
+
|
|
18
|
+
**Endpoint**: `POST https://www.wixapis.com/headless-business-setup/v1/headless-business/provision`
|
|
19
|
+
|
|
20
|
+
**Request Body**:
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"newMetasite": {
|
|
24
|
+
"namingStrategy": { "metaSiteName": "My Headless Business" },
|
|
25
|
+
"seedOptions": [
|
|
26
|
+
{ "businessSolution": "STORES", "clearTemplateContent": true, "seedDemoContent": false }
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"synchronousSteps": ["SET_METASITE_NAME", "CONFIGURE_HEADLESS_APP"]
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
- `namingStrategy` — exactly one of: `metaSiteName` (exact display name), `llmPromptBasedName: {}` (name derived from the top-level `prompt` field), or `defaultName: {}`
|
|
34
|
+
- `seedOptions` — Wix Business Solution apps to install at creation: `STORES`, `BLOG`, `BOOKINGS`, `EVENTS`, `PORTFOLIO`, `PRICING_PLANS`. Each entry takes `clearTemplateContent` (remove sample content) and `seedDemoContent` (seed demo content). Empty installs none
|
|
35
|
+
- `synchronousSteps` — steps to complete before the call returns: `SET_METASITE_NAME`, `CONFIGURE_HEADLESS_APP`, `SEED_CONTENT`. Omitted steps run asynchronously. Include `CONFIGURE_HEADLESS_APP` when the OAuth client must be usable immediately
|
|
36
|
+
|
|
37
|
+
**Response**:
|
|
38
|
+
```json
|
|
39
|
+
{ "metaSiteId": "<SITE_ID>", "appId": "<OAUTH_CLIENT_ID>" }
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`appId` is the site's OAuth client ID — do NOT create a separate OAuth app.
|
|
43
|
+
|
|
44
|
+
## Existing Sites
|
|
45
|
+
|
|
46
|
+
To provision headless onto an existing site, pass `"existingMetasite": {}` instead of `newMetasite`. This is a site-level call in the context of that site.
|
|
47
|
+
|
|
48
|
+
## Next Steps
|
|
49
|
+
|
|
50
|
+
After creating the site:
|
|
51
|
+
- Install additional apps using [Install Wix Apps](../app-installation/install-wix-apps.md)
|
|
52
|
+
- Add content (products, services, blog posts, etc.)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "Create Site from Template"
|
|
3
|
-
description: Creates new Wix sites from templates using account-level APIs. Covers template search, site creation,
|
|
3
|
+
description: Creates new Wix sites from templates using account-level APIs. Covers template search, site creation, and publishing. Not for headless sites.
|
|
4
4
|
---
|
|
5
5
|
# Create Site from Template
|
|
6
6
|
|
|
@@ -108,23 +108,10 @@ The `siteName` must follow these rules:
|
|
|
108
108
|
|
|
109
109
|
If `siteName` is not provided, one is generated automatically.
|
|
110
110
|
|
|
111
|
-
### For Headless Sites
|
|
112
|
-
|
|
113
|
-
Add `"namespace": "HEADLESS"` to the request body:
|
|
114
|
-
|
|
115
|
-
```json
|
|
116
|
-
{
|
|
117
|
-
"originTemplateId": "<TEMPLATE_ID>",
|
|
118
|
-
"siteName": "my-headless-site",
|
|
119
|
-
"namespace": "HEADLESS"
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
111
|
**Response** includes the new site's `metaSiteId`.
|
|
124
112
|
|
|
125
113
|
### IMPORTANT NOTES:
|
|
126
|
-
-
|
|
127
|
-
- If user doesn't ask for headless, do NOT include the `namespace` field
|
|
114
|
+
- This API creates regular Wix sites. Do NOT use it for headless sites (even with a `namespace` field) — use [Create Headless Site](create-headless-site.md) instead
|
|
128
115
|
|
|
129
116
|
---
|
|
130
117
|
|
|
@@ -151,16 +138,6 @@ curl -X POST \
|
|
|
151
138
|
|
|
152
139
|
---
|
|
153
140
|
|
|
154
|
-
## Step 5: For Headless Sites - Create OAuth App
|
|
155
|
-
|
|
156
|
-
If the site was created as headless, you MUST create an OAuth app for authentication.
|
|
157
|
-
|
|
158
|
-
See [Create OAuth App](https://dev.wix.com/docs/api-reference/business-management/headless/oauth-apps/create-oauth-app) documentation.
|
|
159
|
-
|
|
160
|
-
This is a site-level call in the context of the newly created site.
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
141
|
## Common Template IDs
|
|
165
142
|
|
|
166
143
|
For quick access without searching:
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Site Import"
|
|
3
|
+
description: Drive the Wix Site Import agent to migrate an existing store or site from another platform (Shopify, WooCommerce, Magento, or any URL) into Wix. Use this skill whenever the user wants to import, migrate, or clone a store/site into Wix, mentions moving off Shopify/WooCommerce/Magento, or gives a source store URL and asks to bring it into Wix. Covers starting the import, polling progress, answering the agent's mid-import questions, handling deploy/failure/auth-expiry states, and sending post-deploy follow-up changes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Site Import
|
|
7
|
+
|
|
8
|
+
Drives an autonomous Wix-hosted import agent over REST to migrate a store/site
|
|
9
|
+
from another platform into Wix. You act as the relay between the user and the
|
|
10
|
+
agent: start the job, poll it, surface its questions and progress like a chat,
|
|
11
|
+
and report the final result.
|
|
12
|
+
|
|
13
|
+
## Golden rules — apply to every single message
|
|
14
|
+
|
|
15
|
+
1. **Only `DEPLOYED` means the site is live.** Any other status — including
|
|
16
|
+
`AUTH_EXPIRED` — means there is NO finished site yet. Never declare
|
|
17
|
+
success, completion, or "your site is live" otherwise, and never present a
|
|
18
|
+
URL from any other source as the result.
|
|
19
|
+
2. **Show the user the `importId` after Start succeeds** — share it as a
|
|
20
|
+
reference they can use to check back. Never show raw JSON or HTTP codes.
|
|
21
|
+
3. **Never offer menus of monitoring or technical options** — pick the right
|
|
22
|
+
behavior yourself and do it quietly.
|
|
23
|
+
4. **Plain language only** — write for a shopkeeper, not an engineer.
|
|
24
|
+
5. **This API is the only site-creation tool for this task** — never
|
|
25
|
+
substitute other Wix site-builder tools (see Scope).
|
|
26
|
+
|
|
27
|
+
Base URL: `https://www.wixapis.com/site-import`. All calls use account-level
|
|
28
|
+
scope on the signed-in Wix user's account. A full import typically takes
|
|
29
|
+
15–60 minutes.
|
|
30
|
+
|
|
31
|
+
## Calling the API
|
|
32
|
+
|
|
33
|
+
This API is **deliberately not listed in the public Wix REST documentation**,
|
|
34
|
+
so do NOT search the Wix docs / API spec for it — the search will come up
|
|
35
|
+
empty every time. That is expected and is NOT a reason to stop, ask the user
|
|
36
|
+
for "special permissions", or switch to a different import product. This
|
|
37
|
+
skill is the documentation; the endpoints below are real and live.
|
|
38
|
+
|
|
39
|
+
**Make the first API call immediately — no preamble.** Never announce "let me
|
|
40
|
+
check the tools" or "checking auth" before the first call. If Start returns
|
|
41
|
+
an error, handle it per the Rules section — **never probe other endpoints**
|
|
42
|
+
(e.g. site-properties, site-list) to "verify auth"; those calls reveal
|
|
43
|
+
nothing useful.
|
|
44
|
+
|
|
45
|
+
**All calls are server-side.** Never call this API from an artifact, a web
|
|
46
|
+
page, or any client-side code — those fail with CORS. The entire experience
|
|
47
|
+
is plain chat — API calls plus short messages.
|
|
48
|
+
|
|
49
|
+
Use the Wix account-level REST API tool available in your environment with
|
|
50
|
+
the **full URL**. Start, Send-a-message, and Cancel are mutating (POST);
|
|
51
|
+
Poll is read-only (GET).
|
|
52
|
+
|
|
53
|
+
Example — Start:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
POST https://www.wixapis.com/site-import/v1/imports
|
|
57
|
+
Body: { "request": "Import https://example-store.com into a new Wix site" }
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Example — Poll:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
GET https://www.wixapis.com/site-import/v1/imports/<importId>?includeRecentActivity=true
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Example — Poll fetching a review document:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
GET https://www.wixapis.com/site-import/v1/imports/<importId>?includeRecentActivity=true&artifactIds=mapping-summary,mapping-plan
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Example — Send a message:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
POST https://www.wixapis.com/site-import/v1/imports/<importId>/messages
|
|
76
|
+
Body: { "message": "Use the blue logo from the About page instead" }
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Scope — this skill drives the import service, nothing else
|
|
80
|
+
|
|
81
|
+
While an import is the task at hand, ALL site-creation work goes through this
|
|
82
|
+
API. Never fall back to other site-building tools (site-builder/template/AI
|
|
83
|
+
site-generation tools) to "compensate" — not when the import is slow, and
|
|
84
|
+
especially not when it FAILS.
|
|
85
|
+
|
|
86
|
+
**Status comes ONLY from this API's Poll endpoint.** Never call
|
|
87
|
+
`WixSiteBuilder`, `CreateSiteFromTemplate`, `pullSiteCreationJob`, or any
|
|
88
|
+
other connector tool to "check on the build" — `WixSiteBuilder` in particular
|
|
89
|
+
STARTS a new site build on every call, even when the prompt asks for status.
|
|
90
|
+
A failed import ends with a clear failure report and a full stop; the user
|
|
91
|
+
must never discover a different site in their account that they didn't ask
|
|
92
|
+
for. If an alternative makes sense, propose it AFTER reporting the failure
|
|
93
|
+
and act only on the user's explicit yes.
|
|
94
|
+
|
|
95
|
+
## Before starting an import
|
|
96
|
+
|
|
97
|
+
This creates real infrastructure and writes to the user's Wix account. Before
|
|
98
|
+
calling **Start**, confirm:
|
|
99
|
+
- The source URL and platform are correct
|
|
100
|
+
- The user understands it runs for up to ~60 minutes and may ask questions mid-way
|
|
101
|
+
|
|
102
|
+
Also confirm before calling **Cancel** — it's irreversible.
|
|
103
|
+
|
|
104
|
+
## What the user sees (presentation rules)
|
|
105
|
+
|
|
106
|
+
You are the user experience; the API is plumbing. Keep the protocol invisible:
|
|
107
|
+
|
|
108
|
+
- **Show the `importId` once, right after Start succeeds** — e.g. "Your import
|
|
109
|
+
ID is `abc123` — keep it handy." Never show raw JSON, HTTP codes, artifact
|
|
110
|
+
ids, or `sourcePlatform`/`sourceConfidence` values.
|
|
111
|
+
- **Write for a non-technical audience.** No jargon: no "endpoint", "API",
|
|
112
|
+
"poll", "HTTP", "rate limit", "JSON". Translate events into plain outcomes —
|
|
113
|
+
"the source store limits how fast it can be read" not "hit rate limit (429)".
|
|
114
|
+
- **Monitor autonomously — never ask the user whether to keep monitoring.**
|
|
115
|
+
Poll every ~30 seconds until a terminal status arrives. If the user sends a
|
|
116
|
+
message about something else, handle it then resume polling. Match your
|
|
117
|
+
environment:
|
|
118
|
+
- **Background polling**: speak up only on meaningful milestones — platform
|
|
119
|
+
identified, plan step completes, agent asks a question, site deploys, or
|
|
120
|
+
something fails. Never narrate each poll or transient errors.
|
|
121
|
+
- **Turn-based**: end each turn with one concrete progress update. On every
|
|
122
|
+
later user message, poll first. **Do not end a turn asking whether to keep
|
|
123
|
+
checking** — just keep checking.
|
|
124
|
+
- **Status answers must be substantive.** Never answer "still in progress".
|
|
125
|
+
Relay `message` (lightly rephrased) and anything fresh from `recentActivity`
|
|
126
|
+
/ `todos`. If `message` is empty, say the import is still setting up.
|
|
127
|
+
- **Never announce or describe the monitoring itself.** After the one-sentence
|
|
128
|
+
start message, stay silent until the first milestone.
|
|
129
|
+
- **Keep routine updates to 1–3 short sentences.** No headers, emoji walls, or
|
|
130
|
+
bullet lists for ordinary progress.
|
|
131
|
+
- On start, two short sentences: (1) import underway, mention detected platform
|
|
132
|
+
when it helps; (2) share the `importId`. Never say "confidence", "sandbox",
|
|
133
|
+
"execution", or "session".
|
|
134
|
+
- Progress updates: rephrase `recentActivity` `TEXT` entries and `todos` in
|
|
135
|
+
plain language; never echo verbatim.
|
|
136
|
+
- Ask `NEEDS_INPUT` questions conversationally, as if they were your own.
|
|
137
|
+
- On `DEPLOYED`, lead with the live URL, then a plain-language summary of what
|
|
138
|
+
the user got, honest limitations, and 2–3 short follow-up offers. Leave out
|
|
139
|
+
frameworks, SDKs, and anything from the jargon list.
|
|
140
|
+
- On `FAILED` / `AUTH_EXPIRED` / `SESSION_EXPIRED`, explain what happened in
|
|
141
|
+
plain words — no codes, no id dumps.
|
|
142
|
+
- **A failure is the headline, never a footnote.** The moment a poll returns
|
|
143
|
+
`FAILED`, your very next message leads with that fact and the reason — never
|
|
144
|
+
bury it or paper over it with other tools.
|
|
145
|
+
|
|
146
|
+
## Endpoints
|
|
147
|
+
|
|
148
|
+
**Single `importId` for the whole import — assigned at Start, never changes.**
|
|
149
|
+
|
|
150
|
+
1. **Start** — `POST /v1/imports`
|
|
151
|
+
Body: `{"request": "<natural language; MUST include the source store URL>"}`
|
|
152
|
+
Returns: `importId`, `sourcePlatform`, `sourceConfidence`.
|
|
153
|
+
One import per store at a time: if the same user re-starts for the same store,
|
|
154
|
+
the server returns the existing `importId` (no new import is created). If a
|
|
155
|
+
different user on the account already owns an import for that store, Start
|
|
156
|
+
returns `409 { "code": "IMPORT_IN_PROGRESS" }` — tell the user and stop.
|
|
157
|
+
|
|
158
|
+
2. **Poll** — `GET /v1/imports/{importId}?includeRecentActivity=true`
|
|
159
|
+
Returns: `status`, `deployUrl`, `message`, `options[]` (only when
|
|
160
|
+
`NEEDS_INPUT`), `recentActivity[]`, `recentActivityCount`, `todos[]`,
|
|
161
|
+
`artifacts[]`.
|
|
162
|
+
**Always pass `includeRecentActivity=true`** — the activity feed is withheld
|
|
163
|
+
unless requested. To read a review document, add
|
|
164
|
+
`&artifactIds=mapping-plan,mapping-gaps` (see "Review documents").
|
|
165
|
+
|
|
166
|
+
3. **Send a message** — `POST /v1/imports/{importId}/messages`
|
|
167
|
+
Body: `{"message": "<whatever the user said>"}`
|
|
168
|
+
**This is the ONE way anything the user says reaches the agent** — an answer
|
|
169
|
+
to a question, a comment, a correction, or a new instruction. Valid at any
|
|
170
|
+
point: while `IMPORTING`, at a `NEEDS_INPUT` stop, and after the import
|
|
171
|
+
finishes. Returns the **same `importId`** — keep polling it.
|
|
172
|
+
|
|
173
|
+
4. **Cancel** — `POST /v1/imports/{importId}/cancel`
|
|
174
|
+
Body: `{}`. Only meaningful while status is `IMPORTING`.
|
|
175
|
+
|
|
176
|
+
## How to run the flow
|
|
177
|
+
|
|
178
|
+
- After Start, poll every ~30 seconds while `status` is `IMPORTING`. Never
|
|
179
|
+
pause to ask the user whether to keep monitoring — just keep going. Stop
|
|
180
|
+
only on a terminal status (`DEPLOYED`, `FAILED`, `CANCELLED`) or explicit
|
|
181
|
+
cancel.
|
|
182
|
+
- Track progress from:
|
|
183
|
+
- `recentActivity`: up to 20 `{kind, text}` entries, oldest first. `TEXT`
|
|
184
|
+
entries are the agent's messages; `TOOL_USE` are action labels. Rolling
|
|
185
|
+
window — track which entries you've covered to avoid repeating them.
|
|
186
|
+
- `todos`: `{content, status, activeForm}` — `PENDING | IN_PROGRESS |
|
|
187
|
+
COMPLETED`. Full snapshot each poll; replace, don't append.
|
|
188
|
+
- Empty `recentActivity`/`todos`/`artifacts` in early polls is normal — these
|
|
189
|
+
are best-effort and the agent may not have produced them yet.
|
|
190
|
+
- Act on `status`:
|
|
191
|
+
- `IMPORTING` — keep polling.
|
|
192
|
+
- `NEEDS_INPUT` — agent is blocked. Show `message` (and `options` if present)
|
|
193
|
+
to the user, collect their answer, send it with Send-a-message, then keep
|
|
194
|
+
polling the same `importId`. The user may answer in free text even when
|
|
195
|
+
`options` lists suggested answers. If `message` mentions review documents,
|
|
196
|
+
read them FIRST (see "Review documents") — the decision usually depends on them.
|
|
197
|
+
- `DEPLOYED` — terminal success. Deliver `deployUrl` and `message` per
|
|
198
|
+
presentation rules.
|
|
199
|
+
- `FAILED` — terminal. Relay `message` in plain words.
|
|
200
|
+
- `AUTH_EXPIRED` — recoverable, NOT success, nothing is live (golden rule 1).
|
|
201
|
+
Tell the user the connection to their account expired and you're restarting,
|
|
202
|
+
then call Start again with the same request — work so far is preserved.
|
|
203
|
+
- `CANCELLED` — terminal.
|
|
204
|
+
- **Anything the user says mid-import goes straight to Send-a-message** — no
|
|
205
|
+
need to wait for `NEEDS_INPUT`.
|
|
206
|
+
- Follow-up changes after a deploy use the same Send-a-message call. The import
|
|
207
|
+
stays resumable for 7 days; if idle for ~60 minutes the next message revives
|
|
208
|
+
it — do not warn the user about a time limit.
|
|
209
|
+
- If Send-a-message returns `409 { "code": "SESSION_EXPIRED" }`, the import
|
|
210
|
+
can no longer be resumed — tell the user and offer a fresh start.
|
|
211
|
+
|
|
212
|
+
### Review documents
|
|
213
|
+
|
|
214
|
+
The agent writes review documents at approval gates (mapping plan, gaps list,
|
|
215
|
+
execution plan, completion summary). **They exist only in the API response** —
|
|
216
|
+
the user has no way to open a file.
|
|
217
|
+
|
|
218
|
+
- Every poll returns `artifacts[]` as a manifest: `{id, title, format,
|
|
219
|
+
contentBytes}` with `content` **empty**. This is deliberate — documents are
|
|
220
|
+
large and most polls don't need them.
|
|
221
|
+
- To read one, poll again with `&artifactIds=<id>[,<id>]`. Those come back with
|
|
222
|
+
`content` filled in (Markdown or JSON).
|
|
223
|
+
- **When `message` announces review documents, fetch them and summarize for the
|
|
224
|
+
user in plain language before asking for approval.** Never say "the plan is
|
|
225
|
+
in a file I can't read" or relay a filename as something the user should open.
|
|
226
|
+
|
|
227
|
+
## Rules
|
|
228
|
+
|
|
229
|
+
- Single `importId` — assigned at Start, returned unchanged by Send-a-message.
|
|
230
|
+
- Never invent a `deployUrl` — only report the one returned with `DEPLOYED`.
|
|
231
|
+
- Treat `NEEDS_INPUT` and `AUTH_EXPIRED` as normal conversation turns, not
|
|
232
|
+
errors.
|
|
233
|
+
- **Site Import is in limited rollout.** If Start returns `404` or `403` with
|
|
234
|
+
`"code": "NOT_ENABLED"`, tell the user plainly that site import isn't
|
|
235
|
+
supported on their account yet and they can contact Wix support — then stop.
|
|
236
|
+
Do not retry or fall back to another site-creation tool.
|
|
237
|
+
- Any other `403` on Start means the caller is not authorized — tell the user
|
|
238
|
+
and stop. Do not probe other endpoints to diagnose this. A `400` means a
|
|
239
|
+
required field is missing (`request`/`message` must be 1–20000 chars).
|
|
240
|
+
- Requesting an unknown id in `artifactIds` is silently ignored — not an error.
|
|
241
|
+
A document simply may not exist yet on an earlier turn.
|
|
242
|
+
- **The user cannot open files.** If a message mentions a document by filename,
|
|
243
|
+
fetch it with `artifactIds` and read it to them.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Sites Dashboard Navigation"
|
|
3
|
+
description: "Builds direct links to the account-level sites pages on manage.wix.com — the My Sites list (all sites in the account) and each site's own dashboard. Pairs the site list with the Query Sites read API. Use when the user asks where something is in the Wix dashboard, wants a direct link to a dashboard page, or you need a dashboard URL to include with the result of an API operation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sites Dashboard Navigation
|
|
7
|
+
|
|
8
|
+
For the general URL contract, see [Dashboard Navigation](../dashboard-navigation/dashboard-navigation.md). Sites pages are **account-level** — they live under `https://manage.wix.com/account/...` and take no metaSiteId.
|
|
9
|
+
|
|
10
|
+
## Main Pages
|
|
11
|
+
|
|
12
|
+
| Page | URL | What it manages |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| My Sites (site list) | `https://manage.wix.com/account/websites` | All sites in the account |
|
|
15
|
+
| A site's dashboard | `https://manage.wix.com/dashboard/{metaSiteId}/home` | One site's dashboard home |
|
|
16
|
+
|
|
17
|
+
## Pairing Entities with Their Read APIs
|
|
18
|
+
|
|
19
|
+
| Entity | Read API | Dashboard link |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| Site | `POST /site-list/v2/sites/query` (returns each site's `id` = metaSiteId + name) | `https://manage.wix.com/dashboard/{id}/home` |
|
|
22
|
+
|
|
23
|
+
Example — after creating a site from a template:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Created "Sunset Spa" from the template.
|
|
27
|
+
Open its dashboard: https://manage.wix.com/dashboard/{metaSiteId}/home
|
|
28
|
+
All your sites: https://manage.wix.com/account/websites
|
|
29
|
+
```
|
|
@@ -30,12 +30,28 @@ curl -X POST \
|
|
|
30
30
|
-d '{}'
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
**Response**:
|
|
33
|
+
**Response**: `200` with `{"pagesAdded": ["<widgetId>", ...]}` when the call completes within the gateway timeout. On sites with many installed apps the call usually does **not** complete in time — see the notes below.
|
|
34
|
+
|
|
35
|
+
### If the User Already Got a 504
|
|
36
|
+
|
|
37
|
+
Answer as troubleshooting, not as a failed install:
|
|
38
|
+
|
|
39
|
+
| What happened | What to do | Why |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| `504 Gateway Timeout` after ~30 seconds | Wait 1–2 minutes, then verify that the cart/checkout pages exist and checkout works | The gateway timed out while the server-side install may still be running |
|
|
42
|
+
| Pages now exist | Do not call the endpoint again | The repair completed despite the timeout |
|
|
43
|
+
| Pages are still missing after waiting | Call the endpoint once more, then verify again | A second call is only warranted after the first run had time to finish |
|
|
44
|
+
|
|
45
|
+
Do not describe an immediate retry as harmless or normally idempotent. The endpoint only adds missing pages, but each call still starts a full scan/add/republish pass, so retrying before the first pass finishes can create overlapping work and another publish.
|
|
34
46
|
|
|
35
47
|
### IMPORTANT NOTES:
|
|
36
48
|
- This endpoint adds missing store pages (cart, checkout) if they don't exist
|
|
37
49
|
- The request body is empty - no parameters needed
|
|
38
50
|
- Only required Authorization header
|
|
51
|
+
- **Long-running — a 504 does not mean failure.** The endpoint synchronously scans every app installed on the site, adds any missing essential pages, and republishes the site. On real sites this often exceeds the ~30-second gateway timeout, so the call returns `504 Gateway Timeout` (sometimes wrapped as `Internal Server Error` with `errorCode: -100`) while the installation keeps running server-side and usually completes.
|
|
52
|
+
- **On 504, do not retry immediately.** An immediate retry starts a second full install-and-republish pass. Wait 1–2 minutes, then verify the missing pages now exist (check the site's store pages, or have the user refresh and re-test checkout). Call the endpoint again only if the pages are still missing.
|
|
53
|
+
- **Call it from an HTTP tool that is allowed to reach `www.wix.com`** (for example, the Wix MCP `CallWixSiteAPI` tool). Sandboxed code-execution tools (such as `ExecuteWixAPI`) block this host and fail with `403 Forbidden: requests to www.wix.com not allowed`.
|
|
54
|
+
- **The operation republishes the site.** Confirm with the user before running it on a live site.
|
|
39
55
|
|
|
40
56
|
---
|
|
41
57
|
|
|
@@ -211,7 +211,7 @@ Store the result internally as `subscription_eligible: true/false`. If `true`, a
|
|
|
211
211
|
|
|
212
212
|
## V3 STEP 4: Present Review Card to User (INTERACTIVE)
|
|
213
213
|
|
|
214
|
-
**
|
|
214
|
+
**Present ALL generated fields to the user so they can review and refine them.** This is a content preview for editing — NOT the create approval. The single confirmation before creating happens later, in V3 STEP 6. Do not ask the user to approve creation at this step.
|
|
215
215
|
|
|
216
216
|
Present a structured review card using the markdown format below. This provides a visual product-card-style layout:
|
|
217
217
|
|
|
@@ -242,15 +242,15 @@ Present a structured review card using the markdown format below. This provides
|
|
|
242
242
|
---
|
|
243
243
|
```
|
|
244
244
|
|
|
245
|
-
After the card,
|
|
245
|
+
After the card, offer the ways they can adjust the content:
|
|
246
246
|
|
|
247
247
|
> 1. **Refine** — tell me what to change (e.g., "make the description shorter", "the price should be lower")
|
|
248
248
|
> 2. **Regenerate** — I'll start the analysis over, optionally with additional context from you
|
|
249
|
-
> 3. **
|
|
249
|
+
> 3. **Looks good** — continue to the next steps (options / subscription)
|
|
250
250
|
|
|
251
251
|
If the user provided a text note that **contradicts** what's visible in the image (e.g., image shows blue but note says "available in red"), ask the user to clarify before proceeding.
|
|
252
252
|
|
|
253
|
-
|
|
253
|
+
Apply any corrections the user requests. When they're happy (or have no changes), continue to the next step. **Do NOT treat this as the final create approval** — that single confirmation comes once, at V3 STEP 6.
|
|
254
254
|
|
|
255
255
|
---
|
|
256
256
|
|
|
@@ -342,13 +342,15 @@ If no options were detected:
|
|
|
342
342
|
|
|
343
343
|
## V3 STEP 6: Create the Product
|
|
344
344
|
|
|
345
|
-
|
|
345
|
+
> **CRITICAL — THIS IS THE ONLY CREATE CONFIRMATION. ASK EXACTLY ONCE.** The review card in V3 STEP 4 was a content preview for editing, not an approval. Here you ask for the single go-ahead before creating. Do NOT summarize-and-ask more than once — one clear confirmation is enough.
|
|
346
|
+
|
|
347
|
+
Ask the user once:
|
|
346
348
|
|
|
347
349
|
> Everything is ready. Shall I create the product now?
|
|
348
350
|
> - **Yes, create it** — I'll submit the product to your store now.
|
|
349
351
|
> - **No, go back** — return to a previous step to make changes.
|
|
350
352
|
|
|
351
|
-
**Wait for confirmation.** Only proceed with the API call if the user says Yes.
|
|
353
|
+
**Wait for confirmation.** Only proceed with the API call if the user says Yes. If the user already said something like "just create it", treat that as the confirmation and proceed without asking again.
|
|
352
354
|
|
|
353
355
|
---
|
|
354
356
|
|
|
@@ -18,20 +18,18 @@ The goal of this step is not just to create *a* product, but to help the user cr
|
|
|
18
18
|
|
|
19
19
|
### 0a. Opening the conversation
|
|
20
20
|
|
|
21
|
-
**
|
|
21
|
+
**As soon as this skill is triggered — and the user hasn't already described a product — YOU open the conversation.** Proactively send a single opening message that invites *either or both* input paths and makes clear you'll generate the full product info from whatever they provide:
|
|
22
22
|
|
|
23
|
-
> **What
|
|
23
|
+
> **What would you like to sell? Just describe your product in a few words and/or upload a photo of it — I'll generate the full product info (name, description, price, and any options) for you from there.**
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
The user can reply with a text prompt, an image, or both:
|
|
26
26
|
|
|
27
|
-
**
|
|
27
|
+
- **An image is provided (with or without text)** → follow the **[Create Product from Image](https://dev.wix.com/docs/api-reference/business-solutions/stores/skills/create-product-from-image)** recipe to generate the product info from the image(s), then continue from the gap check in 0b for anything still missing.
|
|
28
|
+
- **Text only** → continue with the gap check in 0b.
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
If the user *already* described a product when triggering the skill, skip this opening message and go straight to 0b.
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
- If the user prefers text / a prompt → continue with the gap check in 0b as usual.
|
|
33
|
-
|
|
34
|
-
> **Count this toward the 1–2 question budget.** If you ask the image-vs-text question, keep the remaining follow-ups to one so the total conversation stays short.
|
|
32
|
+
> **This opening message is the entry point, not a follow-up — it does NOT count against the 1–2 follow-up-question budget in 0b.**
|
|
35
33
|
|
|
36
34
|
### 0b. Gap check — decide what (if anything) to ask
|
|
37
35
|
|
|
@@ -59,7 +57,15 @@ You may ask **one** enrichment question to make the product more complete. Ask a
|
|
|
59
57
|
|
|
60
58
|
> **CRITICAL — ONCE A PRODUCT-CREATION CONVERSATION HAS STARTED, STAY ON IT.** Do not switch to other topics, suggest unrelated tasks, or start new workflows until the product has actually been created (saved) via STEP 1 — **unless the user explicitly asks to do something else**. If the user goes off-topic, briefly answer if needed, then steer back to finishing and saving the product.
|
|
61
59
|
|
|
62
|
-
|
|
60
|
+
### 0d. Confirm once — then create
|
|
61
|
+
|
|
62
|
+
> **CRITICAL — VALIDATE EXACTLY ONCE BEFORE CREATING.** Right before calling the Create Product API (STEP 1), show a brief summary of what you're about to create and ask for a single go-ahead. Ask **only once**. Do NOT approve-and-then-ask-again (e.g. present a summary, get a "yes", and then ask "shall I create it now?" a second time) — that double confirmation is exactly what we want to avoid. Once the user approves, go straight to STEP 1 with no further approval prompts.
|
|
63
|
+
|
|
64
|
+
For example:
|
|
65
|
+
|
|
66
|
+
> "Here's what I'll add to your store: **[name]** — **[price]**[, options: …]. Ready to create it?"
|
|
67
|
+
|
|
68
|
+
If the user already signaled approval (e.g. "just create it", "go ahead"), treat that as the single confirmation and proceed straight to STEP 1 — do not ask again.
|
|
63
69
|
|
|
64
70
|
## STEP 1: create the product with options and variants
|
|
65
71
|
|