@wix/agent-skills 1.18.0 → 1.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/package.json +1 -1
  2. package/skills/wix-app/SKILL.md +4 -4
  3. package/skills/wix-app/references/APP_VALIDATION.md +7 -33
  4. package/skills/wix-app/references/DASHBOARD_PAGE.md +18 -14
  5. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +75 -92
  6. package/skills/wix-app/references/WIX_PATTERNS_DOCS.md +23 -26
  7. package/skills/wix-app/references/dashboard-page/COLLECTION_TOOLKIT.md +7 -6
  8. package/skills/wix-app/references/dashboard-page/ENTITY_PAGE_TOOLKIT.md +71 -4
  9. package/skills/wix-app/references/dashboard-page/PATTERNS_BUNDLE_READING.md +67 -7
  10. package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +1 -1
  11. package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +9 -6
  12. package/skills/wix-app/references/editor-react-component/COMPONENT-CONTRACT.md +59 -89
  13. package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +23 -4
  14. package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +29 -14
  15. package/skills/wix-base44-connector/SKILL.md +168 -48
  16. package/skills/wix-base44-connector/scripts/{utils.js → utils.cjs} +69 -48
  17. package/skills/wix-docs/SKILL.md +109 -111
  18. package/skills/wix-docs/references/API_SPEC_SEARCH.md +35 -23
  19. package/skills/wix-docs/references/CALLING.md +91 -0
  20. package/skills/wix-docs/references/EXTRACTING.md +5 -3
  21. package/skills/wix-headless/references/DOC_DISCOVERY.md +9 -3
  22. package/skills/wix-headless/references/inline-recipes/setup-forms.md +57 -10
  23. package/skills/wix-manage/SKILL.md +106 -92
  24. package/skills/wix-manage/references/dashboard-navigation/routes.json +12 -52
  25. package/skills/wix-manage/references/ecommerce/shipping/ecom-shipping-api.md +0 -2
  26. package/skills/wix-manage/references/forms/create-form.md +272 -184
  27. package/skills/wix-manage/references/forms/forms-dashboard-navigation.md +13 -10
  28. package/skills/wix-manage/references/forms/update-form.md +122 -0
  29. package/skills/wix-manage/references/media/generate-image-with-ai.md +86 -0
  30. package/skills/wix-manage/references/seo/manage-content-plan.md +247 -0
  31. package/skills/wix-manage/references/seo/manage-seo-tags.md +59 -6
  32. package/skills/wix-manage/references/stores/change-store-currency.md +10 -0
  33. package/skills/wix-manage/references/stores/create-product-catalog-v3.md +16 -1
  34. package/skills/wix-manage/references/stores/update-product-with-options.md +9 -0
  35. package/skills/wix-vibe-headless/SKILL.md +17 -18
  36. package/skills/wix-vibe-headless/install/pin-agents-md.cjs +1 -1
  37. package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed-with-install.md +118 -0
  38. package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed.md +55 -62
  39. package/skills/wix-vibe-headless/platforms/base44-ecom-light.md +31 -29
  40. package/skills/wix-vibe-headless/platforms/base44.md +12 -5
  41. package/skills/wix-vibe-headless/platforms/generic.md +13 -12
  42. package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +4 -13
  43. package/skills/wix-vibe-headless/references/blog/seed/SEED.md +4 -8
  44. package/skills/wix-vibe-headless/references/blog/seed/{seed-blog.js → seed-blog.cjs} +2 -3
  45. package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +5 -14
  46. package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +5 -9
  47. package/skills/wix-vibe-headless/references/bookings/seed/{seed-bookings.js → seed-bookings.cjs} +2 -2
  48. package/skills/wix-vibe-headless/references/bookings/seed/{seed-rentals.js → seed-rentals.cjs} +3 -3
  49. package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +1 -1
  50. package/skills/wix-vibe-headless/references/cms/seed/SEED.md +2 -2
  51. package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +4 -13
  52. package/skills/wix-vibe-headless/references/events/seed/SEED.md +3 -7
  53. package/skills/wix-vibe-headless/references/events/seed/{seed-events.js → seed-events.cjs} +2 -2
  54. package/skills/wix-vibe-headless/references/forms/INSTRUCTIONS.md +24 -7
  55. package/skills/wix-vibe-headless/references/forms/seed/SEED.md +91 -17
  56. package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +4 -13
  57. package/skills/wix-vibe-headless/references/members/seed/SEED.md +2 -3
  58. package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +4 -13
  59. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +1 -1
  60. package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +3 -7
  61. package/skills/wix-vibe-headless/references/portfolio/seed/{seed-portfolio.js → seed-portfolio.cjs} +2 -2
  62. package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +5 -14
  63. package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +1 -1
  64. package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +3 -7
  65. package/skills/wix-vibe-headless/references/pricing-plans/seed/{seed-pricing-plans.js → seed-pricing-plans.cjs} +2 -2
  66. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +5 -15
  67. package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +3 -7
  68. package/skills/wix-vibe-headless/references/restaurants/seed/{seed-restaurants.js → seed-restaurants.cjs} +2 -2
  69. package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +359 -327
  70. package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +1 -0
  71. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +2 -2
  72. package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +63 -78
  73. package/skills/wix-vibe-headless/references/storefront/app/rest/wix-store-catalog.js +59 -43
  74. package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +46 -10
  75. package/skills/wix-vibe-headless/references/storefront/seed/{seed-store.js → seed-store.cjs} +163 -25
  76. package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +0 -75
