[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-wix-rp-mapper":3,"mdc-hastfk-key":31,"related-repo-wix-rp-mapper":1010,"related-org-wix-rp-mapper":1090},{"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-mapper","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},"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},"Migration","migration",{"name":18,"slug":19,"type":13},"Data Modeling","data-modeling",23,"https:\u002F\u002Fgithub.com\u002Fwix\u002Fskills","2026-07-01T08:08:01.958081",null,28,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"Wix Skills","https:\u002F\u002Fgithub.com\u002Fwix\u002Fskills\u002Ftree\u002FHEAD\u002Freplatform\u002Frp-mapper","---\nname: rp-mapper\ndescription: >-\n  Maps discovered source entities and fields to Wix targets and documents lossiness. Use\n  when creating mapping-plan.md and mapping-summary.md after discovery.\n---\n\n# rp-mapper\n\nCreate a mapping plan from the discovered source schema into Wix entities and Wix data structures.\n\n## Purpose\n\nThis skill translates source entities and fields into Wix targets. It should define what each source record becomes in Wix, how fields transform, and where custom schemas or extended fields are required.\n\n## Required inputs\n\n- `migrations\u002F\u003Cproject>\u002Fsource-schema.json`\n- `migrations\u002F\u003Cproject>\u002Fsource-profile.md` when available\n- any existing Wix target-model constraints supplied by the user\n\nRead **only** these canonical artifacts by default. Do not ingest the raw discovery dump\n(`migrations\u002F\u003Cproject>\u002Fdata\u002F...`) wholesale — it is platform-specific and large. Instead, when an\nentity's mapping is ambiguous, follow that entity's `rawFile` pointer in `source-schema.json` to open\njust that one raw file for verification. Skip entities whose `inUse` is `false` (advertised by the\nsource but holding no records).\n\n## Workflow\n\n1. Read the source discovery artifacts.\n2. Identify the target Wix entities for each source entity.\n3. Define field-by-field mappings, including transformations and defaults.\n4. Mark gaps where native Wix entities are insufficient.\n5. Identify requirements for custom collections, extended fields, references, media handling, and rich content normalization.\n6. Save the mapping plan.\n7. Write a concise user-review summary after the plan is complete.\n8. Pause for a mapping review checkpoint before downstream setup\u002Fcodegen work begins.\n\n## Artifact to create or update\n\n- `migrations\u002F\u003Cproject>\u002Fmapping-plan.md`\n- `migrations\u002F\u003Cproject>\u002Fmapping-summary.md`\n\n## Minimum contents of the mapping plan\n\nInclude for each source entity:\n\n- source semantics in this project, especially when the entity name is generic\n  (`comment`, `item`, `entry`, `record`, `media`, `user`, etc.). State what the entity\n  actually contains here, based on the discovered data, not just the route name.\n- target Wix entity or collection\n- primary key and deduplication strategy\n- field mapping table\n- transformation rules\n- validation rules\n- unresolved questions\n- setup implications for Wix-side configuration\n\nWhen a source entity is generic or overloaded, the mapping plan must name the concrete\nsubtypes or usage contexts it observed. Examples:\n\n- `comment`: blog post comments, product reviews, page comments\n- `item`: order line items, catalog items, CMS rows\n- `media`: blog hero images, product gallery assets, downloadable files\n\nDo not leave a generic entity label unexplained if the discovered data shows multiple\nreal-world meanings.\n\n## Identity and deduplication rules\n\nBe explicit about the difference between a **source ID** and a **Wix target ID**.\n\n- Preserve the **source ID** in the migration artifacts, generated code, and any custom\n  CMS collections needed for traceability and resume.\n- Do **not** assume native Wix entity IDs can be client-assigned or preserved. For most\n  Wix APIs, the target ID is server-assigned.\n- When a target is a native Wix entity whose ID cannot be controlled by the client,\n  the mapping plan must define a **crosswalk strategy**: store `sourceId -> targetId`\n  in a dedicated CMS collection or equivalent durable artifact used for dedupe, resume,\n  and relationship resolution.\n- The canonical collection name for that crosswalk is **`ImportCrosswalk`**. If older\n  notes or mappings call it `MigrationRefs`, normalize them to `ImportCrosswalk` rather\n  than inventing a second side table.\n- Only say an ID is \"preserved\" when the destination actually has a client-controlled\n  field that stores the source ID. Otherwise say the source ID is **tracked** or\n  **crosswalked**.\n\n## Verifying Wix APIs\n\nConfirm exact Wix entity\u002Fcollection\u002Ffield names before mapping a source field onto\nthem — never invent a Wix API or field name.\n\n- **When the Wix MCP is available, verifying at write-time is mandatory.**\n  Verify enum **values**, not just names: every `Field.type` you assign must be a real\n  member of the Create Data Collection `Type` enum. (Common trap: there is no `SLUG`\n  type — a slug maps to a `TEXT` field. Never assign a guessed enum value and flag it\n  `unverified`; resolve it or omit it.)\n- **When the Wix MCP is expected but missing, do not silently downgrade first.** First\n  try to ensure the Wix MCP is installed\u002Fconnected in the current runtime. If the\n  environment supports connector\u002Fplugin install flows, use them. Otherwise halt to\n  needs-user with exact instructions: install\u002Fconnect the Wix MCP for Wix API docs\u002Fschema\n  access, then resume this step.\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 draft without the Wix MCP,\n  or when an upstream orchestrator explicitly routed this step in provisional mode. In\n  that mode, rely on published Wix REST\u002FSDK documentation and conservative, known-good\n  names. Mark anything you could not verify as `unverified` in the mapping plan so a\n  human confirms it before execution.\n\n## Runtime policy\n\nResolve ambiguous mappings using the documented default, record the decision and rationale\nunder \"Unresolved questions\" in `mapping-plan.md`, and keep going. Known fidelity forks\n(e.g. comments anonymize vs. skip) should already be answered by the submission intake;\napply those answers rather than re-asking. If a required input is truly missing, surface it\nas a blocker rather than silently guessing.\n\nIf the Wix MCP is missing and this run was **not** explicitly authorized as provisional,\nhalt instead of writing a lower-confidence mapping artifact.\n\nIf the source entity name is generic but the observed data disambiguates it, record that\ndisambiguation explicitly in the mapping plan. Do not force later stages to infer what\n\"comments\", \"items\", or similarly broad labels meant in this specific migration.\n\n## Faithfulness ledger (detect lossiness here, early)\n\nThe mapping stage is where lossiness and coverage gaps are *discovered*, so it is where\nthey must be *recorded* — not at execute time, which is too late to do anything but\nreport. Maintain a **faithfulness ledger** in `mapping-plan.md` listing everything that\nwill not migrate cleanly, including:\n\n- fields\u002Frelationships flattened or dropped (e.g. hierarchy → flat),\n- entities skipped (e.g. gated PII),\n- **targets with no verified Wix primitive** — if Wix has a native entity, record that\n  codegen must use an `unverified` native REST path and notify the RePlatform team about\n  the missing writer. Use CMS only when no suitable native Wix entity exists, or when the\n  native entity is rejected for fidelity\u002Fside-effect reasons.\n\n**Mandatory trigger — hierarchical source taxonomy → flat Wix target.** When a source\nentity carries `\"hierarchical\": true` (or any `parent` self-relation) in\n`source-schema.json` and maps to a flat Wix target such as Blog categories, you **must**\nwrite a faithfulness-ledger entry recording that the parent\u002Fchild hierarchy is dropped on\nimport, citing **FR-006**. This is not optional discipline: the flag exists precisely so\nthe warning is data-driven. Do not map such a taxonomy without the ledger entry. (If\nhierarchy must be preserved, the alternative is a CMS-collection taxonomy with a `parent`\nreference field — note that trade-off in the ledger instead.)\n\nThis ledger is the source the execution-plan report draws from to surface \"what we won't\ndo\" to the user **before** consent (`rp-execute-import`). If it isn't recorded here, the\nuser can't be warned there.\n\n## Mapping summary for user review\n\nAfter `mapping-plan.md` is written, create `migrations\u002F\u003Cproject>\u002Fmapping-summary.md` as a\nshort review artifact for the user. Its purpose is to make the mapping decision easy to\nreview without forcing the user through the full plan.\n\nThe summary should:\n\n- explicitly say that full details live in `mapping-plan.md`\n- list each in-scope source entity and its planned Wix target\n- call out the main gaps, lossy transformations, skipped entities, and `unverified`\n  target paths from the faithfulness ledger\n- mention the biggest setup implications the user should know now (for example: required\n  Wix apps, required CMS collections, crosswalk collection, media reachability caveat)\n- surface unresolved questions only when they materially affect whether the user should\n  approve the mapping\n\nKeep it concise. The user should be able to decide \"yes, this is the right migration\nshape\" from this file alone, then consult `mapping-plan.md` only when they want detail.\n\nRecommended structure:\n\n- one-sentence purpose \u002F pointer to `mapping-plan.md`\n- `Source -> Wix targets`\n- `Main gaps \u002F lossiness`\n- `Important setup implications`\n- `Questions or risks to confirm`\n\nDo not restate full field tables or detailed transformation rules here unless a specific\nfield-level issue is central to the approval decision.\n\n## Mapping review checkpoint\n\nOnce both mapping artifacts exist, stop and ask the user to review\n`migrations\u002F\u003Cproject>\u002Fmapping-summary.md`. The checkpoint should make clear:\n\n- this is a semantic review of what will be migrated where\n- the full technical detail remains in `mapping-plan.md`\n- downstream setup discovery and code generation will wait for acceptance\n\nDo not proceed to `rp-setup-discovery` or `rp-import-codegen` until the user accepts this\nmapping review checkpoint, unless the user explicitly asks to continue provisionally.\n\n## Guardrails\n\n- Do not collapse multiple source concepts into one Wix field without documenting lossiness.\n- Call out data that cannot be migrated faithfully — record it in the faithfulness ledger above.\n- Do not describe a source entity only by a generic label when the observed data is more\n  specific; name the concrete subtype(s) present in the project.\n- Keep business rules explicit so `rp-import-codegen` can implement them deterministically.\n- Do not produce a docs-only mapping 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,98,151,157,201,207,228,234,239,326,331,364,369,375,394,489,495,500,587,593,606,617,622,628,662,692,746,766,772,791,796,836,848,853,902,907,913,925,948,969,975],{"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},"Create a mapping plan from the discovered source schema into Wix entities and Wix data structures.",{"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 translates source entities and fields into Wix targets. It should define what each source record becomes in Wix, how fields transform, and where custom schemas or extended fields are required.",{"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,93],{"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>\u002Fsource-schema.json",{"type":37,"tag":72,"props":83,"children":84},{},[85,91],{"type":37,"tag":76,"props":86,"children":88},{"className":87},[],[89],{"type":42,"value":90},"migrations\u002F\u003Cproject>\u002Fsource-profile.md",{"type":42,"value":92}," when available",{"type":37,"tag":72,"props":94,"children":95},{},[96],{"type":42,"value":97},"any existing Wix target-model constraints supplied by the user",{"type":37,"tag":44,"props":99,"children":100},{},[101,103,109,111,117,119,125,127,133,135,141,143,149],{"type":42,"value":102},"Read ",{"type":37,"tag":104,"props":105,"children":106},"strong",{},[107],{"type":42,"value":108},"only",{"type":42,"value":110}," these canonical artifacts by default. Do not ingest the raw discovery dump\n(",{"type":37,"tag":76,"props":112,"children":114},{"className":113},[],[115],{"type":42,"value":116},"migrations\u002F\u003Cproject>\u002Fdata\u002F...",{"type":42,"value":118},") wholesale — it is platform-specific and large. Instead, when an\nentity's mapping is ambiguous, follow that entity's ",{"type":37,"tag":76,"props":120,"children":122},{"className":121},[],[123],{"type":42,"value":124},"rawFile",{"type":42,"value":126}," pointer in ",{"type":37,"tag":76,"props":128,"children":130},{"className":129},[],[131],{"type":42,"value":132},"source-schema.json",{"type":42,"value":134}," to open\njust that one raw file for verification. Skip entities whose ",{"type":37,"tag":76,"props":136,"children":138},{"className":137},[],[139],{"type":42,"value":140},"inUse",{"type":42,"value":142}," is ",{"type":37,"tag":76,"props":144,"children":146},{"className":145},[],[147],{"type":42,"value":148},"false",{"type":42,"value":150}," (advertised by the\nsource but holding no records).",{"type":37,"tag":50,"props":152,"children":154},{"id":153},"workflow",[155],{"type":42,"value":156},"Workflow",{"type":37,"tag":158,"props":159,"children":160},"ol",{},[161,166,171,176,181,186,191,196],{"type":37,"tag":72,"props":162,"children":163},{},[164],{"type":42,"value":165},"Read the source discovery artifacts.",{"type":37,"tag":72,"props":167,"children":168},{},[169],{"type":42,"value":170},"Identify the target Wix entities for each source entity.",{"type":37,"tag":72,"props":172,"children":173},{},[174],{"type":42,"value":175},"Define field-by-field mappings, including transformations and defaults.",{"type":37,"tag":72,"props":177,"children":178},{},[179],{"type":42,"value":180},"Mark gaps where native Wix entities are insufficient.",{"type":37,"tag":72,"props":182,"children":183},{},[184],{"type":42,"value":185},"Identify requirements for custom collections, extended fields, references, media handling, and rich content normalization.",{"type":37,"tag":72,"props":187,"children":188},{},[189],{"type":42,"value":190},"Save the mapping plan.",{"type":37,"tag":72,"props":192,"children":193},{},[194],{"type":42,"value":195},"Write a concise user-review summary after the plan is complete.",{"type":37,"tag":72,"props":197,"children":198},{},[199],{"type":42,"value":200},"Pause for a mapping review checkpoint before downstream setup\u002Fcodegen work begins.",{"type":37,"tag":50,"props":202,"children":204},{"id":203},"artifact-to-create-or-update",[205],{"type":42,"value":206},"Artifact to create or update",{"type":37,"tag":68,"props":208,"children":209},{},[210,219],{"type":37,"tag":72,"props":211,"children":212},{},[213],{"type":37,"tag":76,"props":214,"children":216},{"className":215},[],[217],{"type":42,"value":218},"migrations\u002F\u003Cproject>\u002Fmapping-plan.md",{"type":37,"tag":72,"props":220,"children":221},{},[222],{"type":37,"tag":76,"props":223,"children":225},{"className":224},[],[226],{"type":42,"value":227},"migrations\u002F\u003Cproject>\u002Fmapping-summary.md",{"type":37,"tag":50,"props":229,"children":231},{"id":230},"minimum-contents-of-the-mapping-plan",[232],{"type":42,"value":233},"Minimum contents of the mapping plan",{"type":37,"tag":44,"props":235,"children":236},{},[237],{"type":42,"value":238},"Include for each source entity:",{"type":37,"tag":68,"props":240,"children":241},{},[242,291,296,301,306,311,316,321],{"type":37,"tag":72,"props":243,"children":244},{},[245,247,253,255,261,262,268,269,275,276,282,283,289],{"type":42,"value":246},"source semantics in this project, especially when the entity name is generic\n(",{"type":37,"tag":76,"props":248,"children":250},{"className":249},[],[251],{"type":42,"value":252},"comment",{"type":42,"value":254},", ",{"type":37,"tag":76,"props":256,"children":258},{"className":257},[],[259],{"type":42,"value":260},"item",{"type":42,"value":254},{"type":37,"tag":76,"props":263,"children":265},{"className":264},[],[266],{"type":42,"value":267},"entry",{"type":42,"value":254},{"type":37,"tag":76,"props":270,"children":272},{"className":271},[],[273],{"type":42,"value":274},"record",{"type":42,"value":254},{"type":37,"tag":76,"props":277,"children":279},{"className":278},[],[280],{"type":42,"value":281},"media",{"type":42,"value":254},{"type":37,"tag":76,"props":284,"children":286},{"className":285},[],[287],{"type":42,"value":288},"user",{"type":42,"value":290},", etc.). State what the entity\nactually contains here, based on the discovered data, not just the route name.",{"type":37,"tag":72,"props":292,"children":293},{},[294],{"type":42,"value":295},"target Wix entity or collection",{"type":37,"tag":72,"props":297,"children":298},{},[299],{"type":42,"value":300},"primary key and deduplication strategy",{"type":37,"tag":72,"props":302,"children":303},{},[304],{"type":42,"value":305},"field mapping table",{"type":37,"tag":72,"props":307,"children":308},{},[309],{"type":42,"value":310},"transformation rules",{"type":37,"tag":72,"props":312,"children":313},{},[314],{"type":42,"value":315},"validation rules",{"type":37,"tag":72,"props":317,"children":318},{},[319],{"type":42,"value":320},"unresolved questions",{"type":37,"tag":72,"props":322,"children":323},{},[324],{"type":42,"value":325},"setup implications for Wix-side configuration",{"type":37,"tag":44,"props":327,"children":328},{},[329],{"type":42,"value":330},"When a source entity is generic or overloaded, the mapping plan must name the concrete\nsubtypes or usage contexts it observed. Examples:",{"type":37,"tag":68,"props":332,"children":333},{},[334,344,354],{"type":37,"tag":72,"props":335,"children":336},{},[337,342],{"type":37,"tag":76,"props":338,"children":340},{"className":339},[],[341],{"type":42,"value":252},{"type":42,"value":343},": blog post comments, product reviews, page comments",{"type":37,"tag":72,"props":345,"children":346},{},[347,352],{"type":37,"tag":76,"props":348,"children":350},{"className":349},[],[351],{"type":42,"value":260},{"type":42,"value":353},": order line items, catalog items, CMS rows",{"type":37,"tag":72,"props":355,"children":356},{},[357,362],{"type":37,"tag":76,"props":358,"children":360},{"className":359},[],[361],{"type":42,"value":281},{"type":42,"value":363},": blog hero images, product gallery assets, downloadable files",{"type":37,"tag":44,"props":365,"children":366},{},[367],{"type":42,"value":368},"Do not leave a generic entity label unexplained if the discovered data shows multiple\nreal-world meanings.",{"type":37,"tag":50,"props":370,"children":372},{"id":371},"identity-and-deduplication-rules",[373],{"type":42,"value":374},"Identity and deduplication rules",{"type":37,"tag":44,"props":376,"children":377},{},[378,380,385,387,392],{"type":42,"value":379},"Be explicit about the difference between a ",{"type":37,"tag":104,"props":381,"children":382},{},[383],{"type":42,"value":384},"source ID",{"type":42,"value":386}," and a ",{"type":37,"tag":104,"props":388,"children":389},{},[390],{"type":42,"value":391},"Wix target ID",{"type":42,"value":393},".",{"type":37,"tag":68,"props":395,"children":396},{},[397,408,420,440,471],{"type":37,"tag":72,"props":398,"children":399},{},[400,402,406],{"type":42,"value":401},"Preserve the ",{"type":37,"tag":104,"props":403,"children":404},{},[405],{"type":42,"value":384},{"type":42,"value":407}," in the migration artifacts, generated code, and any custom\nCMS collections needed for traceability and resume.",{"type":37,"tag":72,"props":409,"children":410},{},[411,413,418],{"type":42,"value":412},"Do ",{"type":37,"tag":104,"props":414,"children":415},{},[416],{"type":42,"value":417},"not",{"type":42,"value":419}," assume native Wix entity IDs can be client-assigned or preserved. For most\nWix APIs, the target ID is server-assigned.",{"type":37,"tag":72,"props":421,"children":422},{},[423,425,430,432,438],{"type":42,"value":424},"When a target is a native Wix entity whose ID cannot be controlled by the client,\nthe mapping plan must define a ",{"type":37,"tag":104,"props":426,"children":427},{},[428],{"type":42,"value":429},"crosswalk strategy",{"type":42,"value":431},": store ",{"type":37,"tag":76,"props":433,"children":435},{"className":434},[],[436],{"type":42,"value":437},"sourceId -> targetId",{"type":42,"value":439},"\nin a dedicated CMS collection or equivalent durable artifact used for dedupe, resume,\nand relationship resolution.",{"type":37,"tag":72,"props":441,"children":442},{},[443,445,454,456,462,464,469],{"type":42,"value":444},"The canonical collection name for that crosswalk is ",{"type":37,"tag":104,"props":446,"children":447},{},[448],{"type":37,"tag":76,"props":449,"children":451},{"className":450},[],[452],{"type":42,"value":453},"ImportCrosswalk",{"type":42,"value":455},". If older\nnotes or mappings call it ",{"type":37,"tag":76,"props":457,"children":459},{"className":458},[],[460],{"type":42,"value":461},"MigrationRefs",{"type":42,"value":463},", normalize them to ",{"type":37,"tag":76,"props":465,"children":467},{"className":466},[],[468],{"type":42,"value":453},{"type":42,"value":470}," rather\nthan inventing a second side table.",{"type":37,"tag":72,"props":472,"children":473},{},[474,476,481,483,488],{"type":42,"value":475},"Only say an ID is \"preserved\" when the destination actually has a client-controlled\nfield that stores the source ID. Otherwise say the source ID is ",{"type":37,"tag":104,"props":477,"children":478},{},[479],{"type":42,"value":480},"tracked",{"type":42,"value":482}," or\n",{"type":37,"tag":104,"props":484,"children":485},{},[486],{"type":42,"value":487},"crosswalked",{"type":42,"value":393},{"type":37,"tag":50,"props":490,"children":492},{"id":491},"verifying-wix-apis",[493],{"type":42,"value":494},"Verifying Wix APIs",{"type":37,"tag":44,"props":496,"children":497},{},[498],{"type":42,"value":499},"Confirm exact Wix entity\u002Fcollection\u002Ffield names before mapping a source field onto\nthem — never invent a Wix API or field name.",{"type":37,"tag":68,"props":501,"children":502},{},[503,560,570],{"type":37,"tag":72,"props":504,"children":505},{},[506,511,513,518,520,526,528,534,536,542,544,550,552,558],{"type":37,"tag":104,"props":507,"children":508},{},[509],{"type":42,"value":510},"When the Wix MCP is available, verifying at write-time is mandatory.",{"type":42,"value":512},"\nVerify enum ",{"type":37,"tag":104,"props":514,"children":515},{},[516],{"type":42,"value":517},"values",{"type":42,"value":519},", not just names: every ",{"type":37,"tag":76,"props":521,"children":523},{"className":522},[],[524],{"type":42,"value":525},"Field.type",{"type":42,"value":527}," you assign must be a real\nmember of the Create Data Collection ",{"type":37,"tag":76,"props":529,"children":531},{"className":530},[],[532],{"type":42,"value":533},"Type",{"type":42,"value":535}," enum. (Common trap: there is no ",{"type":37,"tag":76,"props":537,"children":539},{"className":538},[],[540],{"type":42,"value":541},"SLUG",{"type":42,"value":543},"\ntype — a slug maps to a ",{"type":37,"tag":76,"props":545,"children":547},{"className":546},[],[548],{"type":42,"value":549},"TEXT",{"type":42,"value":551}," field. Never assign a guessed enum value and flag it\n",{"type":37,"tag":76,"props":553,"children":555},{"className":554},[],[556],{"type":42,"value":557},"unverified",{"type":42,"value":559},"; resolve it or omit it.)",{"type":37,"tag":72,"props":561,"children":562},{},[563,568],{"type":37,"tag":104,"props":564,"children":565},{},[566],{"type":42,"value":567},"When the Wix MCP is expected but missing, do not silently downgrade first.",{"type":42,"value":569}," First\ntry to ensure the Wix MCP is installed\u002Fconnected in the current runtime. If the\nenvironment supports connector\u002Fplugin install flows, use them. Otherwise halt to\nneeds-user with exact instructions: install\u002Fconnect the Wix MCP for Wix API docs\u002Fschema\naccess, then resume this step.",{"type":37,"tag":72,"props":571,"children":572},{},[573,578,580,585],{"type":37,"tag":104,"props":574,"children":575},{},[576],{"type":42,"value":577},"Fallback when no Wix MCP is available is degraded mode, not the default path.",{"type":42,"value":579},"\nUse it only when the user explicitly asks for a provisional draft without the Wix MCP,\nor when an upstream orchestrator explicitly routed this step in provisional mode. In\nthat mode, rely on published Wix REST\u002FSDK documentation and conservative, known-good\nnames. Mark anything you could not verify as ",{"type":37,"tag":76,"props":581,"children":583},{"className":582},[],[584],{"type":42,"value":557},{"type":42,"value":586}," in the mapping plan so a\nhuman confirms it before execution.",{"type":37,"tag":50,"props":588,"children":590},{"id":589},"runtime-policy",[591],{"type":42,"value":592},"Runtime policy",{"type":37,"tag":44,"props":594,"children":595},{},[596,598,604],{"type":42,"value":597},"Resolve ambiguous mappings using the documented default, record the decision and rationale\nunder \"Unresolved questions\" in ",{"type":37,"tag":76,"props":599,"children":601},{"className":600},[],[602],{"type":42,"value":603},"mapping-plan.md",{"type":42,"value":605},", and keep going. Known fidelity forks\n(e.g. comments anonymize vs. skip) should already be answered by the submission intake;\napply those answers rather than re-asking. If a required input is truly missing, surface it\nas a blocker rather than silently guessing.",{"type":37,"tag":44,"props":607,"children":608},{},[609,611,615],{"type":42,"value":610},"If the Wix MCP is missing and this run was ",{"type":37,"tag":104,"props":612,"children":613},{},[614],{"type":42,"value":417},{"type":42,"value":616}," explicitly authorized as provisional,\nhalt instead of writing a lower-confidence mapping artifact.",{"type":37,"tag":44,"props":618,"children":619},{},[620],{"type":42,"value":621},"If the source entity name is generic but the observed data disambiguates it, record that\ndisambiguation explicitly in the mapping plan. Do not force later stages to infer what\n\"comments\", \"items\", or similarly broad labels meant in this specific migration.",{"type":37,"tag":50,"props":623,"children":625},{"id":624},"faithfulness-ledger-detect-lossiness-here-early",[626],{"type":42,"value":627},"Faithfulness ledger (detect lossiness here, early)",{"type":37,"tag":44,"props":629,"children":630},{},[631,633,639,641,646,648,653,655,660],{"type":42,"value":632},"The mapping stage is where lossiness and coverage gaps are ",{"type":37,"tag":634,"props":635,"children":636},"em",{},[637],{"type":42,"value":638},"discovered",{"type":42,"value":640},", so it is where\nthey must be ",{"type":37,"tag":634,"props":642,"children":643},{},[644],{"type":42,"value":645},"recorded",{"type":42,"value":647}," — not at execute time, which is too late to do anything but\nreport. Maintain a ",{"type":37,"tag":104,"props":649,"children":650},{},[651],{"type":42,"value":652},"faithfulness ledger",{"type":42,"value":654}," in ",{"type":37,"tag":76,"props":656,"children":658},{"className":657},[],[659],{"type":42,"value":603},{"type":42,"value":661}," listing everything that\nwill not migrate cleanly, including:",{"type":37,"tag":68,"props":663,"children":664},{},[665,670,675],{"type":37,"tag":72,"props":666,"children":667},{},[668],{"type":42,"value":669},"fields\u002Frelationships flattened or dropped (e.g. hierarchy → flat),",{"type":37,"tag":72,"props":671,"children":672},{},[673],{"type":42,"value":674},"entities skipped (e.g. gated PII),",{"type":37,"tag":72,"props":676,"children":677},{},[678,683,685,690],{"type":37,"tag":104,"props":679,"children":680},{},[681],{"type":42,"value":682},"targets with no verified Wix primitive",{"type":42,"value":684}," — if Wix has a native entity, record that\ncodegen must use an ",{"type":37,"tag":76,"props":686,"children":688},{"className":687},[],[689],{"type":42,"value":557},{"type":42,"value":691}," native REST path and notify the RePlatform team about\nthe missing writer. Use CMS only when no suitable native Wix entity exists, or when the\nnative entity is rejected for fidelity\u002Fside-effect reasons.",{"type":37,"tag":44,"props":693,"children":694},{},[695,700,702,708,710,716,718,723,725,730,732,737,739,744],{"type":37,"tag":104,"props":696,"children":697},{},[698],{"type":42,"value":699},"Mandatory trigger — hierarchical source taxonomy → flat Wix target.",{"type":42,"value":701}," When a source\nentity carries ",{"type":37,"tag":76,"props":703,"children":705},{"className":704},[],[706],{"type":42,"value":707},"\"hierarchical\": true",{"type":42,"value":709}," (or any ",{"type":37,"tag":76,"props":711,"children":713},{"className":712},[],[714],{"type":42,"value":715},"parent",{"type":42,"value":717}," self-relation) in\n",{"type":37,"tag":76,"props":719,"children":721},{"className":720},[],[722],{"type":42,"value":132},{"type":42,"value":724}," and maps to a flat Wix target such as Blog categories, you ",{"type":37,"tag":104,"props":726,"children":727},{},[728],{"type":42,"value":729},"must",{"type":42,"value":731},"\nwrite a faithfulness-ledger entry recording that the parent\u002Fchild hierarchy is dropped on\nimport, citing ",{"type":37,"tag":104,"props":733,"children":734},{},[735],{"type":42,"value":736},"FR-006",{"type":42,"value":738},". This is not optional discipline: the flag exists precisely so\nthe warning is data-driven. Do not map such a taxonomy without the ledger entry. (If\nhierarchy must be preserved, the alternative is a CMS-collection taxonomy with a ",{"type":37,"tag":76,"props":740,"children":742},{"className":741},[],[743],{"type":42,"value":715},{"type":42,"value":745},"\nreference field — note that trade-off in the ledger instead.)",{"type":37,"tag":44,"props":747,"children":748},{},[749,751,756,758,764],{"type":42,"value":750},"This ledger is the source the execution-plan report draws from to surface \"what we won't\ndo\" to the user ",{"type":37,"tag":104,"props":752,"children":753},{},[754],{"type":42,"value":755},"before",{"type":42,"value":757}," consent (",{"type":37,"tag":76,"props":759,"children":761},{"className":760},[],[762],{"type":42,"value":763},"rp-execute-import",{"type":42,"value":765},"). If it isn't recorded here, the\nuser can't be warned there.",{"type":37,"tag":50,"props":767,"children":769},{"id":768},"mapping-summary-for-user-review",[770],{"type":42,"value":771},"Mapping summary for user review",{"type":37,"tag":44,"props":773,"children":774},{},[775,777,782,784,789],{"type":42,"value":776},"After ",{"type":37,"tag":76,"props":778,"children":780},{"className":779},[],[781],{"type":42,"value":603},{"type":42,"value":783}," is written, create ",{"type":37,"tag":76,"props":785,"children":787},{"className":786},[],[788],{"type":42,"value":227},{"type":42,"value":790}," as a\nshort review artifact for the user. Its purpose is to make the mapping decision easy to\nreview without forcing the user through the full plan.",{"type":37,"tag":44,"props":792,"children":793},{},[794],{"type":42,"value":795},"The summary should:",{"type":37,"tag":68,"props":797,"children":798},{},[799,809,814,826,831],{"type":37,"tag":72,"props":800,"children":801},{},[802,804],{"type":42,"value":803},"explicitly say that full details live in ",{"type":37,"tag":76,"props":805,"children":807},{"className":806},[],[808],{"type":42,"value":603},{"type":37,"tag":72,"props":810,"children":811},{},[812],{"type":42,"value":813},"list each in-scope source entity and its planned Wix target",{"type":37,"tag":72,"props":815,"children":816},{},[817,819,824],{"type":42,"value":818},"call out the main gaps, lossy transformations, skipped entities, and ",{"type":37,"tag":76,"props":820,"children":822},{"className":821},[],[823],{"type":42,"value":557},{"type":42,"value":825},"\ntarget paths from the faithfulness ledger",{"type":37,"tag":72,"props":827,"children":828},{},[829],{"type":42,"value":830},"mention the biggest setup implications the user should know now (for example: required\nWix apps, required CMS collections, crosswalk collection, media reachability caveat)",{"type":37,"tag":72,"props":832,"children":833},{},[834],{"type":42,"value":835},"surface unresolved questions only when they materially affect whether the user should\napprove the mapping",{"type":37,"tag":44,"props":837,"children":838},{},[839,841,846],{"type":42,"value":840},"Keep it concise. The user should be able to decide \"yes, this is the right migration\nshape\" from this file alone, then consult ",{"type":37,"tag":76,"props":842,"children":844},{"className":843},[],[845],{"type":42,"value":603},{"type":42,"value":847}," only when they want detail.",{"type":37,"tag":44,"props":849,"children":850},{},[851],{"type":42,"value":852},"Recommended structure:",{"type":37,"tag":68,"props":854,"children":855},{},[856,866,875,884,893],{"type":37,"tag":72,"props":857,"children":858},{},[859,861],{"type":42,"value":860},"one-sentence purpose \u002F pointer to ",{"type":37,"tag":76,"props":862,"children":864},{"className":863},[],[865],{"type":42,"value":603},{"type":37,"tag":72,"props":867,"children":868},{},[869],{"type":37,"tag":76,"props":870,"children":872},{"className":871},[],[873],{"type":42,"value":874},"Source -> Wix targets",{"type":37,"tag":72,"props":876,"children":877},{},[878],{"type":37,"tag":76,"props":879,"children":881},{"className":880},[],[882],{"type":42,"value":883},"Main gaps \u002F lossiness",{"type":37,"tag":72,"props":885,"children":886},{},[887],{"type":37,"tag":76,"props":888,"children":890},{"className":889},[],[891],{"type":42,"value":892},"Important setup implications",{"type":37,"tag":72,"props":894,"children":895},{},[896],{"type":37,"tag":76,"props":897,"children":899},{"className":898},[],[900],{"type":42,"value":901},"Questions or risks to confirm",{"type":37,"tag":44,"props":903,"children":904},{},[905],{"type":42,"value":906},"Do not restate full field tables or detailed transformation rules here unless a specific\nfield-level issue is central to the approval decision.",{"type":37,"tag":50,"props":908,"children":910},{"id":909},"mapping-review-checkpoint",[911],{"type":42,"value":912},"Mapping review checkpoint",{"type":37,"tag":44,"props":914,"children":915},{},[916,918,923],{"type":42,"value":917},"Once both mapping artifacts exist, stop and ask the user to review\n",{"type":37,"tag":76,"props":919,"children":921},{"className":920},[],[922],{"type":42,"value":227},{"type":42,"value":924},". The checkpoint should make clear:",{"type":37,"tag":68,"props":926,"children":927},{},[928,933,943],{"type":37,"tag":72,"props":929,"children":930},{},[931],{"type":42,"value":932},"this is a semantic review of what will be migrated where",{"type":37,"tag":72,"props":934,"children":935},{},[936,938],{"type":42,"value":937},"the full technical detail remains in ",{"type":37,"tag":76,"props":939,"children":941},{"className":940},[],[942],{"type":42,"value":603},{"type":37,"tag":72,"props":944,"children":945},{},[946],{"type":42,"value":947},"downstream setup discovery and code generation will wait for acceptance",{"type":37,"tag":44,"props":949,"children":950},{},[951,953,959,961,967],{"type":42,"value":952},"Do not proceed to ",{"type":37,"tag":76,"props":954,"children":956},{"className":955},[],[957],{"type":42,"value":958},"rp-setup-discovery",{"type":42,"value":960}," or ",{"type":37,"tag":76,"props":962,"children":964},{"className":963},[],[965],{"type":42,"value":966},"rp-import-codegen",{"type":42,"value":968}," until the user accepts this\nmapping review checkpoint, unless the user explicitly asks to continue provisionally.",{"type":37,"tag":50,"props":970,"children":972},{"id":971},"guardrails",[973],{"type":42,"value":974},"Guardrails",{"type":37,"tag":68,"props":976,"children":977},{},[978,983,988,993,1005],{"type":37,"tag":72,"props":979,"children":980},{},[981],{"type":42,"value":982},"Do not collapse multiple source concepts into one Wix field without documenting lossiness.",{"type":37,"tag":72,"props":984,"children":985},{},[986],{"type":42,"value":987},"Call out data that cannot be migrated faithfully — record it in the faithfulness ledger above.",{"type":37,"tag":72,"props":989,"children":990},{},[991],{"type":42,"value":992},"Do not describe a source entity only by a generic label when the observed data is more\nspecific; name the concrete subtype(s) present in the project.",{"type":37,"tag":72,"props":994,"children":995},{},[996,998,1003],{"type":42,"value":997},"Keep business rules explicit so ",{"type":37,"tag":76,"props":999,"children":1001},{"className":1000},[],[1002],{"type":42,"value":966},{"type":42,"value":1004}," can implement them deterministically.",{"type":37,"tag":72,"props":1006,"children":1007},{},[1008],{"type":42,"value":1009},"Do not produce a docs-only mapping artifact as the normal path when the Wix MCP\nprerequisite is missing. That mode must be explicitly marked provisional.",{"items":1011,"total":1089},[1012,1024,1035,1047,1061,1067,1078],{"slug":1013,"name":1013,"fn":1014,"description":1015,"org":1016,"tags":1017,"stars":20,"repoUrl":21,"updatedAt":1023},"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},[1018,1019,1022],{"name":18,"slug":19,"type":13},{"name":1020,"slug":1021,"type":13},"Documentation","documentation",{"name":15,"slug":16,"type":13},"2026-07-01T08:08:08.302261",{"slug":763,"name":763,"fn":1025,"description":1026,"org":1027,"tags":1028,"stars":20,"repoUrl":21,"updatedAt":1034},"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},[1029,1032,1033],{"name":1030,"slug":1031,"type":13},"Data Pipeline","data-pipeline",{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:08:07.038962",{"slug":1036,"name":1036,"fn":1037,"description":1038,"org":1039,"tags":1040,"stars":20,"repoUrl":21,"updatedAt":1046},"rp-execute-setup","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},[1041,1044,1045],{"name":1042,"slug":1043,"type":13},"Deployment","deployment",{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:08:04.475894",{"slug":966,"name":966,"fn":1048,"description":1049,"org":1050,"tags":1051,"stars":20,"repoUrl":21,"updatedAt":1060},"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},[1052,1055,1058,1059],{"name":1053,"slug":1054,"type":13},"Automation","automation",{"name":1056,"slug":1057,"type":13},"Data Engineering","data-engineering",{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:08:05.755188",{"slug":4,"name":4,"fn":5,"description":6,"org":1062,"tags":1063,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1064,1065,1066],{"name":18,"slug":19,"type":13},{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},{"slug":1068,"name":1068,"fn":1069,"description":1070,"org":1071,"tags":1072,"stars":20,"repoUrl":21,"updatedAt":1077},"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},[1073,1074,1075,1076],{"name":1053,"slug":1054,"type":13},{"name":1042,"slug":1043,"type":13},{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:08:09.570887",{"slug":958,"name":958,"fn":1079,"description":1080,"org":1081,"tags":1082,"stars":20,"repoUrl":21,"updatedAt":1088},"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},[1083,1086,1087],{"name":1084,"slug":1085,"type":13},"Configuration","configuration",{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},"2026-07-01T08:07:59.413698",16,{"items":1091,"total":1214},[1092,1098,1104,1110,1117,1123,1130,1136,1153,1167,1184,1196],{"slug":1013,"name":1013,"fn":1014,"description":1015,"org":1093,"tags":1094,"stars":20,"repoUrl":21,"updatedAt":1023},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1095,1096,1097],{"name":18,"slug":19,"type":13},{"name":1020,"slug":1021,"type":13},{"name":15,"slug":16,"type":13},{"slug":763,"name":763,"fn":1025,"description":1026,"org":1099,"tags":1100,"stars":20,"repoUrl":21,"updatedAt":1034},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1101,1102,1103],{"name":1030,"slug":1031,"type":13},{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},{"slug":1036,"name":1036,"fn":1037,"description":1038,"org":1105,"tags":1106,"stars":20,"repoUrl":21,"updatedAt":1046},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1107,1108,1109],{"name":1042,"slug":1043,"type":13},{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},{"slug":966,"name":966,"fn":1048,"description":1049,"org":1111,"tags":1112,"stars":20,"repoUrl":21,"updatedAt":1060},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1113,1114,1115,1116],{"name":1053,"slug":1054,"type":13},{"name":1056,"slug":1057,"type":13},{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},{"slug":4,"name":4,"fn":5,"description":6,"org":1118,"tags":1119,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1120,1121,1122],{"name":18,"slug":19,"type":13},{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},{"slug":1068,"name":1068,"fn":1069,"description":1070,"org":1124,"tags":1125,"stars":20,"repoUrl":21,"updatedAt":1077},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1126,1127,1128,1129],{"name":1053,"slug":1054,"type":13},{"name":1042,"slug":1043,"type":13},{"name":15,"slug":16,"type":13},{"name":9,"slug":8,"type":13},{"slug":958,"name":958,"fn":1079,"description":1080,"org":1131,"tags":1132,"stars":20,"repoUrl":21,"updatedAt":1088},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1133,1134,1135],{"name":1084,"slug":1085,"type":13},{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"slug":1137,"name":1137,"fn":1138,"description":1139,"org":1140,"tags":1141,"stars":20,"repoUrl":21,"updatedAt":1152},"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},[1142,1143,1146,1149],{"name":1056,"slug":1057,"type":13},{"name":1144,"slug":1145,"type":13},"REST API","rest-api",{"name":1147,"slug":1148,"type":13},"WooCommerce","woocommerce",{"name":1150,"slug":1151,"type":13},"WordPress","wordpress","2026-07-01T08:08:00.69949",{"slug":1154,"name":1154,"fn":1155,"description":1156,"org":1157,"tags":1158,"stars":20,"repoUrl":21,"updatedAt":1166},"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},[1159,1162,1165],{"name":1160,"slug":1161,"type":13},"API Development","api-development",{"name":1163,"slug":1164,"type":13},"Testing","testing",{"name":9,"slug":8,"type":13},"2026-07-01T08:08:03.226054",{"slug":1168,"name":1168,"fn":1169,"description":1170,"org":1171,"tags":1172,"stars":20,"repoUrl":21,"updatedAt":1183},"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},[1173,1176,1179,1182],{"name":1174,"slug":1175,"type":13},"Backend","backend",{"name":1177,"slug":1178,"type":13},"CLI","cli",{"name":1180,"slug":1181,"type":13},"Frontend","frontend",{"name":9,"slug":8,"type":13},"2026-04-16T04:58:00.157961",{"slug":1185,"name":1185,"fn":1186,"description":1187,"org":1188,"tags":1189,"stars":20,"repoUrl":21,"updatedAt":1195},"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},[1190,1191,1194],{"name":1160,"slug":1161,"type":13},{"name":1192,"slug":1193,"type":13},"Auth","auth",{"name":9,"slug":8,"type":13},"2026-07-07T06:47:46.95263",{"slug":1197,"name":1197,"fn":1198,"description":1199,"org":1200,"tags":1201,"stars":20,"repoUrl":21,"updatedAt":1213},"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},[1202,1205,1208,1209,1212],{"name":1203,"slug":1204,"type":13},"Design","design",{"name":1206,"slug":1207,"type":13},"Design System","design-system",{"name":1180,"slug":1181,"type":13},{"name":1210,"slug":1211,"type":13},"UI Components","ui-components",{"name":9,"slug":8,"type":13},"2026-04-29T05:33:44.561687",17]