openclaw/skills/amazon-shopping/SKILL.md
Search, browse, and purchase products on Amazon using saved account details and explicit approval. Use when asked to buy something, find a product on Amazon, check prices, compare products, track orders, or manage the Amazon cart. Stop for attended payment entry when saved checkout details are unavailable.
npx skillsauth add Dbochman/dotfiles amazon-shoppingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Search, browse, and purchase products on Amazon using browser automation and saved Amazon checkout details. The OpenClaw gateway and its children must never invoke op; missing payment data requires an attended handoff.
NEVER place an order without explicit approval from Dylan.
Before clicking "Place your order":
browser open "https://www.amazon.com"
browser snapshot
browser type <search_box_ref> "search query"
browser press Enter
browser snapshot
browser snapshot
# Click on a product to view details
browser click <product_ref>
browser snapshot
When presenting results to Dylan, include:
browser click <add_to_cart_ref>
browser snapshot
browser open "https://www.amazon.com/gp/cart/view.cgi"
browser snapshot
browser click <proceed_to_checkout_ref>
browser snapshot
Amazon should have a saved payment method. If checkout requests card fields,
stop and ask Dylan to complete payment entry in an attended session. Never call
op, place card data in the general secrets cache, or expose payment fields in
chat or tool output.
Read the local-only address file for field values:
cat ~/.openclaw/skills/amazon-shopping/address.local.md
If the file does not exist or is incomplete, stop and ask Dylan for an attended
checkout update. Do not fall back to op from the gateway process.
Before placing the order, always:
browser snapshot
Report to Dylan:
Then ask: "Should I place this order for $X.XX?"
browser click <place_order_ref>
browser snapshot
Confirm the order was placed and report:
browser open "https://www.amazon.com/gp/your-account/order-history"
browser snapshot
browser open "https://www.amazon.com/gp/cart/view.cgi"
browser snapshot
browser open "https://www.amazon.com/gp/cart/view.cgi"
browser snapshot
browser click <delete_ref>
browser open "https://www.amazon.com/deals"
browser snapshot
browser open "https://www.amazon.com/gp/your-account/order-history"
browser snapshot
browser click <track_package_ref>
browser snapshot
****0298OpenClaw uses system Google Chrome (not Playwright Chromium) with a separate profile at ~/.openclaw/browser/openclaw/user-data/. You MUST re-auth using system Chrome — Playwright Chromium cookies are incompatible.
Stop the OpenClaw gateway (it holds the browser profile lock):
launchctl bootout gui/$(id -u)/ai.openclaw.gateway
sleep 2
pkill -f "Google Chrome"
rm -f ~/.openclaw/browser/openclaw/user-data/SingletonLock
rm -f ~/.openclaw/browser/openclaw/user-data/SingletonCookie
rm -f ~/.openclaw/browser/openclaw/user-data/SingletonSocket
Launch system Chrome with the OpenClaw profile (must run in GUI session via .command file):
# /tmp/amazon_chrome_login.command
#!/bin/bash
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--user-data-dir=/Users/dbochman/.openclaw/browser/openclaw/user-data \
--no-first-run --no-default-browser-check \
--password-store=basic \
"https://www.amazon.com"
Launch via: open /tmp/amazon_chrome_login.command
Dylan signs in on the Mac Mini screen (email, password, 2FA). Do NOT sign into Google — only sign into Amazon.
Close browser and restart gateway:
pkill -f "Google Chrome"
rm -f ~/.openclaw/browser/openclaw/user-data/SingletonLock
rm -f ~/.openclaw/browser/openclaw/user-data/SingletonCookie
rm -f ~/.openclaw/browser/openclaw/user-data/SingletonSocket
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.plist
If the browser fails with "Failed to start Chrome CDP on port 18800":
After a gateway crash or unclean Chrome shutdown, lock files prevent new Chrome from starting.
rm -f ~/.openclaw/browser/openclaw/user-data/SingletonLock
rm -f ~/.openclaw/browser/openclaw/user-data/SingletonCookie
rm -f ~/.openclaw/browser/openclaw/user-data/SingletonSocket
pkill -f "Google Chrome.*--remote-debugging-port=18800"
launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway
OpenClaw uses system Google Chrome (not Playwright Chromium) with --headless=new. When a visible browser session signs into a Google account, Chrome stores encrypted tokens that require macOS Keychain access. The gateway runs headless and can't access the Keychain, causing Chrome to crash with Trace/BPT trap (SIGTRAP) immediately after starting.
Diagnosis: Chrome starts CDP (DevTools listening on ws://...) but dies within 1-2 seconds. Stderr shows errKCInteractionNotAllowed and Failed to decrypt token for service AccountId-*.
Fix: Replace the corrupted profile with a fresh one:
launchctl bootout gui/$(id -u)/ai.openclaw.gateway
pkill -f "Google Chrome"
mv ~/.openclaw/browser/openclaw/user-data ~/.openclaw/browser/openclaw/user-data.broken
mkdir -p ~/.openclaw/browser/openclaw/user-data
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.plist
Note: This loses all browser cookies (Amazon login, etc). You'll need to re-auth via the Re-Auth Procedure above. When re-authing, do NOT sign into Google in the visible Chromium — only sign into the target site (Amazon).
lsof -i :18800
# If a Chrome process is found, kill it
kill <PID>
/Applications/Google Chrome.app) in headless mode — NOT Playwright Chromium~/.openclaw/browser/openclaw/user-data/~/Library/Caches/ms-playwright/chromium-1208/ is only used for the visible re-auth procedurebrowser snapshot frequently to stay oriented on the pagebrowser screenshot for visual confirmationtools
Use exact configured Reolink cameras through the local Home Hub for availability and power status, fresh stills, visual commentary, protected Dylan/Julia/household sharing, and reversible spotlight control. Supports trusted owner tasks and explicitly scoped proactive automations; not for Nest or Ring cameras, arbitrary recipients, recordings, account changes, or raw camera APIs.
data-ai
Privately manage Dylan and Julia's household plant inventory and care history by physical location, bed, and exact Flower Cam view. Use for confirmed plant onboarding from camera conversations, camera- or bed-filtered inventory, record corrections, individual or whole-bed care, and private filtered exports. Pair with reolink-camera when an owner asks about plants visible in Flower Cam images.
testing
Inspect and control the physically secured Reachy Mini at Crosstown through ClawBody. Use for requests to check Reachy, look around, express an emotion, play any official emotion or dance preset, speak proactively, mute or unmute its microphone, stop movement, or describe what its camera sees.
tools
Handle Reachy/iMessage handoffs, selective durable memory, forgetting, and diagnostics; automatic context comes from the gateway plugin.