skills/commercetools-data/SKILL.md
Production-tested patterns for commercetools product types, custom types/objects, categories, import/export, and data migration from a Platinum partner with 50+ live implementations.
npx skillsauth add ariessolutionsio/composable-skills commercetools-dataInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Product types are immutable once assigned to products -- getting the data model right is the single most consequential decision in any commercetools implementation.
Progressive loading — only load what you need:
references/product-type-design.mdreferences/product-type-operations.mdreferences/custom-types-objects.mdreferences/category-design.mdreferences/localization.mdreferences/import-export.mdreferences/migration.mdreferences/bulk-catalog-audit.mdreferences/bulk-catalog-enrichment.mdreferences/anti-patterns.md| Pattern | File | Impact | |---------|------|--------| | Product Type Design Principles | references/product-type-design.md | Cannot change product type on existing products. Cannot delete a type with products. Attribute removal is destructive. | | Custom Types vs Custom Objects | references/custom-types-objects.md | Only one Custom Type per resource at a time. Field type changes silently fail. Wrong choice = data in unreachable places. | | Category Hierarchy Design | references/category-design.md | Deep hierarchies degrade search. No automatic inheritance. Restructuring requires product reassignment. |
| Pattern | File | Impact | |---------|------|--------| | Localization Strategy | references/localization.md | Over-localizing bloats payloads. Missing fallbacks break storefronts. Wrong LocalizedString usage wastes storage. | | Import & Export Patterns | references/import-export.md | 20-resource batch limit. Async processing with 48-hour window. Wrong import order causes unresolved references. | | Migration Strategy | references/migration.md | Big-bang migrations fail. No built-in environment promotion. Product type changes require delete-and-recreate. |
| Pattern | File | Impact | |---------|------|--------| | Bulk Catalog Operations | references/bulk-catalog-audit.md | Patterns for auditing catalog completeness (missing slugs, descriptions), batch updates, and AI-assisted data enrichment. | | Anti-Patterns Catalog | references/anti-patterns.md | Comprehensive list of data modeling mistakes with consequences and corrections. |
Is the data an attribute of a product variant? (color, size, weight)
YES --> Product Type attribute
NO --> Continue
Is the data extending an existing resource? (loyalty points on Customer,
gift wrap on LineItem, metadata on Order)
YES --> Custom Type (Custom Fields)
NO --> Continue
Is the data standalone reference/config? (feature flags, lookup tables,
app settings, cross-cutting data)
YES --> Custom Object (container/key)
NO --> Continue
Is the data classifying products for navigation? (department, collection)
YES --> Category
NO --> Continue
Is it a workflow state? (product review status, order fulfillment stage)
YES --> State Machine
NO --> Consider whether commercetools is the right place for this data
Does it define WHAT the product IS? (its schema, its attributes)
YES --> Product Type
Does it define WHERE the product APPEARS? (navigation, browsing, collections)
YES --> Category
Rule: If you could model it as a Category, prefer Category.
Categories are flexible. Product Types are permanent.
Do products share 80%+ of their attributes?
YES --> Same Product Type (use attributes for differentiation)
NO --> Different Product Types
Is data managed in Merchant Center?
YES --> Use more specific types (better editing UX)
NO (external PIM) --> Fewer generic types are acceptable
| Resource | Limit | Notes | |----------|-------|-------| | Product Types per Project | 1,000 | Hard limit | | Attributes per Product Type | No hard limit | 50 product-level + 50 variant-level searchable attributes indexed | | Variants per Product | 100 | Can be increased by contacting support | | Categories per Project | 10,000 | Requires review to increase | | Custom Objects per Project | 20,000,000 | Generous but not infinite | | Import Containers per Project | 1,000 | Keep < 200K operations per container | | Resources per Import Request | 20 | Hard limit, batch accordingly | | Import Operation retention | 48 hours | Unresolved refs retry up to 5 times | | Product Selections per Store | 100 | Plan assortment strategy carefully | | Distribution Channels per Store | 100 | | | Supply Channels per Store | 100 | |
Use this skill to DESIGN the data model, then use the Developer MCP for schema details and the Commerce MCP to execute operations. For bulk catalog operations, see references/bulk-catalog-audit.md and references/bulk-catalog-enrichment.md.
tools
Operator-side patterns for integrating Marketplacer into a composable commerce stack — GraphQL Operator API, per-seller order splits via Invoices, caller-shaped webhooks with HMAC, MPay deposit-and-reconcile payouts, Golden Product PIM sync, wholesale orders, additional charges, and Catalog Rules. Use when implementing or maintaining a Marketplacer marketplace behind any commerce platform (commercetools, Kibo, Scayle, etc.), any search engine, any PIM, OMS, or ERP. Triggers on Marketplacer, marketplace, multi-vendor, multi-seller, Advert, Seller, Invoice, Golden Product, MPay, Airwallex, Hyperwallet, Xero, RefundRequest, RemittanceAdvice, Remittance, Taxon, Prototype, Catalog Rule, marketplace commission, marketplace fees, marketplace operator, marketplace webhooks, paymentReferences. Consult this skill before writing code that talks to a Marketplacer instance, defines a Marketplacer webhook, or maps Marketplacer data into another system.
tools
Use for Kibo Subscription Commerce work — implementing recurring billing, configuring plans (evergreen, fixed-term, subscribe-and-save), managing subscriptions (pause, skip, swap, cancel), setting up dunning / retry for failed payments, handling cycles and continuity orders, building customer self-service portals, and understanding the Subscription-to-Order relationship. Triggers on Kibo Subscription, Kibo Subscription Commerce, subscriptionCreate, subscriptionUpdate, subscription cycle, subscription pause / skip / swap, subscription dunning, recurring billing Kibo, evergreen subscription, fixed-term subscription, subscribe and save, continuity order, payment recycling, subscription churn, subscription retention. Invoke for any Kibo Subscription question — API integration, implementation, configuration, debugging, or projecting subscription state into reporting/ERP.
development
Use for Kibo Order Management (OMS) implementation — design order routing strategies (DC-to-store fallback, location-based), implement fulfillment workflows (BOPIS, curbside pickup, ship-from-store), build RMA and returns processing, integrate inventory APIs with WMS (Refresh vs Adjust semantics), set up standalone-OMS behind Shopify / SFCC / custom storefronts, or import orders from external platforms. Triggers on Kibo OMS, Kibo Order Management, Kibo fulfillment, order routing, BOPIS, ship-from-store, fulfiller, fulfillment task, RMA, Kibo returns, Kibo inventory location, Kibo dropship, Kibo carrier, agentic order routing, standalone OMS. Covers routing rules, allocation logic, carrier integration, location capabilities, and the OMS-behind-non-Kibo-storefront pattern.
tools
Build, debug, and integrate Kibo Commerce eCommerce features — implement checkout/cart/catalog flows, troubleshoot cart and promotion issues, develop B2B portals, write API Extensions (Arc.js), configure Event Subscriptions, or connect to external PIMs/OMS/search. Covers OAuth, `x-vol-tenant`/`x-vol-site`/`x-vol-master-catalog` headers, tenant/site/catalog hierarchy, `@kibocommerce/rest-sdk`, REST vs GraphQL selection. Triggers on Kibo, Kibo Commerce, KiboCommerce, KiboSoftware, x-vol-tenant, x-vol-site, MasterCatalog, Kibo cart/checkout/catalog/storefront/B2B/promotions, API Extensions, Arc.js, Event Subscription, @kibocommerce/rest-sdk. Use whenever working with Kibo's commerce platform — implementing new features, debugging existing code, or integrating external systems.