How I AI - Build an AI code review bot in 30 minutes with Vercel Eve

Episode Date: August 5, 2026

AI writes most of my code now, and that created a new problem: a PR queue I couldn’t keep up with. In this episode, I walk through how I built Merge Mommy, a Vercel Eve agent that reads every PR aft...er checks pass, scores it across six risk dimensions, auto-approves the low-risk ones, and pings me in Slack for anything that needs a human. I built the whole thing in one Codex session, it’s SOC 2 compatible, and it’s already cleared my backlog.What you’ll learn:Why AI-generated PRs create a review bottleneck and why the answer isn’t reviewing all of themHow Intercom 5x’d PR approval speed and reduced revert rates by putting AI in the review loopWhy Vercel Eve is the simplest framework I’ve found for deploying AI agents in Slack and GitHubHow I built a full PR review agent in Codex with one prompt and a few steering turnsThe six components I use to score PR risk (blast radius, reversibility, data security, ops impact, verification gap, and change surface)How I used Chrome browser use to handle Slack bot and GitHub app configuration so I never had to click through setup screens manuallyWhy auto-approved PRs can be SOC 2 compliant as long as the process is auditable, queryable, and in your risk policyHow to set up Slack escalation so low-risk PRs become a two-click merge with no manual review—Brought to you by:WorkOS—Make your app Enterprise Ready today—In this episode, we cover:(00:00) The PR review backlog problem nobody’s talking about(02:35) Why you don’t have to review every AI-generated PR(05:14) How Intercom built AI-approved PRs (and proved they’re safer)(06:10) How the Eve framework works (directory, skills, channels, connectors)(09:16) The Codex prompt I used to build the entire bot(11:36) What the agent actually does: read, score, approve, or escalate(13:07) Setting up your Eve agent(15:47) The six-component risk scoring model(17:23) Merge Mommy in action: three live PR examples(21:10) Recap and how to build your own version—Tools referenced:• Vercel Eve: https://vercel.com/eve• Vercel AI SDK: https://sdk.vercel.ai/• Vercel Chat SDK: https://chat-sdk.dev/• Codex (OpenAI): https://openai.com/codex—Other references:• AI is approving our pull requests: Here’s how we made it safe: https://www.intercom.com/blog/ai-is-approving-our-pull-requests-heres-how-we-made-it-safe/—Where to find Claire Vo:ChatPRD: https://www.chatprd.ai/Website: https://clairevo.com/LinkedIn: https://www.linkedin.com/in/clairevo/X: https://x.com/clairevo—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email jordan@penname.co.

