hugiux2_3aqcfvtf

Gary: Claudaborative Editing 0.4: Twice the fun!
General, Notas Interesantes

Gary: Claudaborative Editing 0.4: Twice the fun!

I’ve been taking an iterative approach to building Claudaborative Editing: build something to prove that the underlying concept works, then evolve on top of that. The first two iterations were answering a question I had: can an LLM genuinely improve the writing process? Along the way, I found a more important question: can it be done without contributing to the masses of generated slop we see?

Having seen the underlying idea working, I needed to answer the next question: can it be brought into the actual writing environment? Can it be useful, but keep out of the way?

Can you talk to an LLM from within WordPress, and have it talk back? I think I’m onto something, and it’s alot of fun.

Coming to a WordPress Near You

Naturally, the next step was to build a WordPress plugin that provided a straightforward interface to the LLM backend. You still install the tool to run with your local copy of Claude Code, but once it’s running, you can do everything directly from the block editor. The plugin is waiting to be approved for the WordPress.org plugin directory, but you can download it directly from the GitHub repo now.

Tools are easily accessible when you need them, but otherwise stay out of your way. You choose how much input you want the LLM to have in your writing: it can fix things up for you, or you can ask it to just leave notes and you’ll decide how you want to proceed. Personally, I prefer to do the work myself, but everyone can choose their level of comfort.

That said, one of the things I often forget to do when writing a post is to tag it properly. If I do remember, I’m never sure what to tag it with. By the time I get to publishing, I’m impatient just to get it out in the world! So, now there’s a button that’ll give suggestions right before publishing, letting you pick and choose which suggestions to use, and what to drop.

Planning is a Conversation

I always start Claude Code in planning mode, and I wanted that for posts, too. That’s where I started this post, and I can absolutely see myself using this every time I need to write a post. Not to do the writing for me, but to help me organise my thoughts. I opened the Compose mode in the sidebar, I had it summarise the changes that I’ve made in the last 2 weeks, and present a few options for how to collate them. Some I kept, some I dropped.

In a lot of ways, it’s more like a very advanced ELIZA, though rather than just reflecting your words back, it reflects your ideas back in a more structured form.

What’s next

I’ll be honest, I’m really happy with how this has turned out so far! I’d love to hear your feedback as you use it. What would you like to see here? I’ve already noted down a bunch of ideas that came up just while I was writing this post, so there are definitely more things to come!

Go ahead and give it a shot now:

npx claudaborative-editing start

Gary: Claudaborative Editing 0.4: Twice the fun! Leer entrada »

How to Set Min & Max WooCommerce Order Limits (& Stop Overselling)
General, Notas Interesantes

How to Set Min & Max WooCommerce Order Limits (& Stop Overselling)

It’s frustrating when customers place orders in your online store that are too small to be profitable, or so large that they deplete your stock and create shipping nightmares. Setting minimum and maximum order limits in WooCommerce solves this problem. It can help you keep your… Read More »
The post How to Set Min & Max WooCommerce Order Limits (& Stop Overselling) first appeared on WPBeginner.

How to Set Min & Max WooCommerce Order Limits (& Stop Overselling) Leer entrada »

General, Notas Interesantes

Greg Ziółkowski: Research: Architecting Tools for AI Agents at Scale

Loading all available tools into an LLM’s context simultaneously is one of the most consequential architectural mistakes teams make when building AI integrations. The solution isn’t bigger context windows, and it’s progressive tool exposure: dynamically presenting only the tools relevant to each interaction. This post surveys the major patterns for doing so, drawn from production servers,

Greg Ziółkowski: Research: Architecting Tools for AI Agents at Scale Leer entrada »

General, Notas Interesantes

Weston Ruter: Adding an MCP Server to the WordPress Core Development Environment

I wanted to hook up Claude Code to be able to interact with my local wordpress-develop core development environment via MCP (Model Context Protocol). I couldn’t find documentation specifically for doing this, so I’m sharing how I did it here.

Assuming you have set up the environment (with Docker) and started it via npm run env:start.

1. Install & Activate the MCP Adapter plugin

The MCP adapter is not currently available as a plugin to install from the plugin directory. You instead have to obtain it from GitHub and install it from the command line. I installed it as a plugin instead of as a Composer package:

cd src/wp-content/plugins
git clone https://github.com/WordPress/mcp-adapter
cd mcp-adapter
composer install

