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.

referenceseditor-react-componentREACT-GUIDELINES.md

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

React Implementation Guide

Use this reference when planning or editing the component's React implementation. The entry workflow remains authoritative; this file owns implementation decisions.

Plan the Component

For a new component, make every decision below. For an edit, revisit only the contracts changed by the request:

  1. Elect the best semantic root and identify independently editable inner parts.
  2. Separate user-authored content and stable behavior from derived values and visual styling.
  3. Identify interaction and selectable states affected by the request.
  4. Include common callbacks by capability; keep implementation handlers internal.
  5. Identify runtime concerns such as browser APIs, autoplay, editor-only behavior, or live site context before implementation.

Implementation Rules

Runtime Compatibility

  • Use React 18-compatible APIs. Do not use React 19-only runtime features.
  • Keep rendering SSR-safe and deterministic. Do not access browser globals during render or derive initial output from time-dependent/generated values.

TypeScript

  • Fully type component props and export the props type.
  • Do not use any.
  • Use Array<T> rather than T[]; exported array elements must be objects with named keys.
  • Export the component as an arrow function, accept props as its argument, and destructure inside the function body.
export const ProfileCard: React.FC<ProfileCardProps> = (props) => {
  const { heading } = props;
  return <article>{heading}</article>;
};

Props and State

  • Keep id, className, direction, and a11y in the public contract.
  • Compute simple derived values during render instead of duplicating them in props or state.
  • When local state intentionally mirrors a prop, synchronize it when that prop changes. Do not use effect-managed state for a value that can be derived during render.
  • Internal handlers run component behavior, then notify optional callbacks. Callback presence never enables controlled mode.

Structure and Parts

  • Apply the root contract to the elected semantic root; do not add a wrapper solely to hold id, dir, classes, or ARIA attributes.
  • Give every named inner part a matching elementProps entry and spread it onto that element. Merge its injected className on raw HTML elements.
  • Keep structural wrappers and decorative elements module-class-only.
  • Use semantic HTML for controls, lists, navigation, headings, and landmarks.

Accessibility and Direction

  • Route ARIA through the typed a11y contract.
  • Put dir={direction} and the unconditional fallback-direction class on the elected root. Use logical CSS properties; use runtime direction hooks only when direction changes JavaScript behavior.

Code Quality

  • Leave no TypeScript errors, unused imports, TODO placeholders, or template commentary in the final component.
  • Prefer clear names and small internal components over long inline JSX blocks.
  • Preserve useful comments that explain non-obvious behavior; remove comments that merely narrate the code or were copied from examples.

Implementation Checklist

  • The semantic root owns the top-level component contract.
  • Props contain content and behavior, not breakpoint styling decisions.
  • Every named inner part has global/module classes and elementProps wiring.
  • Native and custom design states in scope are wired to their affected parts.
  • Render output is deterministic and SSR-safe.
  • Direction and accessibility contracts are wired to the correct elements.
  • Public handlers use supported SDK names; internal handlers stay internal.
  • CSS changed by the request keeps editable selectors flat and scoped.
  • The accessibility review command passes, or its remaining findings are triaged.

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.