AI Product Engineer · Founder · Open-Source Builder. Turning AI into products people actually use. Notes on building, shipping, and the craft of product.
I open-sourced 4 tools for AI in e-commerce:
woocommerce-mcp: a safe MCP server for WooCommerce
persian-rag: RAG for Persian text
commerce-agent-skills: 29 skills for coding agents
llm-search-eval: LLM-judged search evaluation
Write-up:
https://t.co/0iPDbq2YuN
@p32929 Thanks! Rate limits mid-run are a real pain on large evals. llm-search-eval caches judgments, so a rerun picks up where it stopped instead of starting over.
An agent that can change prices on a live store needs more than a confirm button.
How I built preview, confirm, audit, and stale-preview refusal into a WooCommerce MCP server, and why it still isn't a lock:
https://t.co/QRqApFEP0i
"Make the webhook idempotent" and the agent dedupes on a header that changes on every retry. The order ships twice.
Why I treat agent skills like code: evals with must-not checks, a strict validator, and an npx installer:
https://t.co/rBmxVbTL0t
@gagu_sh Good point. Pinning the prompt doesn't help if the model behind the same name changes. A small golden set scored per judge prompt version, with an alert on agreement drop, is going on the llm-search-eval roadmap.
New author alert! 🎉
@nasersadrmanesh walks through four open-source tools for AI in online stores, including a WooCommerce MCP server where every write is previewed first and applied only on confirmation. It's their first DEV post.
https://t.co/O9VAY7apV3
Coding agents write checkout code that looks right and misses webhook idempotency, refund edge cases and overselling.
commerce-agent-skills: 29 Markdown skills for store work, with eval fixtures.
npx @sadrmanesh/commerce-agent-skills init
https://t.co/wnfEwvdN0l
@GetPingCron That limitation is stated in the technical report (https://t.co/e7S2m6w5Mu). Your scenario is a good one. I'll add a static fixture for it now (atomic conditional decrement + idempotency key on retry), and a runtime version is on the roadmap via executable reference services.
@GetPingCron Fair question. Today it's mostly the latter: the fixtures are static substring checks (must-include / must-not-include), not executed concurrency tests, so they can't verify a race outcome.
Giving an AI agent access to a live store is easy. Making it safe is the hard part.
woocommerce-mcp: 47 tools, read-only by default, every write is a preview until confirm: true, plus an audit log.
npx -y @sadrmanesh/woocommerce-mcp
https://t.co/rsZjbYc36k
@GeniusMughal@AzielEliab Not yet in the wild, it shipped today. So far it fires in tests and in a staging store when I edit a price between preview and confirm. If you run it against a busy store, I'd love to hear how often it trips.
@HoldAlarms Exactly. The fix is to dedupe on the resource, like the order id plus the event type, not on the delivery id. That's one of the must-not checks in the skill's eval now.
@MinahilAijaz There's no one-click rollback yet. A rollback tool that turns an audit entry into a new previewed write is a natural next step, and I like the idea.
@MinahilAijaz Good question. Previews compute before/after per record, and the stale check fingerprints the values the plan was based on. In v0.6.0 with signed approvals on, the preview entry in the audit log keeps those original values, so you can see exactly what a price was before the write
RAG pipelines built for English quietly break on Persian: Arabic vs Persian characters, half-spaces, reversed PDF text, spelling variants.
What goes wrong at each step, and what I built to fix it:
https://t.co/0Ha01q2IpO
Your new search scores +2%. Is it better, or did it just get more labels?
A write-up on label gaps, LLM judge panels you can check for agreement, and paired confidence intervals for offline search eval:
https://t.co/tDVyFoeZ10