AI-powered product categorization using Claude's natural language understanding to automatically assign products to the most appropriate categories based on product names, descriptions, and attributes.
From wix-ecom-coworknpx claudepluginhub itayher/wix-ecom-cowork --plugin wix-ecom-coworkThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides agentic engineering workflows: eval-first loops, 15-min task decomposition, model routing (Haiku/Sonnet/Opus), AI code reviews, and cost tracking.
AI-powered product categorization using Claude's natural language understanding to automatically assign products to the most appropriate categories based on product names, descriptions, and attributes.
df7c18eb-009b-4868-9891-15e19dddbe67${API_KEY}${SITE_ID}Claude analyzes multiple product attributes:
Primary Signals:
Secondary Signals:
For each category in the store:
Matching Algorithm:
For each product:
1. Extract keywords from name + description
2. For each category:
a. Calculate keyword overlap
b. Check semantic similarity
c. Consider category product patterns
d. Generate confidence score
3. Rank categories by score
4. Return top match with confidence level
Confidence Levels:
Product: "Wireless Bluetooth Headphones - Premium Sound"
Analysis:
Keywords: wireless, bluetooth, headphones, audio, sound, premium
Product Type: Electronics
Price: $89.99 (mid-to-high range)
Category Matching:
1. Electronics → 95% (keywords: bluetooth, wireless, tech)
2. Audio & Music → 88% (keywords: headphones, sound)
3. Accessories → 45% (generic match)
✅ Best Match: Electronics (95% confidence - HIGH)
Product: "Yoga Mat - Eco-Friendly Exercise Mat with Carrying Strap"
Analysis:
Keywords: yoga, mat, exercise, fitness, eco-friendly, workout
Product Type: Physical
Price: $45.00
Category Matching:
1. Sports & Fitness → 92% (yoga, exercise, fitness)
2. Yoga & Meditation → 90% (yoga, mat)
3. Eco-Friendly Products → 75% (eco-friendly)
✅ Best Match: Sports & Fitness (92% confidence - HIGH)
💡 Suggestion: Also add to "Yoga & Meditation" and "Eco-Friendly Products"
Product: "Gift Set - Assorted Items"
Analysis:
Keywords: gift, set, assorted
Product Type: Physical
Price: $50.00
Category Matching:
1. Gifts & Bundles → 65% (gift keyword)
2. Special Offers → 45% (set, bundle)
3. Uncategorized → 40%
⚠️ Best Match: Gifts & Bundles (65% confidence - MEDIUM)
💡 Recommendation: Add more specific description or create custom category
SITE_ID="${SITE_ID}"
API_KEY="${API_KEY}"
echo "Step 1: Fetching all categories..."
categories=$(curl -s -X POST "https://www.wixapis.com/stores/v1/collections/query" \
-H "Authorization: ${API_KEY}" \
-H "wix-site-id: ${SITE_ID}" \
-H "Content-Type: application/json" \
-d '{"query": {"paging": {"limit": 100}}}')
echo "Found $(echo "$categories" | jq '.collections | length') categories"
echo "\nStep 2: Fetching all products..."
products=$(curl -s -X POST "https://www.wixapis.com/stores/v1/products/query" \
-H "Authorization: ${API_KEY}" \
-H "wix-site-id: ${SITE_ID}" \
-H "Content-Type: application/json" \
-d '{"query": {"paging": {"limit": 100}}}')
echo "Found $(echo "$products" | jq '.products | length') products"
echo "\nStep 3: AI analyzing and matching..."
# For each product
echo "$products" | jq -r '.products[] | @json' | while read -r product_json; do
product_id=$(echo "$product_json" | jq -r '.id')
product_name=$(echo "$product_json" | jq -r '.name')
product_desc=$(echo "$product_json" | jq -r '.description // ""')
# Claude analyzes product against all categories
# Returns best matching category ID and confidence
# (This would be done via Claude's analysis capabilities)
echo " 📦 ${product_name}"
echo " → Matched to: [CATEGORY_NAME] (confidence: XX%)"
# Assign product to category
# curl PATCH to update product.collectionIds
done
echo "\n✅ Auto-categorization complete!"
Use Case: Create "Electronics" category and automatically add all electronic products
echo "Creating 'Electronics' category..."
# Step 1: Create category
category_response=$(curl -s -X POST "https://www.wixapis.com/stores/v1/collections" \
-H "Authorization: ${API_KEY}" \
-H "wix-site-id: ${SITE_ID}" \
-H "Content-Type: application/json" \
-d '{
"collection": {
"name": "Electronics",
"description": "Electronic devices, gadgets, and tech accessories",
"visible": false
}
}')
CATEGORY_ID=$(echo "$category_response" | jq -r '.collection.id')
echo "✅ Created category: $CATEGORY_ID"
# Step 2: Get all products
all_products=$(curl -s -X POST "https://www.wixapis.com/stores/v1/products/query" \
-H "Authorization: ${API_KEY}" \
-H "wix-site-id: ${SITE_ID}" \
-H "Content-Type: application/json" \
-d '{"query": {"paging": {"limit": 100}}}')
# Step 3: AI filters products that match "Electronics"
# Claude identifies products with keywords: phone, computer, gadget, headphone, charger, cable, etc.
echo "\nStep 3: AI analyzing products for Electronics match..."
# Step 4: Bulk assign matched products
matched_count=0
echo "$all_products" | jq -r '.products[] | select(.name | test("phone|computer|headphone|gadget|charger|cable|tech|electronic"; "i")) | .id' | while read -r pid; do
curl -s -X PATCH "https://www.wixapis.com/stores/v1/products/${pid}" \
-H "Authorization: ${API_KEY}" \
-H "wix-site-id: ${SITE_ID}" \
-H "Content-Type: application/json" \
-d '{
"product": {
"id": "'"${pid}"'",
"collectionIds": ["'"${CATEGORY_ID}"'"]
}
}' > /dev/null
matched_count=$((matched_count + 1))
echo " ✅ Added product to Electronics"
sleep 0.2
done
echo "\n✅ Added ${matched_count} products to Electronics category"
# Step 5: Make category visible
curl -s -X PATCH "https://www.wixapis.com/stores/v1/collections/${CATEGORY_ID}" \
-H "Authorization: ${API_KEY}" \
-H "wix-site-id: ${SITE_ID}" \
-H "Content-Type: application/json" \
-d '{
"collection": {
"visible": true
}
}' > /dev/null
echo "✅ Category is now visible with all matched products!"
If you have: "Tech", "Electronics", "Gadgets" → Merge into single "Electronics"
AI can identify underserved product groups:
Track which categories drive sales:
# Get products by category with revenue data
# Identify high-performing categories
# Suggest creating similar categories
Products can belong to multiple categories:
{
"collectionIds": [
"electronics",
"sale-items",
"new-arrivals",
"bestsellers"
]
}
Recommended Multi-Category Patterns:
Create nested categories:
Electronics
├─ Phones & Tablets
├─ Computers
├─ Audio & Video
└─ Accessories
Use parentId field in category creation.