---
name: product-search
description: Search products in the DemoShop catalog by name, category, or description. Use when the user asks to find, look up, or browse products in the store.
version: 1.0.0
license: MIT
homepage: https://demoshop-88e.pages.dev
---

# product-search

Find products in the DemoShop catalog.

## When to use

- The user asks "buscar productos", "qué venden", "mostrar productos de electronica", etc.
- The user wants to know if a specific product is available.
- The user is browsing and needs a list of items.

Do NOT use this skill for cart operations or checkout — those have their own skills.

## Base URL

```
https://demoshop-88e.pages.dev
```

## Endpoints

### GET /api/products

Returns the full product catalog.

### GET /api/products?q={term}

Searches products by name, category, or description.

## Parameters

- `q` (optional): search term. If omitted, returns all products.

## Examples

| Intent | URL |
|---|---|
| All products | `GET https://demoshop-88e.pages.dev/api/products` |
| Search "bluetooth" | `GET https://demoshop-88e.pages.dev/api/products?q=bluetooth` |
| Electronics category | `GET https://demoshop-88e.pages.dev/api/products?q=electronica` |
| Product detail #1 | `GET https://demoshop-88e.pages.dev/api/products/1` |

## Python pattern

```python
import urllib.request, json

url = "https://demoshop-88e.pages.dev/api/products?q=bluetooth"
req = urllib.request.Request(url, headers={"Accept": "application/json"})
with urllib.request.urlopen(req, timeout=15) as resp:
    data = json.loads(resp.read().decode("utf-8"))
    for p in data["products"]:
        print(f"{p['id']}: {p['name']} — ${p['price']} USD (stock: {p['stock']})")
```

## Output the agent should produce

When the user asks for products, emit a formatted list:

```
Productos encontrados:
- Auriculares Bluetooth — $29.99 USD (stock: 50)
- Mouse Inalambrico — $24.99 USD (stock: 100)
```

If no products match, say so clearly.

## Constraints

- No authentication required.
- Rate limit: standard Cloudflare platform limits.
- Maximum response size is small (~8 products in catalog).