Transcript
Discussion (0)
Starting point is 00:00:00 Everybody is drowning in AI-created PRs. When anyone can code, anyone can cook, and anyone can vibe anything to GitHub, that means that a lot of us are sitting on a big queue of pull requests that then we have to review. If you are an engineering leader or a software engineer in a company that has embraced AI in any way, shape, or form, you feel this pain. And I get this question all the time. We've figured out how to code with AI. now what do we do with all these PRs? Well people smarter than us have figured this out and you know what the answer is you don't have to review all your PRs yep you heard it here first you do not actually have to review one-on-one by a human all those PRs so in today's episode I'm going to
Starting point is 00:00:50 show you how to build your own PR review risk scoring and automatic approval bot so you can take all the low-risk PRs off your plate get those to production and focus on the ones that really require your human expertise. This episode is inspired by a couple folks, especially our past How IAI guest Brian from Intercom, who has led the way in auto scoring and auto approval of PRs, but I'm going to show you exactly how it gets done, and we're going to get it done very quickly in this 30-minute Howie AI mini episode. Let's get to it. This episode is brought to you by WorkOS. AI has already changed. how we work. Tools are helping teams write better code, analyze customer data, and even handle
Starting point is 00:01:35 support tickets automatically. But there's a catch. These tools only work well when they have deep access to company systems. Your co-pilot needs to see your entire code base. Your chatbot needs to search across internal docs. And for enterprise buyers, that raises serious security concerns. That's why these apps face intense IT scrutiny from day one. To pass, they need secure authentication, access controls, audit logs, the whole suite of enterprise features. Building all that from scratch, it's a massive lift. That's where WorkOS comes in. WorkOS gives you drop-in APIs for enterprise features,
Starting point is 00:02:13 so your app can become enterprise-ready and scale upmarket faster. Think of it like Stripe for Enterprise Features. Open AI, perplexity, and cursor are already using WorkOS to move faster and meet enterprise demands. Join them and hundreds of other industry leaders at workOS.com. Start building today. Okay, I know what you all are thinking. You're thinking, Claire, you are crazy.
Starting point is 00:02:39 Of course, I have to review every PR that comes out of AI. That's just how it's done. We review all of our human PRs, so I have to review all of our AI PRs. And I am telling you in 2026, the answer is you can safely not review PRs by putting AI in the loop. And I want to call attention to two blog posts that have really inspired me in this process. One is from Intercom about how they made AI approved PRs. Safe. If you don't know, Intercom has 2x, 3X, their PR throughput. They are shipping a lot of code. That means they had a lot of code to review. And so they built a PR review agent that scores their
Starting point is 00:03:25 PRs and then auto approves them. And what I love about what Intercom has done here is they don't just worry about speed and velocity and volume. Yes, they've multiplied the PRs across their R&D organization. Yes, they want to get those PR cycle time down and those reviews out quickly. But what they really think and what they've proven with their adoption of AI is that AI approved PRs and AI written code in general can be even safer and even higher quality than what you're you're doing with just a human in the loop. And so they have used AI as an advantage when it comes to safety and quality as opposed to a disadvantage for safety and quality. And to set the vision of what you can expect here, I love that they shared some metrics. One is that AI approved PRs are
Starting point is 00:04:18 approved faster, actually five times faster than their human PRs. So one, you are getting some speed. Two, they are seeing higher quality. So the revert rate, the amount of code that has to be fixed after it hits production is much lower when they write that code with AI. And then they figured out how to label and trace and audit all those changes and approvals so that they are in compliance with all of their required compliance frameworks, whether those are SOC2, HIPAA, etc. So I often get this objection for folks. They say, well, I'm in a SOC2 environment. I couldn't possibly auto-approved PRs. But in fact, there are frameworks as long as it's in your risk policies, as long as it's in your code review policies, as long as it's auditable, querutable, and defensible. You can do this within your
Starting point is 00:05:09 compliance framework, although work with your security and compliance teams to figure out how this can work for you. So I really love just this whole concept. I also took some inspiration who took inspiration from Intercom on this RewindBot, which is a little bit more of the technical way that they review PRs. And so this blog post about diff Vader, which I love, shows a couple components of how they've scored risk, whether it's blast rating is, how correct it is, if all the actions have run, et cetera. And so between these two blog posts, I had a really good starting point for building an agent. I knew that I wanted to do this for chat PRD. I knew we had a lot of low risk PRs that were just sitting in the queue because my colleague and I were not getting to review them. It was kind of
Starting point is 00:05:57 boring, especially a lot of like devon authored PRs. And so this was going to be a really high impact thing that I knew I could build. And also let me work with a new framework that I'm excited to demo for you all here on how I AI. So we're going to go to this Kodax vibe coded deck and we're going to walk through how I built a code review risk scoring bot with Verscell's Eve. So if you have not heard about Eve, I'm a little bit obsessed with Eve. Why do I like Eve? Well, Eve has become the simplest way for me to deploy AI agents in the enterprise. in Slack and GitHub without the torture and pain of something like Hermes agent or my beloved OpenClaw. So when I'm working and helping other companies sort of like think about how to deploy agents,
Starting point is 00:06:55 if they're using Versel, I tell them to use Eve. Why do I tell them to use Eve? Well, what's awesome about Eve is a lot of it is just a directory. An Eve agent is very similar to OpenClaw, just a directory of instructions, skills, code, and it can talk to you in channels that are out of the box in Versal. So again, it's like very easy to set up the agent. It's very easy to give it skills, which we all use. It's very easy to give it tools. It can even have a sandbox in which it can execute things, including your code if you're doing a code review. And then my favorite part is managing talking to the agent in specific channels and connecting it to enterprise data is super easy. So because Versel has shipped Versailles connectors, which are like managed connections inside
Starting point is 00:07:48 your Versel account, you can just literally go through like a little wizard to hook up Slack to your Eve agent, a little wizard to hook up GitHub to go through your agent. And it's all set up, the refresh tokens, all that stuff. Everything that's painful about creating an agent is just taking. care of. And I sound totally like a Vercel shill. I've just tried a bunch of stuff. And this has been the easiest framework to get up and running. It uses the chat SDK behind the scenes. And if you are creating any sort of chat bot in Slack, Teams, WhatsApp, whatever, I mean, bless. I was asking for this chat SDK for a long time. It got built. This is an open source framework that I think is so useful,
Starting point is 00:08:33 whether or not you use Eve or not to stand up a chat bot. It just like takes away all the complexities of managing like multi-channel agents. It handles all like the Slack configuration. It gives you a manifest for Slack. Like I love it the chat period Slackbot and Teamsbot actually runs on the chat SDK. But it's even better when it's bundled into this EFramwork. And so I highly recommend you try EFramwork again like they didn't. paying me to say this. I just really like it. And I found it super easy to use. And now every agent that I'm
Starting point is 00:09:08 creating that I want to interact with in Slack for an internal use case, if I don't already have an open claw, I'm porting over to Eve. So how did I actually build this? What does the agent do? Well, I built it in Codex. And so I'm going to show you the amazing prompt where I started this PR review bot, which says, I want to make an internal GitHub bot slash app that reviews PRs after all. C-Jex, that's checks, are green and grades low, medium, high risk and approves the low-rish, oh my God, you guys, I can't type, all the type of those. It proves a low-risk PRs automatically. That's all I did.
Starting point is 00:09:47 And then I interrupted it. I steered it and said, we could design it as a Versal Eve agent if you want. And it said, sure, that seems like a good, good idea. And it was off to the races. And so instead of going through kind of like the chat on codex on how I built this is took a couple turns, but really not that many. I would say a couple things that were like magical as I ran Codex is not that it did the code for the Eve agent and the repo. That was fine. That was interesting. And I'll tell you a little bit about how the code actually works in a
Starting point is 00:10:18 sec. But what was actually awesome is if you've ever set up a Slackbot or a GitHub app, you have to like click through a bunch of configuration screens. You have to pick permissions. You have to do all this stuff. And so what I did is, my favorite hack is I had it use Chrome browser use and I let it navigate Slack bot setup. I let it navigate GitHub set up and I just like clicked buttons into F-Aid and just double checked that it was right. And so I said, you know, is it configured yet? It said no. It needs to configure all this stuff and the permissions on the GitHub bot. I was like, great, you're logged into Chrome. And then I was like, I can press save. It was having a hard time press save. And so if you're
Starting point is 00:11:03 Or just sort of like metatip, if you ever have to do like complex SaaS configuration, set up an app, you're like, I'm fine writing code, but I don't want to do the configuration in somebody's third party service. Using Chrome browser use is such a useful hack to get that stuff done. So again, I just built this in Codex. I actually didn't give it any instructions on scoring. I didn't give it any instructions on configuration. I didn't give it any instructions on risk. I just said kind of like one-ish shot it.
Starting point is 00:11:34 Few shot this into production. And so I want to talk a little bit about what the agent does and how it works. So it's pretty simple. If you were building a PR review agent, this is what I would success suggest you do, which is it reads the PR. It looks at the exact diff. And it scores the risk and it publishes the evidence to the risk. If it's low risk, if it's assessed that it's a low risk,
Starting point is 00:12:02 it submits an approval on the PR. If it needs a human, it escalates to human. And if there's a blocking requirement, then it stops and it will require a request change. So it's like very similar to how a human would do code review. How does it work from a technical flow perspective? So the GitHub, I have a GitHub app. It keys off an event after all of the PR changes are done. Versel's GitHub integration picks that up in the GitHub Versel channel and it sends it a little bit of
Starting point is 00:12:39 information. Versel spins up at sandbox. It checks out the repo. It runs it and looks at the diff. It runs a couple skills and tools to assess the risk and quality of the PR. And then on the end, it outputs like a thumbs up check, like it needs changes and a comment. And then one fun thing that it does is after it does that review, it pays. it pings my colleague and I in Slack to say this PR is ready for review or it needs some help.
Starting point is 00:13:08 So if you were to set up your Eve agent to be similar to mine, what would it have? Well, it would have a couple things. It needs to have the GitHub channel. It needs to have instructions, which I can show you a little bit of the instructions. It needs a skill to review the PR. It needs two tools. Read like all the files and information around the PR. and then how to actually put a risk decision in.
Starting point is 00:13:35 And then it has, you know, a couple things like a Slack not a file. So this is not that many files. It's pretty simple. I will show you our instructions just to make this like very clear how easy it is to set this up. It's a chat parity engineering agent. It reviews PRs. It calls the risk context.
Starting point is 00:13:53 It scores it. And then it has a couple of instructions. This is it. There's no scrolling. It is like four, four or five paragraphs. a couple bullet points and it's ready to go. You do not need to over engineer this. And it works really, really well. So this is again why I like this Eve agent framework because you're just working in natural text or in TypeScript. And it's super easy to implement. Setting up the GitHub app,
Starting point is 00:14:18 you can ignore this. I mean, I guess like point your agents to this instructions. I did not do any of this. Again, Chrome browser use did this on our behalf. And so it just has to have access to the pull request, the contents of your files, CI checks and action checks, and then some metadata. And I just had for sale set all that up. It has a couple rules on when it's triggered. So you don't want it triggered on every PR before checks are done. So I kind of had to like reduce some noise in the PR rules. And then there's just two basically steps to this. It reads the PR. It's like a skill to read the PR. I will show it to you. It's not that thrilling, but again, just showing you how simple it is. It reads and reviews the PR. It has a couple
Starting point is 00:15:10 repo-specific risk kind of categories. So like docs are low risk. Feature logic is medium risk and then like authentication billings, high risk. Diff size does not set risk. And then it gives some like instructions on writing. Again, this is it. It's like not that much. It's maybe one page. of text. I did not write any of this. I refined it. And so what I'm trying to reinforce to you is writing these agents is not that hard. It is literally just writing instructions and skills. That is what it takes to create an agent like this. And that's why I like this E-framework, because you can do a lot of it in Markdown. And then once it reads the code, it scores the risk. And so it looks at six things. How big is the change surface and blast radius? Is it easily reversible, right?
Starting point is 00:15:58 like a huge data migrations may be harder to reverse. Does it touch data security and does it cover data security? Does it change anything about our operations? And verification gap is like, are our tests complete? Did CI complete? Can we actually test a couple ways that this is true? And then it has sort of like a script that it runs to calculate a score. And then anything under 24 points, again, I did not like choose these thresholds. Anything below 24 points is low risk. medium risk is 25 to 64 and then 65 and above is high risk medium and high risk PRs require human approval. So it's pretty simple. There's some logic in here to only review the latest changes, which I like. And then the final piece is it escalates us to us in Slack for final
Starting point is 00:16:47 action. So we have repo rules probably very similar to all of you that requires a review in our GitHub to like match all of our our SOC2 compliance requirements. It just makes auditing and management of our compliance really easy. I went through a couple ways where the bot could like quote unquote act like a human to do the review. It just didn't seem worth it. So what it does is escalate to Slack. And then it says this one's been automatically reviewed. You can punch the approve button and merge and merge and you're good, good to go. And so we sort of like built in an operational process here as well. But let's see what this actually looks like in action. So I have three PRs for you just to show you kind of how this works.
Starting point is 00:17:35 Now, the PR bot is merge mommy. She's MergeMami, the PR review bot. You know, when you make internal bots, we don't have Div Vader. We have MergeMommy because we're fun at ChatPy. And this was a docs only update automatically done by Devin. And typically I just like smash the approvals. button on these, merge them, but I found that like we were just getting queued up of a lot of docs changes that didn't really need a bunch of review. And so what happens on once the PR is ready
Starting point is 00:18:07 to go, merge mommy runs. It gives a risk score six out of 10. It's very low risk because it only changes docs, but it's not auto approved because it has merge conflicts. So that's one of the scoring issues it has to check. And then there are some detailed notes here about why it's blocked in the approval blocker is the pull request has merge conflicts. A cleaner example here is the stock, which I already merged, which again went through and said it's seven out of 10 low risk. It's auto approved. And you can see up here, Merge Mommy gave a little check that said it's approved. Now what we do with these approved PRs, as I said is we send them to a Slack channel. And so the Slack channel says, hey, either of you can take this, approve it.
Starting point is 00:18:58 The risk is low. The checks are green. You just need to smash that approve button and merge it. So it's just like a really nice automated flow. Now, why do we have to have a human do it? As you can see, this checkmark is gray. A bot cannot actually meet our repository rules for required approval. And so we can either skip those rules, hack around it. We just, decided this check would be a signal that our humans can approve it without really looking at it and then merge it as we want. And then let's show one where merge mommy did not approve it. This is a deprecation PR. So we had chat V1 and chat PRD and we're moving to chat V2. We kind of like refactored a bunch of code, but we left the old stuff behind a feature flag. And it was like ready to delete. So there's like
Starting point is 00:19:46 35 changes, big red diff that we wanted to delete. And you can see here. here, MergeMommie, I'm sorry, I can't take myself seriously when I say it, but I'm going to say it anyways. MergeMami gave it a 45 out of 100, a medium risk, and it was not approved by a human, because both it had some code issues as well as the policy said it changed server API behavior. It was a large change service, and so it's medium not low, and it can't approve the PR. Now, we can run this against every PR that goes through our process. And again, we're going to just keep getting these notifications in Slack that just let us know, hey, this can be approved or this requires human review. Again, I like to say this thing where we can put AI to work for us or we can have AI put us to work. And this is an example where you do both.
Starting point is 00:20:45 I've put AI to work, this lovely Eve agent, I put AI to work. I put AI to work to review and score the PR and tell me if there's any risk and like be detailed eyes on it. And then I had AI put me to work by escalating into Slack for the final action and making it like a two click process to get this thing to production. Now I just have to say this is something that I was really intimidated to build. I thought this was going to take me like days and days and days. I was like, I don't want to set up the GitHub app. I actually had tried this before Codex like browser use was really good and before the Eve agents had come out. And it was just like not easy to do. But now that we have these open source frameworks, now that we have
Starting point is 00:21:35 these agent building frameworks, now that kind of like everybody's agreed that we need Slackbots that do AI, a lot of these problems have been solved. And then Codex browser use was just like the cherry on top that made building this agent super, super, super simple. So to just recap for you all in this lightning fast mini episode about how to build a PR risk score and review bot, use Versel's Eve agents, give it instructions and a skill to read a PR and calculate a score based on a couple components. hook up that Versel agent to GitHub and to Slack, let it read from GitHub and give you a little gray check for approval and then have it slack you in Slack for that final human review
Starting point is 00:22:27 and merge and your cycle time will be super, super fast and your PR velocity will go through the roof. Now, I want to hear from you all. Is this crazy? Can you pull this off at your company and what would you put into your risk scoring that I haven't thought of. The final bonus piece off this, which I didn't show, but a lot of great folks do, especially the folks at Intercom do as part of this process, is they run evals on this internal agent. So every time this review is run, it gets logged into, I think it's like an internal eval platform. And an engineer looks at it and says, did the agent get this right?
Starting point is 00:23:10 Did the agent get this wrong? Are we happy with the score? mechanism. So very similar to how you'd use evals to improve your customer-facing AI products, you're going to want to use evals to improve your internally facing AI bots, especially ones that touch really critical things like code. That has been my mini episode on how to build a PR approval and review bot here at How AI. I cannot wait to hear if you think this is crazy or this is the way of the future. Thank you so much for joining and we'll see you. soon. Thanks so much for watching. If you enjoyed this show, please like and subscribe here on
Starting point is 00:23:50 YouTube or even better, leave us a comment with your thoughts. You can also find this podcast on Apple Podcasts, Spotify, or your favorite podcast app. Please consider leaving us a rating and review, which will help others find the show. You can see all our episodes and learn more about the show at how IAIIPod.com. See you next time. Thank you.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.