From Abilities to Action: Wiring AI into WordPress ๐Ÿ”— **Source:** [From Abilities to Action: Wiring AI into WordPress](https://www.youtube.com/watch?v=DoI8o1NpJW4) > [!note]+ Document Notes > tags: #wordpress #artificial-intelligence #api-development #event-management #open-source > author: Jeff Marx > source: WordPress Montclair Meetup > reference: https://www.youtube.com/watch?v=DoI8o1NpJW4 > date created: 2024-12-19 14:30 > > # ๐Ÿท๏ธ Title: From Abilities to Action: Wiring AI into WordPress > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Test AI Experiments plugin for custom abilities โ€” download and experiment with core team's testing tool #wordpress - [H2] Implement permission callbacks for security โ€” prevent unauthorized access to AI abilities #security - [H3] Explore GatherPress Slack for collaboration โ€” join open source event management project #community ## ๐Ÿงญ Table of Contents - [[#๐Ÿ“ Summary]] - [[#๐Ÿ“– Main Content]] - [[#๐Ÿ—’๏ธ Notes]] - [[#๐Ÿ“š References]] - [[#๐Ÿ—ฃ๏ธ Paraphrase]] - [[#๐Ÿ“ฐ Newsletter]] - [[#โœ… Action Items]] - [[#๐Ÿงช Hypotheses]] - [[#๐Ÿ“Š Methodology]] - [[#โ“ Questions]] - [[#๐Ÿ”ฎ Future Research]] - [[#๐Ÿ’ก Implications]] - [[#๐Ÿง  Learning Styles Assessment]] - [[#๐Ÿ“Š Accessibility Assessment]] - [[#๐ŸŒ DEIB Assessment]] - [[#โœ… Logical Validity]] - [[#๐Ÿ›ก๏ธ DARVO Analysis]] - [[#๐ŸŽฏ Conclusion]] ### ๐Ÿ”— References - [GatherPress GitHub](https://github.com/GatherPress/gatherpress) - [WordPress AI Experiments Plugin](https://wordpress.org/plugins/ai-experiments/) ## ๐Ÿ“ Summary - WordPress 6.9 introduced the Abilities API enabling AI to execute WordPress functions directly through natural language prompts - GatherPress event management plugin demonstrates practical implementation with 11 AI abilities for creating/managing events - Security through permission callbacks is critical to prevent unauthorized database access - WP AI Client (expected in WordPress 7.0) handles communication between prompts and language models - Costs are minimal (pennies per prompt) but require API keys from services like OpenAI ## ๐Ÿ“– Main Content The Abilities API represents a fundamental shift in how users can interact with WordPress functionality. Instead of navigating complex user interfaces, users can execute plugin functions through conversational prompts. Jeff Marx demonstrates this through GatherPress, an open-source event management plugin where a simple prompt like "Create a Buffalo Bills watch party this Sunday at 1 p.m. at Dylan Murphy's" can create complete events with venues, dates, and metadata. The system works through a registry pattern similar to custom post types and taxonomies. Developers register abilities with input schemas that define required data, permission callbacks for security, and execute callbacks that run the actual WordPress code. The WP AI Client (not yet in core) serves as the intermediary, translating natural language into structured data and handling the back-and-forth communication with language models. Critical security considerations include proper permission callbacks to prevent unauthorized access. The cost factor involves API fees (typically pennies per prompt) but offers significant time savings, especially for bulk operations like creating multiple events simultaneously. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/DoI8o1NpJW4?t=0) โ€” [H1] Introduction to AI WordPress Integration - Key idea: AI can now execute WordPress functions directly without UI interaction - Evidence: "It can't write your database. It can't upload images to your file system. It can't actually execute your WordPress functionality... that's what the abilities API really allows us to do." #### โฑ๏ธ [03:45](https://youtu.be/DoI8o1NpJW4?t=225) โ€” [H2] Abilities API Overview and Core Integration - Key idea: Abilities API merged into WordPress 6.9 in December 2025, maps language models to WordPress logic - Evidence: "The abilities API was merged into core um 6.9 in December 2025" #### โฑ๏ธ [06:30](https://youtu.be/DoI8o1NpJW4?t=390) โ€” [H1] Code Structure and Registration Pattern - Key idea: Registering abilities follows familiar WordPress patterns like custom post types - Evidence: "WP registerability... it should look very familiar to you... same kind of code that you'll see for custom post types custom taxonomy" #### โฑ๏ธ [09:15](https://youtu.be/DoI8o1NpJW4?t=555) โ€” [H1] Input Schema and AI Rule Definition - Key idea: Input schemas define what data the AI looks for in prompts and set behavioral rules - Evidence: "This is basically what the model is going to look for. It's going to look for these items in your prompt" #### โฑ๏ธ [11:20](https://youtu.be/DoI8o1NpJW4?t=680) โ€” [H1] Critical Security Implementation - Key idea: Permission callbacks are essential to prevent unauthorized access and security vulnerabilities - Evidence: "The permission callback is super super important... if you don't have this permissions check, you're really going to leave your site open for some security problems" #### โฑ๏ธ [13:45](https://youtu.be/DoI8o1NpJW4?t=825) โ€” [H2] Multiple Abilities in Production System - Key idea: GatherPress implements 11 different abilities covering CRUD operations and data queries - Evidence: Shows complete list including "create event, update event, create venue, update venue, calculate dates, list venues" #### โฑ๏ธ [15:30](https://youtu.be/DoI8o1NpJW4?t=930) โ€” [H2] WP AI Client Communication Layer - Key idea: WP AI Client handles communication between prompts and language models, expected in WordPress 7.0 - Evidence: "WP AI client... is a programmatic client... will be merged into core hopefully with 7.0" #### โฑ๏ธ [17:00](https://youtu.be/DoI8o1NpJW4?t=1020) โ€” [H1] Prompt Processing Workflow - Key idea: AI matches prompts to abilities, processes input schema, and handles missing data through follow-up queries - Evidence: Detailed explanation of "Create a Buffalo Bills watch party this Sunday at 1 p.m. at Dylan Murphy's" processing #### โฑ๏ธ [22:30](https://youtu.be/DoI8o1NpJW4?t=1350) โ€” [H1] Live Demo of Single Event Creation - Key idea: Real-time demonstration shows AI creating complete event with venue, image, and taxonomy - Evidence: Successfully creates Buffalo Bills watch party with venue mapping and image attachment #### โฑ๏ธ [26:15](https://youtu.be/DoI8o1NpJW4?t=1575) โ€” [H1] Bulk Operations and Time Savings - Key idea: AI excels at bulk operations, creating multiple events from single prompt - Evidence: "Create Buffalo Bills watch parties on the next three Sundays" creates three complete events with date calculations #### โฑ๏ธ [30:45](https://youtu.be/DoI8o1NpJW4?t=1845) โ€” [H2] Cost Structure and API Management - Key idea: Costs are minimal (pennies per prompt) but require paid API keys from language model providers - Evidence: "Each prompt is usually ranging from half a penny to like a penny and a half... grand total of my cost has been like 10 bucks" #### โฑ๏ธ [33:20](https://youtu.be/DoI8o1NpJW4?t=2000) โ€” [H2] Stateful Prompts and Conversation Context - Key idea: Conversation loops enable follow-up commands referencing previous actions - Evidence: After creating event, "please update the end time to 6 p.m." works because system maintains context #### โฑ๏ธ [36:10](https://youtu.be/DoI8o1NpJW4?t=2170) โ€” [H2] System Prompts for AI Guidance - Key idea: System prompts provide behavioral rules and customization outside of individual abilities - Evidence: "You can put a whole lot of rules... telling AI exactly how to customize your experience" #### โฑ๏ธ [38:45](https://youtu.be/DoI8o1NpJW4?t=2325) โ€” [H3] AI Experiments Plugin for Getting Started - Key idea: WordPress AI Experiments plugin provides testing environment for abilities development - Evidence: "You can go download this AI experiment plugin... core team is using to test out the abilities" ## ๐Ÿ“š References - [GatherPress Open Source Project](https://gatherpress.org) - [WordPress AI Experiments Plugin](https://wordpress.org/plugins/ai-experiments/) - [WordPress Core AI Team Documentation](https://make.wordpress.org/core/tag/ai/) - [OpenAI API Platform](https://platform.openai.com/) ## ๐Ÿ—ฃ๏ธ Paraphrase - The WordPress Abilities API creates a bridge between natural language prompts and WordPress functionality, eliminating the need for complex user interface navigation - Security implementation through permission callbacks is non-negotiable when deploying AI abilities to prevent unauthorized database access and potential security breaches - The cost-benefit analysis strongly favors AI integration, with minimal API costs (pennies per operation) delivering significant time savings, especially for bulk operations ## ๐Ÿ“ฐ Newsletter ๐Ÿค– **AI Meets WordPress: The Abilities API Revolution** The WordPress community is experiencing a paradigm shift with the introduction of the Abilities API in WordPress 6.9. Instead of clicking through admin interfaces, you can now create complex content and manage data through simple conversational prompts. Jeff Marx's implementation in GatherPress demonstrates the practical power: "Create a Buffalo Bills watch party this Sunday at 1 p.m. at Dylan Murphy's" automatically creates events, venues, and applies proper taxonomyโ€”all from a single sentence. **Key Benefits:** - **Time Savings**: Bulk operations become trivial (create multiple events with one prompt) - **Minimal Costs**: API fees typically under $0.02 per complex operation - **Familiar Patterns**: Registration follows WordPress conventions like custom post types **Security First**: Permission callbacks are criticalโ€”never deploy without proper user capability checks. The WP AI Client (coming in WordPress 7.0) will handle the communication layer, making this accessible to more developers and site owners. **Resources:** - Try the [AI Experiments Plugin](https://wordpress.org/plugins/ai-experiments/) for testing - Explore [GatherPress](https://gatherpress.org/) for real-world implementation - Join the conversation on [Make WordPress Core](https://make.wordpress.org/core/) The future of WordPress content management is conversationalโ€”and it's arriving faster than expected. ## โœ… Action Items #### WordPress - Core AI: Finalize WP AI Client integration for WordPress 7.0 release timeline - Core AI: Develop comprehensive security guidelines for Abilities API permission callbacks - Core AI: Create developer documentation with code examples and best practices - Core AI: Establish cost estimation tools and model recommendation guidelines - Community: Promote AI Experiments plugin for developer testing and feedback - Training: Develop curriculum for AI integration workshops and meetups - Documentation: Create HelpHub articles for non-technical users on AI capabilities #### Community - Contributors: Test GatherPress AI implementation and provide feedback on GitHub - Maintainers: Evaluate plugin compatibility with Abilities API patterns - Sponsors: Consider funding for AI accessibility and multilingual support development #### OSPO - Security Management: Establish AI-specific vulnerability assessment protocols - License Compliance: Review AI model integration compliance requirements - Developer Support: Create AI integration consultation services for plugin developers ## ๐Ÿงช Hypotheses - AI-powered WordPress interfaces will reduce content creation time by 60-80% for bulk operations - Permission callback implementation will be the primary security vulnerability vector in AI-enabled plugins - Conversation loop patterns will become essential UX expectations for AI WordPress interactions - API costs will remain negligible compared to time savings for most WordPress use cases ### ๐Ÿ“Š Methodology - Benchmark current UI-based event creation times vs AI prompt completion in GatherPress - Survey WordPress developers on security implementation practices for AI abilities - A/B test user satisfaction between traditional admin interfaces and AI prompt interactions ### โ“ Questions - How will the Abilities API handle complex conditional logic and multi-step workflows? - What accessibility considerations exist for AI-powered WordPress interfaces? - How will this impact WordPress hosting infrastructure and performance at scale? ### ๐Ÿ”ฎ Future Research - Investigation into offline/local language models for WordPress AI capabilities - Analysis of AI-generated content quality and editorial workflow integration - Study of user behavior changes when WordPress interfaces become conversational ### ๐Ÿ’ก Implications - **Practice**: WordPress developers need to rethink plugin UX design around conversational interfaces - **Security**: New attack vectors emerge through AI prompt injection and insufficient permission controls - **Education**: Technical writing and documentation must adapt to AI-mediated user interactions - **Funding**: Plugin development costs may shift toward AI model integration and training ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 12th Grade #### ๐Ÿ‘€ Visual learners - Present: Code examples, admin interface screenshots, workflow diagrams - Improve: Architecture diagrams showing AI client communication flow, visual API cost comparisons #### ๐Ÿ”Š Aural learners - Present: Live presentation with Q&A, verbal code walkthroughs - Improve: Audio-only summary of key concepts, developer interview podcasts #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Technical terminology definitions, analogies (restaurant waiter example) - Improve: Glossary of AI/WordPress terms, comparison tables between traditional and AI approaches #### ๐Ÿงฉ Kinesthetic learners - Present: Live coding demo, downloadable plugin for testing - Improve: Step-by-step tutorial checklist, hands-on workshop format #### ๐Ÿง  Logical learners - Present: Clear workflow sequences, cost/benefit analysis, security decision trees - Improve: Performance benchmarks, systematic troubleshooting guides #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Meetup format with community Q&A, open source collaboration mentions - Improve: Discord/Slack channels for AI WordPress discussions, peer code review sessions #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Comprehensive code repositories, individual experimentation paths - Improve: Self-paced learning modules, reflection questions on implementation strategies #### ๐ŸŒฟ Naturalistic learners - Present: Real-world use cases (event management), practical problem-solving - Improve: Ecosystem impact discussions, sustainability of AI model usage ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Code blocks with semantic structure, clear heading hierarchy - Improve: Alt text for code screenshots, ARIA labels for complex diagrams #### Keyboard navigation - Present: Standard presentation format navigable by keyboard - Improve: Interactive demo components with full keyboard access #### Contrast and readability - Present: High contrast code examples, clear slide presentation - Improve: Dark mode code examples, larger font sizes for complex code #### Text resizing and reflow - Present: Responsive slide content - Improve: Ensure code examples remain readable at 200% zoom #### Media and captions - Present: Video presentation available - Improve: Full transcript with timestamps, auto-generated captions verification #### Forms and interactions - Present: Simple Q&A interaction format - Improve: Accessible feedback forms for demo testing ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Uses universal technical concepts, open source community values - Improve: Examples beyond US sports references, global WordPress community perspectives #### Inclusive language - Present: Gender-neutral technical language, defined technical jargon - Improve: Plain language summaries, cultural context for idioms #### Neurodiversity support - Present: Clear section breaks, consistent code formatting - Improve: Executive summaries for each section, processing time accommodations #### Representation - Present: Focus on technical merit over individual identity - Improve: Highlight diverse contributor voices in WordPress AI development #### Psychological safety - Present: Encouraging tone toward experimentation and learning - Improve: Explicit welcome for questions, normalize "beginner" status ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Strong logical progression from API concept to implementation examples - Inductive strength: Solid generalization from GatherPress to broader WordPress plugin potential - Causal reasoning: Clear cause-effect relationships between prompts and WordPress function execution - Analogical strength: Effective restaurant analogy for client-server AI communication #### Fallacies - Appeal to novelty: Positions AI integration as inherently better without sufficient comparative analysis - Hasty generalization: Extrapolates cost benefits from limited personal testing to universal applicability #### Tone of voice - Overall tone: Enthusiastic and technical, balancing excitement with practical considerations --- ## Full Transcript [00:00] Yeah.<br>[00:05] >> Hey everyone. Uh, welcome to the<br>[00:08] WordPress Montlair meetup. Uh, today we<br>[00:11] have Jeff Marx speaking about from<br>[00:13] abilities to action wiring AI into<br>[00:16] WordPress. Um, he asked me to tell a<br>[00:19] little bit about Gatherress, the open<br>[00:21] source project we both work on. Uh, it<br>[00:23] is an event management uh, open source<br>[00:26] software in WordPress. Um it manages uh<br>[00:31] events and does a lot of the<br>[00:32] capabilities that meetup does and uh<br>[00:35] Jeff has been working on a special<br>[00:37] project in gather press which involves<br>[00:40] um the abilities API and AI. So without<br>[00:44] further ado uh Jeff come on up get us<br>[00:47] started.<br>[00:48] >> Thanks Mike. Thanks everybody. Um, yeah.<br>[00:52] So, as Mike said, we're going to be<br>[00:53] talking about uh the abilities API and<br>[00:56] wiring AI into WordPress. And I guess<br>[00:58] before I start, I want to just kind of<br>[01:00] say that throughout this talk, I<br>[01:03] throughout throughout this I mean<br>[01:05] throughout this talk, I'll be referring<br>[01:07] to chat GBT a lot. But in actuality, you<br>[01:12] can use any model the way the API client<br>[01:15] is set, the AI client set up. You can<br>[01:17] use any model including like Gemini,<br>[01:19] Claude or whichever model you might<br>[01:22] prefer but just for the purposes of this<br>[01:24] talk I'm just going to refer to Chat<br>[01:25] GBT. So we can just assume that's a<br>[01:28] model. So all right so I don't know<br>[01:32] about you guys but chat chat GBT and<br>[01:34] just AI in general has become a big part<br>[01:37] of my life. Like I just use it for<br>[01:39] everything from checking the weather to<br>[01:42] recipes to you know making plans for the<br>[01:46] weekend. So, it's it's become a very um<br>[01:50] it's become a big new technology in our<br>[01:52] lives that that I think we're all using.<br>[01:54] Um but one thing we can't one thing it<br>[01:58] can't do at least without our help is<br>[02:01] write your database. It can't upload<br>[02:03] images to your file system. It can't<br>[02:06] actually execute your WordPress<br>[02:08] functionality. Because if you have a<br>[02:10] WordPress plugin, you work with a<br>[02:11] WordPress plug-in or just any WordPress<br>[02:13] functionality in general, you sometimes<br>[02:16] you want to be able to, you know, use AI<br>[02:18] to run to to to<br>[02:21] execute your functions. And that's what<br>[02:22] the abilities API really allows us to<br>[02:25] do. And in this presentation, we'll walk<br>[02:27] through a couple instances where we can<br>[02:30] kind of harness that power and use it to<br>[02:32] make our lives easier with our<br>[02:34] complicated WordPress functions.<br>[02:39] All right. So, yeah, like Mike said, my<br>[02:41] name is Jeff Marks, uh, full-time<br>[02:43] software engineer at People, Inc., which<br>[02:45] is a People, the umbrella um company for<br>[02:48] People magazine, which used to be on<br>[02:50] WordPress, but isn't anymore. We're on<br>[02:52] home on Homegrown CMS, which I know is<br>[02:55] weird, but um, but yeah, I've been uh<br>[02:58] but I've been rooted in the WordPress<br>[03:00] community since about 2006. Like I said,<br>[03:02] longtime WordPress guy. Um, and uh,<br>[03:05] yeah, I've been doing these meetups and<br>[03:07] participating in Mike's meetups, uh,<br>[03:09] helping organize Word Pink Camp<br>[03:11] Montlair, and uh, now I'm assistant<br>[03:16] organizing the Word Camp, the WordPress<br>[03:18] New York City meetup groups, which we<br>[03:20] meet once a month for happy hours. If<br>[03:22] you'd like to join, please see me after.<br>[03:25] And, uh, and also, as Mike said, I'm a<br>[03:27] longtime Gather Press contributor. We've<br>[03:29] been working on this open- source event<br>[03:31] management software for a long time. And<br>[03:33] that will be the basis of this<br>[03:34] presentation. And of course, I'm a card<br>[03:37] carrying member of the Bills Mafia,<br>[03:38] right Mike? We all<br>[03:40] >> go Bills. And and that that actually<br>[03:42] will come into play in this<br>[03:44] presentation. I just say that for no<br>[03:45] reason.<br>[03:45] >> Oh yeah.<br>[03:46] >> Yeah. Mike loves it when I work the<br>[03:48] bills into my talks.<br>[03:52] >> Okay. So what is the abilities API? All<br>[03:55] right. So, so on a high level, it<br>[03:57] basically does exactly what I was saying<br>[03:59] before. It really allows AI to kind of<br>[04:01] talk to and execute our WordPress code,<br>[04:04] which also needs WP AI client, which<br>[04:06] we'll go into more later. But the<br>[04:09] abilities API just basically allows you<br>[04:12] to map um logic to map a language model<br>[04:16] directly to your WordPress logic. So you<br>[04:18] can execute any functionality on your<br>[04:21] plug-in just by read you know bypassing<br>[04:24] the user interface and just using a<br>[04:26] prompt. Uh so for for an example uh we<br>[04:29] have in gather press create event that's<br>[04:31] probably our main function our base<br>[04:33] function that was probably the first<br>[04:34] function I mean even before you know I<br>[04:37] joined the team was probably the first<br>[04:39] first function that created and as you<br>[04:41] can imagine create event is a PHP<br>[04:43] function that does a lot of things. It<br>[04:45] creates it uses other functions, creates<br>[04:48] the events, updates database, does a lot<br>[04:50] of things. And normally to run that<br>[04:52] function, you'd use all of our UI tools.<br>[04:55] And um and basically what we can the<br>[04:59] abilities API will allow us to just<br>[05:00] basically say a prompt and just do that<br>[05:03] without doing anything on the UI, which<br>[05:04] is which is a great uh which is a great<br>[05:07] innovation I think. So um so yeah, it<br>[05:10] was merged into core. The abilities API<br>[05:12] was merged into core um 6.9 in December<br>[05:15] 2025 I started playing with it um in<br>[05:18] around September October or so and uh<br>[05:23] yeah just basically just started playing<br>[05:24] with it and of course 6 months later I I<br>[05:28] was doing I was working on WordPress<br>[05:29] ticket and I think I was looking at<br>[05:30] Slack and seeing some abilities API<br>[05:32] headlines come up and some links and I<br>[05:36] just started seeing if I could<br>[05:37] experiment with it and get it working on<br>[05:39] gather press like one ability And like<br>[05:42] five, six months later, whatever it is,<br>[05:43] I have a pretty, you know, robust<br>[05:46] version almost hopefully ready soon to<br>[05:48] be merged into the press core. Um, and<br>[05:51] like I said, you may store your methods<br>[05:53] as items. It's like a registry, but<br>[05:55] we'll we'll look at that in a second. So<br>[05:57] like create event will be like an item<br>[05:59] in a registry, and it is dependent on<br>[06:01] the WP AI client, which is not part of<br>[06:04] core yet, and we'll go more into that<br>[06:06] later. And I put in a couple links here<br>[06:09] um about you know diving deeper into the<br>[06:11] abilities API with some links that are<br>[06:14] helpful if you want to learn more about<br>[06:15] it.<br>[06:19] Okay. So let's walk through the code<br>[06:21] like an actual ability you know the one<br>[06:23] I just referred to. So<br>[06:26] this is the create event ability and if<br>[06:28] you look at the code um hopefully you<br>[06:31] can all see it and all see the lines. I<br>[06:33] don't know code in presentations is<br>[06:35] always hard but the first so WP<br>[06:38] registerability is the main function<br>[06:40] that is introduced with this abilities<br>[06:42] API and if you look at this code it<br>[06:44] should and you've been a developer a<br>[06:46] WordPress developer for it really should<br>[06:48] look very familiar to you like it's um<br>[06:51] the same kind of code that you'll see<br>[06:53] for custom post types custom taxonomy<br>[06:55] you're basically adding something else<br>[06:58] to the registry besides all these other<br>[07:00] things that you have so let's kind of<br>[07:01] walk through it so WP Pre-register<br>[07:03] ability and then you have gather press<br>[07:05] create event. Gather press is the name<br>[07:07] space and create event is the um the<br>[07:10] actual ability. Uh then the label<br>[07:12] self-explanatory create event the<br>[07:14] categories also self-explanatory event.<br>[07:17] Now this is where it gets a little<br>[07:18] interesting. So anytime you've had uh<br>[07:21] code like this for custom post type or<br>[07:23] taxonomy the description really just<br>[07:24] kind of sits there and describes what<br>[07:26] your custom post type or taxonomy is. In<br>[07:29] this case, the description is actually<br>[07:31] starting to interact with the AI agent.<br>[07:33] So, if you look at the description<br>[07:35] carefully, it says create a new event<br>[07:37] with a title, date, time, and an<br>[07:38] optional venue. And events are created<br>[07:40] as drafts by default for review. And<br>[07:43] that is actually a rule that we're going<br>[07:46] to send to the AI agent or to the<br>[07:48] language model before it even starts<br>[07:50] like executing your code, which is kind<br>[07:53] of a cool little thing that you can<br>[07:54] start like like sending in sending in<br>[07:56] those rules before it starts running the<br>[07:58] code. And now we're going to look at the<br>[08:00] actual the meat and potatoes of it. So,<br>[08:03] and this if it doesn't make sense right<br>[08:05] now, it'll make sense as we go along.<br>[08:07] Uh, so this is the input schema. And<br>[08:09] this is basically what the model is<br>[08:11] going to look for. It's going to look<br>[08:12] for these items in your prompt. So let's<br>[08:15] say the input schema is, you know, we<br>[08:18] have three properties. We have a title,<br>[08:20] which is basically the the title of the<br>[08:21] event, the start, which will be the time<br>[08:24] when the event starts, and the venue ID,<br>[08:27] which is um of course where it's going<br>[08:29] to take place, but but keep that in mind<br>[08:32] that we're actually looking for a venue<br>[08:34] ID and not a venue, which is kind of<br>[08:37] interesting. So we and we'll come back<br>[08:39] to that in a second. And of course<br>[08:42] required, you know, if you we require a<br>[08:45] title and a start time and if it doesn't<br>[08:47] if the prompt doesn't see that it'll<br>[08:49] chat dbt will kind of yell at you and be<br>[08:50] like I need a title or start time. So<br>[08:53] you all these things kind of build up<br>[08:54] into giving chat dbt rules.<br>[08:57] And I did want to point this out before<br>[08:59] we move on. The permission callback is<br>[09:02] super super important because if you see<br>[09:05] this code is return current user can<br>[09:07] edit post. So what this does, it makes<br>[09:10] sure that who's ever, you know,<br>[09:12] executing this ability<br>[09:14] is someone who has a proper permission<br>[09:17] to to create events. So<br>[09:20] I just wanted to call this out because<br>[09:21] if you don't have this permissions<br>[09:23] check, you're really going to leave your<br>[09:24] site open for some security problems or<br>[09:26] to get hacked. Um, I think if you're<br>[09:28] vibe coding, if you use chatbt to write<br>[09:31] your code or if you have a cursor or<br>[09:33] wind surf connected, you know, AI<br>[09:36] infused, it's really important to make<br>[09:38] sure they don't leave this out because<br>[09:40] the last thing you want to do is leave<br>[09:42] your abilities unprotected so that<br>[09:44] anyone can run prompts, hack into your<br>[09:46] database, delete your contact, do<br>[09:48] whatever they want, steal personal<br>[09:49] information, all that stuff. So, um, so<br>[09:52] that's important. And then finally it<br>[09:54] does the execute call back which will<br>[09:56] actually execute this create event which<br>[09:58] again like I said before runs the same<br>[10:01] code you would run that would be run if<br>[10:03] someone creates an event using the user<br>[10:06] interface.<br>[10:09] And oh and by the way this is actually a<br>[10:11] very like condensed version of it. If<br>[10:14] you download the slides I put a link to<br>[10:15] the full code if you want to see the<br>[10:17] full thing. There actually more input<br>[10:19] schema items. There are more things you<br>[10:20] can include, but I really for the<br>[10:22] purposes of the talk want to give you<br>[10:23] like a a concise version of it.<br>[10:28] And that's just one ability. These are<br>[10:30] all 11 abilities we are utilizing as<br>[10:33] part of, you know, to make gather press<br>[10:35] fully work. We have you can see all of<br>[10:37] them. We have create, you know, create<br>[10:38] event is the one we looked at, but then<br>[10:39] we have, you know, update event and<br>[10:41] create venue, update venue. Not only are<br>[10:43] we creating, we're updating things and<br>[10:45] all the abilities cover all that and<br>[10:47] interact with the prompts. And then<br>[10:49] there's a couple different ones,<br>[10:50] calculate dates and list venues and list<br>[10:53] events, but we'll get through all that.<br>[10:54] But I just wanted to show you that that<br>[10:55] was just one ability um that we started<br>[10:58] with, but we actually have 11 of them<br>[10:59] now.<br>[11:04] So, all right. So before we go through<br>[11:06] this, I want to you know fully explain<br>[11:08] that the WPAI client which is not in<br>[11:11] core yet it is a programmatic client<br>[11:13] that kind of takes messages and and that<br>[11:16] will take that will interpret your<br>[11:19] prompt and send message and go back and<br>[11:21] forth with chat GPT to make this happen.<br>[11:23] So um that will be merged into core<br>[11:26] hopefully with 7.0 but but is important<br>[11:29] that the AI client has to interact with<br>[11:31] the abilities API to make these things<br>[11:33] happen. So,<br>[11:35] okay. So, let's walk through this prompt<br>[11:37] and see what happens. So, so the prompt<br>[11:40] says, "Create a Buffalo Bills watch<br>[11:41] party this Sunday at 1 p.m. at Dylan<br>[11:44] Murphy's." And that gets and the WPAI<br>[11:47] client will take that prompt and all<br>[11:52] all 11 abilities. So, it'll take that<br>[11:53] prompt and gather all 11 of these<br>[11:55] abilities and it will send that and and<br>[11:58] it will send that all that information<br>[11:59] to Chat GPT. Chat 2T will then interpret<br>[12:02] the prompt and look for an ability to<br>[12:05] match with. So it will say create a<br>[12:08] Buffalo Bills watch party this Sunday at<br>[12:09] 1 p.m. at Dylan Murphy. Okay, that<br>[12:11] clearly looks like we're creating event.<br>[12:13] So now it knows we can match this with<br>[12:15] create event. And then it's what it's<br>[12:18] going to do. It's going to look at our<br>[12:20] input schema items. So let's go back and<br>[12:22] take a look at those again. The title,<br>[12:24] the start, and the venue ID.<br>[12:29] So then I'll say, okay, Buffalo Bills<br>[12:31] watch Friday. Easy. That's title. Um<br>[12:33] that that's an easy one. This Sunday at<br>[12:36] 100 p.m. All right. I can do a little<br>[12:38] thinking and determine that that could<br>[12:40] be a PHP time stamp and figure out when<br>[12:42] this Sunday is, what date it is, and at<br>[12:44] 1 p.m. and come up with the time stamp.<br>[12:46] Then ChatGpt is going to get a little<br>[12:48] thrown off. They'll start doing Chat GP<br>[12:50] things. They'll say, "Okay, I see Dylan<br>[12:52] Murphy's. Now, that looks like a venue,<br>[12:54] but uh it looks like the name of a<br>[12:56] venue, but really the input schema item<br>[12:59] said I should be looking for an ID. So,<br>[13:01] I'm a little confused. And it'll kind of<br>[13:03] go back and forth a little bit, and<br>[13:05] they'll basically just say, I need more<br>[13:07] information, and it will send that<br>[13:08] information back to the client. And the<br>[13:10] client will search the database for a<br>[13:12] venue named Dylan Murphy's using another<br>[13:15] ability we have, the list venue ability,<br>[13:17] and it'll find that venue ID and send<br>[13:19] that venue ID back to Chat GBT. and<br>[13:21] checkp will say okay great I have<br>[13:23] everything I need I have the venue ID<br>[13:25] and all the other input schema items and<br>[13:27] it will take that payload and send it<br>[13:30] back to the client and then the client<br>[13:32] will kind of execute all this code one<br>[13:35] by one it'll say you know there is you<br>[13:38] know use the ability here's a<br>[13:40] description title start venue ID now<br>[13:43] it'll it'll slot in Bill's watch party<br>[13:46] the v the start time the venue ID into<br>[13:48] all it proper slots and then it'll make<br>[13:51] sure you know the right user is<br>[13:52] executing it then it'll actually run the<br>[13:54] code and that is just all this back and<br>[13:56] forth between uh uh chat GPT and the<br>[13:59] client and really<br>[14:02] I know that was a lot but you can really<br>[14:04] think about it you can think about this<br>[14:06] interaction and this is all happening<br>[14:07] under the hood on you know with code but<br>[14:09] you can really think about it as like a<br>[14:12] customer ordering a meal at a restaurant<br>[14:14] so so let's say a customer sits down at<br>[14:16] a table and orders a steak and the<br>[14:19] waiter in in this case will be the<br>[14:21] client will take that order, write it<br>[14:23] down on a little pad and kind of run it<br>[14:25] back into the kitchen and tell the uh<br>[14:28] the chef who will be the language model<br>[14:30] in this case and the chef will be like,<br>[14:32] "Okay, yes, I have a steak. I can make<br>[14:33] that." And but then they'll be like,<br>[14:36] "Oh, maybe do they want uh do they want<br>[14:39] it cooked rare? Do they want sides with<br>[14:41] it?" So that is another thing the wearer<br>[14:42] would have to gather from the customer<br>[14:44] and that would act as our input scheme<br>[14:46] items. You know, is it do do they want a<br>[14:49] rare steak? they mashed potatoes on the<br>[14:51] side. So then they take that back to the<br>[14:53] chef and the chef will might have<br>[14:55] questions say, "Oh, he wants rare. He<br>[14:57] wants medium rare. Does he really want<br>[14:59] rare or medium rare?" And then he might<br>[15:00] tell the the waiter to go back to to the<br>[15:03] customer to kind of clarify that. So<br>[15:05] there might all that back and forth is<br>[15:07] exactly what happens and how WordPress,<br>[15:10] you know, uses a client to interact with<br>[15:12] with with language models uh with with a<br>[15:15] few like um bells and whistles if there<br>[15:18] are. So anyway, so yeah, it'll run that<br>[15:20] code and then chat GPT will respond with<br>[15:23] a success message either your event was<br>[15:25] created successfully or an error message<br>[15:28] and then of course it will actually<br>[15:30] create the event and you know after all<br>[15:32] that and that's it all happens very fast<br>[15:34] but this is just kind of how it all<br>[15:37] happens and I included a code a you know<br>[15:39] link to to the code to actually get if<br>[15:42] you actually want to see how that all<br>[15:44] works<br>[15:46] and I have a demo set up and I did did<br>[15:51] it through<br>[15:55] I just want to record a video cuz I'm<br>[15:56] not brave enough to sorry my glasses on<br>[16:01] my glasses<br>[16:04] right let me<br>[16:10] okay can you see that okay all right so<br>[16:15] let's just say here's a prompt that says<br>[16:17] please create a Buffalo Bill's watch<br>[16:19] party on September 12th, 2026 at Dylan<br>[16:22] Murphy's. And this time I created I<br>[16:25] included the address cuz we're actually<br>[16:27] going to create the event. We're going<br>[16:28] to create the venue on the fly at 1 p.m.<br>[16:31] with a sports watching topic assigned.<br>[16:33] So we're going to include a custom<br>[16:35] taxonomy item there.<br>[16:39] And now we're going to attach an image.<br>[16:41] It's my favorite image is Tim Russard<br>[16:43] wearing a Bill's uniform.<br>[16:46] And we're going to send. Now what's<br>[16:47] happening is while we see this interface<br>[16:50] I created you know it's connected to the<br>[16:52] WP client API and it's doing all the<br>[16:54] things that we just looked at it's the<br>[16:56] WP client the WP AI client is<br>[16:59] communicating with the language model<br>[17:01] while all this is happening and it's<br>[17:02] doing all the things it's creating the<br>[17:04] venues and instead of doing all this in<br>[17:07] the UI it's just it's all just being<br>[17:09] done right here which is pretty cool. So<br>[17:12] uh and we this is actually a real place<br>[17:14] I go to and watch Phil's games. So, so<br>[17:16] here it is. It's been the the events<br>[17:20] been created and we just kind of look<br>[17:22] whip through the Buffalo Bills watch<br>[17:24] party has been created as a draft like<br>[17:26] we told it in its rules to not actually<br>[17:28] create a live event. And it just lists a<br>[17:31] venue, the date and time, and the topic<br>[17:33] that it assigned. And it does and the<br>[17:36] way I have it set up, it does list the<br>[17:38] actions taken that I have. Um, you can<br>[17:40] see list topics, create topic, and it<br>[17:44] created the event.<br>[17:50] And let's take a look at the venue to<br>[17:53] make sure it created that properly. And<br>[17:55] we see it's pointed, the map is pointed<br>[17:58] properly.<br>[18:01] And then the actual event<br>[18:05] which looks good. We have the map and<br>[18:07] the image in place and the sports<br>[18:09] watching topic sign and then we publish<br>[18:11] it.<br>[18:17] And there we go.<br>[18:19] So we just created So we just saved a<br>[18:22] lot of time doing that via prompt versus<br>[18:24] the UI. And that's not to say that the<br>[18:28] um it's not to say that the UI for get<br>[18:33] press is a is not great, but but doing<br>[18:36] it this way is way faster. So um Okay.<br>[18:40] >> I think it's way faster especially when<br>[18:43] I'm sorry.<br>[18:44] >> Yeah, go ahead.<br>[18:44] >> Uh I think it was way faster especially<br>[18:46] when you use the idea of like you want<br>[18:49] to create create more than one event.<br>[18:52] >> Well, yeah. So let me Yeah, jumping up.<br>[18:54] Yeah. So, so yeah. So, so we bas Yeah,<br>[18:57] we saw the idea. So, that saved us some<br>[18:59] time, you know, like instead of some all<br>[19:02] of our plugins have maybe some<br>[19:04] cumbersome UI processes. So, that saved<br>[19:06] us some time. But, as like you just<br>[19:09] alluded to to really harness the power<br>[19:11] of AI, we're going to we're I'm now<br>[19:13] going to show you how we actually do<br>[19:15] we're going to create multiple events<br>[19:17] with one prompt. So, let's take a look<br>[19:18] at that one.<br>[19:21] Right.<br>[19:30] So now we'll go to the AI assistant and<br>[19:32] here.<br>[19:40] So, that prompt is basically very<br>[19:42] similar to what we had before, but it<br>[19:45] says, "Please create Buffalo Bills watch<br>[19:46] parties on the next three Sundays at<br>[19:49] Dylan Murphy's, including the address<br>[19:51] again, starting at 1:00 p.m. with the<br>[19:54] sports watching topic assigned."<br>[19:58] And then, of course, the recipe.<br>[20:00] >> So, this is going to make three events.<br>[20:02] >> Yes, exactly.<br>[20:05] So, yeah, then we we hit the send. It's<br>[20:08] doing the same thing it was doing<br>[20:09] before, but of course it's doing it<br>[20:11] three times over for for each one and<br>[20:14] calculating the next three Sundays at<br>[20:16] the same time, which is another just<br>[20:19] great thing that that chat can do is is<br>[20:21] work with dates. And we'll talk more<br>[20:23] about that later, too. And with the<br>[20:25] image, include the image on all three of<br>[20:28] them. So in this case, we're saving a<br>[20:31] lot of time doing three at once instead<br>[20:33] of like having to go through the UI<br>[20:35] three times, you know, just duplicating<br>[20:36] the same thing. So we have the chat GPT<br>[20:39] ghosty dots and it's doing its thing.<br>[20:48] And this one, the these can take a<br>[20:50] little while, the ones that are a little<br>[20:51] more complicated when you do multiple<br>[20:53] vents at once. You can see I'm not going<br>[20:55] to click on each one, but<br>[20:58] it has said the Buffalo Bills watch<br>[20:59] Fridays have been created for drafts for<br>[21:01] the next three Sundays. And I can tell<br>[21:03] you that February the the three dates<br>[21:05] they have listed here are the right<br>[21:07] dates relative to when I actually, you<br>[21:10] know, did that prompt and it basically<br>[21:12] did the same thing. You know, it just<br>[21:14] did it three times over. So now you can<br>[21:16] kind of see the power of this. So if you<br>[21:18] are an event manager and you have a<br>[21:20] plugin that's gather press or similar to<br>[21:22] gather press and you want to do multiple<br>[21:24] events at once, you can just do them.<br>[21:28] You can do them in bulk now and that's<br>[21:29] when AI starts to get very powerful and<br>[21:31] will save you time.<br>[21:37] Okay.<br>[21:40] Um All right. So now just to go back to<br>[21:42] the AI client. So yeah, the AI client is<br>[21:45] basically just like I said and I I I can<br>[21:48] go back to that restaurant um to that<br>[21:51] restaurant example where the AI client<br>[21:53] is basically the courier and will handle<br>[21:56] all that communication. the abilities<br>[21:58] API to understand really just sits there<br>[22:00] and allows you to map create event to<br>[22:03] create event like create event you know<br>[22:05] ability to function and the AI client is<br>[22:08] what actually does a running back and<br>[22:10] forth and it is not merged into core yet<br>[22:13] we I expect it will be merged into core<br>[22:15] actually in sometime in early April<br>[22:17] because they're still kind of<br>[22:20] working out some of the details of it so<br>[22:22] it's really hard to include too much of<br>[22:24] it in this talk since it's not merged<br>[22:26] yet and And there's a lot of um features<br>[22:28] on it coming out that you know we we<br>[22:32] really just don't know the full<br>[22:33] capabilities of yet. So so so I want<br>[22:36] only wanted to touch on the AI client<br>[22:38] here and um and yeah so the abilities<br>[22:40] API starts methods and like I said the<br>[22:42] client does the communication with the<br>[22:44] language model and the the other things<br>[22:46] that the AI client does it will handle<br>[22:49] the developer key. So, so one thing you<br>[22:52] need to know before you do any of this<br>[22:54] is that this is not free. So you what I<br>[22:58] did for ChatG is I went to you know<br>[23:01] ChatGpt's developer platform got an API<br>[23:03] key and I have to attach the API key to<br>[23:06] my credit card and it does charge me for<br>[23:09] every prompt. Now, bear in mind that<br>[23:11] each prompt is usually ranging from half<br>[23:15] a penny to like like a penny and a half<br>[23:18] or two pennies for the really heavy<br>[23:20] ones. And um I wouldn't stress too much<br>[23:23] about that because I feel like I'm<br>[23:27] working currently on the gather press<br>[23:29] implementation to figure out how to make<br>[23:30] the cost really low or just free cuz I<br>[23:33] really feel like this OAMA open this OAM<br>[23:35] is another U model that's open source<br>[23:38] that maybe we could possibly do it for<br>[23:39] free. it. But I feel like if you're<br>[23:41] running a plugin and you spend a lot of<br>[23:43] time doing things in that plugin that<br>[23:46] the you know I I think I've run like a<br>[23:48] thousand prompts on this or something<br>[23:50] like that and the grand total of my cost<br>[23:52] has been like 10 bucks or something. So<br>[23:54] so I wouldn't uh I wouldn't worry too<br>[23:56] much about the cost especially want just<br>[23:58] want kind of want to get in there and<br>[23:59] see the power of it and see how much<br>[24:01] time it'll save you. And the<br>[24:03] conversation loop. So<br>[24:06] the conversation loop is just something<br>[24:07] I added on top of the AI client which<br>[24:10] really allows us to do some cool things.<br>[24:12] So that back and forth that we saw where<br>[24:15] the AI client had like go back to the to<br>[24:18] you know from the prompt back to the<br>[24:19] client and back to the language model is<br>[24:22] done because I put in a little<br>[24:24] conversation loop. Right now the AI<br>[24:26] client does not offer that out of the<br>[24:29] box but I feel like it's it'll be part<br>[24:30] of the road map but it'll probably<br>[24:31] happen at some point. Um, and you I put<br>[24:34] in a couple links here to the WP AAI<br>[24:36] client and then and it runs a PHP AI<br>[24:39] client which is the SDK the PHP SDK<br>[24:43] under the hood. If you're interested in<br>[24:45] learning more about these, I have<br>[24:47] actually been working I've been sitting<br>[24:49] in on the core the members with the core<br>[24:51] AI team members, you know, as they were<br>[24:54] preparing to release this. And I<br>[24:56] actually did did some code for the AI<br>[24:58] client and found a couple bugs and<br>[25:00] reported to him and been helping him<br>[25:02] test it. So hopefully we'll get that out<br>[25:05] um and hopefully we'll get that out to<br>[25:07] the public soon.<br>[25:10] And just to take a closer look at that<br>[25:12] admin page, my little AI assistant that<br>[25:14] you saw is just this. There's nothing<br>[25:17] really complicated here. This is just<br>[25:19] basically, you know, a lot of HTML<br>[25:21] markup using jQuery, which I know Mike<br>[25:23] Mike is not crazy about, but I really<br>[25:26] just was throwing this together to get<br>[25:28] something working and get something<br>[25:29] functional to to show what can be done.<br>[25:32] So yeah, it's basically just a lot of<br>[25:34] jQuery and like text areas and a place<br>[25:37] to upload your files and um yeah,<br>[25:42] nothing crappy. But the the magic part<br>[25:45] of it is connecting all the tools that<br>[25:47] I'm importing from the AI client, which<br>[25:49] allows me to send prompts, send<br>[25:52] messages, send message parts, upload<br>[25:53] images. If you look go look at the code<br>[25:56] in this sample here, you'll kind of see<br>[25:58] all the things I import from the AI<br>[26:00] client to make that happen. And also,<br>[26:04] it's important to note that, like I<br>[26:06] said, out of the box, we're doing a lot<br>[26:08] of funky things with gather press that<br>[26:10] that can't really be done with the AI<br>[26:11] client out of the box. So, but you can<br>[26:13] look at our code and and try to see if<br>[26:15] you can uh replicate it.<br>[26:20] And I guess just uh one more thing to<br>[26:22] walk through is um the stateful prompt.<br>[26:25] So kind of going back to<br>[26:28] going back to our first example, that<br>[26:29] one-off that we did like create that<br>[26:31] initial Buffalo Bills watch party. So,<br>[26:34] what you can do is with the with the AI<br>[26:38] client and some of the tools and some<br>[26:40] custom programming is say after you<br>[26:43] create after you create that Bill's<br>[26:45] watch party at Dylan Murphy's Sunday<br>[26:47] from 1:00 p.m. to 4 p.m., you might say<br>[26:49] to yourself, hm, maybe I want to um<br>[26:53] maybe we want that to extend to 6:00<br>[26:56] because the game ends at 4:00 and people<br>[26:57] will drink for a while afterwards. So<br>[27:01] after we create this event, you can do<br>[27:04] please update the end time to 6 p.m. Now<br>[27:07] this is actually pretty powerful. Just<br>[27:09] it's just one quick sentence, but if you<br>[27:12] don't have stateful prompts enabled,<br>[27:15] you'll say, "Please update the end time<br>[27:17] to 6 p.m. Chat TV. Please update the end<br>[27:20] time to what? I don't know what you're<br>[27:21] talking about." So staple props is a way<br>[27:23] is part of the conversation loop where<br>[27:25] you can kind of store all the messages<br>[27:27] that you've had and send it back to the<br>[27:29] chat. So it knows what ple what the end<br>[27:32] time what what to update so it knows<br>[27:34] that you're talking about this event. So<br>[27:36] when you do when you continue a checkp<br>[27:38] like conversation you can have it you<br>[27:40] can keep referring to the same thing and<br>[27:42] it'll know what you're talking about.<br>[27:44] And that's another thing that we're just<br>[27:45] like touching on with the AI client and<br>[27:48] we'll go deeper when I do a talk on the<br>[27:50] AI client<br>[27:55] and uh yeah like system prompts is also<br>[27:58] something powerful.<br>[28:00] So you can set up a lot of rules for<br>[28:02] your AI client that exists outside of<br>[28:04] abilities cuz you saw earlier in the<br>[28:07] description of the ability we set up<br>[28:09] some rules that were executing just for<br>[28:12] the create event abilities. But these<br>[28:14] system prompts if you want to take a<br>[28:16] look at it I of course again link to the<br>[28:18] code. You can see that we can put in a<br>[28:20] whole lot of rules that are just and and<br>[28:24] each one of them doesn't really matter,<br>[28:26] but you put you'll find that when you<br>[28:28] work with this stuff, you're going to<br>[28:30] run into problems. You're going to AI is<br>[28:32] not going to do exactly what you think<br>[28:33] it's going to do. So these system<br>[28:35] prompts kind of allow you to give some<br>[28:37] guidance. You can say the images are<br>[28:39] provided with create event because the<br>[28:41] images will be automatically attached to<br>[28:43] the event. Don't ask the user if they<br>[28:45] want to test the images. It really<br>[28:47] doesn't matter. You're just telling AI<br>[28:48] exactly how to customize your<br>[28:50] experience. And the fact that we can do<br>[28:52] this with English, you know, wrapped in<br>[28:54] a system prompt to me in, you know, how<br>[28:57] to me is very is very powerful. So you<br>[28:59] can put a lot of these rules in to kind<br>[29:01] of tell AI exactly what to do before it<br>[29:04] does it.<br>[29:09] And just wrapping up here. So one thing<br>[29:12] you can do, this was a lot. I know it's<br>[29:14] a lot of code and and and maybe uh you<br>[29:17] know if you want to just do something<br>[29:20] easy you can go download this AI<br>[29:22] experiment plugin and this is kind of<br>[29:24] what the core team is using to um to<br>[29:28] test out the abilities that they are<br>[29:29] working on. They are they have a few<br>[29:32] different abilities in there. As you can<br>[29:33] see, they have um you know title<br>[29:36] generation, content summarization, image<br>[29:38] generation, um alt text generate gener<br>[29:42] text generation. Uh these are the<br>[29:44] abilities that they they have been<br>[29:46] working on are including in the<br>[29:47] experiments API. But not only can you<br>[29:50] experiment with their abilities, you can<br>[29:52] write your own ability. So if you want<br>[29:54] to take a look at the code that I had on<br>[29:56] that second slide and start to kind of<br>[29:58] work on your own ability and you want to<br>[30:01] just do something really simple and you<br>[30:03] don't want to build that heavy, you<br>[30:06] know, that interface that I built with<br>[30:08] the AI experiments plugin will allow you<br>[30:10] to run that to run to to create an<br>[30:12] ability and run prompts without, you<br>[30:15] know, they'll they'll have their own<br>[30:16] little chat assistant. That's not as<br>[30:18] sophisticated as mine, but at least not<br>[30:20] yet. But you'll be able to um you'll be<br>[30:24] able to do that stuff. So if if this is<br>[30:26] something that's interested that's<br>[30:28] interesting to you and you want to start<br>[30:29] experimenting with it, I would start<br>[30:31] with this plugin.<br>[30:36] All right. Uh that's pretty much all I<br>[30:38] got. Um here's how you can get in touch<br>[30:41] with me as my LinkedIn. Um and then you<br>[30:44] can find me on Gather Press Slack if you<br>[30:48] want to join our Slack and actually help<br>[30:50] you know help me with this process<br>[30:51] because we are looking for help. It's an<br>[30:53] open source software and if you want to<br>[30:56] help you know come work on this P this<br>[30:58] big PR I've been working on or do any<br>[31:00] other gather press things um please like<br>[31:03] fi find us on here and uh we'll be happy<br>[31:06] to talk to you if you want to help test<br>[31:08] this. This isn't just for developer. If<br>[31:10] you want to help test it, if you want to<br>[31:11] give me give give feedback, you know,<br>[31:14] plea, please feel free to do that. Um,<br>[31:16] and then I'm Jark 75 on the make<br>[31:19] WordPress chat. And of course, just um<br>[31:22] another link to Gather Press and another<br>[31:25] campaign. Please join us and please<br>[31:27] continue to support the WordPress<br>[31:28] Montlair meetup by my good friend Mike.<br>[31:31] And with that, I'll take some questions.<br>[31:33] Thank you.<br>[31:37] I actually have a question, Jeff.<br>[31:39] >> Okay.<br>[31:39] >> So, I saw you have an image upload and<br>[31:42] that's really cool that you can tie it<br>[31:43] to it. Is there any way that AI can<br>[31:46] manipulate that image with the upload or<br>[31:48] even generate an image for the feature<br>[31:50] image or is that is that something you<br>[31:52] thought about or I'm yes um it's not it<br>[31:57] is not something I have done. Um, but it<br>[32:01] has been something I've thought about<br>[32:02] and I did a little research and I think<br>[32:04] one of the on that experiments plugin<br>[32:08] there is an image they are they do<br>[32:10] include that ability. So I do think<br>[32:12] that's the other thing we could probably<br>[32:13] do for especially for gather press and I<br>[32:15] can take that image generation ability<br>[32:17] and we could just stick it into gather<br>[32:19] press so we can Yes. So I feel like<br>[32:22] maybe you just gave us something to<br>[32:24] probably work on in test. Yeah. I mean<br>[32:25] to just have a prompt and say create<br>[32:28] this Bill's you know watch party promo<br>[32:31] image. Yeah.<br>[32:32] >> Cool. Like you know squish the fish you<br>[32:34] have like<br>[32:35] >> Exactly.<br>[32:36] >> No and AI will get sassy like AI will<br>[32:40] like if you ask AI that's another<br>[32:42] powerful thing with with this tool is if<br>[32:45] you ask AI to come up with a description<br>[32:48] it'll say come up with a fun<br>[32:50] description. and it'll say come gather<br>[32:53] to watch the Bills take on the Dolphins<br>[32:55] with the Rock and Bills fans at Dylan<br>[32:57] Murphy's. Be a member of the Bills<br>[32:58] Mafia. Like if you just say come up with<br>[33:00] a fun description, it'll just go off and<br>[33:02] do something cool. And you can say<br>[33:04] please come up with a boring<br>[33:06] description. They'll just say Bill's<br>[33:07] watch events.<br>[33:09] You can just do all these things and<br>[33:11] play around with it. Um it's it's a lot<br>[33:13] of fun.<br>[33:18] >> I'm good.<br>[33:19] >> Do you have any any more? Great job.<br>[33:21] >> Cool. Yeah. No, it was great. Uh, thanks<br>[33:25] again, Jeff. Um, look forward to seeing<br>[33:28] how this project evolves. So, let's give<br>[33:30] him a Let's give him a hand.<br>[33:33] >> Thank you.<br>[33:37] >> Thanks, Jeff.<br>[33:38] >> Thank you. <!-- deep-read:sections end -->