UCP Catalog Mapper
Normalize merchant product data into catalog.json.
Inputs
- Shopify public
products.json:--source shopify --url https://store.com - CSV export:
--source csv --file products.csv - Existing JSON:
--source json --file products.json
The script currently does not implement authenticated WooCommerce, BigCommerce, or browser scraping adapters. Treat those as future connectors unless code is added in this repo.
Run
python ${CLAUDE_SKILL_DIR}/scripts/map_catalog.py \
--source shopify \
--url https://example.com \
--currency USD \
--output store/clients/example/catalog.json
Output Contract
Write:
catalog.jsonmapping-report.mdwhen--reportis provided
catalog.json contains:
products[]metadata.sourcemetadata.total_productsmetadata.total_variantsmetadata.currencymetadata.validation_errors
Product records should include stable id, title, description,
price_range, and at least one variant. Variant prices are integers in ISO
4217 minor units.
Hard Rules
- Never fabricate title, price, availability, SKU, or image data.
- Convert prices to minor units: USD 29.99 becomes
2999; JPY has no decimal multiplier. - If validation reports errors, keep the output but clearly report the problem before using it downstream.
Downstream
ucp-checkoutcan usecatalog.jsonas local product data.acp-feedcan exportcatalog.jsonto OpenAI ACP feed JSON.