Generated banner for Rp Quick Shopify
Generated logo for Rp Quick Shopify

Rp Quick Shopify

WixOfficialPublished by Wix

  • Skill
  • Workflow
  • Automation and integrations
  • MIT
  • Low risk
  • Has scripts

From the author

Runs the bounded deterministic public Shopify catalog quick-import adapter after a qualifying source probe.
— the description by Wix

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The rp-quick-shopify skill provides a structured, deterministic workflow for importing public Shopify catalog data into a target system. It utilizes the store's tokenless Storefront GraphQL API to extract products, collections, variants, and media without requiring credentials or browser-based scraping. The process is managed through a series of CLI commands that handle preflight checks, planning, extraction, and import, ensuring data integrity through crosswalks and inventory reconciliation. It includes robust error handling, retry logic for network issues, and a verification phase to address partial imports.

What it does

  • Extracts public Shopify catalog data including products, collections, and variants.
  • Uses the tokenless Storefront GraphQL API for efficient, paginated data retrieval.
  • Validates import plans against source coverage and category capacity constraints.
  • Performs inventory reconciliation for imported products.
  • Supports dry-run operations to preview reports without modifying live data.
  • Provides a reverification workflow to resolve partial import discrepancies.

When to use it

  • When the system router selects managementImportMode=quick for a Shopify source.
  • When a high-confidence source probe identifies a Shopify store.
  • When performing a migration that requires a deterministic, tokenless catalog import.
  • When you need to verify and reconcile inventory data alongside product imports.

Advantages

  • Deterministic and repeatable import process.
  • No requirement for API tokens, credentials, or browser-based scraping.
  • Efficient data retrieval using paginated GraphQL queries.
  • Built-in validation for category limits and source coverage.
  • Supports partial import recovery and reverification.

Usage examples

“Run the preflight check for the Shopify import in the current project directory.”
The adapter initiates the preflight process, reads storefront localization, and prepares the environment for the import plan.
“Execute the import process for the Shopify catalog.”
The adapter performs the import, validates the payload, reconciles inventory, and generates a completion report.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/wix/rp-quick-shopify-sege/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip rp-quick-shopify.zip -d .agents/skills

Documentation by Wix

rp-quick-shopify

Use only when the router selected this resource for managementImportMode=quick and the source probe identified shopify with high confidence. This adapter imports only the catalog entity graph declared in quick-mode.json: public products, collections, product tags, product media, variants, and collection membership. It reads them through the store's tokenless Storefront GraphQL API (POST /api/<storefrontApiVersion>/graphql.json, no access token) at the API version pinned in quick-mode.json. One paginated product query carries each product's variants, images, and collection memberships, so a store with thousands of collections still needs only a handful of requests. It never uses credentials, a Storefront or Admin access token, browser extraction, page scraping, app endpoints, or an LLM mapping step.

Run the adapter from the repository root:

node skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js preflight <projectDir>
node skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js plan <projectDir>
node skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js extract <projectDir>
node skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js import <projectDir> [--dry-run]
node skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js request-reverify <projectDir>
node skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js reverify <projectDir>

plan also writes discovery/source-coverage.json: one adapter-excluded row per excluded[] entry, each dispositioned as the adapter's declared exclusion and carrying the committed excludedCapabilities translation from quick-mode.json (a target capability, or source-scope.<name> when Wix has none). The plan refuses if that translation is missing, extra, duplicated or outside both namespaces, and stamps sourceCoverageContract: 1 in quick-mode/plan.json. import refuses to write its completion summary when the plan is missing or unstamped, or its coverage file is missing or does not reconcile (a declared exclusion must name an excluded[] entry of the committed contract, with its committed capability); re-run plan to fix any of these. The summary carries sourceCoverage[] and sourceCoverageStatus.

preflight also reads the storefront's localization (country, its currency, and language) once, best effort, and plan writes it to discovery/source-locale.json (adapter quick-shopify). The storefront API has no time zone, so that is an explicit unknown; a failed read leaves every regional value unknown and never blocks the plan.

Setup does block until all four locale values are known. For any value the storefront does not expose, ask the merchant and edit that field in discovery/source-locale.json to {"state":"supplied","value":"<validated value>","evidence":"merchant input","suppliedBy":"<operator>"}. Then re-run plan and setup. The shared writer preserves a valid supplied value when the new public capture is still unknown; never substitute a Wix default or guess.

