<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Stuart Duff</title>
	<atom:link href="https://stuartduff.com/feed/" rel="self" type="application/rss+xml"/>
	<link>https://stuartduff.com</link>
	<description>WooCommerce, WordPress and other things</description>
	<lastBuildDate>Mon, 08 Jun 2026 20:06:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
<site xmlns="com-wordpress:feed-additions:1">4482231</site>	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>How to Reduce Token Usage in Claude Code and Codex</title>
		<link>https://stuartduff.com/how-to-reduce-token-usage-in-claude-code-and-codex/</link>
					<comments>https://stuartduff.com/how-to-reduce-token-usage-in-claude-code-and-codex/#respond</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 20:06:47 +0000</pubDate>
				<category><![CDATA[AI Tools]]></category>
		<category><![CDATA[AI Coding]]></category>
		<category><![CDATA[AI Development]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[Codex]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=1848</guid>

					<description><![CDATA[Claude Code and Codex CLI can get expensive fast, and the culprit is rarely the prompt you just typed. This post covers which tasks burn through tokens and the practical habits that bring costs down without slowing your workflow.]]></description>
										<content:encoded><![CDATA[<p>The most common reason Claude Code gets expensive is not a long prompt. It is context: the invisible accumulation of files read, tool outputs, and conversation history that gets reprocessed on every single turn. I have been using Claude Code heavily across several projects recently, including building a WordPress block theme using Google Stitch and Claude Code. Once I understood the mechanism…</p>
<p><a href="https://stuartduff.com/how-to-reduce-token-usage-in-claude-code-and-codex/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/how-to-reduce-token-usage-in-claude-code-and-codex/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1848</post-id>	</item>
		<item>
		<title>How I Use TDD With AI Coding Tools to Build WordPress and WooCommerce Plugins.</title>
		<link>https://stuartduff.com/how-i-use-tdd-with-ai-coding-tools-to-build-wordpress-and-woocommerce-plugins/</link>
					<comments>https://stuartduff.com/how-i-use-tdd-with-ai-coding-tools-to-build-wordpress-and-woocommerce-plugins/#comments</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Tue, 19 May 2026 23:48:54 +0000</pubDate>
				<category><![CDATA[WordPress AI]]></category>
		<category><![CDATA[AI Coding]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[Cursor]]></category>
		<category><![CDATA[PHPUnit]]></category>
		<category><![CDATA[Plugin Development]]></category>
		<category><![CDATA[TDD]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=1816</guid>

					<description><![CDATA[I have been using PHPUnit for WordPress plugin testing for years. What changed when I started using AI tools was the order. Here is the TDD workflow I now use with Claude Code and Cursor.]]></description>
										<content:encoded><![CDATA[<p>In the olden days before AI development, building a WordPress plugin meant writing every line of code yourself, staring at the WordPress Codex for longer than you’d like to admit, and Googling the same WordPress and WooCommerce hook names repeatedly. Then AI coding tools like Claude Code and Cursor came along and changed everything, or so I thought. For a while, my approach was functional but…</p>
<p><a href="https://stuartduff.com/how-i-use-tdd-with-ai-coding-tools-to-build-wordpress-and-woocommerce-plugins/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/how-i-use-tdd-with-ai-coding-tools-to-build-wordpress-and-woocommerce-plugins/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1816</post-id>	</item>
		<item>
		<title>The Cost of Code Is Not Heading to Zero — It’s About to Get Expensive</title>
		<link>https://stuartduff.com/ai-code-cost-not-heading-to-zero/</link>
					<comments>https://stuartduff.com/ai-code-cost-not-heading-to-zero/#respond</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Mon, 18 May 2026 22:16:01 +0000</pubDate>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[Cursor]]></category>
		<category><![CDATA[Sofware Development]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=1800</guid>

					<description><![CDATA[AI companies and prominent voices are claiming the cost of software is heading to zero. I think that is misleading, and the financial data backs me up. Here is why AI development costs are more likely to increase than disappear.]]></description>
										<content:encoded><![CDATA[<p>You have probably seen the headlines. The cost of code is heading towards zero. AI will write all the code. Developers are optional. It is a compelling narrative, and it is coming from people with serious influence. Andreessen Horowitz general partner Martin Casado has made the theoretical case in published essays, arguing that just as the microchip brought the marginal cost of computation to…</p>
<p><a href="https://stuartduff.com/ai-code-cost-not-heading-to-zero/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/ai-code-cost-not-heading-to-zero/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1800</post-id>	</item>
		<item>
		<title>How I Built a WordPress Block Theme Using Google Stitch, Claude Code, and WordPress Studio</title>
		<link>https://stuartduff.com/building-wordpress-block-theme-google-stitch-claude-code-studio/</link>
					<comments>https://stuartduff.com/building-wordpress-block-theme-google-stitch-claude-code-studio/#respond</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Thu, 14 May 2026 23:30:28 +0000</pubDate>
				<category><![CDATA[WordPress AI]]></category>
		<category><![CDATA[Agent Skills]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[Theme Development]]></category>
		<category><![CDATA[WordPress Block Themes]]></category>
		<category><![CDATA[WordPress Studio]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=1738</guid>

					<description><![CDATA[A walkthrough of the AI-assisted pipeline I used to build a new WordPress block theme — Google Stitch for design, Claude Code with a community Agent Skill for the initial build, and WordPress Studio's MCP connection to validate and fix block errors.]]></description>
										<content:encoded><![CDATA[<p>The WordPress block theme on this blog is new, and I built it using an AI pipeline I had not personally seen documented anywhere as yet. It involves three tools working in sequence: Google Stitch for design, Claude Code with a community Agent Skill called stitch-to-wp-theme-skill to convert that design into a block theme, and WordPress Studio’s MCP server to validate and fix the result. Therefore…</p>
<p><a href="https://stuartduff.com/building-wordpress-block-theme-google-stitch-claude-code-studio/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/building-wordpress-block-theme-google-stitch-claude-code-studio/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1738</post-id>	</item>
		<item>
		<title>Why Your WooCommerce Store Is Not Selling</title>
		<link>https://stuartduff.com/woocommerce-store-not-selling/</link>
					<comments>https://stuartduff.com/woocommerce-store-not-selling/#respond</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Mon, 11 May 2026 19:07:51 +0000</pubDate>
				<category><![CDATA[WooCommerce Tips]]></category>
		<category><![CDATA[cart abandonment]]></category>
		<category><![CDATA[woocommerce]]></category>
		<category><![CDATA[woocommerce launch]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=1642</guid>

					<description><![CDATA[Many new WooCommerce store owners spend months adding features before making a single sale. This post explains why that happens and what to actually focus on before you launch.]]></description>
										<content:encoded><![CDATA[<p>If your WooCommerce store is not selling, the most likely reason is not a missing feature. I have lost count of the number of store owners I have spoken to who are months into building and still have not made a single sale. Not because their product is bad. Not because the market does not exist. But because they are still building. There is always something left to do.</p>
<p><a href="https://stuartduff.com/woocommerce-store-not-selling/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/woocommerce-store-not-selling/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1642</post-id>	</item>
		<item>
		<title>What Is the WordPress 7.0 Connectors API and Why Does It Matter?</title>
		<link>https://stuartduff.com/wordpress-7-connectors-api/</link>
					<comments>https://stuartduff.com/wordpress-7-connectors-api/#respond</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Sun, 10 May 2026 23:20:53 +0000</pubDate>
				<category><![CDATA[WordPress AI]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Connectors API]]></category>
		<category><![CDATA[WordPress Development]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=1612</guid>

					<description><![CDATA[WordPress 7.0 is due to land on 20th May 2026, and alongside the usual collection of editor improvements and performance work, it includes something that is mostly aimed at developers but will quietly affect anyone running AI-related plugins on their site — the Connectors API. If you have ever installed an AI plugin and then [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>WordPress 7.0 is due to land on 20th May 2026, and alongside the usual collection of editor improvements and performance work, it includes something that is mostly aimed at developers but will quietly affect anyone running AI-related plugins on their site — the Connectors API. If you have ever installed an AI plugin and then spent five minutes hunting around different settings screens to…</p>
<p><a href="https://stuartduff.com/wordpress-7-connectors-api/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/wordpress-7-connectors-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1612</post-id>	</item>
		<item>
		<title>From Order to Ordeal: Learning About Amazon UK’s Customer Service Failings</title>
		<link>https://stuartduff.com/from-order-to-ordeal-learning-about-amazon-uks-customer-service-failings/</link>
					<comments>https://stuartduff.com/from-order-to-ordeal-learning-about-amazon-uks-customer-service-failings/#respond</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Wed, 22 Oct 2025 20:09:54 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=1393</guid>

					<description><![CDATA[Recently, I attempted to purchase a 65&#8243; Hisense TV from Amazon UK. Unfortunately, the TV never arrived, and my experience with Amazon&#8217;s support services as a UK consumer left much to be desired. Working in support each day and having been a support team lead, it can be a real eye-opener and a great learning [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Recently, I attempted to purchase a 65″ Hisense TV from Amazon UK. Unfortunately, the TV never arrived, and my experience with Amazon’s support services as a UK consumer left much to be desired. Working in support each day and having been a support team lead, it can be a real eye-opener and a great learning experience when you need to request support yourself. Here’s a comprehensive timeline…</p>
<p><a href="https://stuartduff.com/from-order-to-ordeal-learning-about-amazon-uks-customer-service-failings/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/from-order-to-ordeal-learning-about-amazon-uks-customer-service-failings/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1393</post-id>	</item>
		<item>
		<title>WooCommerce Abandoned Cart Recovery How To Install AutomateWoo</title>
		<link>https://stuartduff.com/woocommerce-abandoned-cart-recovery-how-to-install-automatewoo/</link>
					<comments>https://stuartduff.com/woocommerce-abandoned-cart-recovery-how-to-install-automatewoo/#respond</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Fri, 24 Nov 2023 22:51:36 +0000</pubDate>
				<category><![CDATA[WooCommerce Tutorials]]></category>
		<category><![CDATA[automatewoo]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=1239</guid>

					<description><![CDATA[WooCommerce abandoned cart recovery is a marketing strategy that helps you recover lost sales by targeting customers who leave items in their cart without completing the checkout process. ]]></description>
										<content:encoded><![CDATA[<p>WooCommerce abandoned cart recovery is a marketing strategy that helps you recover lost sales by targeting customers who leave items in their cart without completing the checkout process. One of the most effective ways to do this is by sending automated emails to remind them of the products they left behind and encourage them to complete their purchase. In this tutorial, I will show you how…</p>
<p><a href="https://stuartduff.com/woocommerce-abandoned-cart-recovery-how-to-install-automatewoo/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/woocommerce-abandoned-cart-recovery-how-to-install-automatewoo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1239</post-id>	</item>
		<item>
		<title>WooCommerce Now Powers 42% Of All Online Stores According To BuiltWith Data</title>
		<link>https://stuartduff.com/woocommerce-now-powers-42-online-stores-according-builtwith-data/</link>
					<comments>https://stuartduff.com/woocommerce-now-powers-42-online-stores-according-builtwith-data/#respond</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Tue, 13 Dec 2016 22:00:46 +0000</pubDate>
				<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[builtwith]]></category>
		<category><![CDATA[woocommerce]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=772</guid>

					<description><![CDATA[Back in August of this year I posted a tweet indicating that WooCommerce was powering a 39% share of all online stores according to data gathered by the service BuiltWith.]]></description>
										<content:encoded><![CDATA[<p>Back in August of this year I posted a tweet indicating that WooCommerce was powering a 39% share of all online stores according to data gathered by the service BuiltWith. A quarter later that percentage has grown to an approximate 42% market share which equates to around 1,742,053 stores using WooCommerce according to statistics. WooCommerce has also overtaken other eCommerce…</p>
<p><a href="https://stuartduff.com/woocommerce-now-powers-42-online-stores-according-builtwith-data/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/woocommerce-now-powers-42-online-stores-according-builtwith-data/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">772</post-id>	</item>
		<item>
		<title>Setup A WooCommerce Development VVV With Vagrant Provision</title>
		<link>https://stuartduff.com/setup-woocommerce-development-vvv-vagrant-provision/</link>
					<comments>https://stuartduff.com/setup-woocommerce-development-vvv-vagrant-provision/#respond</comments>
		
		<dc:creator><![CDATA[Stuart]]></dc:creator>
		<pubDate>Fri, 14 Oct 2016 17:39:18 +0000</pubDate>
				<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[vagrant]]></category>
		<category><![CDATA[vvv]]></category>
		<category><![CDATA[woocommerce vvv]]></category>
		<guid isPermaLink="false">https://stuartduff.com/?p=756</guid>

					<description><![CDATA[In this tutorial you will learn how to install my WooCommerce Development VVV on your Vagrant Server and have it provision that site and its, content, plugins and themes automatically. Once provisioned you will have a fully running WooCommerce Development VVV with content, themes and plugins installed ready for your development tasks. Firstly if you [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this tutorial you will learn how to install my WooCommerce Development VVV on your Vagrant Server and have it provision that site and its, content, plugins and themes automatically. Once provisioned you will have a fully running WooCommerce Development VVV with content, themes and plugins installed ready for your development tasks. Firstly if you have not read my previous post on how to…</p>
<p><a href="https://stuartduff.com/setup-woocommerce-development-vvv-vagrant-provision/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://stuartduff.com/setup-woocommerce-development-vvv-vagrant-provision/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">756</post-id>	</item>
	</channel>
</rss>