Next, activate the plugin. Naturally, you can also just activate the “MCP Adapter” plugin from the WP admin. You can also activate it via WP-CLI (but from the project root working directory, since you can’t run this command from inside of the mcp-adapter directory:

npm run env:cli — plugin activate mcp-adapter

2. Register the MCP server with Claude

Here’s the command I used to register the wordpress-develop MCP server with Claude:

claude mcp add-json wordpress-develop –scope user ‘{«command»:»npm», «args»:[«–prefix», «~/repos/wordpress-develop/», «run», «env:cli», «–«, «mcp-adapter», «serve», «–server=mcp-adapter-default-server», «–user=admin»]}’

Here’s the JSON with formatting:

{
«command»: «npm»,
«args»: [
«–prefix»,
«~/repos/wordpress-develop/»,
«run»,
«env:cli»,
«–«,
«mcp-adapter»,
«serve»,
«–server=mcp-adapter-default-server»,
«–user=admin»
]
}

You may want to remove –scope user if you just want to register the MCP server for the one project. I tend to re-use the same WP environment for multiple projects (core and plugins), so I think it may make it easier for me to install at the user level instead.

You will also need to change the –prefix arg’s ~/repos/wordpress-develop/ value to correspond to where the repo is actually cloned on your system. I include this arg here so that when I start claude inside of a plugin project (e.g. inside src/wp-content/plugins/performance), it is able to successfully run the npm command in the package.json in the ancestor directory. You can remove this –prefix arg if this is not relevant to you.

Change the user from admin according to your needs.

3. Expose all abilities to MCP

Registered abilities are not exposed to MCP by default. This is a safety measure so that AI agents have to be explicitly allowed to perform potentially sensitive actions. So without any plugins active other than the MCP Adapter, prompting Claude with “discover abilities” results in:

No abilities found. The MCP server connection may be unstable. Try reconnecting again with /mcp.

However, since this is a local development environment, there is no concern about this (for me at least). To opt in all abilities to be exposed to MCP by default, you can use the following plugin code:

add_filter(
‘wp_register_ability_args’,
static function ( array $args, string $ability_id ): array {
if (
// Prevent exposing abilities in MCP except on a local dev environment.
wp_get_environment_type() === ‘local’
&&
// Omit abilities which the MCP Adapter already makes available itself.
! str_starts_with( $ability_id, ‘mcp-adapter/’ )
) {
$args[‘meta’][‘mcp’][‘public’] = true;
}
return $args;
},
10,
2
);

This is also available in a gist to facilitate installation via Git Updater.

Note: This filter does not currently apply if your ability is registered by extending Abstract_Ability in the AI plugin.

At this point, I can now open Claude (or re-connect to the MCP server) and see that it is able to see all (er, most) abilities that are registered on my wordpress-develop env with the same prompt “discover abilities”:

3 WordPress abilities available:

core/get-environment-info — Returns runtime context (PHP, database, WordPress version) with the ability name.

core/get-site-info — Returns site information (all fields or filtered subset)

core/get-user-info — Returns current user profile details

When I prompt “what’s the environment info?” it executes the core/get-environment-info ability via MCP and prints out:

Environment: local

PHP Version: 8.3.26

Database Server: 8.4.8 (MySQL)

WordPress Version: 7.1-alpha-62161-src

Now the environment just needs more abilities! I’ve filed a Performance Lab issue for us at the Core Performance table to work on adding abilities during Contributor Day at WordCamp Asia tomorrow.

Where I’ve shared this:

LinkedIn

Twitter

Bluesky

Threads

Mastodon
The post Adding an MCP Server to the WordPress Core Development Environment appeared first on Weston Ruter.

Weston Ruter: Adding an MCP Server to the WordPress Core Development Environment Leer entrada »

I Tested 10+ Best AI SEO Tools for WordPress to See Which Are Worth It
General, Notas Interesantes

I Tested 10+ Best AI SEO Tools for WordPress to See Which Are Worth It

You can’t just tell AI to ‘do SEO’ on your website and expect to rank at the top of Google. But the right tools can cut hours of repetitive work from your schedule. Many people think AI is just for writing blog posts, but the… Read More »
The post I Tested 10+ Best AI SEO Tools for WordPress to See Which Are Worth It first appeared on WPBeginner.

I Tested 10+ Best AI SEO Tools for WordPress to See Which Are Worth It Leer entrada »

Gary: The Human in the Loop
General, Notas Interesantes

Gary: The Human in the Loop

If you’ve been paying attention to LLM-based coding tools in the past few months, you’ll have seen a seismic shift in how they’re being used. Even 12 months ago, they were little more than glorified auto-complete tools: useful for quickly repeating patterns, but terrible at producing well structured, thoughtful, maintainable code. More recently, however, there seems to have been a new equilibrium reached, where an experienced engineer can guide these tools to consistently produce high quality code. Small course adjustments seem to have an outsized effect, resulting in the “Human in the Loop” paradigm that’s become so popular.

Why It Works

“Code is Poetry” has been my approach to writing code for as long as I can remember. Software is a form of expression, and the way you create that expression is through code. So, to make beautiful software, you need to write beautiful code. But, what happens when you don’t need to write code to create the software?

Suddenly, the code becomes entirely about outcomes. It needs to be correct, functional, and maintainable, but it doesn’t need to be seen as a form of expression itself. Instead, the creative decisions move further up the stack, to the architectural level. You can write beautiful software by writing thoughtful specifications, instead.

That’s not to say that technical abilities are suddenly obsolete. You still need to know what’s possible and realistic to be able to tell the LLM what to build, and to redirect it when it goes in a different direction. You need to be able to read and comprehend the code, you just don’t need to memorise every function signature.

The Temptation

So, if an LLM can write code for me, what else can it do? Marketing copy? Emails? Opinion blog posts? I could ask Claude to write 10 paragraphs on the “The Human in the Loop”, but would you have even read this far if you thought this post was LLM generated? Of course not! I can promise you that every word of this post (and every other post on my blog) was written by me.

Respect for the Reader

If I want you to read this post, and seriously consider the arguments I’m making, the least I can do is write it myself. It goes beyond that, however. LLMs can write functional code, but they can’t write beautiful software. When the text is the creative act, there’s no way for the LLM to write the text without compromising your creativity. If you’re the Human in the Loop for a blog post, you’re not injecting your voice, your perspective, or your personality into the post: you’re rubber stamping whatever feels good enough, and that’s a very low bar to clear.

“Good enough” isn’t actually good enough.

A measure of the complexity of a written piece of text is called “perplexity”. It measures the randomness of how the text flows, and it’s probably the thing you’re noticing when you know you’re reading LLM-generated text, but you can’t quite articulate why. It’s an uncanny valley thing: it looks like writing, it reads like writing, it might even flow like writing, but the vibes are off.

The good news is, you’re not going insane, recent research shows that there is a measurable difference between human written text, and LLM generated text. LLM generated text is inherently less random, which makes sense when you remember that LLMs are, at their core, giant statistical models that are really good at figuring out “what’s the most likely bit of text to come next”.

The LLM as the Assistant

That’s not to say that LLMs are completely useless when it comes to writing, but we need to use them the right way. While they shouldn’t be generating text, they can absolutely be used to help you write. Over the last month or so, I’ve been working on Claudaborative Editing, an experiment to see exactly how much they can help with the writing process. I’ve been building it directly into the WordPress editor, allowing me to plan, write, review, and publish this post from the one place. An LLM assisted, but every word of it was written by me alone. My goal isn’t to replace the author, or to make it easier to fill the web with LLM-generated dreck, it’s to help me (and hopefully you, too!) improve your writing, while still keeping it fundamentally yours.

Where Does Creativity Live?

When you’re evaluating these tools, “can an LLM do this?” isn’t the question you need to ask. Instead, think about where the creative part of the process lives. For software, that’s in the design decisions and the architecture, the final product is the expression of that creativity. The specifics of the implementation don’t really matter. For a blog post, or any writing for that matter, the creativity lives in the act of writing. To delegate that to an LLM is to delegate your own creativity.

Here’s what I believe: the best uses of LLM tools are when they augment humans, rather than try to replace them. They enhance the inherent creativity of their human operator, they don’t suppress it.

This belief guides how I use LLMs, and how I build tools that help others use LLMs, too. I’ll be pushing out a new release of Claudaborative Editing in the next few days, I hope you’ll give it a go!

Gary: The Human in the Loop Leer entrada »

Scroll al inicio