home / skills / openclaw / skills / shopping-expert

shopping-expert skill

/skills/udiedrichsen/shopping-expert

This skill helps you find and compare products online and locally, ranking deals by price, ratings, and availability.

npx playbooks add skill openclaw/skills --skill shopping-expert

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
3.9 KB
---
name: shopping-expert
description: Find and compare products online (Google Shopping) and locally (stores near you). Auto-selects best products based on price, ratings, availability, and preferences. Generates shopping list with buy links and store locations. Use when asked to shop for products, find best deals, compare prices, or locate items locally. Supports budget constraints (low/medium/high or "$X"), preference filtering (brand, features, color), and dual-mode search (online + local stores).
homepage: https://github.com/clawdbot/clawdbot
metadata: {"clawdbot":{"emoji":"🛒","requires":{"bins":["uv"],"env":["SERPAPI_API_KEY","GOOGLE_PLACES_API_KEY"]},"primaryEnv":"SERPAPI_API_KEY","install":[{"id":"uv-brew","kind":"brew","formula":"uv","bins":["uv"],"label":"Install uv (brew)"}]}}
---

# Shopping Expert

Find and compare products online and locally with smart recommendations.

## Quick Start

Find products online:

```bash
uv run {baseDir}/scripts/shop.py "coffee maker" \
  --budget medium \
  --max-results 5
```

Search with budget constraint:

```bash
uv run {baseDir}/scripts/shop.py "running shoes" \
  --budget "$100" \
  --preferences "Nike, cushioned, waterproof"
```

Find local stores:

```bash
uv run {baseDir}/scripts/shop.py "Bio Gemüse" \
  --mode local \
  --location "Hamburg, Germany"
```

Hybrid search (online + local):

```bash
uv run {baseDir}/scripts/shop.py "Spiegelreflexkamera" \
  --mode hybrid \
  --location "München, Germany" \
  --budget high \
  --preferences "Canon, 4K Video"
```

Search US stores:

```bash
uv run {baseDir}/scripts/shop.py "running shoes" \
  --country us \
  --budget "$100"
```

## Search Modes

- **online**: E-commerce sites (Amazon, Walmart, etc.) via Google Shopping
- **local**: Nearby stores via Google Places API
- **hybrid**: Both online and local results merged and ranked
- **auto**: Intelligent mode selection based on query (default)

## Parameters

- `query`: Product search query (required)
- `--mode`: Search mode (online|local|hybrid|auto, default: auto)
- `--budget`: "low/medium/high" or "€X"/"$X" amount (default: medium)
- `--location`: Location for local/hybrid searches
- `--preferences`: Comma-separated (e.g., "brand:Sony, wireless, black")
- `--max-results`: Maximum products to return (default: 5, max: 20)
- `--sort-by`: Sort order (relevance|price-low|price-high|rating)
- `--output`: text|json (default: text)
- `--country`: Country code for search (default: de). Use "us" for US, "uk" for UK, etc.

## Budget Levels

- **low**: Under €50
- **medium**: €50-€150
- **high**: Over €150
- **exact**: "€75", "€250" (or "$X" for US searches)

## Output Format

**Default (text)**: Markdown table with product details, ratings, availability, and buy links

**JSON**: Structured data with all product metadata, scores, and links

## Scoring Algorithm

Products are ranked using weighted scoring:
- **Price match (30%)**: Within budget range gets full points
- **Rating (25%)**: Higher ratings score better
- **Availability (20%)**: In stock > limited > out of stock
- **Review count (15%)**: More reviews = more trustworthy
- **Shipping/Distance (10%)**: Free shipping or nearby stores score higher
- **Preference match (bonus)**: Keywords in product description

## API Keys Required

- **SERPAPI_API_KEY**: Required for online shopping (all modes except local-only)
- **GOOGLE_PLACES_API_KEY**: Only required for local and hybrid modes

## Limitations

- **API limits**: SerpAPI and Google Places have usage quotas
- **Real-time data**: Prices and availability may change
- **Stock accuracy**: Online availability reflects last API update
- **Local inventory**: Store stock not guaranteed via Places API

## Error Handling

- Invalid query → Returns error with suggestions
- No results found → Relaxes filters and retries
- API failures → Retry with exponential backoff (3 attempts)
- Missing API keys → Clear error message with setup instructions

Overview

This skill finds and compares products online (Google Shopping) and in nearby stores, then auto-selects best options based on price, ratings, availability, and your preferences. It produces a prioritized shopping list with buy links and store locations, and supports budget constraints, brand/feature filters, and a hybrid online+local search mode. Use it to quickly locate the best deals and generate purchase-ready outputs.

How this skill works

The skill queries e-commerce results via Google Shopping (SerpAPI) and local store data via Google Places, then scores each item by price match, rating, availability, review count, and shipping/distance. It applies your budget and preference filters, merges online and local results in hybrid mode, and returns either a readable text table or structured JSON with scores, links, and store locations. It retries API calls on transient failures and relaxes filters when no results are found.

When to use it

  • You want the best-priced item that matches a specific budget or exact amount
  • You need a quick side-by-side comparison of online offers and local store availability
  • You want a shopping list with buy links and nearby store addresses for immediate pickup
  • You have brand, feature, color, or other preferences to filter product choices
  • You’re shopping across countries (US/UK/DE) or need hybrid online+local coverage

Best practices

  • Provide a clear product query and list key preferences (brand, features, color) for precise matches
  • Specify budget as low/medium/high or an exact amount like "$100" for targeted results
  • Use --mode hybrid to combine online deals and nearby store availability when urgency matters
  • Set --max-results to control output size; default is 5 and max is 20
  • Ensure SERPAPI_API_KEY for online and GOOGLE_PLACES_API_KEY for local searches are configured to avoid errors

Example use cases

  • Find top 5 coffee makers under a medium budget and return buy links and nearest stores
  • Locate running shoes under $100, filtered by brand and cushioning, prioritized by price and rating
  • Hybrid search for a camera in a city to check local store stock plus online deals for immediate purchase
  • Generate a JSON feed of matched products for import into a shopping assistant or price-tracking tool
  • Search US stores specifically by setting --country us for region-appropriate pricing and availability

FAQ

Which API keys do I need?

SERPAPI_API_KEY is required for online searches; GOOGLE_PLACES_API_KEY is required for local or hybrid modes.

What if no results are found?

The skill automatically relaxes strict filters and retries; if still empty it returns suggestions to broaden the query.