How I AI - Build an AI code review bot in 30 minutes with Vercel Eve
Episode Date: August 5, 2026AI 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)
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
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
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,
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.
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
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
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
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
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,
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
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,
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
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.
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
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
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.
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,
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
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.
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.
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.
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,
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
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?
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
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.
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
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.
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
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.
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
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
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?
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
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.
