costco — скилл для Claude Code: что делает и как установить
Скилл даёт агенту поиск товаров Costco, сравнение, отзывы, доставку и работу с корзиной. Подходит для проверки покупки перед заказом.
npx skills add imoonkey/openweb --skill costco -a claude-codeЧто делает costco
Скилл подключает к агенту операции Costco: поиск товаров и подсказок, просмотр категорий, детали товара, отзывы и сравнение вариантов. Он также получает варианты доставки, ищет склады по координатам, показывает часы и услуги, а затем проверяет наличие товара и цену в конкретном складе.
Для корзины предусмотрены добавление товара, смена количества и удаление по orderItemId. Эти действия требуют входа: в управляемом Chrome должна быть активная сессия Costco с cookies из обычного Chrome. Без неё addToCart вернёт 403 от Akamai.
Поиск и детали связаны через itemNumber, а отзывы используют productId; сравнение принимает минимум два itemNumber. Изменения корзины работают только для товаров текущей корзины, потому что данные берутся со страницы /CheckoutCartView. Скилл доступен для Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.
Какие задачи решает
- найти товары Costco по запросу
- сравнить цены и характеристики кандидатов
- проверить отзывы и рейтинг товара
- узнать доставку или самовывоз
- проверить наличие в ближайшем складе
Примеры запросов агенту
- Найди в Costco ноутбуки по запросу «laptop», сравни два подходящих товара и покажи цены.
- Проверь отзывы и варианты доставки для товара с
itemNumberиз результата поиска. - Добавь товар с
itemNumberв корзину, измени количество на 2, затем убери его поorderItemId.
Как установить costco
1Через Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill costco -a claude-code2Вручную: положить файлы
~/.claude/skills/costco/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/costco/
1Через Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill costco -a codex2Вручную: положить файлы
.agents/skills/costco/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill costco -a cursor2Вручную: положить файлы
.cursor/skills/costco/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install imoonkey/openweb costco2Вручную: положить файлы
.github/skills/costco/SKILL.md1Через Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill costco -a gemini-cli2Командой платформы
gemini skills install https://github.com/imoonkey/openweb --path src/sites/costcoВручную: положить файлы
.devin/skills/costco/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill costco -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о costco
Как установить costco в Claude Code?
Выполните npx skills add imoonkey/openweb --skill costco -a claude-code, затем откройте файл ~/.claude/skills/costco/SKILL.md.
Что делает скилл costco?
Он ищет товары, получает детали и отзывы, сравнивает варианты, проверяет доставку и наличие на складах Costco. Также он умеет добавлять товары в корзину и менять её содержимое.
Что нужно для работы с корзиной Costco?
Нужен вход в Costco и активная сессия в управляемом Chrome, куда скопированы cookies из обычного Chrome. Без сессии добавление товара возвращает 403 от Akamai.
Исходный текст
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