From wix
Builds Wix CLI app extensions: dashboard pages, modals, plugins, menu plugins, custom element widgets, Editor React components, site plugins, embedded scripts, backend APIs, events, service plugins, data collections.
npx claudepluginhub wix/skills --plugin wixThis skill uses the workspace's default tool permissions.
Helps build extensions for Wix CLI applications. Covers all extension types: dashboard pages, modals, plugins, menu plugins, custom element widgets, Editor React components, site plugins, embedded scripts, backend APIs, events, service plugins, and data collections.
references/APP_IDENTIFIERS.mdreferences/APP_VALIDATION.mdreferences/BACKEND_API.mdreferences/BACKEND_EVENT.mdreferences/CUSTOM_ELEMENT_WIDGET.mdreferences/DASHBOARD_MENU_PLUGIN.mdreferences/DASHBOARD_MODAL.mdreferences/DASHBOARD_PAGE.mdreferences/DASHBOARD_PLUGIN.mdreferences/DATA_COLLECTION.mdreferences/DOCUMENTATION.mdreferences/EDITOR_REACT_COMPONENT.mdreferences/EMBEDDED_SCRIPT.mdreferences/EXTENSION_REGISTRATION.mdreferences/SERVICE_PLUGIN.mdreferences/SITE_PLUGIN.mdreferences/STORES_VERSIONING.mdreferences/backend-event/COMMON-EVENTS.mdreferences/custom-element-widget/SETTINGS_PANEL.mdreferences/dashboard-menu-plugin/blog-slots.mdBuilds Shopify apps using Remix, Admin API, and checkout UI extensions. Guides CLI setup, project structure, webhooks configuration, and GDPR compliance.
Manages Wix business solutions via REST API recipes: installs apps, creates blog posts, sets up bookings services/staff/policies, handles stores/CMS/events/contacts. For site setup, entity CRUD, and backend automations.
Guides creation of production-ready Power Pages code sites as SPAs using React, Angular, Vue, or Astro, from requirements discovery to deployment with live dev server previews and git commits.
Share bugs, ideas, or general feedback.
Helps build extensions for Wix CLI applications. Covers all extension types: dashboard pages, modals, plugins, menu plugins, custom element widgets, Editor React components, site plugins, embedded scripts, backend APIs, events, service plugins, and data collections.
Before reporting completion to the user, ALL boxes MUST be checked:
wix-design-system skill ONLY before writing the first .tsx/.jsx file that imports @wix/design-system. Skip this skill entirely for backend-only or data-only extensions.๐ STOP: If any box is unchecked, do NOT proceed to the next step.
| โ WRONG | โ CORRECT |
|---|---|
| Implementing without reading the extension reference | Always read the relevant reference file first |
| Using MCP discovery without checking refs | Check reference files first |
| Reporting done without validation | Always run validation at the end |
| Letting manual action items get buried | Aggregate all manual steps at the very end |
What are you trying to build?
Who will see it?
Where will it appear?
<Modal />; use a separate Dashboard Modal extension and dashboard.openModal().| Extension Type | Category | Visibility | Use When | Reference File |
|---|---|---|---|---|
| Dashboard Page | Dashboard | Admin only | Full admin pages | DASHBOARD_PAGE.md |
| Dashboard Modal | Dashboard | Admin only | Popup dialogs | DASHBOARD_MODAL.md |
| Dashboard Plugin | Dashboard | Admin only | Extend Wix app dashboards | DASHBOARD_PLUGIN.md |
| Dashboard Menu Plugin | Dashboard | Admin only | Add menu items to Wix app dashboards | DASHBOARD_MENU_PLUGIN.md |
| Service Plugin | Backend | Server-side | Customize business flows | SERVICE_PLUGIN.md |
| Backend Event Extension | Backend | Server-side | React to events | BACKEND_EVENT.md |
| Backend API | Backend | API | Custom HTTP handlers | BACKEND_API.md |
| Data Collection | Backend | Data | CMS collections for app data | DATA_COLLECTION.md |
| Editor React component | Site | Public | Editor React components with editor manifests | EDITOR_REACT_COMPONENT.md |
| Custom element widget | Site | Public | Standalone widgets | CUSTOM_ELEMENT_WIDGET.md |
| Site Plugin | Site | Public | Extend Wix business solutions | SITE_PLUGIN.md |
| Embedded Script | Site | Public | Inject scripts/analytics | EMBEDDED_SCRIPT.md |
| Key constraints: |
<Modal />; use a separate Dashboard Modal and dashboard.openModal().| Custom element widget vs Editor React component vs Site Plugin | Dashboard Page vs Modal | Service Plugin vs Event |
|---|---|---|
| Custom element widget: standalone interactive component. Editor React component: React with editor manifest (CSS/data/elements). Plugin: fixed slot in Wix app page. | Page: full page. Modal: overlay; use for popups. | Service: during flow. Event: after event. |
| Topic | Reference |
|---|---|
| Extension Registration | EXTENSION_REGISTRATION.md |
| App Validation | APP_VALIDATION.md |
| App Identifiers (Namespace, Code ID) | APP_IDENTIFIERS.md |
| Wix Stores Versioning (V1/V3) | STORES_VERSIONING.md |
| Official Documentation Links | DOCUMENTATION.md |
CRITICAL: Data collections are often needed implicitly โ don't wait for the user to explicitly say "create a CMS collection." Infer the need automatically.
Skip this section if the user provides a collection ID directly (e.g., an existing site-level collection). In that case, use the provided ID as-is โ no Data Collection extension or namespace scoping needed.
Always include a Data Collection extension when ANY of these are true:
| Indicator | Example |
|---|---|
| User mentions saving/storing/persisting app-specific data | "save the fee amount", "store product recommendations" |
| A dashboard page will manage (CRUD) domain entities | "dashboard to manage fees", "admin page to edit rules" |
| A service plugin reads app-configured data at runtime | "fetch fee rules at checkout", "look up shipping rates" |
| User mentions "dedicated database/collection" | "save in a dedicated database collection" |
| Multiple extensions reference the same custom data | Dashboard manages fees + service plugin reads fees |
Why this matters: Without the Data Collection extension, the collection won't be created when the app is installed, the Wix Data APIs may not work (code editor not enabled), and collection IDs won't be properly scoped to the app namespace.
If data collection is inferred, follow the App Namespace Requirement to obtain the namespace before proceeding.
When creating a Data Collection, you MUST ask the user for their app namespace from Wix Dev Center. This is a required parameter that must be obtained from the user's Dev Center dashboard and cannot be recommended or guessed.
If the user hasn't provided their app namespace, read APP_IDENTIFIERS.md and give the user the instructions to obtain it.
Applies ONLY when a Data Collection extension is being created. If the user provides a collection ID directly, use it as-is โ no namespace scoping, no Data Collection extension needed.
When a Data Collection is created alongside other extensions that reference the same collections:
idSuffix for each collection (the Data Collection reference documents the full ID format)<app-namespace>/<idSuffix>) in all extensions that reference the collection via Wix Data API callsApplies when ANY Wix Stores API is used (products, inventory, orders, etc.):
getCatalogVersion()productsV3 (V3) vs products (V1)This is non-negotiable โ V1 and V3 are NOT backwards compatible.
Only ask for configuration values when absolutely necessary for the implementation to proceed. If a value can be configured later or added as a manual step, don't block on it.
Code Identifier Requirement: When creating an Editor React component, you need the user's Code Identifier. If not provided, read APP_IDENTIFIERS.md and give the user the instructions to obtain it.
If unclear on approach (placement, visibility, configuration, integration), ask clarifying questions. If the answer could change the extension type, wait for the response before proceeding. Otherwise, proceed with the best-fit extension type.
Use the Extension Types Reference Table and decision content above. State extension type and brief reasoning (placement, functionality, integration).
Workflow: Read extension reference โ Check API references โ Use MCP only for gaps.
references/backend-event/COMMON-EVENTS.mdreferences/data-collection/WIX_DATA.mdreferences/dashboard-page/DASHBOARD_API.mdreferences/service-plugin/*.mdPlatform APIs (never discover - in references):
Vertical APIs (discover if needed):
Decision table:
| User Requirement | Check References / Discovery Needed? | Reason / Reference File |
|---|---|---|
| "Display store products" | โ YES (MCP discovery) | Wix Stores API โ include Stores Versioning reference |
| "Show booking calendar" | โ YES (MCP discovery) | Wix Bookings API not in reference files |
| "Send emails to users" | โ YES (MCP discovery) | Wix Triggered Emails not in reference files |
| "Get member info" | โ YES (MCP discovery) | Wix Members API not in reference files |
| "Listen for cart events" | Check COMMON-EVENTS.md | MCP discovery only if event missing in reference |
| "Store data in collection" | WIX_DATA.md โ Found | โ Skip discovery (covered by reference) |
| "Create CMS collections for my app" | Data Collection reference | โ Skip discovery (covered by dedicated reference) |
| "Show dashboard toast" | DASHBOARD_API.md โ Found | โ Skip discovery |
| "Show toast / navigate" | DASHBOARD_API.md โ Found | โ Skip discovery |
| "UI only (forms, inputs)" | N/A (no external API) | โ Skip discovery |
| "Settings page with form inputs" | N/A (UI only, no external API) | โ Skip discovery |
| "Dashboard page with local state" | N/A (no external API) | โ Skip discovery |
MCP Tools for discovery (when needed):
SearchWixSDKDocumentation - SDK methods and APIs (Always use maxResults: 5)ReadFullDocsArticle - Full documentation when needed (only if search results need more detail)Follow the extension reference file to implement each extension. Key rules:
wix-design-system skill before writing your first .tsx/.jsx file that imports @wix/design-system. Do NOT invoke it preemptively for backend-only or data-only jobs โ it adds large content to context that you won't use.idSuffix (case-sensitive). Example: If idSuffix is "product-recommendations", use <app-namespace>/product-recommendations NOT productRecommendations.src/extensions.ts (see Extension Registration).After all implementation is complete, you MUST run validation. See APP_VALIDATION.md for the complete validation workflow:
npx tsc --noEmit)npx wix build)npx wix preview)Do NOT report completion to the user until validation passes.
If validation fails, fix the errors and re-validate until it passes.
Only after validation passes, provide a concise summary section at the top of your response:
## โ
Implementation Complete
[1-2 sentence description of what was built]
**Extensions Created:**
- [Extension 1 Name] - [Brief purpose]
- [Extension 2 Name] - [Brief purpose]
**Build Status:**
- โ
Dependencies: [Installed / status message]
- โ
TypeScript: [No compilation errors / status]
- โ
Build: [Completed successfully / status]
- โ
/โ ๏ธ Preview: [Running at URL / Failed - reason]
**โ ๏ธ IMPORTANT: [X] manual step(s) required to complete setup** (see "Manual Steps Required" section below)
Present any manual steps the user must perform (e.g., configuring settings in the Wix dashboard, enabling permissions, setting up external services).
Format:
## ๐ง Manual Steps Required
The following actions need to be done manually by you:
### 1. [Action Category/Title]
[Detailed description with specific instructions]
### 2. [Action Category/Title]
[Detailed description]
After creating any extension file, you must update the main src/extensions.ts file to register the extension with the app. See EXTENSION_REGISTRATION.md for the complete guide.
Quick pattern:
import { app } from "@wix/astro/builders";
import { dashboardpageMyPage } from "./extensions/dashboard/pages/my-page/extensions.ts";
import { embeddedscriptMyScript } from "./extensions/site/embedded-scripts/my-script/extensions.ts";
export default app()
.use(dashboardpageMyPage)
.use(embeddedscriptMyScript);
Without registration, extensions will not appear or function in the Wix dashboard/editor/site.
Execute these steps sequentially after all implementation is complete. See APP_VALIDATION.md for the complete guide.
npx tsc --noEmitnpx wix buildnpx wix previewStop and report errors if any step fails. Check .wix/debug.log on failures.
For links to official Wix CLI documentation for all extension types, see DOCUMENTATION.md.