agentleFS
respira-pressrespira-press/agent-skills-wordpress/skills/respira-woocommerce/SKILL.md

respira-woocommerce

Skill49 starsChanged 8 months agoMITView on GitHub

Use for WooCommerce operations on a WordPress site. Listing, reading, creating, updating, and duplicating products. Managing categories and tags. Reading orders and updating order status. Stock management. Sales reports. Storefront layout edits. Builder-aware throughout. Requires the Respira WooCommerce add-on (paid).

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Always snapshot the page first with respira_create_page_duplicate.

    line 81
  2. Distinctive:

    Always check WooCommerce is active and the add-on is licensed before calling Woo tools.

    line 92
  3. Very specific:

    Never use respira_update_page on a product page to change price, stock, or product meta.

    line 93
  4. Distinctive:

    Never create or modify coupons without confirming the discount type with the user.

    line 96
  5. Very specific:

    Call get-product and confirm the changed fields match.

    line 103
  6. Very specific:

    Call get-order and confirm the status transition.

    line 109
  7. Distinctive:

    After a batch update:

    line 112
  8. Distinctive:

    Stop and ask the user if:

    line 119

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Respira WooCommerce

What this skill covers

The Respira WooCommerce add-on (v2.1.0+) exposes 21 abilities through the WordPress Abilities API, plus a storefront layout surface for Elementor, Divi, Flatsome UX Builder, Bricks, and Gutenberg shop / product templates. The add-on is paid and license-gated; if the add-on isn't active, every Woo tool returns a clear respira_webmcp_woo_unavailable error and the user should be sent to respira.press/addons/woocommerce.

The 21 abilities namespace under respira-woocommerce/*:

  • Products: get-products, get-product, create-product, update-product, duplicate-product.
  • Categories: get-categories, get-category, create-category, update-category, delete-category.
  • Tags: get-tags, get-tag, create-tag, update-tag, delete-tag.
  • Orders: get-orders, get-order, update-order-status.
  • Stock: get-stock-status, update-stock.
  • Reporting: get-sales-report.

The storefront surface (under /respira/v1/woocommerce/storefront/) covers analyze-shop, analyze-product, update-card-layout, and add-low-stock-badge. These act on builder-managed product card templates rather than the WC core data.

Common Mistakes

MistakeCorrect approach
Using respira_update_page on a WooCommerce product pageUse the WooCommerce update-product ability for product data. Use respira_find_element plus respira_update_element for builder-managed visual content on the page.
Editing product price or stock directly in the page contentThese are post meta fields. Use the update-product or update-stock abilities.
Running get-products without pagination on a large catalogAlways set per_page (max 100) and paginate. Large catalogs cause timeouts.
Applying a coupon via post metaCoupons should go through the canonical WooCommerce coupon mutation (or the WC admin). Direct meta edits bypass WC validation.
Editing a builder-managed shop archive template via update_pageUse respira_get_builder_info to identify the template type first. The storefront tools cover product-card layout changes; visual edits go through respira_update_element.
Not checking whether WooCommerce is active before calling Woo toolsConfirm with respira_get_site_context. Woo tools return a structured error if the plugin is inactive or the add-on isn't licensed.
Forgetting that update-order-status only changes statusUpdating the rest of the order (line items, totals, addresses) needs the WC admin or a dedicated tool. The ability is narrow on purpose.

Inputs

  • Product ID, SKU, or search term.
  • Category or tag slug or ID.
  • Order ID or order status filter (pending, processing, on-hold, completed, cancelled, refunded, failed).
  • Coupon code or coupon ID.
  • The fields to read or update.

Workflow

Product operations

  1. respira_get_site_context. Confirm WooCommerce active + add-on licensed.
  2. get-products. Find the product by name, SKU, or filter. Set per_page and paginate.
  3. update-product. Apply changes (price, stock, status, title, description, images).
  4. For visual / builder content on the product page: respira_get_builder_info plus respira_find_element plus respira_update_element.

Category and tag operations

  1. get-categories or get-tags. Find the target by slug or name.
  2. create-, update-, or delete-. Mutations gated by capability checks.
  3. Reorder or reparent through update-category (parent + display order).

Order operations

  1. get-orders with a status filter.
  2. get-order for a specific record.
  3. update-order-status for status transitions. Anything more invasive needs the WC admin.

Stock operations

  1. get-stock-status for a snapshot.
  2. update-stock for quantity or status mutations. The ability respects manage_stock per product.

Storefront layout

  1. analyze-shop or analyze-product. Returns the active builder and the editable card / template paths.
  2. update-card-layout to mutate the product card structure.
  3. add-low-stock-badge to insert the conditional badge widget.
  4. Always snapshot the page first with respira_create_page_duplicate.

Batch product updates

For updating multiple products (a price increase across a category):

  1. get-products with the category filter. Collect target IDs.
  2. respira_batch_update. Apply the same field change across all collected IDs in a single call.

Rules

  • Always check WooCommerce is active and the add-on is licensed before calling Woo tools.
  • Never use respira_update_page on a product page to change price, stock, or product meta. Those are WC data fields.
  • For product description: if the product page uses a builder, the visual description may live in the builder JSON. Use respira_find_element to locate it. The WC description field is the fallback (non-builder) description.
  • respira_batch_update accepts a maximum of 100 items per call. Chunk larger operations.
  • Never create or modify coupons without confirming the discount type with the user. A percent coupon applied as fixed_cart can cause significant revenue loss.
  • Currency is per-site. Don't assume USD or EUR; read it from respira_get_site_context.

Verification

After update-product:

  1. Call get-product and confirm the changed fields match.
  2. For price changes, verify both regular_price and sale_price are correct.
  3. For stock changes, verify stock_quantity and stock_status.

After update-order-status:

  1. Call get-order and confirm the status transition.
  2. Note that WC emails fire automatically on certain transitions; tell the user.

After a batch update:

  1. Sample 2-3 products from the batch and verify the changed field.
  2. Report the total number of products updated and any that returned errors.

Escalation

Stop and ask the user if:

  • The product catalogue has more than 1,000 items and the request is "update all products". Confirm scope and batch strategy first.
  • A coupon update would affect unlimited use or a site-wide discount. Confirm before applying.
  • WooCommerce Subscriptions, Memberships, or Bookings are involved. These have their own data models. Check available tools before proceeding.
  • The update would change a product's status from publish to draft. Confirm the user intends to unpublish.
  • An order has been paid and shipped, and the request would modify it. WC stores immutable history on paid orders; ask before mutating.

Example

Goal: update the regular price of "Merino Wool Tee" from €49 to €59.

1. respira_get_site_context        → WooCommerce 8.7 active, Woo add-on licensed ✓
2. get-products                    → search "Merino Wool Tee" → ID 2847
3. update-product                  → ID 2847, regular_price: "59"
4. get-product                     → ID 2847 → regular_price: "59.00" ✓

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.