Search the Vuori Clothing catalog for a product, open the product detail page, select the requested size and color, and add one unit to the bag. Read-only beyond the cart drawer — never proceeds to checkout.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionfind-and-add-to-cartExecute the skills CLI command in your project's root directory to begin installation:
Fetches find-and-add-to-cart from vuoriclothing.com/find-and-add-to-cart-m9bi61 and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate find-and-add-to-cart. Access via /find-and-add-to-cart in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
0
upvotes
Run in your terminal
0
installs
0
this week
—
stars
| name | find-and-add-to-cart |
| title | Vuori Search Catalog & Add to Cart |
| description | >- Search the Vuori Clothing catalog for a product, open the product detail page, select the requested size and color, and add one unit to the bag. Read-only beyond the cart drawer — never proceeds to checkout. |
| website | vuoriclothing.com |
| category | shopping |
| tags | - shopping - ecommerce - shopify - algolia - vuori - cart |
| source | 'browserbase: agent-runtime 2026-05-19' |
| updated | '2026-05-19' |
| recommended_method | browser |
| alternative_methods | - method: api rationale: >- Not viable today. Vuori runs a headless Next.js storefront over Shopify; the standard customer endpoints (/cart.js, /products.json, /products/{handle}.js, /search/suggest.json) all return 404 at vuoriclothing.com. Search is Algolia-powered but the App ID and Search-Only Key are not surfaced in obvious places, so going direct to Algolia would require reverse-engineering the bundled Next.js chunks. Browser flow is faster and more reliable. |
| verified | true |
| proxies | true |
Given a free-text product query (e.g. "Sunday Performance Jogger") plus a target size (and optional color), search the Vuori catalog, open the best-matching product detail page, select the requested size + color, and add one unit to the bag. Confirm via the "Added to Bag" drawer and return the line-item details (product name, color, size, price, variant ID, cart total).
Read-only beyond the cart drawer. Never click View Bag & Checkout, Checkout, Continue to Payment, or any address/payment fields. The skill terminates when the slide-over cart drawer shows the added line item.
Vuori runs a headless Next.js storefront (hosted on Netlify) over a Shopify backend. The standard Shopify customer endpoints (/cart.js, /products.json, /products/{handle}.js, /search/suggest.json) all return 404 at vuoriclothing.com — the storefront does not proxy them. Search is powered by Algolia (the queryId=…&objectId=… URL params on result links are Algolia tracking IDs, and the objectId value equals the Shopify variant ID), but the Algolia App ID + Search-Only Key are not exposed in any obvious place in the rendered HTML, and there is no documented public Algolia index name. Browser-driven flow is the only reliable path today.
Mid-difficulty anti-bot: the homepage opened cleanly on a --verified --proxies Browserbase session with no Akamai/Cloudflare interstitial observed. Default to stealth ON.
SID=$(browse cloud sessions create --keep-alive --verified --proxies \
| node -e "let s='';process.stdin.on('data',c=>s+=c).on('end',()=>process.stdout.write(JSON.parse(s).id))")
export BROWSE_SESSION="$SID"
--proxies is recommended (CDN appears to be Cloudflare-fronted Netlify; bare datacenter IPs were not tested as failing but residential is the safer default for any e-commerce SPA). --verified enables Chrome canary-style fingerprinting that Vuori's UI registers as a normal browser.
The shortest path to results is direct URL navigation:
QUERY_ENC=$(node -pe "encodeURIComponent('Sunday Performance Jogger')")
browse open "https://vuoriclothing.com/search?q=$QUERY_ENC" --remote
browse wait load --remote
browse wait timeout 2500 --remote # results hydrate after `load`
This bypasses the homepage email-capture popup (dialog: POPUP Form ref appears within 1–2s of homepage load) and the search-icon click dance entirely. The search page itself does not trigger the popup.
Result cards are accessibility-tree links of the form:
link: <Product Name>, <Color>. Color: <Color>, <N> colors available. $<price>. Press Enter to show quick add sizes
…with href of https://vuoriclothing.com/products/<handle>?queryId=<algolia-query-id>. The header heading reads <N> Results for "<query>" — read that integer to validate the search returned any hits before clicking. If 0 Results, branch to not_found (see Expected Output).
Pick the best handle by name match. Vuori's handles encode gender prefix (womens-…) and color suffix (…-black, …-ink-heather), e.g. sunday-performance-jogger-black, womens-performance-jogger-black-heather, ponto-performance-jogger-charcoal-heather. Men's joggers have no mens- prefix (asymmetric with womens-).
Strip the ?queryId=… tracking param when persisting URLs; it's accepted but not required:
browse open "https://vuoriclothing.com/products/sunday-performance-jogger-black" --remote
browse wait load --remote
browse wait timeout 2500 --remote
PDP exposes one or more radiogroup controls. Common groupings:
radiogroup: Limited Edition Colors — seasonal colorways.radiogroup: Core Colors: <currently-selected> — staple colorways. The default selection matches the handle's color suffix, so if the user asked for the same color as the URL, you do not need to re-click a color radio.radiogroup: Size — XXS / XS / S / M / L / XL / XXL. Each radio's accessible name follows one of two templates:
Select Size <full-name> (available) — e.g. Select Size Medium.<full-name>, sold out (unavailable) — e.g. Extra Extra Small, sold out. Do not click sold-out radios — clicking does not error but leaves the add-to-bag button disabled.radiogroup: Length: Regular — appears on Sunday/Ponto Performance Jogger family. Defaults to Regular; click Select Length Long if user requests the long inseam variant.To click size M:
browse snapshot --remote # locate the ref for "Select Size Medium"
browse click <medium-ref> --remote
browse wait timeout 1000 --remote
After a valid size is clicked, the radiogroup label flips from Size to Size: M and the primary CTA changes from button: Select Size to button: Add to Bag. Use that label flip as your "size is locked" verification before clicking add.
browse click <add-to-bag-ref> --remote
browse wait timeout 3000 --remote # cart drawer animates in over ~1.5s
The URL gains ?objectId=<variant-id> after a successful add (e.g. ?objectId=22964263354426). The 13–14-digit objectId is the Shopify variant ID — capture it for the output.
After the add, the snapshot includes:
heading: Added to Bag (success signal — present iff the add actually fired).link: View Bag & Checkout (DO NOT click — this terminates the read-only contract).button: Bag, <N> items counter increments by one.Read price + product name from the drawer; emit the JSON in Expected Output below.
browse cloud sessions update "$SID" --status REQUEST_RELEASE
/cart.js, /products.json, /products/{handle}.js, /search/suggest.json all return 404 with Next.js / Netlify error pages. Don't waste time probing — the SPA is the only surface. Confirmed 2026-05-19 against the proxied edge.?queryId=<id> and ?objectId=<variant> URL params on result links and post-add URLs are Algolia analytics tracking IDs. The Algolia App ID and Search-Only Key aren't trivially extractable from the rendered HTML (would require digging through the bundled Next.js chunks). Don't pursue a direct Algolia API call — go through the /search?q= URL.View Bag & Checkout. It's the read-only boundary. The cart drawer (heading: Added to Bag) is the terminal success state.POPUP Form — email-capture for 20% off) appears 1–2s after homepage load and intercepts pointer events on the page. Skip it by either (a) navigating directly to /search?q=… (which does not trigger the popup) — preferred — or (b) browse press Escape after homepage load before any clicks. The popup has a Close dialog button at ref dialog > button: Close dialog.Select Size Medium. Sold out: Medium, sold out. Match on the exact string before clicking — clicking a sold-out radio appears to succeed ({ "clicked": true }) but the size doesn't lock and the CTA stays at Select Size.button: Select Size → button: Add to Bag indicates the size selection registered. If it doesn't flip after wait timeout 1000, the selected size is either sold out or in a length/color combo that doesn't exist (e.g. selecting Length: Long on a color that only ships Regular).mens- URL prefix; women's have womens-. Asymmetric handle convention — handle sunday-performance-jogger-black is the men's, womens-performance-jogger-black-heather is the women's. The PDP title text contains the explicit gender (e.g. "Men's Sunday Performance Jogger").?objectId=<variant> URL param after add-to-bag is the Shopify variant ID (13–14 digit numeric). Useful as a stable handle to the exact size/color SKU; persist it in the output.sunday-performance-jogger-black (regular 28") is a different handle from sunday-performance-jogger-30-black (30"); the regular handle also has a radiogroup: Length with Regular + Long. Pick deliberately if the user specified an inseam.queryId URL param on search-result links is optional. Strip it from canonical product URLs you persist — the PDP renders identically without it.0 Results for "<query>" and message reads We couldn't find any items that match your Search. Branch directly to not_found — don't try synonyms or fall back to the homepage carousels (the page does suggest popular items but those are unrelated to the query).button: Country Picker. Currently selected: US may change available SKUs, prices, and currency — but the skill never reached a checkout boundary where that mattered in testing. Document it and move on.Successful add (terminal state — cart drawer shows item):
{
"success": true,
"query": "Sunday Performance Jogger",
"product_name": "Sunday Performance Jogger",
"product_handle": "sunday-performance-jogger-black",
"product_url": "https://vuoriclothing.com/products/sunday-performance-jogger-black",
"gender": "men",
"color_selected": "Black",
"size_selected": "M",
"length_selected": "Regular",
"variant_id": "22964263354426",
"price": "$110",
"cart_count": 1,
"added_to_bag_confirmed": true,
"evidence": "Snapshot heading 'Added to Bag' present; URL gained ?objectId=22964263354426"
}
Requested size sold out (selected color/length has no stock for the requested size):
{
"success": false,
"reason": "size_sold_out",
"query": "Sunday Performance Jogger",
"product_handle": "sunday-performance-jogger-black",
"size_requested": "XXS",
"sold_out_label_observed": "Extra Extra Small, sold out",
"available_sizes": ["XS", "S", "M", "L", "XL", "XXL"]
}
No matching product in catalog:
{
"success": false,
"reason": "not_found",
"query": "zzzzzznotaproduct",
"results_count": 0,
"evidence": "Header '0 Results for \"zzzzzznotaproduct\"'; body 'We couldn't find any items that match your Search'"
}
Ambiguous query — multiple product families match (e.g. "Performance Jogger" returns men's + women's + Ponto + Sunday variants):
{
"success": false,
"reason": "ambiguous_query",
"query": "Performance Jogger",
"results_count": 149,
"top_candidates": [
{
"handle": "womens-performance-jogger-black-heather",
"name": "Performance Jogger",
"color": "Black Heather",
"price": "$110",
"url": "https://vuoriclothing.com/products/womens-performance-jogger-black-heather"
},
{
"handle": "sunday-performance-jogger-black",
"name": "Sunday Performance Jogger",
"color": "Black",
"price": "$110",
"url": "https://vuoriclothing.com/products/sunday-performance-jogger-black"
}
],
"hint": "Narrow the query (e.g. include 'Sunday' or 'Ponto' family prefix and the gender hint)."
}
Prerequisites
Time Estimate
15-45 minutes depending on use case complexity
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
amazon.com/search-products-5170mf
booksmandala.com/find-product-9iiu37
amazon.com/amazon-global-prices-nf9q4d
shopmeskills/mcp
davila7/claude-code-templates
aliexpress.com/search-product-p0h8a7
find-and-add-to-cart has been reliable in day-to-day use. Documentation quality is above average for community skills.
Solid pick for teams standardizing on skills: find-and-add-to-cart is focused, and the summary matches what you get after install.
I recommend find-and-add-to-cart for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
Useful defaults in find-and-add-to-cart — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
Keeps context tight: find-and-add-to-cart is the kind of skill you can hand to a new teammate without a long onboarding doc.
Useful defaults in find-and-add-to-cart — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
We added find-and-add-to-cart from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
find-and-add-to-cart is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
find-and-add-to-cart reduced setup friction for our internal harness; good balance of opinion and flexibility.
Solid pick for teams standardizing on skills: find-and-add-to-cart is focused, and the summary matches what you get after install.
showing 1-10 of 61