Rp Quick Shopify
WixOfficialPublished by Wix
- Skill
- Workflow
- Automation and integrations
- MIT
- Low risk
- Has scripts
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
Download the skill as a ZIP:
https://autogineer.com/agent-skills/wix/rp-quick-shopify-sege/downloadUnzip 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
- ATTRIBUTION.mdAdded by AutoGineer844 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md9.7 KiB
- quick-mode.json3.1 KiB
- scripts/quick-mode.jsScript56.2 KiB
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