WordPress 6.x just picked up the WordPress AI Experiments 0.2.0 release, and the changelog reads like a short list of editor conveniences. What changed sits a layer below that. If you have been following the Abilities API, this is the version where the “experimental” label starts to look out of date.
The empty excerpt problem
A client hands you 500 legacy posts with no excerpts, and the new theme’s archive page turns into a broken grid because the_excerpt() falls back to a 55-word chop of the post body. Getting authors to go back and write short, neutral summaries is its own losing battle.
The headline feature in 0.2.0 is AI-generated excerpts. Rather than stripping tags and cutting at a word count, it asks the LLM provider for a summary and puts it in the block editor sidebar. Small workflow win, but it takes hours off backfilling metadata during a large migration. The UI also pushes you to review what comes back instead of accepting it wholesale, which matters if anyone on the team still cares about editorial standards.
Abilities Explorer, the debugging screen
If you build custom blocks or extend the core editor, the Abilities Explorer is the piece of 0.2.0 worth your time. It adds an admin screen under Tools that lists every AI capability registered on the site. When a custom summarization hook refuses to fire, you can test its inputs and outputs there in the browser.
The Abilities system is drifting away from scattered global functions toward one central registry. I wrote more about where that leaves plugin authors in my notes on plugin development shifts in 2025.
Registering a custom ability in WordPress AI Experiments
In v0.1.0, registering an AI action was mostly improvisation. The WordPress AI Experiments plugin now gives you a defined path into the provider. Here is how I register a custom ability with the new pattern, in this case a tone analyzer.
<?php
/**
* Example: Registering a custom 'Tone Analysis' Ability
* Prefix custom functions with bbioon_
*/
function bbioon_register_tone_analysis_ability() {
if ( ! function_exists( 'wp_ai_register_ability' ) ) {
return;
}
wp_ai_register_ability( 'bbioon/tone-analyzer', [
'label' => __( 'Analyze Content Tone', 'bbioon' ),
'description' => __( 'Determines if the content is professional, casual, or urgent.', 'bbioon' ),
'callback' => 'bbioon_execute_tone_analysis',
'capability' => 'edit_posts',
] );
}
add_action( 'init', 'bbioon_register_tone_analysis_ability' );
function bbioon_execute_tone_analysis( $input ) {
// Logic to interface with the AI Provider via the Client SDK
// Gotcha: Always check for transients if you're doing heavy parsing!
return [ 'status' => 'success', 'tone' => 'Professional' ];
}
What’s the catch?
0.2.0 is still a transitional release. The 0.3.0 roadmap already talks about rewriting the Explorer in TypeScript on top of DataViews, so anything you build tightly against today’s UI components will probably break. The backend logic looks steadier.
There is groundwork here for image features too, alt text generation among them. Anyone who has audited a media library holding 10,000 files named “IMG_001.jpg” knows what that costs in performance and accessibility. I would rather see WordPress chew on unglamorous problems at that scale than ship another demo.
If the WordPress AI Experiments side of this is eating your dev hours, I take on that work. I have been building on WordPress since the 4.x days.
The 0.2.0 verdict
The value in this release is architectural rather than shiny. Standardizing how abilities get registered and inspected gives the rest of us a predictable place to build AI features instead of rebuilding the same plumbing on every project. The official GitHub repository moves fast, so keep WP-CLI within reach for updates.