Skills
Skill 38 of 48
Shared deterministic target-limit recovery and final-report runtime every rp-quick-<platform> quick-mode adapter uses before a Wix Stores write.
1 minute · 196 words
Install
npx skills add wix/skills --skill rp-quick-runtimenpx skills add wix/skills/plugin marketplace add wix/skillsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
Not invoked directly — this is a shared library (lib/limit-recovery.js), not a standalone
adapter. Every rp-quick-<platform> quick-mode adapter (rp-quick-shopify, rp-quick-woocommerce)
requires it from its own scripts/quick-mode.js and must use it from its first version (spec
0051, Decision 1). Platform adapters own source extraction and field semantics; this runtime owns
target-limit enforcement, recovery-ledger aggregation, and the human-readable final report — so a
Wix Stores validation limit never silently turns an otherwise-valid record into an opaque skip.
const
normalizeProduct applies the two verified Stores limits deterministically: caps tagIds at
STORES_PRODUCT_TAGS_MAX (first-seen source order, extras omitted) and trims sku to
STORES_SKU_MAX Unicode-safe characters with a stable source-ID-derived suffix so a trimmed SKU
stays unique. Every cap/trim is reported back in recoveries[], never applied silently.
appendRecoveries ledgers each recovery to execution/quick-limit-recoveries.ndjson under the
adapter’s own name, tagged outcome: written_with_loss — the durable record of what was
preserved versus lost, per source record. Call it only after the target write succeeds.
recordRecoveredRecord increments summary.recovered once for the written source record and
increments summary.recoveryCounts once for each recovery event on that record.
writeFinalReport renders execution/quick-mode-final-report.md: a count of records imported
with deterministic recovery plus a per-recovery-code breakdown, so the operator gets a compact,
actionable account instead of a bare skip count.
main, last pushed 24 September 2026.SKILL.md, not by matching a directory convention. 8 distinct layouts observed: .claude/skills/*/SKILL.md, skills/*/SKILL.md, skills/wix-headless-fast/*/skill.md, skills/wix-headless/*/skill.md, skills/wix-replatform/resources/*/SKILL.md, wix-headless-replatform/resources/*/SKILL.md, */SKILL.md, wix-replatform/resources/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Wix, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./wix/skills.md, and each skill at its own .md URL.1 file · 3 KB
Everything this skill ships beside its prose. All of it is set here, as a subchapter of skill 38.
Everything else published alongside the skill.