"Are you still looking at Git diffs?" Well, you should probably stop doing that. Actually, I think that we're going in that direction and really the whole read your code thing that has been going around is a lot more nuanced than a lot of people are saying. Some people are all the way on this side where they're saying, "Oh, you absolutely have to read every line." And in fact, you should be writing every line. Other people are on the other side of things saying, "No, you should not ever be looking at any of it. Why are you wasting your time?" The answer is actually it's a spectrum based on the situation that you're in and how important the project is and how many people's lives are on the line if you mess up or whatever. But I do think that we are trending in this direction where more and more of us can stop looking so much at the code and reviewing diffs of code and instead start reviewing more of the system and how the system is changing. And this actually lines up really well with something that I saw recently on X from Steve over at builder.io where he built a skill that generates a kind of a system diff or a visual change of not just the UI components and stuff, but the system at large. And so you should definitely take a look at this video that he has as a demo, but I decided that this was a really interesting idea. And in trying it out, I realized that it actually uses a hosted service, which you can self host, it's open source. And I decided that there are actually a lot of things that this system uses that don't really work with the way that I want it to work. For example, it's actually a GitHub action that runs automatically on every PR and then spins up an environment where you can like play around with seeing what the system looks like. It's very cool, but I like the idea of having the agent that worked on the work generate those diffs. And so I built my own little mini version of this. Actually, part of the reason that I also wanted to do it this way is because I'm already getting a lot of value from Cursor in the way that Cursor does this with their environment. So when you have a Cursor cloud agent, it has like a legit environment that it's able to pull up your web app, or even if you're doing mobile development, it can pull up the mobile emulator or like whatever. And so it can pull that up, it can screenshot it, it can give you a video of the whole experience as well as screenshots. And so then I'm just saying, hey, I've got this agent that is able to generate these. Why don't I have it also, and also, of course, it's generating summaries, but why don't I also have it generate this system recap? And here it says, oh, this adds a new primitive, this is high risk. This was when I was adding MCP support to Kodi so that you can add MCP servers to Kodi and access those all through Kodi. So Kodi is now sort of a proxy for those MCP servers in addition to all of the other really cool things that it does. So in the system recap, it decides on like, how high risk is this change? Oh, we're adding a primitive, that's pretty big, or we're removing a primitive, also big. And if you didn't already see my video about primitives and system design, you should definitely take a look at that. What is a primitive? Because that feeds very much into how we're thinking about this. So we classify it as far as the primitives are concerned, and then we also talk about the primitives that have been touched. So this helps me understand, okay, what effect are we making in this 3,000 line change? And then we can look at a system map and see which parts of our primitives are related. I actually feel like the system map needs some work and since this pull request, I've actually improved the skill a little bit so that the system map is a little more useful. But the change flow helps a lot. What is this whole user experience? Okay, so in the user, in the browser, they're gonna post add and the worker has these app routes that are gonna add a server with a callback URL connected, like it's all the whole OAuth flow, of course. And this helps me understand like, what was the agent thinking and how did the agent interpret my prompt so that it could ultimately build the system that it built? And so that is super helpful. And then of course, you've got all the AI code reviewers and stuff that can make sure that the code is not doing some weird things. But through the lens of the system, I can really get a solid understanding of what actually is trying to be changed here and guide the bot to help it make the right decisions if it's doing something weird. And the thing is like, I could probably derive that same thing myself just by looking at the files changed, like it does update documentation, so I can kind of get an idea of that. And then I could go through all of the code changes and often looking at the migrations is really helpful as well. But see, all of these things are visualized in that system visualizer. And my goodness, it's not like a small amount of code that was added here. And so having an AI reviewer and then having the AI give me like some visual, like the look and feel for the UI pieces and a visual recap of how things are intended to work is super helpful. And sometimes it's actually really simple too. So this add MCP onboarding page and banner for new accounts, that really was not that complicated as far as the system goes. This is composing existing primitives. So it's a low risk change. Here it's composing. Here are the primitives that it's touching. Okay, those all make sense for this task. Here's the system map and how those different pieces work together and what the flow is supposed to work or how it's supposed to work for that user. And so it just makes it so much easier than looking through the 18 files that were changed. And this is a pretty simple change, but it's mostly UI stuff, which I largely get out of the demos and stuff that cursor is going to make for me as well. And this only really works if you have a good set of primitives to start with. So especially at the beginning of a project, I'm going to be really careful about how I structure things to make sure that it's very obvious where new primitives need to go or what primitives are available, what primitives need to be combined. And I'm actually actively thinking about what primitives to create, combine, delete, or expand. And again, that's in my other video about primitives and how to structure all of those. So definitely watch that if you haven't. But once you have this really good playground for an agent to play in, then you can hand this off to an agent, go do this task that I have and then use the skill to generate this report for me to get a good representation of the system. Because that is the durable skill that we are working on here is having a solid understanding of the system in which your software is operating and your agents are working with so that you can ultimately deliver the product that your users need to do whatever job that they have hired your product to do. So I actually have published this on GitHub. It's under KCD skills on my personal org. And it's named visual recap, very significantly influenced by what Steve did here. And you can follow through here and borrow the parts that make sense for you and have your agents generate this kind of visual diff so that, or a visual recap of the changes that have been made so that you can have a much better experience reviewing things. Now you might still continue to review the code and that's totally fine, but having a system review helps a ton. And so that would be your homework for this episode of the Better with Kent podcast is to maybe try this skill or maybe hold off on the skill and just link your agent to this skill and say, "Hey, can you generate this for me? And let's just see how it goes." And you can iterate and make your own version of the skill. That's a beautiful thing about skills. It's just markdown files you can copy and paste. So feel free to try that out. That is your homework for this time. And this has been Better with Kent where we learn durable skills to get better together. And I hope that you enjoyed this video. If you did, please like, comment and subscribe and share it with the people that you love. And next time we will continue to get better as always on the Better with Kent series. So thank you so much for getting better with me.