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".
In this repository29 other files it gives its agents.
- ads-studioSkill
- blog-post-and-newsletterSkill
- calendarSkill
- chapter-draftingSkill
- character-mergeSkill
- financeSkill
- getting-startedSkill
- manuscript-importSkill
- manuscript-revisionsSkill
- markersSkill
- marketing-studioSkill
- mentionsSkill
- pen-namesSkill
- quick-task-captureSkill
- sales-studioSkill
- social-handoffSkill
- story-bibleSkill
- stos-setupSkill
- tasksSkill
- timelineSkill
- time-trackingSkill
- wordpress-connectSkill
- wordpress-llm-optimizationSkill
- wordpress-mediaSkill
- wordpress-pagesSkill
- wordpress-postsSkill
- wordpress-seoSkill
- worldbuilding-mergeSkill
- worldbuildingSkill
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
- Very specific: line 96
Do not delete orders. Use status changes (refunded, cancelled) — orders are financial records.
- Distinctive: line 97
Do not change a customer's email without confirming.
- Distinctive: line 98
Do not use the products tool for KDP / IngramSpark / Smashwords listings.
≈ “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.
Files
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 itselfAll 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
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
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.

