v1michigan.com logo
v1michigan.com

buy-asymmetric-upside-hoodie

Installation

Adds this website's skill for your agents

 

Summary

Add the V1 @ Michigan Asymmetric Upside Hoodie in size Large (Natural) to the cart and initiate checkout, stopping at the Stripe Checkout page before payment.

FIG. 01
FIG. 02
FIG. 03
FIG. 04
SKILL.md
123 lines

Buy Asymmetric Upside Hoodie (Size L)

Purpose

Order the Asymmetric Upside Hoodie in size Large from the V1 @ Michigan merch store (v1michigan.com/store). This skill drives the store UI: select the size on the correct product card, add it to the client-side cart, and click Checkout, which creates a checkout session and redirects to a live Stripe Checkout page. This is where the flow stops — completing the order requires entering real payment details on Stripe's hosted page, which this skill does not do (it is intentionally read-only up to the payment step). The recommended path is the browser; an /api/checkout shortcut exists and is documented under Site-Specific Gotchas.

When to Use

  • A user wants to buy / order the V1 @ Michigan "Asymmetric Upside Hoodie" in size Large.
  • A user wants to add the hoodie (Large) to the cart and reach the checkout / payment page.
  • A user wants to confirm the hoodie's price, available sizes/colors, and delivery terms before purchasing.
  • Adaptable to other V1 merch items (Tees, Crewnecks) or other sizes by changing the product card and size button.

Workflow

Recommended method: browser (the store is a trivial, un-protected Next.js/Netlify app; no stealth or proxies needed).

  1. Navigate directly to https://v1michigan.com/store. (The "Store" link in the top nav also points here.)
  2. (Optional) Click the Hoodies filter tab to narrow the grid to hoodies only.
  3. Locate the Asymmetric Upside Hoodie product card — heading "Asymmetric Upside Hoodie", price $60, tagline "A recipe to reap the upside." Do not confuse it with the "Asymmetric Upside Tee" ($35), which shares the same tagline. The reliable discriminator is the name containing "Hoodie" and the $60 price.
  4. On that card, click the size button L (sizes offered: S, M, L, XL, XXL). The button becomes selected/highlighted. The only color is Natural and is applied automatically.
  5. Click Add to Cart on the same card. The header cart counter increments to Cart (1).
  6. Click the Cart button (top-right of the Merch header, or the cart icon in the nav) to open the cart sheet. Verify the line item reads "Asymmetric Upside Hoodie" · L · Natural, quantity 1, $60, with Subtotal $60 and Hand Delivery FREE.
  7. Click Checkout. The button shows "Processing…" while the site POSTs to /api/checkout, then the browser redirects to https://checkout.stripe.com/c/pay/cs_live_….
  8. Stop here. Report success at the Stripe Checkout page. Do not enter card details or place the order — completing payment is out of scope for a read-only skill. If the user genuinely wants to complete the purchase, hand control back to the human at the Stripe page.

API alternative (headless/batch)

Skip the UI by POSTing the cart directly:

POST https://v1michigan.com/api/checkout
Content-Type: application/json

{"items":[{"product":{"id":"v1-asymmetric-upside-hoodie","name":"Asymmetric Upside Hoodie","description":"A recipe to reap the upside.","price":6000,"image":"/merch/v1-asymmetric-upside-hoodie-front.png","images":["/merch/v1-asymmetric-upside-hoodie-front.png","/merch/v1-asymmetric-upside-hoodie-back.png"],"sizes":["S","M","L","XL","XXL"],"colors":[{"name":"Natural","hex":"#d4cfc4"}],"category":"hoodie"},"size":"L","color":"Natural","quantity":1}]}

Returns HTTP 200 with a JSON body containing the Stripe Checkout session URL. price is in cents (6000 = $60). This still ends at Stripe's hosted payment page.

Site-Specific Gotchas

  • Tee vs. Hoodie name collision. "Asymmetric Upside Tee" ($35) and "Asymmetric Upside Hoodie" ($60) share the exact tagline "A recipe to reap the upside." Match on the word Hoodie and the $60 price, not the tagline, or you will add the wrong item.
  • Cart is client-side (React CartProvider/CartSheet), persisted in localStorage. It survives page reloads and navigation within the same session. If a prior run left items in the cart, the counter may already be > 0 — clear/verify before assuming a clean state.
  • Size and color are required before Add to Cart. Size must be picked on the card; the hoodie's only color is Natural (#d4cfc4), applied automatically. Other products (e.g., V1 Crewneck) also expose color buttons (Black/Navy).
  • Checkout is a hard stop at live Stripe. Clicking Checkout POSTs to /api/checkout (200) and redirects to checkout.stripe.com/c/pay/cs_live_…. These are live (not test) Stripe sessions — never enter payment or submit the order. The redirect can take a few seconds; the button reads "Processing…" meanwhile.
  • Delivery model. Cart shows "Hand Delivery — FREE" and "Delivered by hand within ~1 month. Automated shipping coming soon!" There is a promo-code field on the Stripe page ("Have a promo code? Enter it at checkout.").
  • No anti-bot. Homepage/probe returned 200 with no bot protection; the store is a static-ish Next.js app on Netlify. The successful run used no --verified and no --proxies. PostHog analytics fire but do not gate anything.
  • No dedicated product-detail page. All buying happens from the card on /store — there is no /store/asymmetric-upside-hoodie route to deep-link to.

Expected Output

Success (reached checkout, no payment made):

{
  "status": "checkout_initiated",
  "product": "Asymmetric Upside Hoodie",
  "size": "L",
  "color": "Natural",
  "quantity": 1,
  "unit_price_usd": 60,
  "subtotal_usd": 60,
  "delivery": "Hand Delivery (FREE, ~1 month)",
  "checkout_provider": "stripe",
  "checkout_url": "https://checkout.stripe.com/c/pay/cs_live_...",
  "payment_completed": false,
  "note": "Stopped at Stripe Checkout; payment not entered (read-only)."
}

Cart-only checkpoint (before clicking Checkout):

{
  "status": "in_cart",
  "cart_count": 1,
  "items": [
    { "name": "Asymmetric Upside Hoodie", "size": "L", "color": "Natural", "quantity": 1, "price_usd": 60 }
  ],
  "subtotal_usd": 60
}

Failure — product/size not found or out of stock:

{
  "status": "error",
  "reason": "product_not_found | size_unavailable",
  "detail": "Could not locate the Asymmetric Upside Hoodie card in size L on /store."
}