All skills
wix avatar

/wix-app

@dc6f1fa official
by Wix.comwix/skills33 stars
33

Build and review Wix CLI app extensions — dashboard pages, modals, plugins, menu plugins, custom element widgets, Editor React components, site plugins, embedded scripts, backend APIs, backend events, service plugins, data collections, and App Market readiness. Use when building ANY feature or extension for a Wix CLI app or preparing a Wix app for App Market review. Triggers on: add, build, create, implement, help me, dashboard, widget, plugin, backend, API, event, collection, embedded script, service plugin, Editor React component, checkout, shipping, tax, discount, SPI, CMS, schema, tracking, popup, admin panel, menu item, modal, validate, test, verify, register extension, App Market, app review, submission readiness.

Use this Skill: https://skilld.dev/gh/wix/skills/wix-app

This session only. Nothing lands on disk.

referencesdata-collectionPERMISSIONS.md

≈856 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Data Collection — permissions

The scaffolded dataPermissions are placeholders. Set them from this file before shipping.

Permissions

Access levels control who can read, create, update, and delete items in collections.

Level Description
UNDEFINED Not set (inherits defaults)
ANYONE Public access (including visitors)
SITE_MEMBER Any signed-in user (members and collaborators)
SITE_MEMBER_AUTHOR Signed-in users, but members only access own items
CMS_EDITOR Site collaborators with CMS Access permission
PRIVILEGED CMS administrators and privileged users

Common patterns:

  • Public content (default, recommended): read: ANYONE, write: PRIVILEGED
  • User-generated content: read: SITE_MEMBER, write: SITE_MEMBER_AUTHOR
  • Editorial workflow: read: ANYONE, write: CMS_EDITOR
  • Private/admin: read: PRIVILEGED, write: PRIVILEGED

Permission hierarchy (most to least restrictive): PRIVILEGED > CMS_EDITOR > SITE_MEMBER_AUTHOR > SITE_MEMBER > ANYONE > UNDEFINED

Context-Based Permission Rules

CRITICAL: Permissions must match where and how the data is accessed. The consumer of the data determines the minimum permission level — setting permissions more restrictive than the access context will cause runtime failures (empty results or permission-denied errors).

Determine permissions by asking: "Who interacts with this data, and from where?"

Access Context Who Sees / Uses It Implication
Custom element widget (CUSTOM_ELEMENT_WIDGET) Any site visitor (public) Reads must be ANYONE. If the widget accepts input (e.g., reviews, submissions), inserts must also be ANYONE or SITE_MEMBER.
Embedded Script Any site visitor (public) Same as custom element widget — reads must be ANYONE. Writes depend on whether visitors can submit data.
Dashboard Page (DASHBOARD_PAGE) Site owner / collaborators only Can use CMS_EDITOR or PRIVILEGED for all operations since only authorized users access the dashboard.
Backend code (site-side) Runs in visitor context If called from page code or site-side modules, the caller has visitor-level permissions — data must be readable/writable at the appropriate public level.
Backend code (elevated) Runs with auth.elevate() from @wix/essentials Can bypass permissions, but the collection still needs correct defaults for any non-elevated callers.

Use SITE_MEMBER_AUTHOR on itemUpdate / itemRemove when members should only modify their own items (e.g., a member can edit only their own reviews).

How to apply this:

  1. Identify every place the collection is read or written — custom element widgets, dashboard pages, embedded scripts, backend APIs.
  2. Use the least restrictive context as the floor. If a custom element widget reads the data AND a dashboard page also reads it, itemRead must be ANYONE (because the widget is public).
  3. Apply per-operation. A collection can have itemRead: ANYONE (widget displays it) but itemInsert: CMS_EDITOR (only dashboard users add items). Each operation is independent.

Source: SKILL.md on GitHub

1 warningtoday4 checks · Risk SAFE
  • Gen Agent Trust Hubtoday

    This skill is a specialized development toolkit for building extensions on the Wix platform. It provides comprehensive instructions for creating dashboard pages, backend APIs, and site plugins using the Wix CLI and SDKs. No malicious patterns were detected; the skill's behaviors, such as dependency management, command execution for builds, and local script execution for code reviews, are entirely consistent with its purpose as a developer productivity tool for the Wix ecosystem.

  • Sockettoday

    1 alert: gptAnomaly

  • Snyktoday

    Risk: LOW · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at dc6f1fa. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 days ago
compatibility
requires `@wix/cli` >= 1.1.192.

README badge

README badge for wix/skills/wix-app

Builds dashboard pages, modals, plugins, custom widgets, Editor React components, backend APIs, events, service plugins, and data collections for Wix CLI apps. Provides decision logic, API patterns, and validation workflows; scaffolding is owned by the Wix CLI via `wix generate --params`.

Generated from the current SKILL.md.

What extension types does this skill cover?
All Wix CLI app extension types: dashboard pages, modals, plugins, menu plugins, custom element widgets, Editor React components, site plugins, embedded scripts, backend APIs, backend events, service plugins, and data collections.
Does this skill scaffold the extension files for me?
The Wix CLI owns scaffolding via `wix generate --params` for all extension types except Backend API. This skill provides decision logic, API guidance, and business-logic patterns to fill in the generated stubs. Backend API files must be created manually.
What Wix CLI version is required?
The skill requires @wix/cli >= 1.1.192.
Do I need to create a Data Collection extension for app-specific data?
Yes, if you're saving or persisting app-specific data, managing domain entities in a dashboard, or running a service plugin that reads app-configured data. The skill infers this automatically—you don't need to explicitly request it.
Does this skill cover Wix Stores API usage?
Yes. When using any Wix Stores API (products, inventory, orders), the skill requires dual V1/V3 catalog support and references the Stores Versioning guide for module selection and field mapping.

Generated from the current SKILL.md. These answers refresh after source changes.