@@ -71,12 +71,25 @@ exhaust the site's form allowance (read it from
71
71
  [List Forms Providers Configs](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/list-forms-providers-configs)),
72
72
  which is also why you must **never create throwaway forms to probe the shape.**
73
73
 
74
+ > **⚠️ `providers-config` tells you which namespaces the site can create in — NOT its limits.** A
75
+ > provider app declares `restrictions` **once, for all sites**, in its app dashboard; the Wix Forms
76
+ > app separately derives the site's real form/field/step limits from its **premium plan** and
77
+ > enforces them on every create. (A missing `restrictions` means default platform limits, not
78
+ > unlimited.) That is why free and unpublished sites report `maxFields: 150` / `maxForms: 150` here
79
+ > while the create rejects with `Field count reached its limit of 10` and
80
+ > `Steps count reached its limit of 3`. **The create call is the only authority** — when it returns
81
+ > a count error, go to "Plan gates" below.
82
+
74
83
  ### STEP 2: Create each form schema
75
84
 
76
85
  **One POST per form** to `https://www.wixapis.com/form-schema-service/v4/forms`. How many forms, and
77
86
  each form's fields and labels, come from the request you're fulfilling; this step gives the call and
78
87
  the required format. Forms are independent (no shared revision), so concurrent creates are safe.
79
88
 
89
+ **Every body carries `"namespace": "wix.form_app.form"`** — the same literal the reads below take as
90
+ their required `?namespace=`. A form created under anything else is reachable over the API and
91
+ invisible in the dashboard and Editor.
92
+
80
93
  **⚠️ Generate every `id` in the shell as a lowercase UUID v4 — never type one from memory**
81
94
  (`uuidgen | tr 'A-Z' 'a-z'`). Supply them at create rather than omitting them: `steps` must
82
95
  reference each field by `fieldId` in the same request.
@@ -96,9 +109,18 @@ step unless the request needs multiple pages.
96
109
  beside `target`/`inputType`:
97
110
 
98
111
  ```jsonc
99
- "inputOptions": { "target": "full_name", "required": true, "inputType": "STRING",
100
- "stringOptions": { "validation": {}, "componentType": "TEXT_INPUT",
101
- "textInputOptions": { "label": "Full Name", "showLabel": true } } }
112
+ "inputOptions": {
113
+ "target": "first_name",
114
+ "required": true, // HERE — beside target/inputType
115
+ "pii": true,
116
+ "contactMapping": { "contactField": "FIRST_NAME" }, // per field; this is what creates the contact
117
+ "inputType": "STRING",
118
+ "stringOptions": {
119
+ "validation": {}, // always present, even empty — never `required`
120
+ "componentType": "TEXT_INPUT",
121
+ "textInputOptions": { "label": "First name", "showLabel": true }
122
+ }
123
+ }
102
124
  ```
103
125
 
104
126
  A `required` key inside `stringOptions.validation` — or any `<inputType>Options.validation`, since no
@@ -126,12 +148,21 @@ surface in the dashboard or on the first real submission.
126
148
  Three plan-tier limits return a real `400` on create. **Do not work around any of them; tell the user
127
149
  to reduce or upgrade.**
128
150
 
