[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-wix-rp-setup-discovery":3,"mdc--o89tg3-key":31,"related-repo-wix-rp-setup-discovery":731,"related-org-wix-rp-setup-discovery":812},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"rp-setup-discovery","set up Wix environment prerequisites","Derives Wix environment prerequisites (apps, collections, schemas) from an approved mapping plan. Use after mapping review and before import code generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"wix","Wix","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fwix.jpg",[12,14,17],{"name":9,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"Configuration","configuration",{"name":18,"slug":19,"type":13},"Data Modeling","data-modeling",23,"https:\u002F\u002Fgithub.com\u002Fwix\u002Fskills","2026-07-01T08:07:59.413698",null,28,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"Wix Skills","https:\u002F\u002Fgithub.com\u002Fwix\u002Fskills\u002Ftree\u002FHEAD\u002Freplatform\u002Frp-setup-discovery","---\nname: rp-setup-discovery\ndescription: >-\n  Derives Wix environment prerequisites (apps, collections, schemas) from an approved\n  mapping plan. Use after mapping review and before import code generation.\n---\n\n# rp-setup-discovery\n\nDetermine the Wix-side setup required before import can run safely.\n\n## Purpose\n\nThis skill analyzes the approved mapping plan and derives environment prerequisites such as installed apps, SMC collections, extended-fields schemas, references, permissions, and any other target-system configuration dependencies.\n\n## Required inputs\n\n- `migrations\u002F\u003Cproject>\u002Fmapping-plan.md`\n- `migrations\u002F\u003Cproject>\u002Fmapping-summary.md`\n- any Wix environment constraints or destination account details provided by the user\n\n## Workflow\n\n1. Confirm the mapping review checkpoint has been accepted, then read the mapping plan and\n   mapping summary and identify every non-native requirement.\n2. Determine which Wix apps must be installed or enabled.\n3. Determine which SMC collections must exist.\n4. Determine which extended-fields schemas, references, enums, or validation rules must exist.\n5. Capture dependency ordering where setup steps depend on each other.\n6. Write a setup artifact that downstream execution can verify.\n\n## Artifact to create or update\n\n- `migrations\u002F\u003Cproject>\u002Fsetup-requirements.md`\n\nTreat `mapping-summary.md` as the user-facing statement of intent and `mapping-plan.md` as\nthe detailed contract. If they materially disagree, halt and send the workflow back to\n`rp-mapper` to correct them before deriving setup requirements.\n\n## Minimum contents\n\n- required Wix apps\n- canonical crosswalk requirement name when native Wix entities need resume\u002Fdedupe\n- required collections and schemas\n- required field definitions\n- permissions or access prerequisites\n- setup order\n- manual steps vs. steps that can be automated\n- verification criteria for each requirement\n\n## Optional source reachability setup for media\n\nIf the mapping imports media by URL and the source profile shows `localhost`,\n`127.0.0.1`, or another private-only source URL, add an optional setup note for media\nreachability. This is **not** a blocker for non-media entities and should not be framed as\na required Wix-side app\u002Fsetup item. As far as we know today, it only affects Wix Media\nimport because Wix's import-from-URL API fetches files from Wix servers.\n\nOffer two options in `setup-requirements.md`:\n\n- Expose the local source through a public HTTPS tunnel before live media import.\n- Skip\u002Fdefer media import for the first live run and continue non-media entities.\n\nFor ngrok, include:\n\n```bash\nbrew install ngrok\nngrok config add-authtoken \"\u003CYOUR_AUTHTOKEN>\"\nngrok http 8090\nexport WP_BASE_URL=https:\u002F\u002F\u003Cid>.ngrok-free.app\n```\n\nTell the user to use the HTTPS forwarding URL as `WP_BASE_URL` \u002F `SOURCE_URL`, or ensure\ngenerated code rewrites source media URLs from the local base URL to the tunnel base URL.\n\n## Verifying Wix APIs\n\nConfirm that the apps, collections, field types, and references you require actually\nexist in Wix with the names\u002Ftypes you state — never invent them.\n\n- **When the Wix MCP is available, verification is mandatory, not optional** — verify at\n  the moment you write the requirement, don't defer it. Verify **enum values**, not just\n  names: confirm each `Field.type` against the Create Data Collection schema. (Common\n  trap: there is no `SLUG` type — a Wix slug is a `TEXT` field.)\n- **When the Wix MCP is expected but missing, treat that as a missing prerequisite first.**\n  Before falling back to docs, first try to ensure the Wix MCP is installed\u002Fconnected in\n  the current runtime. If the environment supports connector\u002Fplugin install flows, use\n  them. Otherwise halt to needs-user with exact install\u002Fconnect instructions for the Wix\n  MCP and resume once it is available.\n- `unverified` is reserved for when the MCP is genuinely **unavailable** — not a way to\n  pass an unchecked internal-catalog name downstream while the MCP is right there.\n- **Fallback when no Wix MCP is available is degraded mode, not the default path.**\n  Use it only when the user explicitly asks for a provisional setup draft without the Wix\n  MCP, or when an upstream orchestrator explicitly routed this step in provisional mode.\n  In that mode, rely on published Wix REST\u002FSDK documentation and conservative, known-good\n  names, and mark the requirement `unverified` so a human confirms it before\n  `rp-execute-setup` runs.\n\n## Crosswalk naming\n\nWhen setup requirements include a durable `sourceId -> targetId` side table for native\nWix entities, the canonical collection name is **`ImportCrosswalk`**. If the mapping plan\nuses older prose such as `MigrationRefs`, normalize it here and call out the rename in the\nartifact so downstream setup\u002Fcodegen share one contract.\n\n## Classifying manual vs. automatable\n\nDo not assert \"manual\" \u002F \"cannot self-provision\" by assumption — check the API surface.\n\n- Enabling a Wix app (Blog, Members, etc.) **is** automatable via the App Installation\n  API; classify it automatable and cite the method. (Common trap: do not mark Blog or\n  Members \"cannot self-provision\" — both are installable via the API.)\n- Creating CMS collections is automatable; enabling Wix Data itself is automatable by\n  installing the **Wix Data app `appDefId e593b0bd-b783-45b8-97c2-873d42aacaf4`** via the\n  App Installation API, after which `POST \u002Fwix-data\u002Fv2\u002Fcollections` creates NATIVE\n  collections with no `WDE0110` (verified live 2026-06-10; see `rp-execute-setup`).\n- Only storage-plan upgrades, external-system credentials, and account billing are\n  genuinely manual. Mark something manual only after confirming no API covers it.\n\n## Runtime policy\n\nVerify names and enums against the Wix MCP rather than emitting `unverified` by default.\nClassify automatability by checking the API surface (see above), not by assumption. If the\nMCP is genuinely unavailable, use the documented fallback only for an explicitly\nprovisional artifact and mark the requirement `unverified` so downstream steps surface it\nbefore execution.\n\n## Guardrails\n\n- Separate required setup from optional optimizations.\n- Avoid embedding import logic here; this file is about prerequisites.\n- Be explicit about which requirements come from which mapping decision.\n- Do not produce a docs-only setup artifact as the normal path when the Wix MCP\n  prerequisite is missing. That mode must be explicitly marked provisional.\n",{"data":32,"body":33},{"name":4,"description":6},{"type":34,"children":35},"root",[36,43,49,56,61,67,96,102,136,142,154,183,189,232,238,267,280,293,298,432,453,459,464,561,567,599,605,610,671,677,696,702,725],{"type":37,"tag":38,"props":39,"children":40},"element","h1",{"id":4},[41],{"type":42,"value":4},"text",{"type":37,"tag":44,"props":45,"children":46},"p",{},[47],{"type":42,"value":48},"Determine the Wix-side setup required before import can run safely.",{"type":37,"tag":50,"props":51,"children":53},"h2",{"id":52},"purpose",[54],{"type":42,"value":55},"Purpose",{"type":37,"tag":44,"props":57,"children":58},{},[59],{"type":42,"value":60},"This skill analyzes the approved mapping plan and derives environment prerequisites such as installed apps, SMC collections, extended-fields schemas, references, permissions, and any other target-system configuration dependencies.",{"type":37,"tag":50,"props":62,"children":64},{"id":63},"required-inputs",[65],{"type":42,"value":66},"Required inputs",{"type":37,"tag":68,"props":69,"children":70},"ul",{},[71,82,91],{"type":37,"tag":72,"props":73,"children":74},"li",{},[75],{"type":37,"tag":76,"props":77,"children":79},"code",{"className":78},[],[80],{"type":42,"value":81},"migrations\u002F\u003Cproject>\u002Fmapping-plan.md",{"type":37,"tag":72,"props":83,"children":84},{},[85],{"type":37,"tag":76,"props":86,"children":88},{"className":87},[],[89],{"type":42,"value":90},"migrations\u002F\u003Cproject>\u002Fmapping-summary.md",{"type":37,"tag":72,"props":92,"children":93},{},[94],{"type":42,"value":95},"any Wix environment constraints or destination account details provided by the user",{"type":37,"tag":50,"props":97,"children":99},{"id":98},"workflow",[100],{"type":42,"value":101},"Workflow",{"type":37,"tag":103,"props":104,"children":105},"ol",{},[106,111,116,121,126,131],{"type":37,"tag":72,"props":107,"children":108},{},[109],{"type":42,"value":110},"Confirm the mapping review checkpoint has been accepted, then read the mapping plan and\nmapping summary and identify every non-native requirement.",{"type":37,"tag":72,"props":112,"children":113},{},[114],{"type":42,"value":115},"Determine which Wix apps must be installed or enabled.",{"type":37,"tag":72,"props":117,"children":118},{},[119],{"type":42,"value":120},"Determine which SMC collections must exist.",{"type":37,"tag":72,"props":122,"children":123},{},[124],{"type":42,"value":125},"Determine which extended-fields schemas, references, enums, or validation rules must exist.",{"type":37,"tag":72,"props":127,"children":128},{},[129],{"type":42,"value":130},"Capture dependency ordering where setup steps depend on each other.",{"type":37,"tag":72,"props":132,"children":133},{},[134],{"type":42,"value":135},"Write a setup artifact that downstream execution can verify.",{"type":37,"tag":50,"props":137,"children":139},{"id":138},"artifact-to-create-or-update",[140],{"type":42,"value":141},"Artifact to create or update",{"type":37,"tag":68,"props":143,"children":144},{},[145],{"type":37,"tag":72,"props":146,"children":147},{},[148],{"type":37,"tag":76,"props":149,"children":151},{"className":150},[],[152],{"type":42,"value":153},"migrations\u002F\u003Cproject>\u002Fsetup-requirements.md",{"type":37,"tag":44,"props":155,"children":156},{},[157,159,165,167,173,175,181],{"type":42,"value":158},"Treat ",{"type":37,"tag":76,"props":160,"children":162},{"className":161},[],[163],{"type":42,"value":164},"mapping-summary.md",{"type":42,"value":166}," as the user-facing statement of intent and ",{"type":37,"tag":76,"props":168,"children":170},{"className":169},[],[171],{"type":42,"value":172},"mapping-plan.md",{"type":42,"value":174}," as\nthe detailed contract. If they materially disagree, halt and send the workflow back to\n",{"type":37,"tag":76,"props":176,"children":178},{"className":177},[],[179],{"type":42,"value":180},"rp-mapper",{"type":42,"value":182}," to correct them before deriving setup requirements.",{"type":37,"tag":50,"props":184,"children":186},{"id":185},"minimum-contents",[187],{"type":42,"value":188},"Minimum contents",{"type":37,"tag":68,"props":190,"children":191},{},[192,197,202,207,212,217,222,227],{"type":37,"tag":72,"props":193,"children":194},{},[195],{"type":42,"value":196},"required Wix apps",{"type":37,"tag":72,"props":198,"children":199},{},[200],{"type":42,"value":201},"canonical crosswalk requirement name when native Wix entities need resume\u002Fdedupe",{"type":37,"tag":72,"props":203,"children":204},{},[205],{"type":42,"value":206},"required collections and schemas",{"type":37,"tag":72,"props":208,"children":209},{},[210],{"type":42,"value":211},"required field definitions",{"type":37,"tag":72,"props":213,"children":214},{},[215],{"type":42,"value":216},"permissions or access prerequisites",{"type":37,"tag":72,"props":218,"children":219},{},[220],{"type":42,"value":221},"setup order",{"type":37,"tag":72,"props":223,"children":224},{},[225],{"type":42,"value":226},"manual steps vs. steps that can be automated",{"type":37,"tag":72,"props":228,"children":229},{},[230],{"type":42,"value":231},"verification criteria for each requirement",{"type":37,"tag":50,"props":233,"children":235},{"id":234},"optional-source-reachability-setup-for-media",[236],{"type":42,"value":237},"Optional source reachability setup for media",{"type":37,"tag":44,"props":239,"children":240},{},[241,243,249,251,257,259,265],{"type":42,"value":242},"If the mapping imports media by URL and the source profile shows ",{"type":37,"tag":76,"props":244,"children":246},{"className":245},[],[247],{"type":42,"value":248},"localhost",{"type":42,"value":250},",\n",{"type":37,"tag":76,"props":252,"children":254},{"className":253},[],[255],{"type":42,"value":256},"127.0.0.1",{"type":42,"value":258},", or another private-only source URL, add an optional setup note for media\nreachability. This is ",{"type":37,"tag":260,"props":261,"children":262},"strong",{},[263],{"type":42,"value":264},"not",{"type":42,"value":266}," a blocker for non-media entities and should not be framed as\na required Wix-side app\u002Fsetup item. As far as we know today, it only affects Wix Media\nimport because Wix's import-from-URL API fetches files from Wix servers.",{"type":37,"tag":44,"props":268,"children":269},{},[270,272,278],{"type":42,"value":271},"Offer two options in ",{"type":37,"tag":76,"props":273,"children":275},{"className":274},[],[276],{"type":42,"value":277},"setup-requirements.md",{"type":42,"value":279},":",{"type":37,"tag":68,"props":281,"children":282},{},[283,288],{"type":37,"tag":72,"props":284,"children":285},{},[286],{"type":42,"value":287},"Expose the local source through a public HTTPS tunnel before live media import.",{"type":37,"tag":72,"props":289,"children":290},{},[291],{"type":42,"value":292},"Skip\u002Fdefer media import for the first live run and continue non-media entities.",{"type":37,"tag":44,"props":294,"children":295},{},[296],{"type":42,"value":297},"For ngrok, include:",{"type":37,"tag":299,"props":300,"children":305},"pre",{"className":301,"code":302,"language":303,"meta":304,"style":304},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","brew install ngrok\nngrok config add-authtoken \"\u003CYOUR_AUTHTOKEN>\"\nngrok http 8090\nexport WP_BASE_URL=https:\u002F\u002F\u003Cid>.ngrok-free.app\n","bash","",[306],{"type":37,"tag":76,"props":307,"children":308},{"__ignoreMap":304},[309,332,367,386],{"type":37,"tag":310,"props":311,"children":314},"span",{"class":312,"line":313},"line",1,[315,321,327],{"type":37,"tag":310,"props":316,"children":318},{"style":317},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[319],{"type":42,"value":320},"brew",{"type":37,"tag":310,"props":322,"children":324},{"style":323},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[325],{"type":42,"value":326}," install",{"type":37,"tag":310,"props":328,"children":329},{"style":323},[330],{"type":42,"value":331}," ngrok\n",{"type":37,"tag":310,"props":333,"children":335},{"class":312,"line":334},2,[336,341,346,351,357,362],{"type":37,"tag":310,"props":337,"children":338},{"style":317},[339],{"type":42,"value":340},"ngrok",{"type":37,"tag":310,"props":342,"children":343},{"style":323},[344],{"type":42,"value":345}," config",{"type":37,"tag":310,"props":347,"children":348},{"style":323},[349],{"type":42,"value":350}," add-authtoken",{"type":37,"tag":310,"props":352,"children":354},{"style":353},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[355],{"type":42,"value":356}," \"",{"type":37,"tag":310,"props":358,"children":359},{"style":323},[360],{"type":42,"value":361},"\u003CYOUR_AUTHTOKEN>",{"type":37,"tag":310,"props":363,"children":364},{"style":353},[365],{"type":42,"value":366},"\"\n",{"type":37,"tag":310,"props":368,"children":370},{"class":312,"line":369},3,[371,375,380],{"type":37,"tag":310,"props":372,"children":373},{"style":317},[374],{"type":42,"value":340},{"type":37,"tag":310,"props":376,"children":377},{"style":323},[378],{"type":42,"value":379}," http",{"type":37,"tag":310,"props":381,"children":383},{"style":382},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[384],{"type":42,"value":385}," 8090\n",{"type":37,"tag":310,"props":387,"children":389},{"class":312,"line":388},4,[390,396,402,407,412,417,422,427],{"type":37,"tag":310,"props":391,"children":393},{"style":392},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[394],{"type":42,"value":395},"export",{"type":37,"tag":310,"props":397,"children":399},{"style":398},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[400],{"type":42,"value":401}," WP_BASE_URL",{"type":37,"tag":310,"props":403,"children":404},{"style":353},[405],{"type":42,"value":406},"=",{"type":37,"tag":310,"props":408,"children":409},{"style":398},[410],{"type":42,"value":411},"https:\u002F\u002F",{"type":37,"tag":310,"props":413,"children":414},{"style":353},[415],{"type":42,"value":416},"\u003C",{"type":37,"tag":310,"props":418,"children":419},{"style":398},[420],{"type":42,"value":421},"id",{"type":37,"tag":310,"props":423,"children":424},{"style":353},[425],{"type":42,"value":426},">",{"type":37,"tag":310,"props":428,"children":429},{"style":398},[430],{"type":42,"value":431},".ngrok-free.app\n",{"type":37,"tag":44,"props":433,"children":434},{},[435,437,443,445,451],{"type":42,"value":436},"Tell the user to use the HTTPS forwarding URL as ",{"type":37,"tag":76,"props":438,"children":440},{"className":439},[],[441],{"type":42,"value":442},"WP_BASE_URL",{"type":42,"value":444}," \u002F ",{"type":37,"tag":76,"props":446,"children":448},{"className":447},[],[449],{"type":42,"value":450},"SOURCE_URL",{"type":42,"value":452},", or ensure\ngenerated code rewrites source media URLs from the local base URL to the tunnel base URL.",{"type":37,"tag":50,"props":454,"children":456},{"id":455},"verifying-wix-apis",[457],{"type":42,"value":458},"Verifying Wix APIs",{"type":37,"tag":44,"props":460,"children":461},{},[462],{"type":42,"value":463},"Confirm that the apps, collections, field types, and references you require actually\nexist in Wix with the names\u002Ftypes you state — never invent them.",{"type":37,"tag":68,"props":465,"children":466},{},[467,508,518,536],{"type":37,"tag":72,"props":468,"children":469},{},[470,475,477,482,484,490,492,498,500,506],{"type":37,"tag":260,"props":471,"children":472},{},[473],{"type":42,"value":474},"When the Wix MCP is available, verification is mandatory, not optional",{"type":42,"value":476}," — verify at\nthe moment you write the requirement, don't defer it. Verify ",{"type":37,"tag":260,"props":478,"children":479},{},[480],{"type":42,"value":481},"enum values",{"type":42,"value":483},", not just\nnames: confirm each ",{"type":37,"tag":76,"props":485,"children":487},{"className":486},[],[488],{"type":42,"value":489},"Field.type",{"type":42,"value":491}," against the Create Data Collection schema. (Common\ntrap: there is no ",{"type":37,"tag":76,"props":493,"children":495},{"className":494},[],[496],{"type":42,"value":497},"SLUG",{"type":42,"value":499}," type — a Wix slug is a ",{"type":37,"tag":76,"props":501,"children":503},{"className":502},[],[504],{"type":42,"value":505},"TEXT",{"type":42,"value":507}," field.)",{"type":37,"tag":72,"props":509,"children":510},{},[511,516],{"type":37,"tag":260,"props":512,"children":513},{},[514],{"type":42,"value":515},"When the Wix MCP is expected but missing, treat that as a missing prerequisite first.",{"type":42,"value":517},"\nBefore falling back to docs, first try to ensure the Wix MCP is installed\u002Fconnected in\nthe current runtime. If the environment supports connector\u002Fplugin install flows, use\nthem. Otherwise halt to needs-user with exact install\u002Fconnect instructions for the Wix\nMCP and resume once it is available.",{"type":37,"tag":72,"props":519,"children":520},{},[521,527,529,534],{"type":37,"tag":76,"props":522,"children":524},{"className":523},[],[525],{"type":42,"value":526},"unverified",{"type":42,"value":528}," is reserved for when the MCP is genuinely ",{"type":37,"tag":260,"props":530,"children":531},{},[532],{"type":42,"value":533},"unavailable",{"type":42,"value":535}," — not a way to\npass an unchecked internal-catalog name downstream while the MCP is right there.",{"type":37,"tag":72,"props":537,"children":538},{},[539,544,546,551,553,559],{"type":37,"tag":260,"props":540,"children":541},{},[542],{"type":42,"value":543},"Fallback when no Wix MCP is available is degraded mode, not the default path.",{"type":42,"value":545},"\nUse it only when the user explicitly asks for a provisional setup draft without the Wix\nMCP, or when an upstream orchestrator explicitly routed this step in provisional mode.\nIn that mode, rely on published Wix REST\u002FSDK documentation and conservative, known-good\nnames, and mark the requirement ",{"type":37,"tag":76,"props":547,"children":549},{"className":548},[],[550],{"type":42,"value":526},{"type":42,"value":552}," so a human confirms it before\n",{"type":37,"tag":76,"props":554,"children":556},{"className":555},[],[557],{"type":42,"value":558},"rp-execute-setup",{"type":42,"value":560}," runs.",{"type":37,"tag":50,"props":562,"children":564},{"id":563},"crosswalk-naming",[565],{"type":42,"value":566},"Crosswalk naming",{"type":37,"tag":44,"props":568,"children":569},{},[570,572,578,580,589,591,597],{"type":42,"value":571},"When setup requirements include a durable ",{"type":37,"tag":76,"props":573,"children":575},{"className":574},[],[576],{"type":42,"value":577},"sourceId -> targetId",{"type":42,"value":579}," side table for native\nWix entities, the canonical collection name is ",{"type":37,"tag":260,"props":581,"children":582},{},[583],{"type":37,"tag":76,"props":584,"children":586},{"className":585},[],[587],{"type":42,"value":588},"ImportCrosswalk",{"type":42,"value":590},". If the mapping plan\nuses older prose such as ",{"type":37,"tag":76,"props":592,"children":594},{"className":593},[],[595],{"type":42,"value":596},"MigrationRefs",{"type":42,"value":598},", normalize it here and call out the rename in the\nartifact so downstream setup\u002Fcodegen share one contract.",{"type":37,"tag":50,"props":600,"children":602},{"id":601},"classifying-manual-vs-automatable",[603],{"type":42,"value":604},"Classifying manual vs. automatable",{"type":37,"tag":44,"props":606,"children":607},{},[608],{"type":42,"value":609},"Do not assert \"manual\" \u002F \"cannot self-provision\" by assumption — check the API surface.",{"type":37,"tag":68,"props":611,"children":612},{},[613,625,666],{"type":37,"tag":72,"props":614,"children":615},{},[616,618,623],{"type":42,"value":617},"Enabling a Wix app (Blog, Members, etc.) ",{"type":37,"tag":260,"props":619,"children":620},{},[621],{"type":42,"value":622},"is",{"type":42,"value":624}," automatable via the App Installation\nAPI; classify it automatable and cite the method. (Common trap: do not mark Blog or\nMembers \"cannot self-provision\" — both are installable via the API.)",{"type":37,"tag":72,"props":626,"children":627},{},[628,630,641,643,649,651,657,659,664],{"type":42,"value":629},"Creating CMS collections is automatable; enabling Wix Data itself is automatable by\ninstalling the ",{"type":37,"tag":260,"props":631,"children":632},{},[633,635],{"type":42,"value":634},"Wix Data app ",{"type":37,"tag":76,"props":636,"children":638},{"className":637},[],[639],{"type":42,"value":640},"appDefId e593b0bd-b783-45b8-97c2-873d42aacaf4",{"type":42,"value":642}," via the\nApp Installation API, after which ",{"type":37,"tag":76,"props":644,"children":646},{"className":645},[],[647],{"type":42,"value":648},"POST \u002Fwix-data\u002Fv2\u002Fcollections",{"type":42,"value":650}," creates NATIVE\ncollections with no ",{"type":37,"tag":76,"props":652,"children":654},{"className":653},[],[655],{"type":42,"value":656},"WDE0110",{"type":42,"value":658}," (verified live 2026-06-10; see ",{"type":37,"tag":76,"props":660,"children":662},{"className":661},[],[663],{"type":42,"value":558},{"type":42,"value":665},").",{"type":37,"tag":72,"props":667,"children":668},{},[669],{"type":42,"value":670},"Only storage-plan upgrades, external-system credentials, and account billing are\ngenuinely manual. Mark something manual only after confirming no API covers it.",{"type":37,"tag":50,"props":672,"children":674},{"id":673},"runtime-policy",[675],{"type":42,"value":676},"Runtime policy",{"type":37,"tag":44,"props":678,"children":679},{},[680,682,687,689,694],{"type":42,"value":681},"Verify names and enums against the Wix MCP rather than emitting ",{"type":37,"tag":76,"props":683,"children":685},{"className":684},[],[686],{"type":42,"value":526},{"type":42,"value":688}," by default.\nClassify automatability by checking the API surface (see above), not by assumption. If the\nMCP is genuinely unavailable, use the documented fallback only for an explicitly\nprovisional artifact and mark the requirement ",{"type":37,"tag":76,"props":690,"children":692},{"className":691},[],[693],{"type":42,"value":526},{"type":42,"value":695}," so downstream steps surface it\nbefore execution.",{"type":37,"tag":50,"props":697,"children":699},{"id":698},"guardrails",[700],{"type":42,"value":701},"Guardrails",{"type":37,"tag":68,"props":703,"children":704},{},[705,710,715,720],{"type":37,"tag":72,"props":706,"children":707},{},[708],{"type":42,"value":709},"Separate required setup from optional optimizations.",{"type":37,"tag":72,"props":711,"children":712},{},[713],{"type":42,"value":714},"Avoid embedding import logic here; this file is about prerequisites.",{"type":37,"tag":72,"props":716,"children":717},{},[718],{"type":42,"value":719},"Be explicit about which requirements come from which mapping decision.",{"type":37,"tag":72,"props":721,"children":722},{},[723],{"type":42,"value":724},"Do not produce a docs-only setup artifact as the normal path when the Wix MCP\nprerequisite is missing. That mode must be explicitly marked provisional.",{"type":37,"tag":726,"props":727,"children":728},"style",{},[729],{"type":42,"value":730},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":732,"total":811},[733,747,759,770,785,794,805],{"slug":734,"name":734,"fn":735,"description":736,"org":737,"tags":738,"stars":20,"repoUrl":21,"updatedAt":746},"rp-discovery","discover source platform schema for migration","Discovers and documents the source platform schema (entities, fields, relationships) for a migration project. Use when capturing source structure before mapping to Wix.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[739,740,743],{"name":18,"slug":19,"type":13},{"name":741,"slug":742,"type":13},"Documentation","documentation",{"name":744,"slug":745,"type":13},"Migration","migration","2026-07-01T08:08:08.302261",{"slug":748,"name":748,"fn":749,"description":750,"org":751,"tags":752,"stars":20,"repoUrl":21,"updatedAt":758},"rp-execute-import","execute migration pipelines to Wix","Runs the generated extract\u002Fimport pipeline and records execution results. Use when setup and codegen are complete and the user has approved the execution plan.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[753,756,757],{"name":754,"slug":755,"type":13},"Data Pipeline","data-pipeline",{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:08:07.038962",{"slug":558,"name":558,"fn":760,"description":761,"org":762,"tags":763,"stars":20,"repoUrl":21,"updatedAt":769},"provision Wix site setup for migration","Verifies and provisions Wix-side setup required before import. Use after codegen when setup-requirements.md must be validated or executed against the target site.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[764,767,768],{"name":765,"slug":766,"type":13},"Deployment","deployment",{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:08:04.475894",{"slug":771,"name":771,"fn":772,"description":773,"org":774,"tags":775,"stars":20,"repoUrl":21,"updatedAt":784},"rp-import-codegen","generate migration code for Wix","Generates migration readers, transforms, and Wix writers from schema and mapping artifacts. Use when producing runnable extract\u002Fimport code under the migration project.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[776,779,782,783],{"name":777,"slug":778,"type":13},"Automation","automation",{"name":780,"slug":781,"type":13},"Data Engineering","data-engineering",{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:08:05.755188",{"slug":180,"name":180,"fn":786,"description":787,"org":788,"tags":789,"stars":20,"repoUrl":21,"updatedAt":793},"map source entities to Wix targets","Maps discovered source entities and fields to Wix targets and documents lossiness. Use when creating mapping-plan.md and mapping-summary.md after discovery.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[790,791,792],{"name":18,"slug":19,"type":13},{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:08:01.958081",{"slug":795,"name":795,"fn":796,"description":797,"org":798,"tags":799,"stars":20,"repoUrl":21,"updatedAt":804},"rp-orchestration","orchestrate Wix site migrations","Routes RePlatform source-to-Wix migrations to the next workflow step by inspecting migration project artifacts. Use when starting, continuing, or recovering a migration run.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[800,801,802,803],{"name":777,"slug":778,"type":13},{"name":765,"slug":766,"type":13},{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:08:09.570887",{"slug":4,"name":4,"fn":5,"description":6,"org":806,"tags":807,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[808,809,810],{"name":15,"slug":16,"type":13},{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},16,{"items":813,"total":936},[814,820,826,832,839,845,852,858,875,889,906,918],{"slug":734,"name":734,"fn":735,"description":736,"org":815,"tags":816,"stars":20,"repoUrl":21,"updatedAt":746},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[817,818,819],{"name":18,"slug":19,"type":13},{"name":741,"slug":742,"type":13},{"name":744,"slug":745,"type":13},{"slug":748,"name":748,"fn":749,"description":750,"org":821,"tags":822,"stars":20,"repoUrl":21,"updatedAt":758},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[823,824,825],{"name":754,"slug":755,"type":13},{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},{"slug":558,"name":558,"fn":760,"description":761,"org":827,"tags":828,"stars":20,"repoUrl":21,"updatedAt":769},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[829,830,831],{"name":765,"slug":766,"type":13},{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},{"slug":771,"name":771,"fn":772,"description":773,"org":833,"tags":834,"stars":20,"repoUrl":21,"updatedAt":784},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[835,836,837,838],{"name":777,"slug":778,"type":13},{"name":780,"slug":781,"type":13},{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},{"slug":180,"name":180,"fn":786,"description":787,"org":840,"tags":841,"stars":20,"repoUrl":21,"updatedAt":793},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[842,843,844],{"name":18,"slug":19,"type":13},{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},{"slug":795,"name":795,"fn":796,"description":797,"org":846,"tags":847,"stars":20,"repoUrl":21,"updatedAt":804},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[848,849,850,851],{"name":777,"slug":778,"type":13},{"name":765,"slug":766,"type":13},{"name":744,"slug":745,"type":13},{"name":9,"slug":8,"type":13},{"slug":4,"name":4,"fn":5,"description":6,"org":853,"tags":854,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[855,856,857],{"name":15,"slug":16,"type":13},{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"slug":859,"name":859,"fn":860,"description":861,"org":862,"tags":863,"stars":20,"repoUrl":21,"updatedAt":874},"rp-source-wordpress","capture data from WordPress and WooCommerce","WordPress and WooCommerce source adapter: REST capture, auth, pagination, and read contract for codegen. Use when the source platform is WordPress or WooCommerce.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[864,865,868,871],{"name":780,"slug":781,"type":13},{"name":866,"slug":867,"type":13},"REST API","rest-api",{"name":869,"slug":870,"type":13},"WooCommerce","woocommerce",{"name":872,"slug":873,"type":13},"WordPress","wordpress","2026-07-01T08:08:00.69949",{"slug":876,"name":876,"fn":877,"description":878,"org":879,"tags":880,"stars":20,"repoUrl":21,"updatedAt":888},"rp-target-wix","validate Wix API write operations","Wix target adapter with verified write primitives (wix-writers.js) and contract tests. Use when vendoring Wix writers, validating API shapes, or Wix provisioning mechanics.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[881,884,887],{"name":882,"slug":883,"type":13},"API Development","api-development",{"name":885,"slug":886,"type":13},"Testing","testing",{"name":9,"slug":8,"type":13},"2026-07-01T08:08:03.226054",{"slug":890,"name":890,"fn":891,"description":892,"org":893,"tags":894,"stars":20,"repoUrl":21,"updatedAt":905},"wix-app","build Wix CLI app extensions","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[895,898,901,904],{"name":896,"slug":897,"type":13},"Backend","backend",{"name":899,"slug":900,"type":13},"CLI","cli",{"name":902,"slug":903,"type":13},"Frontend","frontend",{"name":9,"slug":8,"type":13},"2026-04-16T04:58:00.157961",{"slug":907,"name":907,"fn":908,"description":909,"org":910,"tags":911,"stars":20,"repoUrl":21,"updatedAt":917},"wix-auth","authenticate with Wix APIs","Authenticate with Wix to obtain an access token for calling Wix APIs. Use when an agent needs a valid Wix access token and has none, or when the stored token is expired.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[912,913,916],{"name":882,"slug":883,"type":13},{"name":914,"slug":915,"type":13},"Auth","auth",{"name":9,"slug":8,"type":13},"2026-07-07T06:47:46.95263",{"slug":919,"name":919,"fn":920,"description":921,"org":922,"tags":923,"stars":20,"repoUrl":21,"updatedAt":935},"wix-design-system","build UIs with Wix Design System","Wix Design System component reference. Use when building UI with @wix\u002Fdesign-system, choosing components, checking props and examples, or writing tests with component testkits. Triggers on \"what component\", \"how do I make\", \"WDS\", \"show me props\", \"testkit\", \"driver\", or component names like Button, Card, Modal, Box, Text.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[924,927,930,931,934],{"name":925,"slug":926,"type":13},"Design","design",{"name":928,"slug":929,"type":13},"Design System","design-system",{"name":902,"slug":903,"type":13},{"name":932,"slug":933,"type":13},"UI Components","ui-components",{"name":9,"slug":8,"type":13},"2026-04-29T05:33:44.561687",17]