wix-cli-dashboard-page

wix/skills · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/wix/skills --skill wix-cli-dashboard-page
0 commentsdiscussion
summary

Creates full-featured dashboard page extensions for Wix CLI applications. Dashboard pages appear in the Wix site owner's dashboard and enable site administrators to manage data, configure settings, and perform administrative tasks.

skill.md

Wix Dashboard Page Builder

Creates full-featured dashboard page extensions for Wix CLI applications. Dashboard pages appear in the Wix site owner's dashboard and enable site administrators to manage data, configure settings, and perform administrative tasks.


Quick Start Checklist

Follow these steps in order when creating a dashboard page:

  1. Create page folder: src/extensions/dashboard/pages/<page-name>/
  2. Create page.tsx with WDS components wrapped in WixDesignSystemProvider
  3. Create extensions.ts with extensions.dashboardPage() and unique UUID
  4. Update src/extensions.ts to import and use the new extension

Capabilities

Data Operations (Wix Data SDK)

See Wix Data Reference for complete documentation.

Summary:

  • Read: items.query('Collection').filter/sort.limit.find(){ items, totalCount, hasNext }
  • Write: items.insert | update | remove. Ensure collection permissions allow the action

Query methods: eq, ne, gt, ge, lt, le, between, contains, startsWith, endsWith, hasSome, hasAll, isEmpty, isNotEmpty, and, or, not, ascending, descending, limit, skip, include

Dashboard APIs

See Dashboard API Reference for complete documentation including all methods, page IDs, and examples.

Key methods:

  • dashboard.navigate() - Navigate between dashboard pages
  • dashboard.observeState() - Receive contextual state and environmental information
  • dashboard.showToast() - Display toast notifications
  • dashboard.openModal() - Open dashboard modal extensions (see wix-cli-dashboard-modal)
  • dashboard.navigateBack() - Navigate back to previous page
  • dashboard.getPageUrl() - Get full URL for a dashboard page
  • dashboard.openMediaManager() - Open Wix Media Manager
  • dashboard.onBeforeUnload() - Register beforeunload handler
  • dashboard.addSitePlugin() - Add site plugin to slots
  • dashboard.setPageTitle() - Set page title in browser tab
  • dashboard.onLayerStateChange() - Handle foreground/background state changes

CRITICAL: Using Modals in Dashboard Pages

When you need to display popup forms, confirmations, detail views, or any dialog overlays from a dashboard page, you MUST use dashboard modals, not regular React modals or WDS Modal components.

  • Use dashboard modals for: edit forms, delete confirmations, detail views, settings dialogs, any popup content
  • Do NOT use WDS Modal component or custom React modal implementations
  • See wix-cli-dashboard-modal for complete implementation guide

Dashboard modals are opened using dashboard.openModal() and provide proper integration with the dashboard lifecycle, state management, and navigation.

Ecom Navigation: See Ecom Navigation Reference for ecom-specific navigation helpers.

Embedded Script Configuration API

When building a dashboard page to configure an embedded script, see Dynamic Parameters Reference for complete implementation guide.

Key points:

  • Use embeddedScripts from @wix/app-management
  • Parameters are returned as strings - handle type conversions when loading
  • All parameters must be saved as strings (convert booleans/numbers to strings)
  • Use withProviders wrapper when dynamic parameters are present

Files and Code Structure

Dashboard pages live under src/extensions/dashboard/pages. Each page has its own folder.

File structure:

  • src/extensions/dashboard/pages/<page>/page.tsx — page component

Key metadata fields:

  • id (string, GUID): Unique page ID used to register the page
  • title (string): Used for browser tab and optional sidebar label
  • additionalRoutes (string[], optional): Extra routes leading to this page
  • sidebar.disabled (boolean, optional): Hide page from sidebar (default false)
  • sidebar.priority (number, optional): Sidebar ordering; lower is higher priority
  • sidebar.whenActive.selectedPageId (string, optional): Which page appears selected when this page is active
  • sidebar.whenActive.hideSidebar (boolean, optional): Hide sidebar when this page is active

WDS Provider Usage

Wrap your dashboard page component with WixDesignSystemProvider to enable WDS components and theming. You must also import the global CSS styles for WDS components to render correctly.

import { WixDesignSystemProvider } from "@wix/design-system";
import '@wix/design-system/styles.global.css';

export default function () {
  return (
    <WixDesignSystemProvider>
      <Page>
        <Page.Header
          title="My Page"
          subtitle="This is a subtitle for your page"
        />
        <Page.Content>
          <EmptyState title="My Page" subtitle="Hello World!" theme="page" />
        </Page.Content>
      </Page>
    </WixDesignSystemProvider>
  );
}

Note: When using dynamic parameters, use the withProviders wrapper instead. See Dynamic Parameters for details.

Hard Constraints

  • Do NOT invent or assume new types, modules, functions, props, events, or imports.
  • Use only entities explicitly present in the provided references or standard libraries already used in this project.
  • If something is missing, call it out explicitly and provide a minimal TODO or clearly marked placeholder rather than creating it.
  • Always verify component availability before using it in your generated code
  • If you need a component not in the list, use a basic HTML element or create a simple custom component instead
  • Do NOT use WDS Modal component or custom React modal implementations - Always use dashboard modals (see wix-cli-dashboard-modal) for any popup dialogs, forms, or overlays

Examples

Data Management Table

Request: "Create a dashboard page to manage blog posts"

