Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q8t9GEyyLZbUQu26na1JQg
4.7 KiB
name, description, version, auto-load, tags
| name | description | version | auto-load | tags | |||||
|---|---|---|---|---|---|---|---|---|---|
| woocommerce | Operations playbook for running a WooCommerce store through this plugin's wc_* tools — products, variations, categories, orders, refunds, coupons, gateways, shipping, tax, reviews, and reporting. Read before any store data task. | 1.0.0 | false |
|
WooCommerce — Store Operations Playbook
When to use this skill
Load before any task touching store data: catalog, orders, pricing, promotions, settings, or reporting. For how the shop looks, see woodmart-mcp. For strategy and CRO, see ecommerce-consultation.
Confirm WooCommerce is live first
Before relying on any wc_* tool, confirm the store is present (wc_get_settings or wc_get_store_stats returning cleanly). The tools are guarded — on a site without WooCommerce they report unsupported rather than erroring. Resolve the target site by its registry id and use only that entry's access method before any mutating call.
Catalog
Products
- Read:
wc_list_products,wc_get_product. - Write:
wc_create_product,wc_update_product. - Attributes:
wc_get_product_attributes,wc_create_product_attribute,wc_set_product_attributes,wc_get_attribute_terms.
Variations (variable products)
wc_get_product_variations,wc_get_variation,wc_create_variation,wc_update_variation,wc_delete_variation,wc_batch_update_variations.- Order of operations: create the parent variable product → define the variation attributes (
wc_set_product_attributeswithvariation: true) → then create variations. Variations without their attribute defined on the parent won't save.
Categories
wc_list_product_categories,wc_create_product_category.
Reviews
wc_list_product_reviews— read product reviews (ratings, text, status). Never fabricate reviews; surface the real ones.
Orders
- List/read:
wc_list_orders,wc_get_order. - Status transitions:
wc_update_order_status(pending → processing → completed, or on-hold/cancelled/refunded). Respect the store's fulfilment flow — don't jump an unpaid order to completed. - Internal notes:
wc_add_order_note(customer-visible or private). Use private notes to log why a manual change was made. - Refunds:
wc_create_refund— this moves money. State the amount and reason, and confirm before issuing unless the user explicitly authorized it. A refund is not easily undone. - Customers:
wc_list_customers,wc_get_customers.
Promotions
- Coupons:
wc_get_coupons,wc_get_coupon,wc_get_coupon_count,wc_create_coupon,wc_update_coupon,wc_delete_coupon,wc_empty_coupon_trash. - When creating a coupon, set the guardrails: usage limit, expiry, minimum spend, product/category restriction, and whether it stacks. An uncapped percentage coupon is a liability.
Store configuration
- Settings overview:
wc_get_settings. - Payments:
wc_list_payment_gateways— which gateways are enabled and in what order (the top enabled gateway is the checkout default). - Shipping:
wc_list_shipping_zones— zones and their methods. - Tax:
wc_list_tax_rates— configured rates by zone/class.
Read these before diagnosing a "customers can't check out" problem — the cause is almost always a disabled gateway, a missing shipping zone for the customer's region, or a tax misconfiguration.
Reporting
wc_sales_report— gross, orders, items sold, currency over a date range. The headline revenue number.wc_get_store_stats— broader store snapshot.
Pull the real numbers before making any claim about store performance. For a store with zero recent orders the report returns zeros — report that honestly rather than inferring activity.
Safe-change workflow for anything that mutates
- Read current state (
wc_get_*/wc_list_*). - Make the minimal change.
- For money-moving actions (refunds, order completion, uncapped coupons) — confirm intent first; log the reason with
wc_add_order_notewhere it applies. cache_purge_allafter catalog/price changes so the storefront reflects them.- Verify (re-read, or check the live product/cart).
Gotchas
- Price change not showing → catalog cache.
cache_purge_all; Woodmart may also cache the product grid. - Variation won't save → its attribute isn't defined as a variation attribute on the parent.
- Refund issued twice →
wc_create_refundis not idempotent. Checkwc_get_orderfor existing refunds before issuing. - Coupon abused → no usage limit/expiry set. Always cap.
- "Checkout broken" → check gateways, shipping zones, and tax before touching code.
- Reporting looks wrong → confirm the date range and currency;
wc_sales_reportis period-bound.