Apr 16, 2026 13:00:00

Hop into High

Performance

For 5 months
on all Web
hosting plans

  • 0

    Days

  • 0

    Hrs

  • 0

    Min

  • 0

    Sec

Claim Offer Now

Promo Code:HIGHSPEED

Using AI to Debug Performance Issues Faster

In this session, Adam Silverstein (Owner at Round Earth) explores how AI can help you debug performance issues faster—without replacing developer expertise. Drawing from his experience working on Core Web Vitals at Google, Adam shows how developers can use AI tools to analyze performance data, prioritize fixes, and even automate parts of the optimization workflow.

a very very interesting one. Um we’re basically going to talk about how AI is going to help you debug faster without replacing your expertise. And we’re very delighted to have Adam Silverstein with us. Uh he has a very longstanding career in development and engineering including six years at Google Google. So Adam, over to you. Great. Hi everyone. Thanks for having me here. Uh glad to be here speaking about AI debugging performance at the Cloudways boot camp. Um and I’ve been working on performance for quite a while now, several years at Google. We focused on core web vitals and helping developers improve their website performance. Um but a lot of what I’m going to be talking about today is actually uh using AI um and really how we use AI as developers. And I’ll do that through the lens of performance, but a lot of what I’m talking about actually applies to all of our work uh that we do as developers. So about a year ago, I built this WP performance wizard that was designed as a WordPress plugin. And the idea of it was that it would take a bunch of information from um both your WordPress sites, so the plugins you’re running, the theme you’re running, other data about uh the capacity of your site, and then combine that with information from places like page speed insights API or uh Chrome DevTools and put it all uh together, send it off to an LLM and get actionable advice um for you about how to improve the performance of your site. Of course, this was a year ago and things have changed tremendously, especially with AI as you all probably know. And so, I’m going to kind of revisit this topic and see how we as developers uh can leverage AI these days. Um, as a starting point, I just want to talk briefly about models. It is a little overwhelming uh how many uh new models are announced seemingly every week. You’ve probably seen these leaderboards where people are comparing which is the best model which is does the best on coding tasks. My advice to you regarding models is just to choose a model um and stick with it. Uh and it may you may choose it because it’s the ecosystem that you’re comfortable with. If you’re a Google user, maybe just choose the Google uh Gemini. Uh if you like Claude, uh you know, stick with Claude. Open AI is also valid. There’s all of these lowerc cost models out there. I don’t really think there’s uh that much difference. One may be better at the moment. They sort of tend to leaprog each other. Uh a lot of your experience will depend more on the tooling around the models um and how you’re interacting with them than the model itself. Uh and the other thing that happens is you you need to start investing in these, right? You’ll start out with a free account, but if you really start using AI, pretty soon you’re going to be paying for it. And once you start paying for it, you want to really start using what you’re paying for. So, uh, myself, I’ve I’ve, uh, really settled on using claude. I use claude code primarily. So, most of the examples I’m going to be giving you today are using claud code. But again, my advice to you is just stick with um with what you like, what feels good, and then just don’t worry about the other ones. Don’t worry about someone saying the other one is better because they’re all getting better very quickly. [snorts] And there’s a lot of different ways that we can interact with uh these tools. I find the CLI to be the most powerful myself primarily because it has access to all of the tools that you have access to at the command line, but I frequently also interact with AI uh debugging issues in my IDE or assigning it to review things in GitHub. So, there’s all these different ways. And by the way, I created this graphic with AI. All the graphics on this talk I uh created with AI. It was a fun fun thing to do. But the point here is that um you’re going to have all different ways you can interact with it. That’s going to affect your experience at least as much as which model you choose. Uh this is a typical session for me. I’ve got Claude open and I’m typing the usage command to see how much I’ve used. I’m uh kind of like in the old days when we would try to get our computers fans to spin by giving them a very hard test. Same thing with AI. Now that I’m a paying customer, I really want to make sure that I’m utilizing it to its max. So I’m I’m I pretty regularly am checking my usage stats and making sure that I’m actually using it. Um so as a starting point for uh performance analysis, I think it’s important to use AI early on in your process. I will say use it all along. Um but it’s very powerful at taking the data that you have that you get from your various uh performance tooling like GTMetrics or page speed insights. taking all of that data and then coming up with meaningful recommendations about what you should work on what’s going to be the most impactful thing to address and uh these reports are quite complex I mean when you run a page speed insight report it does give you advice about uh you know focus on this is this is a big problem this is a biggest opportunity but there’s a lot of data underneath all of that and especially when you start to get into using real user metrics or doing something like a dev dev tools trace like this waterfall chart here. If you’ve looked at these, you can drill down uh over and over again. And you can actually access AI right in DevTools now where you can rightclick on something and ask uh AI about it. Um but you’ll find you get better results by taking all of this data, bringing it down and then ingesting it inside of a a single environment. So you can combine data from multiple sources and then ask questions of the AI and it will actually use all of that information to provide you with with more meaningful answers. Um if you haven’t used krux.vvis and you do have uh real user data in the uh the Chrome user data set, I highly re recommend this tool. By the way, uh there are going to be a bunch of links in this talk. I will have a single QR code at the end of the talk that you can click on that uh we’ll I’ll be sharing the the slide deck. So don’t worry about um capturing these as as I go through. Um but Krux Viz is just a great tool for getting real user data. Uh if you’re not in the Krux data set, if you don’t have enough traffic to your site, it’s definitely worth considering adding a real user metrics tool, a rum tool. Um I really like debug there. And this is a little script that you add to your site and it will collect data from uh real users as they visit your site and give you um performance profiling data about their interactions, their experience using your site which can often be quite different than what you see with lab metrics like uh the page speed insights reports because real users are going to be using real devices with real network conditions and that may vary from what you see in the lab when you’re when you’re testing your site or or your plug-in or whatever the product is that you’re developing. Um, but for the for this case, I’m going to assume it’s a website. Um, so yeah, so use AI to to do this analysis. And I’ll talk a little bit more about what tools you can use to do this, but think about asking AI, what should I be working on? What’s the most important thing? What will have the most impact and why why should I work on that? Let it explain to you uh learn from its explanations. One of the really cool innovations that’s come out in the last probably six months is this idea of skills. We’ve already had uh MCP servers where AI can access remote data sources and remote services. The idea of skills is to train your AI on a specific capability that uh something that you wanted to be able to do inside your own stack, inside your own environment. And this is especially useful if you find yourself interacting with AI and frequently going off and doing some manual process. So it does some optimization and then you find you have to manually test that. Uh so instead of um doing that, you can actually teach it a skill for how to do that process and then it will be able to do that on its own. And of course there’s some great skills out there already um that you can just leverage by downloading. So a few that um I really like uh Addiosmani has this web quality skills and it includes a performance analysis command. Uh you just type this one command and it will install into whatever your AI tool of choice is. It works with nearly all of them. And again, these skills are simply English language files, right? So, uh, they’re not that complicated, but they do enhance the ability of the AI to perform specific tasks. Um, and so once you have this installed, you just type slperformance analyze uh this site, and you’ll see the very first thing it does is it goes out and it runs a Lighthouse report. And then it goes through all of these different steps to analyze that data. U, it might look at the source code of the page. It might do a bunch of different things. And in the end, it’s going to give you this sort of prioritized action plan. And you’re in your AI environment now, right? So you can ask follow-up questions. What does that mean? Number one, eliminate redirect chain. Why should I do that? What is inline critical CSS? How can I accomplish that? Uh, and on any one of these tasks, you can dig in, ask it to start working on it. Um, so this is a kind of a starting point, this analysis tool. uh you can also ask it to you know export that data and then come back and look at that later. So um there’s a lot of things once you run this analysis directly inside of your your tooling that you can then uh do as follow on steps. Um, there’s another great set of skills. If you’re a WordPress developer, which I know some of you are, uh, there’s an official agent skills for WordPress and they specifically include a performance um, skill. So, you can type this WP performance skill and it can analyze your your site based on some other criteria that are WordPress specific like caching and and database optimization and so forth. So, it will analyze your code with this sort of skill at hand. Um, again, very powerful. These skills can be invoked manually using Claude code, but they’ll also get invoked automatically by Claude when it sees that the request that you’re making is related to the skill. And finally, creating your own skills. I mentioned this before. Uh, again, they’re written in English. It’s not that hard, but even better, uh, the use the AI agent to create the skill for you. Right? So you with uh Claude you just type create a new skill and it starts this wizard where you can go through step by step and tell it exactly what you want it to do when you want it to do it how you want it to behave. So uh you can train it how to do something that only you know how to do or that you find yourself doing repeatedly and you want the AI to take over that task for you because it’s a manual task that that is just taking your effort when you can just train the AI to do it for you. And this is going to come in useful uh in the next step when we talk about uh how to get the AI to work for you. Um just uh couple more points about approaching problems with AI. There’s kind of two different uh ways that you can tell the AI how hard you want it to work uh or how you want it to work. The first is making a plan. And this is something that was uh developed probably within the last year. I think Klein was the first one to come out with this, but the idea is that before the AI starts working on a task, it’s going to come up with a detailed plan, kind of a step-by-step list, a bullet list of what it needs to do to accomplish the task at hand. And this works really well for long, complicated tasks that are going to require many changes. Maybe you want to go through and rewrite all of your code in in many files from JavaScript uh to TypeScript as a way of improving type safety. So you can assign uh the AI to come up with a plan for this task and then it will list out all the different files and sections and how it’s going to make those changes before it starts making any of the changes themselves. And the second thing you can do is choose how much effort you want the AI to put in. Uh so uh this works better for very complex tasks. So take that task of critical CSS that we saw before that is quite complex. You need to figure out which CSS is going to show up on which pages. what needs to be in the header uh inlined as critical CSS and what CSS can remain uh to be loaded later and this is going to take some thought and some deep thought so this is where you can increase the effort that the AI puts into it in Claude it’s just in the model selector uh and also Claude has this special keyword called ultraink when you type that in uh you’re going to get a nice rainbow effect and also you’re going to get maximal effort out of claude to try to solve the problem at And um and finally, I mentioned this before, but when you get to a point where you’ve gathered some data inside Claude, go ahead and export it. Just tell it to export the data for you. Uh I like to use an a a file name that has a date in it. Although my example doesn’t show that. Uh that’s just a nice way to capture where you’re at. So with performance, you often will make a little bit of progress, maybe some regression, make some more progress. You’re constantly trying different things to improve performance. A lot of it is trial and error. You have some empirical data about what might work, but you need to test it to make sure it works. Once you’ve had some success or made some changes, go ahead and export that data that you’ve gathered and keep that as a record so that you can go back and look and see if you’re making progress. You can ask the AI to compare a previous data export to the current data export and it will give you meaningful results about what’s changed uh even if it’s a very large disparate set of data. And another really nice thing you can do is collect all of your data into a single location. This is um Notebook LM product from Google. I’m sure there’s other products out there, but what I’ve done here is I’ve included um you know a bunch of different files that I’ve collected about this um particular performance task and I’ve uploaded them and then I can ask questions about it. So I have all of my different car files, the you know the lighthouse report, all that data in one place. And now I can ask, you know, what is the most impactful change I can make? How does this ch change uh reflected in the data? I can upload new data sets as I’m as I’m uh developing. You know, maybe the exported data that I mentioned could go here. Um one little trick I’ve noticed with this one is uh they do not allow you to upload.json files, which is a lot of the data exports are in that format. But if you just rename the file totxt, you’ll find that the upload works fine and that the LLM has no problem understanding the the structured data inside the file. They just don’t allow the file format for some reason. And this works great for docs. You can also print things out as PDF and upload them. Images, screenshots are fine. Uh it’s a great way to collect a bunch of data in one place and then ask questions about it later. So that’s notebook LM. In this section, I’m going to talk about uh enabling the agentic loop. I don’t know why I love that word so much, but the idea here is that you want the AI to be able to work on its own. You want to be able to give it a task like optimize the CSS on my site uh using critical CSS and it should be able then to go off and work on that and test its work uh and go back and iterate on that process. So the idea here is that not only can the AI complete the work that it’s that you’re trying to assign it, but it can also test that the work that it’s done has actually improved the thing that [clears throat] you’re intending to improve. And if not, it can come back and work on it again. So a good example of this would be having AI fix all of the continuous integration tests that are running on a on a PR in GitHub and it can check the PR, see what what tests have failed. If some tests have failed, it can it can try to fix those tests. It can make a commit. It can push that up to your GitHub repo. Then it can monitor the CI and continue that same loop until it gets all of the tests passing, all of the tests green. And that’s ideally what you want. You want to be able to assign the agent a task and let it go off and work and accomplish the goals of that task. And that does require several different things to be in place. The first one is the ability for the AI to use tools. And these are the tools that you would use typically at the command line. Um, and a lot of these tool use features will be built in. I did talk about MCP servers briefly, but that’s the ability to add an additional tool kind of additional capability. Skills are also in a sense a ability for the AI to use specific tools which you can define. Um, so I can give some examples of that. I did want to briefly mention this uh Playright MCP server which is very powerful as a as a developer but also works great for performance. So playwright is typically used for testing and lets you kind of script a series of interactions in the browser. And by having this installed in uh in your AI, it can actually write a script to perform some interactions on your site and measure performance while those interactions are happening. So a lot of times performance isn’t just about um how the page loads or how your product loads but also what happens when users are interacting with it. Famously inpric uh to solve for and that has to do with interactions, right? What how quickly does the browser react when users uh open a a select box or click on a um accordion? Um is is it janky? Is it slow? And those are difficult things to measure just in a single state. you need to actually kind of go through the interaction. So, this is where Playright can come in really helpful. So, once you have this tool installed, um you can type a command in here like I typed in use Playright to test the performance of navigating from the homepage by clicking on the learn more button. And so, once I’ve told the AI to do this, it will actually create a scenario in Playright. It writes a script and it then it performs that action in the browser in a in a live browser and measures the performance of that. So, this is just one example of a skill of a of a capability. I guess it’s an MCP uh capability uh that you can leverage using your AI. I built one um just uh recently that had to do with I was developing a feature for WordPress core that involved uploading images inside WP admin. And I wrote a skill that taught the AI how to not only log into WordPress, but also capture the login cookies so that on subsequent test runs, it didn’t have to log in anymore. could just present the the logged in cookies. An important point here when letting the AI run a muck and do work on your uh computer without without a lot of your interaction is to have uh guard rails in place. And the AI agents that are running in CLI do a pretty good job of this from the get-go out of the box. They can really only make changes to the folder that uh you’re in. So if you’re in a GitHub, if you’re in a git repository in a folder, um I feel very confident that git will protect me from any changes the AI may may inadvertently make. I’m in a branch. Everything is version controlled. Uh and also every time it runs a new command, the AI is going to prompt you, do you want to uh let uh let me run this command? And sometimes I found that many of these commands are uh just feel totally safe. So running NBX Lighthouse, this is going to run the the Lighthouse tool that’s provided by Google. I feel very confident that the AI can run this safely in almost any context. I don’t feel like this could be hijacked. So uh as soon as I see uh the AI agent ask me for permission to do this, the next thing I’m going to do is go into my permissions file and add that command to always be allowed. And you can set this at the project level or or systemwide. Um, but I would just any commands that you feel comfortable with running without per without your authorization, you can just add that into the permissions allow list and then the next time the AI agent is is trying to use that tool, it will just use it without asking you. And I’ve got a whole bunch of these in there. And what again this allows me to do is set up that that uh loop where the agent is just going off and doing work for me and researching and trying things and testing to see if they worked until it gets to the right result. and I don’t have to intervene at the end of that process. That’s where I come in and do the code review, do the manual testing, ask it why it made this change or that change. Um, but during that process, I want it to be able to kind of iterate on its own, to act on its own, and that’s why I’m going to add these permissions in to allow it to do things that I feel are going to be safe. One fun uh feature that I’ve discovered somewhat recently is this status line command. I don’t know if all the tools have this, but this lets you customize your status line. So here you can see in in cloud code I’ve added these nice uh little these are not default. So the context and the session usage and also I’ve added uh in addition to the PR number I show the number of uh tests that have passed and failed or were skipped uh and the name of the PR. So uh you just type in status line and then you tell uh Claude what you wanted to do. Please add a line that shows the number of CI tests that have passed and failed on the current PR. And then it writes the code for you and you verify that it looks correct. So I didn’t actually code this up. I just asked the LM to do it for me. When you’re working on performance, um you tend to make small changes and want to see how those have have affected your site. Uh an important point here that I want to make is that as you’re going, you need to sort of capture the results as you go. uh because sometimes you will make uh changes that regress your performance and you want to be able to go back and identify those. So again, I mentioned exporting your data as you’re going. That works really well. Um the other thing that that you’re going to be able to do is is take all of that exported data as you as you capture each of these changes. You make a commit to your repository. Um and then later you can take that data and pull it into AI again. So you can ask AI to import all of your JSON files. They’re all in one folder. And then tell it to put it in a spreadsheet. Tell it to do a comparative analysis. Identify the changes that had the most impact. Uh identify changes that had a negative impact. Uh it’s great for being able to look back after a period of time if you’re using real user metrics and see how those have changed uh and compare those over time using AI. So the idea here is that uh as you’re working each time you make small changes you should have some record of what that change is and AI is is really good at helping you analyze those and connect the dots between the changes that you made. Um I think I’m getting close to the end here. This is just the point of uh that once you start using AI in this sort of agentic workflow where it’s off working for you, you will find yourself sitting around waiting for the AI. So, uh, you know, that’s fine. Go ahead and have a take a deep breath, go have a coffee, let the AI work for you. But also, you may find yourself wanting to branch off and start a little bit more work uh on a different a different task, a different performance optimization task. And this is where uh work trees come in. So, work trees are a feature of Git that most people don’t know about, but it’s a built-in native feature of Git that allows you to essentially create a copy of your repository in another place on your uh hard drive and work there separately. So, you can create different uh work trees just like a branch, but instead of just being a branch in one folder, it becomes a separate folder and it’s again all managed through GitHub. So, it’s all controlled under the same version control under one GitHub repository, but you have multiple copies and that allows you to launch uh your AI agent in each copy to work on a different task. Um, like I said, this is a native GitHub features, but I found using this work trunk tool actually makes it quite a bit easier. It has some just nicities built on top of of um of work tree that allows you to very quickly switch and delete and and push your um your work trees. So I highly recommend checking out this work trunk and especially if you find yourself waiting around for AI to complete tasks. Um you don’t need to like clone another copy of the repository. You just create another work tree and then you can start working immediately on the next task. And that’s it. That is my talk. Um, I hope you’ve gotten some nuggets of information out of it. That QR code uh will give you uh a shared version of this uh deck and then I am here to answer any questions you might have. Thank you, Adam. That was very interesting and a lot of details. So, that’s very good. uh for everybody on the call u if you have any questions please add them in the Q&A tab. So to start with uh one of the questions was about um can cloud code get access to WordPress website via the cloud code uh uh via the cloud chrome extension. Um yes although I have not so cloud itself can script a web browser. So you it will it already knows how to launch a web browser and and do tests in it. I mentioned using Playright to do that as well. Um I know what you’re talking about the the Chrome extension that you can install. I’ve seen that used more in the context where you want claw to take over your browser and and do some specific task for you like go search for a cheap hotel room say. Um I have not seen them yet link the two together. I I’m sort of expecting them to come out with that feature since Claude moves very fast. But I would love exactly sort of what you’re describing where I’m I’m debugging an issue in cloud code and then it sends something off to um the cloud extension. You would think the extension would have access to kind of all of this internal data about the browser as well. I have not seen that actually working yet, but I won’t be surprised if it comes out tomorrow. So in terms of like um maintaining the website or like bug fixing would you prefer like cloud code directly like on the installation of the WordPress environment? I think ideally you have a local copy of your WordPress environment. So you would have some local instance of it that you could you could test out uh your changes before you you push them up. Um and short of that would be a staging environment. Obviously you don’t want to work in production. Um but an online staging environment would work. it’s just faster if you’re working locally because you can you can just make the changes and test them much more quickly. Um that said, often performance issues do have to deal with real users interacting with your site and that limits what you can do in a local environment. So you will need to at some point there will be certain types of optimizations that you’ll just need to have pushed to your site and then see uh you know it might even take weeks or a month before you get data about how that that impacted your work which can make it really challenging to to uh make changes that that have a positive effect. Um, but a lot of times you can get a hint if something’s going to work by by doing local testing in the right way and then with fair degree of confidence push that up to production and and uh hope that it’s going to improve things. And one question is about how AI will replace uh the or how much hours basically uh will the AI replace of the developer or basically save time with this bug fixing. Yeah, I mean I think it I think it varies a lot. What I have found for me personally, I’m still spending the same amount of time sitting at my computer working. I’m just accomplishing a lot more in that time. So for me, it’s been a multiplier of my work. I’m able to um spend some time writing a prompt, thinking about a problem, interacting with Claude, and then send it off to do some work and then start on another task. Um I do find there’s a limit like cognitively to how many different tasks I can work on at once. Once I hit like four or five different things that I’m working on, then when I switch back to the first desk, I have to kind of remember what it was. Um, it’s not that Claude forgets, it’s just that I forget and then I have to kind of reacquaint myself. One thing I do really like about Claude is that I if I’m I work in a co-working space and if I’m in the middle of something, I can close my laptop and just shut it down. I can get home and open my laptop later and it just happily resumes where it was. it doesn’t it doesn’t lose any context or anything. Uh and if you do inadvertently quit it, you can also there’s a continue command where it will sort of reload the context. So I do really appreciate that about it. You can sort of pause tasks that that you’re had been working on, continue working on on one thing and then eventually get back to the other things. I think the main thing about the multitasking is is just not feeling like you’re waiting around for the AI because once I had and really a lot of this has has been just in this year that I felt confident assigning these longunning tasks but once you have given uh the get the ability to give the AI a task that it might spend 10 or 15 or half an hour on you know might spend quite some time on it and then you’re just sitting there waiting for it that’s when you really start to think okay what what can I do now and you start to you know go to these other tools like work trade. Um, one question from Joe is combining Claude with Gemini useful for saving resources or just a waste? I mean I so I I don’t know exactly what you mean by using claude with Gemini, but I know um I know that you can uh use different AI agents with different tools. I think with claude code you’re pretty much stuck with cloud, but I might be wrong about that. I know with, you know, tools like Klein, um, which is a a Chrome extension, I’m not sorry, a a VS Code extension, uh, that allows you to choose from many different models and they even have usually typically some free models available to you. That’s really a fun way to experiment with different models and to try them out. I think that’s great if you’re just getting into it and you want to try out the different um, tools that are out there, the different models, and there are some that are much lower cost than Claude um, or free. So, definitely use that as a way to experiment. My personal feeling is that once you’ve found a model and a a tool set that you like, just stick to it. Don’t don’t spend a lot of time trying all the different things because it becomes more of a distraction than than a help. And then um like your presentation had a lot of insights. AI is going very very fast. So for somebody who feels like then uh overwhelmed and where can they start uh to get more familiar with the tools that you have covered? Yeah, I mean that’s a really good point. Um, my experience with AI is is unique to me. I have many many years of development. So, I’m I’m at a level where I’m I’m using AI like a a teammate for me where I’m assigning it tasks. If you’re more junior or if you find that it’s overwhelming how much it can do. Um, perhaps a better use is as a tutor or as a um kind of mentor for you, as an assistant where you’re asking it more the the why question. It’s really helpful at explaining code. If you’re looking at a performance problem um and you ask it to analyze it and it tells you a bunch of things that you don’t understand exactly, just ask it like what do you mean by that? Explain that in more detail. Explain that to me like I don’t know anything about performance. Like I’m a 5-year-old. Like the the AI will not judge you. It will not um feel bad about having to repeat itself. So, you know, use it to help you to learn and help you feel more confident in what you’re doing. Um, tell it uh that you know, you feel like uh you should make this change. What does it think of that idea? Um, when it comes up with an idea, tell it what other things did you consider? What else other ways could I tackle this problem? Use it to kind of expand your your thought and help you understand things rather than just assigning it stuff and having it do things then you don’t learn from or don’t understand. So, a lot of that usage depends on kind of where you’re at in your developer journey, what you’ll find most valuable. Yeah, that’s a very useful feedback. And [snorts] then, um, what are basically common mistakes with AI and how would you avoid them? You know, that is so that’s an interesting question. Um, I would have answered that very differently six months ago, I think. um because because the AI has gotten so much better at at not making mistakes. Um one of the things that I would see in the past was the AI would would be focused on a very narrow task and fail to look at the larger picture. So a humorous example of that is asking the AI to fix a linting error and then it fixes the linting error but while it’s doing that it introduces a uh PHP stand error and then you ask it to fix the PHP stand error and it does that and it reintroduces the exact same linting error that it just fixed a moment ago and I actually had that experience where I had the AI just in a loop and it would have sat there all day long if it didn’t hit its query limit um just trying to solve its own errors. I don’t think the most junior developer would have gotten through that loop two times before it realized, wait, I just did that a minute ago. Um, so I I guess [laughter] I but I haven’t seen that happen more recently because one of the things that’s happened now is the AI tends to check its own work. So it will do something and it will actually notice when it’s made a mistake. I guess um a mistake that you could make would be to sort of blindingly trust the AI to do work for you. I I do think we still need to review what the AI does. Um when it’s asking you, is it okay to do this command, you need to actually look, is that okay? Um it’s it’s quite uh fun to use those tools where you just go and you type build me an app that does this. Uh and you can do the same thing with Claude. You can say build a React app that analyzes my, you know, GitHub profile and it will just go build a whole app for you. And that’s fine for for a one-off thing. But if you’re editing your codebase of a product that you launch or a website that you own and maintain, you need to make sure that what you’re putting in there is actually appropriate. I’ve seen it um for example in my WordPress core work, I’ve seen it use um external uh tooling, external libraries to to bring in on a particular task when WordPress already has an API to handle that. Um so some of that is it just doesn’t know the right context, but some of it is just it’s just moving fast and trying to fix the problem you’re asking it to fix. and it may not have the larger picture of of what you’re uh doing overall. I guess one other thing I would say is that more recently I’ve been spending more time like building my own skills um writing claw.md files to modify the behavior. So one mistake you could make is is not investing any time in actually uh fine-tuning uh the AI to work with your project. Definitely take the time to do that. Um and it’s something you can revisit. It’s something the AI can help you with. Um, but make sure that you know what, wherever you’re working, whatever tool you’re working with, that you take the time to understand its its commands and that you’ve customized it to suit your needs. Um, you know, recently I I I told Claude, not Claude Code, but the the app that I use on my phone that I don’t want to have a conversation with it every time I ask it a question. I just wanted to answer the questions. Um, and that has been very effective. Uh, just taking that small bit of time for me to to adjust its behavior. It works much better for me now. Um so I I think that’s an important point that people might miss. Okay. Thank you. And a question related to that. So how you are you main basically maintaining uh consistency in the code but also across templates. Um I mean again I think cloud code is doing a much better job of that now. Um especially when you give it sort of like a a put it in plan mode first and it does a bunch of analysis. Um, I definitely use claw.md. You can also use agents.mmd, which is a more generic file, but the idea is to describe in in plain English exactly what you um what you want its behavior to be. Uh, a good example of that is I write a lot of commit messages and I want the commit messages to have a specific style. Typically, the WordPress core commit style is my own style, but it means keeping the title small. It means using a certain uh tense when you’re describing the changes. So you don’t say you say you know add new protection for failure instead of I added this or you know you how you state things is is very specific. So I wrote a skill for that and part of that skill is just me describing how I want it to work. It part of it when I created it was pointing to the reference documents that we have in core and part of it was giving some examples of commits that I had made previously. Now, anytime I’m in cloud code, I can just use my slash commit command and I know that it’s going to follow sort of my own pattern. And again, that comes back to things that that you’re doing regularly. You want it to behave a certain way. Take the time to to train it to do that either in your cloud MD file or creating a skill for it. Very good. And then uh last question. So, uh with the AI, basically, how do you keep your uh API cost as low as possible while it does the work? a personal pain point. Yeah, I mean that’s fair. Um, and I like I said, I’ve already convinced myself that it’s worth it and I’m I’m actually paying for the max plan right now. Um, so I’ve I’ve invested in it. There are definitely much cheaper ways to do it. I I do really like the tool Klein if you haven’t checked that out. Cl is the name of that tool and it’s a Chrome DevTools extension that lets you connect with many different models. it often has free options uh built into it. So, and there are a lot of models out there. You can run models locally on your machine if you have a a significantly powerful machine. Um you can sign up for free accounts and use a little bit here, a little bit there. Um I’m kind of on the opposite end right now where like I I said back in the old days, we used to try to write code that would make the fans in our laptop spin, meaning like we’re trying to make the computer work hard for us. And I sort of feel the same way with I AI now. I am paying a significant amount of money every month to use Claude. So I’m trying to use it as much as possible. I’m trying to get my money’s worth out of it. Um but I would just say, you know, if if the cost is a concern and you don’t feel like you’re getting the value out of it, um use the free capabilities that are provided. Switch around to different models. Try some of the the freer or lower cost models. Um, and again, check out check out Klein because it’ll let you just experiment with all these models all in one place um, right in your IDE and and you can find ones that work well for you that are much lower cost. So, you don’t have to spend a ton of money on this stuff. I appreciate all the questions. It’s great that there were so many questions. Thank you. Thank you. Thank you. And there were very uh insightful answers. So, thank you Adam and for everybody uh here like stay around. We have a very interesting session coming up. Break the speed acronyms, decode common speed and website acronyms. So t stay tuned and we’ll be back shortly. Thank you.