129
- - **`FIELDS_COUNT_RESTRICTIONS_ERROR`** — the form exceeds the plan's per-form field cap. **Do NOT
130
- split the form into multiple schemas** to dodge it. Reduce the field count, or upgrade.
151
+ - **Field count — two caps, counting different things.** `Field count reached its limit of N` is the
152
+ **premium** cap the Wix Forms app enforces from the site's plan, and it counts **`INPUT` fields
153
+ only** (display elements and the `SUBMIT_BUTTON` don't count). `FORM_FIELDS_COUNT_EXCEEDED` /
154
+ `FIELDS_COUNT_RESTRICTIONS_ERROR` is the schema-service cap, which counts **every** field
155
+ including display elements. **Do NOT split the form into multiple schemas** to dodge either — that
156
+ trades one submission record for several and consumes more of the site's form allowance. Reduce
157
+ the field count, or upgrade.
158
+ - **`Steps count reached its limit of N`** — the premium cap on `steps.length`. Collapse the form
159
+ into fewer pages, or upgrade. Conditions (`formRules`) are capped the same way. Neither has a
160
+ schema-service equivalent, so neither appears in the Create Form error table.
131
161
  - **`FILE_UPLOAD_RESTRICTIONS_ERROR`** — a file upload, signature, or payment field on a plan below
132
162
  Core. **Do NOT suggest inlining files as base64** — it stores no real file, gives the owner nothing
133
163
  usable, and blows past submission size limits. Drop the field, or upgrade.
134
- - **`FORMS_COUNT_RESTRICTIONS_ERROR`** — the site hit its plan's total-form cap. Upgrade, or free a
164
+ - **`FORMS_COUNT_RESTRICTIONS_ERROR`** / **`NAMESPACE_FORMS_COUNT_EXCEEDED`** (and
165
+ `NAMESPACE_DELETED_FORMS_COUNT_EXCEEDED` for the trash bin) — the site hit its plan's total-form cap. Upgrade, or free a
135
166
  slot (STEP 1's list-then-delete — but only delete forms that are clearly install sample data; ask
136
167
  before deleting anything that could be the owner's real form).
137
168
 
@@ -167,10 +198,19 @@ A `200` on create is not proof the form is queryable or that the dashboard will
167
198
  `formSummary.fields` is NON-EMPTY**, with a count equal to **every input field you sent** (i.e.
168
199
  `formFields[]` minus the `SUBMIT_BUTTON`). A 6-input form returns all 6 — **including non-contact
169
200
  `DROPDOWN` and `TEXT_AREA` fields** — so do *not* expect only the contact-mapped ones. This is
170
- the reliable dashboard-truth check: the summary returns exactly the fields the Wix dashboard
171
- shows. A `summary.fields: []`, or a count short of your inputs, means the form renders blank (or
172
- partly blank) for the owner even though the public site submits fine — **do not report success;
173
- fix the `identifier`s and re-create.**
201
+ the dashboard-truth check for *placement*. A `summary.fields: []`, or a count short of your
202
+ inputs, means the form renders blank (or partly blank) for the owner even though the public site
203
+ submits fine — **do not report success; fix the layout placement or the GUID casing and
204
+ re-create.**
205
+
206
+ **⚠️ This step does NOT prove the `identifier`s are right, so check them in step 1.** An
207
+ unrecognized `identifier` is accepted and stored: it comes back in `formFields[]` and accepts
208
+ submissions, so every API-level check passes — but the **Wix Forms editor cannot render a field
209
+ it doesn't recognize**, so the owner can't see or edit it, and a form built entirely from
210
+ invented identifiers opens **empty** in the editor. Whether such a field is also omitted from
211
+ `formSummary.fields` is unverified, so don't rely on this count to catch it. Assert every
212
+ returned `formFields[].identifier` against the known values in About Form Fields — a plain string
213
+ comparison, no extra call.
174
214
 
175
215
  3. **⚠️ If the form has a multi-choice ARRAY field (`CHECKBOX_GROUP` / `TAGS`), the two checks above
176
216
  are NOT enough — send one real `createSubmission`.** A malformed `arrayOptions.validation.items`
@@ -201,9 +241,16 @@ To change a form the request has since revised — add a field, relabel one, tig
201
241
  [Update Form](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/update-form):
202
242
 
203
243
  ```
244
+ GET https://www.wixapis.com/form-schema-service/v4/forms?namespace=wix.form_app.form&formIds={formId}
204
245
  PATCH https://www.wixapis.com/form-schema-service/v4/forms/{formId}
246
+ { "form": { …the whole object you just read, with your change…, "revision": "<its current revision>" } }
205
247
  ```
206
248
 
249
+ **Read the form back first** — the `PATCH` needs its current `revision`, and `formFields` is replaced
250
+ wholesale (anything missing from the array you send moves to `deletedFormFields`), so the read-back
251
+ *is* the body. The read needs the **required** `?namespace=wix.form_app.form`; without it it `400`s
252
+ with `namespace must not be empty` — a violation naming a field, so it misreads as a body problem.
253
+
207
254
  **Prefer updating over delete-and-recreate.** An update keeps the `formId` the handoff already
208
255
  carries and consumes no additional slot against the site's form cap. **Re-run STEP 3 after any update**
209
256
  — it can regress the layout or the dashboard summary exactly as a create can.