skills/sales-customcat/SKILL.md
CustomCat platform help — budget US (Detroit) print-on-demand fulfillment for creators/sellers (apparel, drinkware, home décor) via DIGISOFT DTG/DTF, embroidery, and dye sublimation, with 1–3 day production, a REST API (catalog, orders, shipping, webhooks), and store connectors for Shopify/Etsy/WooCommerce/BigCommerce. Use when CustomCat orders aren't syncing from your store, an API write call returns 403 because you used the read-only key, an order fails with a duplicate-order/out-of-stock/AVS-address error, a CustomCat order-shipped webhook needs a polling backup, you're building a headless order pipeline against customcat-beta.mylocker.net, modeling whether the Pro plan beats Lite's free wholesale pricing, or you need branded/private-label merch (CustomCat can't do it). Do NOT use for choosing between POD providers like Printful/Printify/Gelato (use /sales-print-on-demand) or general digital-product pricing/launch strategy (use /sales-digital-products).
npx skillsauth add sales-skills/sales sales-customcatInstall 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.
CustomCat is a budget, US-based (Detroit) print-on-demand (POD) fulfillment service: you upload designs, CustomCat prints products on demand and ships them, and you hold no inventory. It plugs into your storefront (Shopify, Etsy, WooCommerce, BigCommerce) or runs headless via its REST API. Its pitch is the lowest base prices + the fastest US production (1–3 business days) — at the cost of no private-label branding and US-only fulfillment.
If references/learnings.md exists, read it first for accumulated platform knowledge.
Ask only what you can't infer from the user's prompt:
What are you trying to do?
API keys? Read-only vs read-write — most "403 Forbidden" issues are a read-only key on a write (order/webhook) call. Keys live in Settings > Store > API.
Skip-ahead rule: if the user's prompt already has enough context, go straight to Step 2.
| If the user's question is about… | Route to |
|---|---|
| Which POD provider to pick (CustomCat vs Printful/Printify/Gelato/SPOD) | /sales-print-on-demand {question} |
| Digital-product pricing, validation, launch strategy | /sales-digital-products {question} |
| Checkout-page conversion (order bumps, upsells, cart abandonment) | /sales-checkout {question} |
| Tax / Merchant-of-Record obligations on merch sales | /sales-merchant-of-record {question} |
When routing, give the exact command: "This is a {domain} question — run: /sales-digital-products {original question}"
Otherwise, answer CustomCat-specific questions directly using Step 3.
Read references/platform-guide.md for the full reference — capabilities & automation surface, pricing/plan gates, data model (catalog product, SKU, design placement presets, orders), and quick-start recipes (submit an order, quote shipping, register an order-shipped webhook).
For raw endpoint detail, auth, webhook payloads, and error messages, read references/customcat-api-reference.md.
Answer using only the relevant section — don't dump the full reference.
403 Forbidden. Use the read-write key for orders/webhooks; reserve the read-only key for the value CustomCat echoes back in webhook payloads.order_id is the idempotency key. Resubmitting the same order_id returns 400 Duplicate Order. Generate a unique id per order and treat a duplicate response as "already accepted," not a failure.api_key in the body. Confirm that value and still poll GET /order/status/{order_id} so a dropped order-shipped event never loses a notification.400 Charge Failed means the payment method on file was declined — fix billing before resubmitting. Model margin = retail − (base + fulfillment + shipping + any back-print/$5 fee)./sales-print-on-demand).If you discover a gotcha or tip not in references/learnings.md, append it there with today's date.
Best-effort from research (2026-06) — review these, especially plan-gated features and pricing that may have changed.
/sales-print-on-demand).400 Duplicate Order — the order_id was already processed. Use a unique id per order and make submission idempotent.Invalid Shipping Address / Conflicting ZIP Code/city/state come back with a suggestions array; surface the suggestion to the buyer rather than blindly resubmitting.There is an issue with the order. SKU: {sku} means that variant is unavailable; check /catalog inventory before submitting./sales-print-on-demand — POD provider selection: choosing between CustomCat/Printful/Printify/Gelato/Gooten/SPOD and multi-provider routing/sales-digital-products — Digital-product & merch strategy: pricing, validation, launch/sales-printify — Printify platform help (the broker-network alternative — 1,300+ products, lowest base costs, per-provider quality vetting)/sales-printful — Printful platform help (the branded, multi-region POD alternative — owns fulfillment, private labels, signed v2 webhooks)/sales-sellfy — Sellfy platform help (creator storefront with built-in POD if you want store + merch in one tool)/sales-checkout — Checkout-page optimization (order bumps, upsells, cart abandonment) for the store that fronts CustomCat/sales-merchant-of-record — Tax/VAT handling on merch sales/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-do -a claude-codeUser says: "My Shopify orders aren't showing up in CustomCat."
Skill does: Checks that the store connection is active and the products were imported/mapped to CustomCat SKUs, verifies auto-fulfillment is enabled (vs orders waiting for manual approval), and — for API submitters — confirms a unique order_id was sent and the call used the read-write key, not the read-only one.
Result: User finds the disconnected store / wrong key, re-syncs, and orders flow through.
User says: "How do I submit an order to CustomCat from my own backend?"
Skill does: Walks through POST /order/{order_id} with the shipping_* recipient fields, a shipping_method from GET /shipping, and an items array (using sku+quantity for catalog products, or catalog_sku+design_url+preset_id for external designs), explains the read-write key requirement and sandbox=1 for testing, and shows the cURL + Python example plus the 400 error handling (Duplicate Order, Invalid Shipping Address with suggestions).
Result: User has a working, idempotent order-submission flow with address-validation handling.
User says: "Is CustomCat Pro worth $30/mo for me?" Skill does: Explains Lite is free at standard wholesale and Pro unlocks 20–40% off the catalog, then models the break-even — Pro pays off once (discount % × monthly product spend) exceeds $30 — and compares the annual $300 (~$25/mo) option, factoring base + fulfillment + shipping + any $5 back-print fee against retail. Result: User decides based on projected order volume, not feature FOMO.
Symptom: Store orders don't create CustomCat orders.
Cause: Store connection paused/disconnected, products not mapped to CustomCat SKUs, manual order approval enabled, or (API) a non-unique order_id / read-only key.
Solution: Re-connect the store and re-map products, enable auto-fulfillment, and for API submitters send a unique order_id with the read-write key. Register the order-shipped webhook and poll GET /order/status/{order_id} as a backup.
Symptom: Submitting an order or registering a webhook returns 403.
Cause: You used the read-only API key on a write operation.
Solution: Switch to the read-write key (Settings > Store > API) for all order and webhook calls. Keep the read-only key only for reads and for verifying the value CustomCat echoes in webhook payloads.
Symptom: POST /order returns a 400 (Duplicate Order, Invalid Shipping Address, out-of-stock SKU, or Charge Failed).
Cause: Re-used order_id, a US address that fails AVS, an unavailable variant, or a declined payment method on file.
Solution: Use a unique order_id; on Invalid Shipping Address/Conflicting ZIP apply the returned suggestions; check /catalog stock before ordering; and fix the billing method for Charge Failed. Test against sandbox=1 first.
tools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).