Output: Page with table displaying posts, search toolbar, add/edit/delete actions, empty state.

Settings Form

Request: "Build a settings page for notification preferences"

Output: Page with form fields, save button with toast confirmation, unsaved changes warning.

Order Management

Request: "Create an admin panel for customer orders"

Output: Page with orders table, status badges, filters, detail dashboard modal (using wix-cli-dashboard-modal), status update actions.

Embedded Script Configuration

Request: "Create a settings page for the coupon popup embedded script"

Output: Page with form fields for popup headline, coupon code, minimum cart value, and enable toggle. Uses embeddedScripts API to load/save parameters.

// Key pattern for embedded script configuration pages
import { embeddedScripts } from "@wix/app-management";

// Load on mount
useEffect(() => {
  const load = async () => {
    const script = await embeddedScripts.getEmbeddedScript();
    const data = script.parameters || {};
    setOptions({
      headline: data.headline || "Default",
      enabled: data.enabled === "true",
      threshold: Number(data.threshold) || 0,
    });
  };
  load();
}, []);

// Save handler
const handleSave = async () => {
  await embeddedScripts.embedScript({
    parameters: {
      headline: options.headline,
      enabled: String(options.enabled),
      threshold: String(options.threshold),
    },
  });
  dashboard.showToast({ message: "Saved!", type: "success" });
};

Extension Registration

Extension registration is MANDATORY and has TWO required steps.

Step 1: Create Page-Specific Extension File

Each dashboard page requires an extensions.ts file in its folder:

File: src/extensions/dashboard/pages/<page-name>/extensions.ts

import { extensions } from "@wix/astro/builders";

export const dashboardpageMyPage = extensions.dashboardPage({
  id: "{{GENERATE_UUID}}",
  title: "My Page",
  routePath: "my-page",
  component: "./extensions/dashboard/pages/my-page/page.tsx",
});

CRITICAL: UUID Generation

The id must be a unique, static UUID v4 string. Generate a fresh UUID for each extension - do NOT use randomUUID() or copy UUIDs from examples. Replace {{GENERATE_UUID}} with a freshly generated UUID like "a1b2c3d4-e5f6-7890-abcd-ef1234567890".

Property Type Description
id string Unique static UUID v4 (generate fresh - see note above)
title string Display title in dashboard sidebar
routePath string URL path segment. Lowercase letters, numbers, dashes, and slashes only. Must NOT start with a slash.
component string Relative path to the page component (.tsx)

Step 2: Register in Main Extensions File

CRITICAL: After creating the page-specific extension file, you MUST read wix-cli-extension-registration and follow the "App Registration" section to update src/extensions.ts.

Without completing Step 2, the dashboard page will not appear in the Wix dashboard.

Common Mistakes - Do NOT

API confusion with other extension types:

WRONG (Embedded Script API) CORRECT (Dashboard Page API)
name: "..." title: "..."
source: "..." component: "..."
route: "..." routePath: "..."

Do NOT copy field names from embedded script or other extension registrations. Dashboard pages use title, routePath, and component.

Code Quality Requirements

TypeScript Quality Guidelines

  • Generated code MUST compile with zero TypeScript errors under strict settings: strict, noImplicitAny, strictNullChecks, exactOptionalPropertyTypes, noUncheckedIndexedAccess
  • Prefer type-narrowing and exhaustive logic over assertions; avoid non-null assertions (!) and unsafe casts (as any)
  • Treat optional values, refs, and array indexing results as possibly undefined and handle them explicitly
  • Use exhaustive checks for unions (e.g., switch with a never check) and return total values (no implicit undefined)
  • Do NOT use // @ts-ignore or // @ts-expect-error; fix the types or add guards instead

Core Principles

  • Do NOT invent or assume new types, modules, functions, props, events, or imports
  • NEVER use mocks, placeholders, or TODOs in any code
  • ALWAYS implement complete, production-ready functionality
  • Follow Wix dashboard page patterns and best practices precisely
  • Handle all edge cases and error scen
how to use wix-cli-dashboard-page

How to use wix-cli-dashboard-page on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add wix-cli-dashboard-page
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/wix/skills --skill wix-cli-dashboard-page

The skills CLI fetches wix-cli-dashboard-page from GitHub repository wix/skills and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/wix-cli-dashboard-page

Reload or restart Cursor to activate wix-cli-dashboard-page. Access the skill through slash commands (e.g., /wix-cli-dashboard-page) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.841 reviews
  • Meera Anderson· Dec 28, 2024

    Useful defaults in wix-cli-dashboard-page — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Isabella Kim· Dec 28, 2024

    We added wix-cli-dashboard-page from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Ganesh Mohane· Dec 16, 2024

    wix-cli-dashboard-page is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Isabella Huang· Nov 23, 2024

    I recommend wix-cli-dashboard-page for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Naina Zhang· Nov 19, 2024

    wix-cli-dashboard-page is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Lucas Kapoor· Nov 19, 2024

    wix-cli-dashboard-page fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Lucas Jain· Nov 11, 2024

    Useful defaults in wix-cli-dashboard-page — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Rahul Santra· Nov 7, 2024

    Useful defaults in wix-cli-dashboard-page — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Pratham Ware· Oct 26, 2024

    Registry listing for wix-cli-dashboard-page matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Isabella Anderson· Oct 14, 2024

    Solid pick for teams standardizing on skills: wix-cli-dashboard-page is focused, and the summary matches what you get after install.

showing 1-10 of 41

1 / 5