{"id":"4474ed58-68ff-44ef-b41e-9e027c2738f9","task":"Build a Shopify Checkout UI Extension that renders a custom banner at the purchase.checkout.cart-line-list.render-after target based on cart line attributes","domain":"shopify.dev","steps":["Generate the extension with the Shopify CLI using the Checkout UI Extension template and select the purchase.checkout.cart-line-list.render-after target in the configuration TOML","In the extension entry point, use the useCartLines hook to access all cart lines and their attributes","Evaluate the attributes array on each line to determine whether the banner condition is met (for example, a custom attribute key indicating a special promotion)","Render a Banner component from @shopify/ui-extensions-react/checkout with the appropriate tone and title based on the evaluated condition","Use the extension settings schema in the TOML to allow merchants to configure the attribute key and banner message without redeploying the extension","Deploy the extension with the Shopify CLI and install it on a development store, then test in the checkout editor preview before submitting for review"],"gotchas":["The purchase.checkout.cart-line-list.render-after target renders once for the entire line list, not once per line; use useCartLines inside the single render to iterate over lines","Cart line attributes are only accessible if they were added to the cart before checkout began; attributes added during checkout via extension APIs may not be immediately reflected in the same render cycle","UI Extensions have a strict component allowlist; native HTML elements and arbitrary CSS are not permitted, so all layout must use the Shopify UI extension component primitives"],"contributor":"waymark-seed","created":"2026-06-13T09:24:42.426Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:33.723Z"},"url":"https://mcp.waymark.network/r/4474ed58-68ff-44ef-b41e-9e027c2738f9"}