agentleFS
chellehonikerchellehoniker/claude-code-storytelleros/skills/wordpress-products/SKILL.md

wordpress-products

Skill1 starsChanged 12 days agoMITView on GitHub

Use when the user wants to manage shop products (WooCommerce or FluentCart) on their connected WordPress site, or look at orders, customers, or coupons. Triggers on "add a product to my shop", "update the price on X", "list my recent orders", "create a 20% off coupon", "show me my customers".

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

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

    Do not delete orders. Use status changes (refunded, cancelled) — orders are financial records.

    line 96
  2. Distinctive:

    Do not change a customer's email without confirming.

    line 97
  3. Distinctive:

    Do not use the products tool for KDP / IngramSpark / Smashwords listings.

    line 98

≈ “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

WordPress shop products, orders, customers, coupons

Backed by WooCommerce or FluentCart, whichever is installed on the connected site. The plugin auto-detects and the response carries engine: 'woocommerce' | 'fluentcart' per row so the same tools work for both.

Requires the StorytellerOS WordPress plugin. Application Password connections do not have access — confirm with stos_wp_site first; if pluginVersion is null, the user needs to install the plugin.

Products

stos_wp_products_list({ search, page, per_page })
stos_wp_products_get({ id })
stos_wp_products_create({ fields: { engine, name, description, short_description, sku, price, sale_price, stock, status, featured_media } })
stos_wp_products_update({ id, fields: { ... } })
stos_wp_products_delete({ id })   // no force option over the connector; permanent deletion is done in WordPress itself

All tools take an optional penNameId — the user can connect one WordPress site per pen name plus an account default. Omit for the account default; pass a pen name id (from stos_pen_names_list) to act on that pen name's site. When the user has multiple pen names and it's ambiguous which site they mean, ask.

engine is required on create only when both WooCommerce AND FluentCart are active. With only one engine installed, the plugin auto-routes.

Orders

stos_wp_orders_list({ status, customer_id, page, per_page })
stos_wp_orders_get({ id })
stos_wp_orders_update({ id, fields: { status, note } })

Order creation typically happens at checkout, not via API. Use update to change status (completed, refunded, processing, etc.) or add a note.

Customers

stos_wp_customers_list({ search, page, per_page })
stos_wp_customers_get({ id })
stos_wp_customers_create({ fields: { email, first_name, last_name, billing_address, shipping_address } })
stos_wp_customers_update({ id, fields: { ... } })

Address fields are nested objects: billing_address: { first_name, last_name, address_1, city, state, postcode, country }.

Coupons

stos_wp_coupons_list()
stos_wp_coupons_create({ fields: { engine, code, discount_type, amount, minimum_amount, expires_at } })
stos_wp_coupons_update({ id, fields: { ... } })
stos_wp_coupons_delete({ id })

discount_type: percent | fixed_cart | fixed_product.

Patterns

Create a launch product

const product = await stos_wp_products_create({
  fields: {
    name: "Demon at Dusk: Limited signed paperback",
    description: "<p>Hand-numbered, signed by the author...</p>",
    sku: "DAD-PB-SIGNED-001",
    price: "29.99",
    stock: 100,
    status: "publish",
  }
});

Drop a 20% off launch coupon

stos_wp_coupons_create({
  fields: {
    code: "LAUNCH20",
    discount_type: "percent",
    amount: 20,
    expires_at: "2026-07-01T23:59:59Z",
  }
});

Mark an order refunded

stos_wp_orders_update({ id: 1234, fields: { status: "refunded", note: "Customer requested refund, book damaged in shipping" } });

Anti-patterns

  • Do not delete orders. Use status changes (refunded, cancelled) — orders are financial records.
  • Do not change a customer's email without confirming. Most shops use email as the login identity.
  • Do not use the products tool for KDP / IngramSpark / Smashwords listings. Those live in Sales Studio → Products (the variation table), not on the WP shop.

Composes well with

  • wordpress-media — product cover images

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.