Transcription
I built an AI agent that replaces NAND, Make.com, and OpenClaw. You give it a project, it builds the skills it needs, then finishes the job.
Tools like OpenClaw are a security nightmare. It modifies itself with zero oversight. And N8N and Make.com have you connecting nodes like it's 2019. It took me weeks to architect a system that actually works and lets you review every change to the agent before it goes live.
In this video, I'll give my agent a project, step back, and we'll watch it build what it needs to finish the job by itself. And by the end of this video, you'll have your own self-improving AI agent working for you 24/7. Let's get into it.
We're going to get started here in the Popbot chat interface. This is what you'll see right after you install the Popot. And as we go and I prompt the system, I'll be able to explain more about how it works. And I've got an insane new feature that I'm about to release. So, make sure to check that out.
All right. So, I have a prompt that I've already created just to get us going. And I'll link this in the description below. But basically, I'm asking the Popot to create me an Air Table content system with a few different columns. I'd like it to create the table and columns for me. I'm letting it know it should let us create AI images and it should be able to save to Google Drive to track everything in Air Table and to create documents for blogs and also linking those to Air Table. We should be able to add, update, and delete rows. And then I'm just asking it to enable and create all of the skills that we need. And it would already do this, but I'm asking it to help me set up all the keys and walk me through that process and to use image creation for a test and to leave some of the files in Google Drive during the test. so I can see and verify them. And then if something goes wrong to go ahead and stop and tell me instead of trying to figure everything out.
So I'm just going to go ahead and take this prompt. We'll come over here. We'll drop it here into the chat. It's going to go ahead and think through. It's going to look and see what skills are available already. So I already have some skills that I've built into the system, but they are inactive and it just needs to be enabled. However, it doesn't have an air table skill, so it's going to build that out for us.
All right. So you can always just scroll down and check out the plan. The first thing it's going to walk us through is setting up some secrets so that these skills can actually do their job. We're going to need some API tokens. And just keep in mind, I might do a few things here that seem a little technical, but I'm going to explain them as I go. So, just be patient. And I'm also going to do the install at the end.
Basically, we just need to set up these tokens here. So, the first one we need is Air Table. So, I'm going to go ahead and copy this and I'm going to jump down to the terminal. If you're on Windows, you should have something just like this. Don't be afraid of the terminal. I'm inside of my popebot directory and I'm going to show you that as well later. So I'm just going to type or paste that in. I'm going to remove that placeholder there. I'm going to go to air table and remember our prompt already said that I had created the air table base. So in air table I had gone through the process of just creating the base. It's just an empty base. I haven't changed this at all. I just named it new content system. I could have had the bot do this as well, but then I would have had to give it a API key for the entire system and I'd rather give it permissions just to this one particular base.
So, I'm going to jump over to Air Table. I'm going to come up here. I'm going to go to my account. Going to go to the developer hub. Going to go over to personal access tokens. Create a new token. Call it the Popebot demo. For scopes, I'm going to go ahead and give it just about everything down the line. It might be handy to have. It needs to be able to read the base and update the base so it can create its own tables and columns. And I'm just going to give it access to this particular base. New content system. That way the bot only can modify this one particular system. And then I'm just going to take this key. Going to jump back to the terminal. Going to drop that there. And it's going to add it. Now again, I'm going to go over this in a little bit more detail, but the Popebot does get its secrets inside of GitHub. This is where we store everything. If you don't know what GitHub is, don't worry. We'll show you that in just a bit. And now, if you notice here, we have that token here with the API key. So, we'll just keep going.
Now, we need the base ID. We're going to copy this. Come back to the terminal. We'll go to our content system here. The base ID is going to be right there. Copy. Come back to the terminal. Drop that right there. Good to go. Again, with the secrets, you're going to notice that one is here as well. Now, we've got the base ID. And just make sure you go through this part carefully. If you miss something, it just slows you down.
Now, we're going to set up the Google authentication. So, now this one, just follow me here. This is going to be easy, but I just want to show you how to do it. And by the way, if you did ask the bot how to do this, it would walk you through the same steps.
I'm going to head over to Google. I'm going to type Google Cloud, and I'm going to jump over into the Google Cloud here, and we're going to go to the console. Now, I am using a Google Workspace account for this. I do that because it's able to keep things more secure by using shared drives. I already have a bunch of projects, but if you're new to Google Cloud, you'll need to create a project. New project, the Pope bot. We'll go ahead and create that. It's going to take just a second. We're going to select that new project. We're going to head up to the menu here. Let's try to make things a bit bigger for you. We're going to come over here to APIs, enable services, Google Drive API. We're just going to add that. We'll enable it. Once that's enabled, we'll go and do Google Docs API. Going to go ahead and enable that as well.
Now that we have those two, that's all we need. We're going to come back up to the menu. We're going to come down to IAM & Admin and we're going to go to service accounts. This allows us to create an account that is separate from our own account so that we can separate my own personal documents and what I want to keep private from the bot and what I want to share with the bot.
Next, we're going to come up to create service account. Now, if you run into any security limits as you go, just cut and paste those into cloud or chat GPT and have it walk you through how to disable those security warnings. I'm going to name the service account the popebot. In terms of permissions and principles with access, you can just go ahead and say done.
Now, before I get the credentials, I'm going to do one thing. I'm going to jump over to Google Drive and I'm going to come to share drives. I'm actually already here, but make sure you go to shared drives. We're going to create an isolated drive where the popot can work, but it's not accessing all of my files. You can give it access to all of your files, but you can do it through the shared drive so that you have more control. So, I'm going to come up here, new shared drive, the popebot. Make sure you follow all these instructions. It'll save you a lot of time.
Now, we need to share it with this service account. manage members. Simply share it. You're good to go.
Now, we're going to go into the service account. And now we're going to go ahead and generate keys. Add key. Create new key JSON. This is where you might hit a security issue. Just go ahead and walk through any of those warnings, take screenshots, work it through with chat GPT. You'll notice that it downloaded a security file here. We're going to use that. That's what we need.
I'm gonna jump back to the Popebot and it gives us this command here. So, I'm going to go ahead and copy this. Now, one thing about this, I'm just going to show you a super easy way to deal with something. So, the file we just downloaded, I'm going to go ahead and open that up, is multiple lines, and that doesn't really work great here on the command line. There is a way to deal with that. If I use a less than sign and I reference the file directly in my downloads, I can do it this way. So, that will work if you want to do it that way. I'll go ahead and just set it. But another way you could do this if that looks too complicated is you could just simply copy this, paste it like that, and just erase what it has, and just write temp. Okay, so it put temp into this variable. Then you could come back to the secrets. But we're going to see that variable is here now, and we could just edit it here. And then I could go to the file, just grab it, drop it here, update secret, and we're good. So, there's a few different ways of doing it, and I'll cover more about this as we go and in the install directions. So, just hang tight, watch me go through all this, and then you'll feel a lot more comfortable at the end of the video.
So, now we've set up the Google Drive secret. Now, we need the Google Drive ID. So, I'm going to come up to our shared folder. There's our ID. I'll grab the Google Drive ID command, paste that again. I'll erase the placeholder. Drop in the ID. Carefully do this guys or you'll just run into issues later. And once you do this once, your bot will be able to do all this stuff without you having to do this over and over again. You just need to do this when you're setting up new skills.
Now, I'm going to go ahead and set up key.ai. This is a AI image and video creation platform. If you're using something else, it's very easy to create a skill for that. I'm going to go ahead and just copy this. Take it back to the terminal. Erase the placeholder. We'll jump over to key. I'm in my API keys already. Just going to copy one that I already created. You could create one here. Add that key.
And now let's go back to the popebot. Just double check everything. Air table API key. Air table base ID. We did this Google Drive key. That looks like everything. So coming back here, it's just saying after you've done those five commands, let me know. And it's going to write up the full job. Go. I would recommend always just reviewing what it comes up with. Make sure it aligns with whatever your prompt was, make any corrections.
So, it's going to verify the credentials first, then it's going to activate the skills that it already has in the system when you install the Popebot. It's going to build the new one that doesn't exist. And by the way, I'll add this back into the project when I'm done so you can have it. It's deciding what it needs to do for the skill. Step four, it's going to actually build out the Air Table database. It's going to create a test image. It's going to upload it to Google Drive. It's going to create a test Google Doc. It's going to add that record to Air Table. It's going to test everything and then delete it. And then it's going to commit everything back into the Popbot so that it can use those skills in the future. And I'll show you how that works. And then it just says if this looks good to you, go ahead and go. So let's go. So it's creating that job.
All right. Looks like it was able to create the job. While it's doing that, we have a couple of minutes to just start talking a little bit about how all of this works. You can always track all of the jobs over here in the swarm. We're going to see that the job is running. And we can also click through on this job to GitHub, which is where all of the code for your Popebot will exist. And the reason why we do this is because all coding projects use Git or some version of Git, which is version control. It keeps track of all of your code. It keeps track of all of the changes. And that's especially important with a self-improving bot because you want to be able to track what it changes, validate it, confirm it so that you know what your bot is actually doing. And so we use git to do all that. And then once the action is actually finished, once it has gone through everything, it's going to submit that all back to GitHub so that you can verify it.
Now, all of this is configurable. So if you want your bot to come up with new skills without any validation or any review, you can do that. That's all configurable. But I definitely recommend in the beginning you review everything that it's doing so that it doesn't do something that you didn't intend.
And one thing to note here in the system here is that when something finishes, you'll see it in notifications. I was doing a little bit of testing earlier and it's going to show you the changes it made, the steps it went through, what went well, what didn't go well. If there are pending code changes, it's going to show you right here. You can click on that and it's going to show you the pull request. Once it's done with this job, we're going to see that same thing. If you want to get support, you can go ahead and click that link here. And again, you have all of your other chats down here. So, we'll be patient as this job runs. You can always click into it, see what's going on. I'm currently using a new feature where the job is being completed by Cloud Code, and it's using my Cloud Max subscription. Based off of the latest comments from Anthropic, as long as you're using your Max subscription with Cloud Code specifically, you should be good to go. What they don't want you doing is using your CloudMax subscription in other products or directly with the API.
So, we'll come back to the Swarm, see how we're doing. Looks like it just finished. So, first I'm just going to jump over to the popebot. Cool. Looks like we've got a test image here and a test blog. Let's jump over to Air Table. Remember, this content table didn't even exist. Now, if I click on it, we've got the title, the Google Drive URL for the image, and the document URL, and the date.
And it looks like we have a pending change as I mentioned. So, if you come here, we're going to see that we have the pending change. And this is the part you have to remember to do. So if you want to approve things, you got to approve it, right? It's easy to do. So don't get overwhelmed by these different things. GitHub is not hard to use. I'm trying to make it as simple as possible. And if you run into issues, let me know so I can make it even easier and easier. But if I click on this pending change and then I come to files changed, I can always see what it changed. And now let's take a look because this is pretty cool. We also have the cloud code session here. So I can see exactly what it did and how well it did, how many tokens it took and all that stuff. so that I could always improve things as I go. Here you can see it activated four skills. And then here we can see that it created the air table skill. And I always recommend people just kind of take a look at what it's doing. This is a skill. You can look over the skill and review what it did. But again, if we come here, it's as easy as this. You click on the pull request. You just scroll down. You can read the review here what it did. And then all you do is come to the bottom and you just say squash and merge. Don't worry about those terms, but I will explain them in future videos. I want to make sure people don't feel intimidated by some of these things. You don't have to know all of these different things in order for this to work.
So now once you submit that, what's going to happen is if you come back to your swarm, you're going to see a rebuild event handler fire off. And that all that means is that the code has been updated. And so we actually have to update this interface, this chat interface that we're using right here. And it takes a few minutes. And while that's happening, it's possible that if you do a refresh, you end up getting a 404 error. That's just your site rebooting after it got the new files. And by the way, I have some other YouTube videos that I just published that go a little bit more into that side of things. This video is really more focused on creating a new skill. But again, if you want support, just click there and you'll be able to get it. And again, if you ever want to see exactly what's going on, just click through. You can go inside, just watch what it's actually doing. It's actually rebuilding the site right now. That means in just a few seconds, it's going to do the restart. I'll try to catch it while it's doing that so that you can see what that would look like. So it doesn't catch you off guard. It looks like I finished. I might not have caught it. But now if I come back to the chat and I just ask, we can see that it has all these new skills.
All right. So now I want to show you something cool. I thought ahead a bit and I have this YouTube transcript skill that you can use to download your own videos transcripts. Make sure you're only using the API to download things that you own. But we can use this to download the transcript and create a blog and create an image and then upload that back to Air Table. So I'm going to jump back to a new chat. I'm going to quickly jump over to YouTube. I'm going to grab my most recent video, one that you should definitely check out. Shows you a little more of the back end of this tool. And then I'm just going to say, please create a blog from this YouTube video by grabbing the transcript and then generating an image from the blog content. Upload the image and blog to Google Drive and link it to Air Table. And just to make it extra verbose, I'm just going to give it the link. And of course, you can set up your skills in such a way where you don't have to tell it as much, but then you have to give that skill a little bit more information. That skill that we created was a little more generic. So, we're just going to give it as many details as possible. So, then I can go ahead and just run this. It's going to come up with the plan. I can review it and tweak it. So, that looks good. So, we'll let it go. It's going to create that job. It's going to take a few minutes. And again, you can always check things out over here on the swarm. Agent is working. If you click through, it's going to take you back to GitHub. Of course, I want to integrate all of this into the Popot as well, so that you can see everything from here.
When it's done, in this case, we won't necessarily have to approve anything because it's not changing itself. It's not creating new skills. You only need to do that when it's actually creating a new skill and changing its own code. In this case, it's just generating some material and putting it into Air Table. So, there's no code changes here. So, you don't need to approve anything. And again, in previous videos, I do show you how you can turn that approval off or selectively decide what it can change and what it cannot without approval.
Make sure you like and subscribe to this video. I've got this insane feature right here. I'm not going to turn it on now. You're going to have to wait till the next video, but it is going to blow your mind. If you think this is cool, you ain't seen nothing yet. Make sure to like and subscribe. And by the way, thank you so much, guys, for all the support thus far. It's been super fun working with you guys and creating all these videos. Can't wait to see you in the next one.
All right, looks like it finished up here. Jump back over to Air Table. All right, we've got our new blog based off of the actual YouTube video. Here is the article. I created an MD file as agents do. We'll open it with Google Docs. So, here's the entire blog from my own YouTube video. And then also the image. Nice. And like I said, no pending changes because we didn't make any code changes. We just let the agent do something.
All right. So now let me show you how to actually install this. The link is going to be in the description below. Try not to let yourself get too intimidated by GitHub and all these instructions and all the possibilities because this system actually is able to do a lot. Okay, but I've set up the setup instructions to be as easy as possible and I'm going to try to make them easier and easier. So keep giving me your feedback and if you run into what you think is a bug, you can always come up here in GitHub and add an issue there. I've been active there fixing things as they come up.
Now, there are a few programs that you need to have installed ahead of time. If you don't have these installed, go ahead and do that. If you're doing a local install, you're going to need this program right here. Your internet has a firewall that does not allow the cloud, in this case, GitHub, to connect to your local computer. When you install this, it gives an endpoint here that GitHub will be able to talk to and interact with so that it can work with your PObot. Now, if you deploy this in the cloud or you use this longterm, there are other ways of doing that. You can just configure your home router to allow it through, but that takes a little bit more effort. So, for just local testing, this is a great option and it's free.
So, now you're going to need to open up your terminal. Whether you're on Mac or Windows, I'm going to CD out of my existing pop. You can just copy this right here. Drop it just like that. Now, you're going to leave it just like this. I'm going to change it just because I'm going to be pulling down a beta version. Now you know how to pull the beta versions as I'm working on them, but I don't want you to change that. By the time you see this video, it will be up to date. Go ahead and run that. Going to grab all the files and do the install. Install the dependencies. So, we're ready to go. We're just going to follow the instructions. npm run setup. You want to go ahead and name your project. It's going to default to the directory that you created. Feel free to take a moment and read the instructions as we go. If you don't understand anything, just jump into chat GPT or cloud and ask it what it's doing.
We're going to open up a GitHub repo creation page. This is going to create the repository for your bot. You want to leave all these settings as is, especially private. Create the repository. The next step is going to ask for this. So, I'm going to grab it now. I'm going to copy going to drop in the URL here. Then, we need to get a token from GitHub with all of these permissions. You can go ahead and allow it to just open up the page for you. The Pokebot demo. I'm going to go ahead and select only specific repositories, my agent. And now you'll need to just have this open so you can see because we have to add these all here. Actions, workflows, pull requests, content, administration, and these all need to be read/write. That's why I only gave a permission to this particular repository just for safety. We also need metadata, but that's always there. So, 1, 2, 3, 4, 5. 1, 2, 3, 4, 5. We're good to go. Generate the token. Grab that. Drop it here.
Now, we need to configure which LLM we're using for the popot. You can use cloud or GPT or Gemini. You can even use local models. I'm going to go ahead and use Claude. I'm going to use Sonnet 4.6 for the chat. We're going to open up the Anthropic API page. Create a new key, the Pokebot ad. I'm going to copy that key.
Now, it's going to ask you this question here, which is, do you want to use a different LLM for the jobs? So, if you think about the way this system works is you had the chat, we were working in the chat, but the chat launches these jobs. and we have an LLM that's helping us plan. But we can set a different LLM for the jobs. And in this case, what I'm going to do is I'm going to use my Claude Max subscription. So, I'm going to say yes, I want to use a different LLM for the jobs. I'm going to use Claude. I'm going to use Opus 4.6. And I do have a Max subscription. So, I'm going to say yes. And then you can just drop your token there. Just going to paste that right in here.
Then it's going to ask you if you want to go ahead and enable Brave Search. They used to have a free plan. So, this is a paid service, but what it allows your agent to do is search the web. Just makes your agent more powerful. You don't have to have it right now. So, you can go ahead and say no. I'll say no just for the install.
Now, here's where we have to put in our URL for our bot. And so, now here's where we're going to use that Enro command. I've already set up Enro, so you're going to want to set up your free account and get that going. And once you have installed it and you're ready to go, open up your terminal. You just come here and you type enro http:80. And remember this is just a temporary solution. You don't have to do it this way longterm. But to get up and running quickly, you're going to grab that URL. Going to come back. You're going to drop that here. It's going to set everything up for you. Set up the secrets, all your variables. It's going to build the system. It buzzed right by. But if you come back up here, you're going to see that it actually should launch your server. And you just and you can access it just by using this URL. Now, keep in mind, it might take a few seconds for it to load the first time.
When it first boots up, you're going to create your admin account. Of course, you're going to give it a secure password. You're going to create that account. Then, you'll log in. And there, you're ready to roll. Your system's totally built out, ready for your first message. And now, if you run into any issues, just make sure you click that link for support. And if you need more than support and you want to actually learn how to build cool stuff like this, make sure to jump into the AI architects. Right now, I'm building out a brand new for 2022, an entire new course that takes you from beginner to an advanced AI product engineer. Even if you're an absolute beginner, I'm going to help you in a way that doesn't overwhelm you step by step all the way to building cool stuff like this. Plus, we've got calls every single day and I personally answer all of your questions on Tuesday and Wednesday. I also drop all of the newest releases here first before everyone else. And I also do these working sessions in addition to the calls you just saw where I go in-depth on how to do more complex things on all sorts of different subjects. So, I hope to see you inside the community. Either way, I hope you enjoyed this video and I'll see you on the next.