shopping-in-se
by caoqi
Help the user shop online at Swedish e-commerce sites (Apotea, Apoteket, ICA, etc.) and complete payment. Includes product search, checkout flow, CDP coordinate clicks to bypass cross-origin iframes, and Klarna/Stripe payment handling. Triggers on: "buy this for me", "place an order", "order a", "get me a XX".
安装
claude skill add --url github.com/openclaw/skills/tree/main/skills/caoqi/shopping-in-se文档
Shopping Skill
Help the user complete end-to-end online shopping at trusted retailers — from product search to payment confirmation.
User Information
Read recipient details (address, phone, email) from ~/Private/用户个人信息.txt.
Payment Card
Read Zupyak Mynt Card details from ~/Private/Zupyak Mynt card for AI.txt or ~/.private/payment.env. Only use this designated card — never use the user's personal bank cards.
Shopping Flow
- Search for the product — Only use trusted sites (see references/trusted-sites.md)
- Confirm with the user before ordering — Show product name, price, website, link, and recipient details; wait for approval
- Add to cart — Use the browser tool
- Fill in details — Read address, email, and phone from
~/Private/ - Handle payment — See payment flow below
- Confirm the result — Take a screenshot of the order confirmation page
Payment Flow
Payment iframes (Klarna/Stripe/Adyen) are cross-origin and cannot be accessed via browser tool refs. Use CDP WebSocket to connect directly to the iframe target:
# 1. List all targets (including iframes)
curl http://127.0.0.1:18800/json
# 2. Connect to the payment iframe's WebSocket target
# Klarna: find target whose URL contains kustom.co or payments.klarna.com
# Stripe: find target whose URL contains js.stripe.com/v3/elements-inner
# 3. Run JS to get button coordinates
Runtime.evaluate → getBoundingClientRect()
# 4. Send mouse events to click
Input.dispatchMouseEvent (mouseMoved → mousePressed → mouseReleased)
See references/cdp-click.md for full code.
Security Rules
- Only use trusted platforms — reject unknown domains
- Always get user confirmation before placing an order
- Only use the Zupyak Mynt Card — never use the user's personal cards
- User information is only submitted to the shopping site, never shared with third parties