preflight pages through the product and collection connections (completing any product whose variants, images, or collections exceed the first nested page) and stores the capture that extract reuses, before plan writes the authoritative quick plan and execution manifest. HTTP 429, 5xx, THROTTLED, dropped connections, and hung calls are retried: one first call plus at most six retries per request, each call time-limited, and every wait (including a server-requested Retry-After, as seconds or an HTTP date) capped at 30 seconds. Any other error is a real answer and blocks at once. When retries run out, quick-mode/preflight.json records a blocked check with the connection, page, status, error codes and attempts. Normal setup discovery/execution and execution approval remain mandatory before import. An inaccessible (e.g. password-protected), malformed, or changed endpoint is a durable blocker: do not substitute a browser, credentials, or a different endpoint; create a durable choice between stopping and standard mode instead. The standard-mode choice must carry this effect so the CLI applies the user's selection before it resumes:

{"kind":"decision","key":"managementImportMode","choices":{"switch_to_standard":"standard"}}

Records are normalized to the storefront-JSON row shape the import consumes (numeric legacy ids, body_html, variants[].option1..3, variants[].available, images[].src), so crosswalks keyed by Shopify id stay valid across adapter versions. A dry run writes only execution/dry-run-completion-report.json, execution/dry-run-final-report.md, execution/dry-run-inventory-report.json and execution/dry-run-category-capacity.json; it never creates or changes a live artifact (the live completion, final and inventory reports, the crosswalk, the limit-recovery log, the capacity file, the import-started marker or a re-check file), so the router still sends the project to the live import afterwards.

Extraction persists the raw records and membership edges. Only collections that contain at least one extracted product become categories (manifest.entities.collection.excludedEmptyCount counts the rest): Wix Stores allows at most 1,000 categories per site, including the built-in All Products category. Import checks that limit against the destination's current categories before its first write and refuses, naming both counts, rather than creating categories up to the cap and stranding the remaining memberships. The check counts only categories still to be created (ones already crosswalked or already on the destination by slug are reused) plus the built-in All Products category, and records quick-mode/category-capacity.json. When it is blocked, nothing was written and the router returns quick_mode_category_capacity_blocked: create a durable choice between free_destination_categories_and_retry (the operator frees categories on the destination, then the import is re-run and rewrites the file as passed) and stop. A dry run cannot see the destination, so it applies the same rule with the built-in category as the floor and reports the real headroom as unknown. Collections left out for having no imported product are listed by name in the completion report (excludedCollections) and the final report, so the operator can recreate any the merchant still needs. Import uses the shared Stores V3 runtime, durable crosswalks, and checkpoints. The shared writer validates the product option and variant payload; a record that cannot be represented safely is skipped and reported rather than collapsed to a different product shape.

Quick mode maps each public Shopify variant's explicit available boolean to untracked inStock; a missing or non-boolean value is a reported gap, never implicit availability. Products created with the standalone endpoint are followed by shared inventory reconciliation. Match returned variants by their option/choice identities, not response order or SKU. On resume, keep the product crosswalk and reconcile stock for existing products too.

A product that exists on the destination with uniquely correlated variants but fails a field read-back (for example a description fragment Wix dropped) is still reported as skipped and listed in the summary's writtenUnverified.product (sourceId, targetId, name, failedFields), but its stock is reconciled and its category memberships are written: both depend only on product and variant identity, and a for-sale item must not be left with the wrong stock because of an unrelated field. The run stays partial and the final report lists each such product under "Products to check". A product whose variants do not correlate one-to-one gets no stock and no category link, and is reported as a gap.

After the operator fixes or accepts those differences, request-reverify records a request (quick-mode/reverify-request.json; refused when the live completion report lists none) and the router returns quick_mode_reverification_required for a finished partial import. reverify (refuses --dry-run) re-reads each listed product once with the import's read-back comparison and only ever reads from Wix. It first stages its complete result in quick-mode/reverification-staged.json, then publishes it by replay — completion report, final report, then the receipt quick-mode/reverification.json — so a crash at any step is finished by the next routing step without re-reading Wix. Once the receipt matches the request the same request never routes again; a later fix needs a new request.

The post-create read retries a transient 404 briefly (the product can be unreadable for a moment after its create); a failed create is never retried inline, because resume reuses it by slug.

state/inventory-report.json accounts for all extracted variants (including gaps) and requires default-location Inventory and Catalog read-back before completion. An inventory failure leaves the quick completion report partial even when all product IDs exist. An empty inventory census is no-data with complete:false; an extraction count that differs from its manifest blocks before writes. Dry runs write a separate simulated inventory report and cannot complete or overwrite a live inventory checkpoint.

Setup scope: the quick setup router verifies the normal setup receipt (including required notification protection and Stores provisioning). Its deterministic setup plan does not run an inventory write canary. Do not report inventory create/update grants as preverified from that receipt; a denied inventory write remains partial in the persisted stock report.

Files

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Node.js

Security

What our scanner noticed· Low risk

  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Wix
Publisher
Wix (Official)
Source
wix/skills · skills/wix-replatform/resources/rp-quick-shopify · commit d168bc2
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Wix or Wix.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download rp-quick-shopify.zip