Agent skill
bc-catalog
Work with BigCommerce catalog — products, variants, options, modifiers, categories, brands, metafields, images, and bulk operations. Use when managing product data programmatically or building catalog integrations.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/bc-catalog
SKILL.md
BigCommerce Catalog Management
Before writing code
Fetch live docs:
- Fetch
https://developer.bigcommerce.com/docs/rest-catalogfor Catalog API reference - Web-search
site:developer.bigcommerce.com catalog products variants optionsfor product data model - Web-search
bigcommerce product options vs modifiersfor variant architecture
Product Data Model
Product Hierarchy
Product
├── Options (define variant axes — e.g., Color, Size)
│ └── Option Values (Red, Blue, Small, Large)
├── Variants (specific combinations — Red/Small, Blue/Large)
│ ├── SKU, Price, Weight, Image
│ └── Inventory per variant
├── Modifiers (non-variant options — e.g., Engraving Text)
│ └── Modifier Values
├── Images (gallery images)
├── Videos
├── Custom Fields (key-value pairs shown on product page)
├── Metafields (hidden structured data for integrations)
└── Reviews
Products
Core fields:
name,type,sku,descriptionprice,sale_price,retail_price,cost_priceweight,width,height,depthis_visible,availability,conditioncategories— array of category IDsbrand_id— associated brand
Product types: physical, digital
Options vs Modifiers
| Feature | Options | Modifiers |
|---|---|---|
| Creates variants | Yes | No |
| Affects SKU | Yes | No |
| Affects inventory | Yes | No |
| Example | Color, Size | Gift wrapping, Engraving text |
| API path | /products/{id}/options |
/products/{id}/modifiers |
Variants
Each unique combination of option values creates a variant:
- Own
sku,price,weight,image_url - Own
inventory_levelandinventory_warning_level - Identified by
idand array ofoption_values - Up to 600 variants per product (3 options × ~200 values)
Categories
Hierarchy
Categories are tree-structured:
parent_id— 0 for top-level, otherwise parent category IDsort_order— display orderis_visible— visibility on storefront- Can nest multiple levels deep
Category Assignment
Products belong to one or more categories:
- Set via
categoriesarray on product - A product can be in multiple categories
- Channel assignments can further control visibility per storefront
Brands
Simple flat taxonomy:
name,page_title,meta_keywords,meta_descriptionimage_url— brand logo- Assigned to products via
brand_id
Metafields
What They Are
Key-value data storage for products, categories, brands, customers, and orders:
- Not visible on the storefront by default (unlike custom fields)
- Used for integration data (external IDs, sync timestamps, etc.)
- Namespaced:
app_id+namespace+key= unique - Permissions:
app_only,read,write,read_and_sf_access
API
POST /v3/catalog/products/{id}/metafields- Fields:
key,value,namespace,permission_set,description - Use
read_and_sf_accesspermission to expose in GraphQL Storefront API
Images
Product Images
POST /v3/catalog/products/{id}/images— upload or reference by URL- Fields:
image_urlorimage_file,is_thumbnail,sort_order,description - Multiple images per product (gallery)
- One designated as thumbnail
Variant Images
Each variant can have its own image via image_url field on the variant.
Custom Fields
Visible key-value pairs displayed on the product page:
name— field labelvalue— field value- Displayed in the "Additional Information" section
- Managed via
/v3/catalog/products/{id}/custom-fields
Bulk Operations
Batch Create/Update Products
POST /v3/catalog/products
[
{ "name": "Product 1", "type": "physical", "price": 29.99, ... },
{ "name": "Product 2", "type": "physical", "price": 39.99, ... }
]
Batch Update
PUT /v3/catalog/products
[
{ "id": 123, "price": 34.99 },
{ "id": 456, "price": 44.99 }
]
Batch Delete
DELETE /v3/catalog/products?id:in=123,456,789
Querying Products
Filtering
id:in=1,2,3— by IDsname:like=Widget— name searchsku=ABC-123— exact SKU matchcategories:in=10,20— by categorybrand_id=5— by brandprice:min=10&price:max=100— price rangeavailability=available— availability filteris_visible=true— visibility filterinclude=images,variants,custom_fields— include sub-resources
Pagination
?page=1&limit=50 — default 50, max 250 per page.
Best Practices
- Use options for variant-defining attributes (color, size) and modifiers for everything else
- Use metafields for integration data — don't pollute custom fields
- Use
include=images,variantsto fetch sub-resources in one request - Use batch endpoints for bulk imports/updates
- Respect rate limits — batch operations count as one request per batch
- Use webhooks (
store/product/updated,store/product/inventory/updated) for real-time sync - Set appropriate
permission_seton metafields based on who needs access
Fetch the BigCommerce Catalog API reference for exact endpoint paths, request schemas, and filter options before implementing.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?