Skip to main content
skill CX Codex

costco — Claude Code skill: what it does, how to install

This skill lets an agent search Costco products, compare listings, check reviews and delivery, and manage a cart when a live session is available.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add imoonkey/openweb --skill costco -a claude-code
Open on GitHub

What costco does

The skill exposes Costco operations for product discovery and purchase research. An agent can search by keyword, refine a query with suggestions, browse departments, load product details and review summaries, then compare at least two items side by side. It can also check shipping or pickup choices.

Location tasks use coordinates to find warehouses, retrieve their hours and services, and check whether an item is available in-store or online only. Cart actions cover adding an item, changing its quantity, and removing it by orderItemId.

Cart writes need an authenticated Costco session in managed Chrome, with cookies copied from the default Chrome profile. Without that session, addToCart returns a 403 from Akamai. Product details follow itemNumber, while reviews use productId; cart edits work only for items already present in the current /CheckoutCartView cart.

What it helps with

  • search Costco products by keyword
  • compare candidate items side by side
  • check a product’s reviews and rating
  • find shipping or warehouse pickup options
  • verify stock at a nearby warehouse

Example prompts for the agent

  • Search Costco for laptops, compare two matching items, and show their prices.
  • Use the itemNumber from the search results to check reviews and delivery options.
  • Add the item with this itemNumber to my cart, change its quantity to 2, then remove it using orderItemId.

How to install costco

1Skills CLI (Vercel)

npx skills add imoonkey/openweb --skill costco -a claude-code

2Manually: put the files in place

~/.claude/skills/costco/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/costco/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about costco

How do I install costco in Claude Code?

Run npx skills add imoonkey/openweb --skill costco -a claude-code, then open ~/.claude/skills/costco/SKILL.md.

What does the costco skill do?

It searches Costco products, loads details and reviews, compares items, checks delivery and warehouse stock, and can update the cart after authentication.

What is required for Costco cart actions?

You need to be signed in to Costco with a live session in managed Chrome, using cookies copied from the default Chrome profile. Without it, addToCart returns a 403 from Akamai.

Source text

SKILL.md · MIT
# Costco

## Overview
E-commerce warehouse club. Product search, detail, reviews, warehouse locator, delivery options, cart management, and product comparison.

## Workflows

### Find and evaluate a product
1. `searchProducts(query)` → product listings with `itemNumber`
2. `getProductDetail(itemNumber)` → price, description, attributes, rating
3. `getProductReviews(productId)` → review summary, rating distribution, recommendation %

### Compare products before buying
1. `searchProducts(query)` → find candidates → `itemNumber`s
2. `compareProducts(itemNumbers)` → side-by-side price, brand, rating, attributes
3. `getDeliveryOptions(itemNumber)` → shipping/pickup availability per product

### Check warehouse availability
1. `findWarehouses(latitude, longitude)` → nearby warehouses with `warehouseId`
2. `getWarehouseDetails(warehouseId)` → full hours, services, amenities
3. `checkWarehouseStock(itemNumber, warehouseNumber)` → in-store vs online-only, price

### Browse and discover
1. `searchSuggestions(query)` → autocomplete completions to refine search
2. `browseCategory(category)` → products by department with available filters

### Cart management (requires login)
1. `searchProducts(query)` → `itemNumber`
2. `addToCart(itemNumber, quantity)` → `orderItemId`
3. `updateCartQuantity(orderItemId, quantity)` → update quantity
4. `removeFromCart(orderItemId)` → remove item

## Operations

| Operation | Intent | Key Input | Key Output | Notes |
|-----------|--------|-----------|------------|-------|
| searchProducts | search by keyword | query | itemNumber, title, brands, pills | entry point, paginated (pageSize, offset) |
| searchSuggestions | autocomplete | query | term, type | entry point |
| getProductDetail | product details | itemNumber ← searchProducts | price, rating, attributes, buyable | price=0 means "see in cart" |
| getMultipleProducts | batch product lookup | itemNumbers ← searchProducts | price, brand, rating per item | |
| compareProducts | side-by-side comparison | itemNumbers ← searchProducts (2+) | price, brand, rating, attributes | |
| getProductReviews | review summary | productId ← searchProducts | totalReviews, averageRating, distribution | navigates page (BV widget) |
| getDeliveryOptions | shipping/pickup check | itemNumber ← searchProducts | options[].type, available, membershipRequired | types: shipping, business_delivery, warehouse_pickup |
| browseCategory | browse by department | category | products, availableFilters | entry point, paginated |
| findWarehouses | nearby warehouses | latitude, longitude | warehouseId, name, address, hours, services | entry point |
| getWarehouseDetails | full warehouse info | warehouseId ← findWarehouses | hours, services[].name/hours, has* booleans | |
| checkWarehouseStock | in-store availability | itemNumber ← searchProducts, warehouseNumber ← findWarehouses | inWarehouse, onlineOnly, price | |
| addToCart | add to cart | itemNumber ← searchProducts | orderItemId | write, requires login. Navigates to PDP; scrapes JWT + SKU |
| removeFromCart | remove from cart | orderItemId ← addToCart | success | write, requires login. Navigates to /CheckoutCartView |
| updateCartQuantity | change cart qty | orderItemId ← addToCart, quantity | success | write, requires login. Navigates to /CheckoutCartView |

## Quick Start

```bash
# Search for products
openweb costco exec searchProducts '{"query": "laptop"}'

# Get product details (use itemNumber from search)
openweb costco exec getProductDetail '{"itemNumber": "100978861"}'

# Get review summary
openweb costco exec getProductReviews '{"productId": "4000373324"}'

# Find nearby warehouses
openweb costco exec findWarehouses '{"latitude": 37.35, "longitude": -121.95, "limit": 3}'

# Check delivery options
openweb costco exec getDeliveryOptions '{"itemNumber": "100978861", "zipCode": "95050"}'

# Browse a category
openweb costco exec browseCategory '{"category": "Electronics"}'

# Compare products side by side
openweb costco exec compareProducts '{"itemNumbers": ["100978861", "4000373324"]}'

# Cart workflow (requires logged-in Costco session in managed Chrome)
openweb costco exec addToCart '{"itemNumber": "100978861", "quantity": 1}'
# → returns { orderItemId: <int>, orderId, ... } — pass orderItemId to next step
openweb costco exec updateCartQuantity '{"orderItemId": "<from above>", "quantity": 2}'
openweb costco exec removeFromCart '{"orderItemId": "<from above>"}'
```

## Known Limitations

- **Cart write ops require login.** Managed Chrome must have a live Costco session (cookies copied from default Chrome). Without it, addToCart returns 403 from Akamai.
- **Cart edits are page-bound.** removeFromCart/updateCartQuantity scrape `catalogEntryId` and the WCS `authToken` from `/CheckoutCartView` hidden inputs each call — they only work for items currently in the user's cart.
- **Two distinct authToken formats.** PDP add uses a Microsoft B2C JWT (sessionStorage `authToken_<userHash>`); cart edits use a WCS `userId,signature` token (cart-page hidden input). They are not interchangeable.

© imoonkey · MIT · imoonkey/openweb

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set12

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor