Full Transcript
https://www.youtube.com/watch?v=QoQBzR1NIqI
[00:00] Hey, this is the definitive course on Cloud Code for beginners.
[00:03] I use Cloud Code for beginners.
[00:05] I use Cloud Code every day to manage a business that does over $4 million a year in profit.
[00:09] I also teach over 2,000 people how to use Cloud Code both for personal and then corporate or professional tasks.
[00:13] So, this is more or less what I do all day.
[00:17] Once you understand what I'm about to show you in this course, it's no small stretch to say that Cloud Code will augment your productivity.
[00:22] You'll gain leverage in areas that you probably didn't even realize that you had.
[00:25] And that's both for software engineering and also other parts of your life.
[00:29] The focus here is not software per se, so you don't need to have a technical background to understand what I'm going to tell you.
[00:35] I'll make sure to start slow and build concepts on each other naturally and gradually so that everybody here is on the same page.
[00:39] So, no fluff.
[00:41] Here's what you guys are going to learn in this course.
[00:42] We're going to start with the basics by downloading and then setting up Cloud Code ourselves.
[00:48] I'll then teach you all about integrated development environments or idees.
[00:52] There's several on the market and I'm going to walk you guys through the three most commonly used ones so that we're all on the same page.
[00:57] Afterwards, I'll show you how to set up your project brain, which is also known as the
[01:00] brain, which is also known as the claw.md file.
[01:02] Once we're done with that, we'll use Claude Code to actually build something because the focus of this whole course is on practical building.
[01:08] We'll build a simple web app hosted live on the internet, which I'll help you guys learn by doing, not just sitting around and listening to me.
[01:14] After that, we'll cover the Claude directory, the sub aents folder, and a bunch of functionality that not a lot of people know about.
[01:19] We'll then cover Claude Code's various modes, including their plan mode, which you guys might have heard about.
[01:26] Dangerously skip permissions mode, which gained a fair amount of uh notoriety recently, and how to use them, as well as use them safely.
[01:34] We'll then cover complex project builds using plan mode and what I just showed you guys.
[01:37] After that, we'll cover context management, which is quite the term right now.
[01:40] I'll teach you guys all about how to manage your context efficiently, avoid context rot, and ensure that your prompts are built and structured in a high ROI way.
[01:47] I'll run you through every slash command in Cloud Code and how to use all of them.
[01:50] We'll then cover hooks, which are custom scripts that you guys can fire automatically before or after every Cloud Code tool call.
[01:56] Very useful to know.
[01:58] I'll then talk about Claude Code skills, which is basically how to create these skill files that turn Claude code
[02:01] these skill files that turn Claude code into a bunch of different specialized agents.
[02:05] We'll then cover model context protocol and how to set it up effectively.
[02:08] I'll talk about a handful of automated systems that you guys can quickly build with model context protocol, including email managers.
[02:13] You can build your own bookkeeper and more.
[02:15] I'll cover cloud code plugins and marketplaces.
[02:19] The Chrome DevTools integration, which is a very slept on uh connection between Cloud Code and Chrome that enables you to collect data from sources that don't have APIs.
[02:27] It's very, very valuable to learn.
[02:29] We'll then cover Cloud Code sub agents with scoped tool access.
[02:33] I'll talk about their new agent team feature and how to use them productively.
[02:34] and then get work trees and session mobility which essentially will allow you to spin up parallel cloud sessions without a lot of the downsides and issues that things like claudebot or or open claude have unfortunately resulted in.
[02:47] Finally, we'll cover scaling and deployment.
[02:49] Basically, how to take your automations and run them in production using modal web hooks, GitHub actions, and cloud code on the web.
[02:55] So, we've got quite a lot to cover.
[02:56] Let's just dive right into it with the first, which is how to set up cloud code as a total beginner.
[03:01] So, the first thing we have to do is we actually have to
[03:02] have to do is we actually have to purchase cloud code.
[03:04] And the reason why is because they don't offer it for their free plan at $0.
[03:08] In order to have access to Cloud Code, you need at least their pro plan for everyday productivity.
[03:13] I'd recommend this if you guys are starting out.
[03:16] The money that you spend on a subscription like this is so small compared to the massive productivity benefits that despite the fact that it's $17, I personally would not even raise an eyebrow.
[03:27] It's no small stretch to say that Cloud Code probably delivers me productivity benefits on the order of $10 to $15,000 a month because it's not only just skilled as a developer might be, which allows me to build systems that alleviate stresses and strain in my life, but it's much more than a developer as well.
[03:43] It's basically my second brain at this point.
[03:45] After you click try Claude, it'll take you to a page where you have to log in.
[03:48] And once you're done, you can then create your account for the very first time.
[03:51] So, I'd select both of these.
[03:53] I'm not going to subscribe to occasional product updates because my email inbox is busy enough.
[03:58] And then you have an onboarding screen with some personal information.
[03:59] So, I'm just going to fill that out and then once I'm done, circle
[04:02] that out and then once I'm done, circle back.
[04:04] Okay. So, I'm Canadian and unfortunately our dollars convert quite poorly to freedom dollars.
[04:09] So, the $17 that we saw earlier is $28 in my own currency.
[04:13] I'm going to click get pro plan and then walk through the payment details below.
[04:17] Cool. And now I have a Cloud subscription.
[04:19] This is all that you need in order to get set up.
[04:22] Everything else is totally free from here on out.
[04:23] The simplest way to get up and running with Cloud Code is just opening up a terminal instance.
[04:27] That'll seem pretty intimidating to a lot of you.
[04:28] So, I'm not just going to show you how to do it in the terminal.
[04:31] I'm also going to show you how to do it using what's called their graphical user interface, which they put together four or five months ago.
[04:37] Any resource that I show you throughout this course is probably going to look a little different by the time that you look at it versus when I'm looking at it.
[04:44] And that's because cloud code, anthropic, and just AI tools in general change really quickly, especially since most of the developers are also using cloud code.
[04:51] So it kind of multiplies the productivity here.
[04:53] What's important is not the specific layout, the colors, the the the words on the screen.
[04:58] What's more important is that you just know how to find it.
[05:00] And so the number one resource that I personally use to look up advanced cla features is
[05:05] use to look up advanced cla features is in the cloud code documentation.
[05:07] It's at in the cloud code documentation.
[05:07] It's at code.cloud.com/doccks.
[05:10] code.cloud.com/doccks.
[05:11] Whatever language you speak, just pump in there and then it'll automatically
[05:13] translate that over to.
[05:13] So the cloud code docs specify that in order to
[05:15] install cloud code in your system for the first time, you can run what's
[05:17] called a curl command here.
[05:18] If you're running Windows PowerShell, you know,
[05:20] you can run this Windows cmd, you can
[05:22] run that.
[05:24] Just so we're all on the same page here, when you have little snippets
[05:26] of text like this, what they're telling
[05:28] you to do is basically to open up a terminal or a command prompt.
[05:29] So on Mac OS, Linux, or WSL, which are all
[05:31] different operating systems, in order to
[05:33] open up a terminal, you just type
[05:36] terminal.
[05:38] When you do so, you then get a terminal.
[05:40] Now, this terminal might look a little intimidating to you if it's
[05:41] your first time ever using something like that.
[05:44] But don't worry about it too much.
[05:46] I just wanted to show you guys how easy it is to get set up with cloud code
[05:47] in this.
[05:48] And then afterwards, as mentioned, we'll we'll do the graphical
[05:50] user interface stuff.
[05:51] Okay.
[05:53] So, this is what it looks like on Mac.
[05:54] If you guys are on a Windows, then um you'll have to
[05:55] use the Windows key search bar.
[05:57] Then it'll look up something like cmd or
[05:58] command prompt.
[06:00] At the end of it, you'll
[06:06] command prompt.
[06:07] get something that looks pretty similar to this.
[06:08] From here on out, all we have to do is we have to copy over the command that it gives us.
[06:12] So, because we want a native install and I'm in Mac OS, I'm just going to copy over this command.
[06:17] You can also click this little button over here and then alt tab back.
[06:20] I'm then going to paste it in and press enter.
[06:21] From here on out, a bunch of complicated things are going to occur.
[06:25] If you don't already have it installed, may take you a little bit longer, but now we're good to go.
[06:29] Claude Code is installed on our computer.
[06:30] Once you're done with all that, all you have to do in order to use Claude is just type the word Claude directly into your terminal.
[06:37] It's really that easy.
[06:39] Now, if it's the very first time that you're logging in, you'll also have to authenticate, and it'll ask you to do so automatically when you open this stuff up.
[06:44] If not, you can also type back slashl i n.
[06:49] Once you've clicked this, it'll tell you cloud code can be used with your cloud subscription or build based on API usage through your console account.
[06:57] How would you like to set up?
[06:59] Now, in our case, we're using the cheapest, most effective method, which is the Pro, Max, Teamer, or Enterprise subscription.
[07:04] It's also the most straightforward, which is why it's the one that I used in this course.
[07:05] I'm just
[07:07] one that I used in this course.
[07:09] I'm just going to click enter, and then it'll going to click enter, and then it'll then log you into your Claude account,
[07:12] then log you into your Claude account, the one that you just set up a moment ago.
[07:15] Once we're done, you're all set up for Claude Code, you can close this window, then alt tab back, and you'll see that it's going to say just press enter to continue.
[07:20] Now, just so we're all on the same page here, all we've really done so far is we've just opened up a chat interface with an AI model.
[07:27] It's just instead of it being in like a nice desktop application or on the web, it's in our terminal.
[07:33] And the value here is instead of running an AI model on the web or in some distant cloud server, what we're doing now is we're running it locally on our computer.
[07:40] So we actually have the ability to take this model and then locally modify files on our computer, write scripts, write stories, write poems, restructure our file organizer, clean up our our PC or our Mac.
[07:55] Like this thing is currently connected to my computer.
[07:57] And I'll run you guys through how permissions and all that stuff work later on in the course as I talked about in the outline.
[08:02] But even this alone makes it extraordinarily powerful.
[08:05] So this screen can look pretty intimidating for beginners.
[08:07] Most people
[08:09] intimidating for beginners.
[08:11] Most people end up using the terminal um flow, not end up using the terminal um flow, not the GUI flow, but I'm going to explain
[08:13] the GUI flow, but I'm going to explain to you what you guys see here just for
[08:14] to you what you guys see here just for simplicity.
[08:16] simplicity. In the top lefthand corner, you have that cute little claude code
[08:18] you have that cute little claude code widget. I think it's I don't know if it
[08:19] widget. I think it's I don't know if it was supposed to be a crab or like a
[08:20] was supposed to be a crab or like a jellyfish, but it's adorable. Then you
[08:22] jellyfish, but it's adorable. Then you have claude code and the actual version
[08:23] have claude code and the actual version up above. Underneath you have the model
[08:26] up above. Underneath you have the model that you're currently using. In my case,
[08:27] that you're currently using. In my case, I'm using Opus 4.6. Then you have the
[08:29] I'm using Opus 4.6. Then you have the plan that you're on. In my case, Claude
[08:31] plan that you're on. In my case, Claude Mac. So this is a couple levels up from
[08:32] Mac. So this is a couple levels up from the pro plan. And then perhaps most
[08:34] the pro plan. And then perhaps most importantly, you have the current
[08:35] importantly, you have the current working directory. As I mentioned to you
[08:37] working directory. As I mentioned to you a moment ago, this is working inside of
[08:39] a moment ago, this is working inside of your computer in a specific folder. And
[08:41] your computer in a specific folder. And so Cloud Code currently lives inside /
[08:44] so Cloud Code currently lives inside / users/nixar,
[08:46] users/nixar, which is basically like the the home
[08:47] which is basically like the the home folder, at least on my Mac OS. Here is
[08:50] folder, at least on my Mac OS. Here is your previous command. And so I just
[08:52] your previous command. And so I just wrote clear because I wanted to clear it
[08:54] wrote clear because I wanted to clear it all the way up and give you guys a fresh
[08:56] all the way up and give you guys a fresh canvas. Here is where you actually
[08:58] canvas. Here is where you actually insert the text. So when you type stuff,
[09:01] insert the text. So when you type stuff, it pops up. Underneath here, it tells
[09:03] it pops up. Underneath here, it tells you the model again. Then it gives you
[09:05] you the model again. Then it gives you various modes. So in my mode right now,
[09:07] various modes. So in my mode right now, I'm in bypass permissions. This is sort
[09:09] I'm in bypass permissions.
[09:09] This is sort of like a dangerous mode.
[09:10] It's a mode of like a dangerous mode.
[09:11] It's a mode that not a lot of people feel super comfortable with.
[09:13] But it's the mode that I prefer for uh knowledge work and intellectually valuable tasks.
[09:16] And I'll run you guys uh through more of that later on.
[09:20] But you can cycle through modes simply by clicking shift and tab, which I'll show you guys how to do.
[09:24] And then there's some additional information here.
[09:25] There's a version, the latest, and then over here is at least in my case, the the token readout.
[09:30] And you know what's really cool?
[09:32] You can actually adjust this.
[09:33] This sort of thing is your your claude code status line, which I'm also going to run you through it.
[09:36] You can make it all colorful and all wonky and really fun.
[09:38] You can have it display whatever the heck you want.
[09:41] So the very first thing I'm going to do is I'm just going to say, "Hey, how's it going?"
[09:45] And immediately after, I'm going to take a screenshot so I could show you guys some more information.
[09:49] So, opening this up in my drawing tool.
[09:52] What ended up happening is immediately after we said, "Hey, how's it going?"
[09:55] You see that another prompt showed up called finagling.
[09:57] This is one of like a thousand different words that Claude Code uses.
[10:01] Basically, anytime it's thinking, it's going to use some funny term like finagling or processing or uh I don't know, rumpeting or considering or what whatever the
[10:11] or considering or what whatever the heck.
[10:12] They're pretty funny.
[10:12] And the cool thing is you can customize that.
[10:13] Next, you have the number of seconds that your your query has lasted.
[10:15] So, I just said, "Hey, how's it going?"
[10:17] And then 2 seconds in, it's now produced five tokens for me.
[10:18] And then finally, you also have the the token count.
[10:21] So, just so we're all on the same page, a token is not the same as a word, but at least for the purposes of most of what you do, you can consider a token to be similar to a word.
[10:22] For instance, I said, "Hey, how's it going?"
[10:24] Um, this is not 1 2 3 four.
[10:25] This isn't four tokens.
[10:27] It might be four words.
[10:29] It's probably closer to six or seven tokens, but just think about tokens as being analogous towards just a few more if that makes sense.
[10:30] You'll also see that an additional piece of information popped up down here called context.
[10:32] And this is really important.
[10:35] Um context goes from 0 to 100% and that's how much basically um conversation history you have in the current chat window with your current instance of cloud code.
[10:37] This becomes really important later when you're designing uh better context management techniques which is a big portion of what this course is going to be all about because at least as of the time of this recording context management is sort of like the the big bottleneck in getting these systems to do more and
[11:12] getting these systems to do more and better for you.
[11:14] better for you.
[11:14] You'll also notice that on the right hand side my token counter uh my status line here it it went up significantly.
[11:18] And so basically what this means is at about 20,000 tokens or so, we're about 10% of the way through um our entire conversation thread that's allotted to us.
[11:25] What's really cool is Claude Code will take all of that history and at regular intervals, it'll actually compress that for you by increasing the information density,
[11:35] taking a string of text and then making it higher information density and higher information density and higher information density successively.
[11:41] So that even if you wrote something in kind of like a you know a bloated way, a way that you know you could have used fewer words to say um as your context goes up and longer um cloud will automatically manage that for you to ensure that you're within the window.
[11:54] So that's how to set up cloud code in the terminal.
[11:57] Hopefully we're all on the same page.
[11:58] Terminals are really similar to graphical user interfaces which I'm about to show you in a moment.
[12:03] I do recommend that you guys get used to using it in terminal because when you use it in terminal you basically unlock even more functionality.
[12:07] You can run a bunch of these side by side.
[12:09] You could run different terminal tools and whatnot
[12:13] run different terminal tools and whatnot that give you guys faster refresh times.
[12:14] that give you guys faster refresh times and we'll cover that sort of stuff.
[12:16] and we'll cover that sort of stuff later.
[12:17] Um, but what I want to do now is I want to show you guys how to run it in a graphical user interface.
[12:19] I want to show you guys how to run it in a graphical user interface.
[12:20] And these graphical user interfaces are typically managed by what's called an integrated development environment.
[12:22] graphical user interfaces are typically managed by what's called an integrated development environment.
[12:23] managed by what's called an integrated development environment.
[12:24] Well, that takes us to the next logical question.
[12:26] takes us to the next logical question which is Nick, what is an integrated development environment?
[12:29] which is Nick, what is an integrated development environment?
[12:31] An integrated development environment also termed is basically three things put together.
[12:35] development environment also termed is basically three things put together.
[12:37] Okay, it's a file folder organizer plus a text editor plus an AI chat widget similar to what you get if you go on chatgpd.com or cloud.ai.
[12:42] it's a file folder organizer plus a text editor.
[12:44] a text editor.
[12:47] text editor plus an AI chat widget similar to what you get if you go on chatgpd.com or cloud.ai.
[12:53] plus an AI chat widget similar to what you get if you go on chatgpd.com or cloud.ai.
[12:55] So, you know how on my Mac if I go Finder um I open up a basically series of folders where I can select different files and open them up and so on and so forth.
[12:58] cloud.ai. So, you know how on my Mac if I go Finder um I open up a basically series of folders where I can select different files and open them up and so on and so forth.
[13:01] I go Finder um I open up a basically series of folders where I can select different files and open them up and so on and so forth.
[13:03] series of folders where I can select different files and open them up and so on and so forth.
[13:05] different files and open them up and so on and so forth.
[13:06] You can do the same thing on Windows if you just type in folder or I don't know the C drive or whatnot.
[13:08] thing on Windows if you just type in folder or I don't know the C drive or whatnot.
[13:10] folder or I don't know the C drive or whatnot.
[13:12] Well, an ID is basically that plus something like notepad or notes.
[13:15] plus something like notepad or notes plus something like chat GBT allin one.
[13:18] plus something like chat GBT allin one.
[13:21] And right now we have two major idees that the market is tending towards.
[13:23] The first is called Visual Studio Code and the second is called anti-gravity.
[13:27] Visual Studio Code is sort of like the OG one because anti-gravity is actually built on it.
[13:30] Um, it was developed a lot longer by Microsoft.
[13:33] It's really, really extensible.
[13:35] It has great support and it's very straightforward.
[13:37] So, I'm going to show you guys how to set things up on it, but anti-gravity I would consider to basically be Visual Studio 2.0.
[13:39] So, not only does it have most of the same features now, although it is uh some of them are still kind of a little beta-ish.
[13:40] Um, it's also a lot more modern, and then there's a much bigger focus on AI, which is obviously kind of the whole point of this course.
[13:42] So, uh, I'm going to be showing you guys initially how to set things up in Visual Studio Code.
[13:44] Then I'm going to do anti-gravity, and then for the rest of the course, we're just going to be doing all of our work inside of anti-gravity.
[13:47] And anti-gravity is really cool.
[13:48] There's some additional functionality within anti-gravity, not even tied to cloud code.
[13:50] So, the first thing we need to do is obviously we need to set up Visual Studio Code.
[13:51] Um, in order to do that,
[14:16] Studio Code.
[14:16] Um, in order to do that, just head over to Visual Studio Code on Google over here and then download for whatever your specific application is.
[14:22] In my case, I'm downloading the Mac OS.
[14:25] I'm then going to have the download appear in the top right hand corner.
[14:29] I'm then going to give that a click and then go download unverified file.
[14:33] And then over here on a Mac, you again have to drag the little window over.
[14:37] So, I'm just going to do that.
[14:37] And once you're done, you're going to have a page that looks something like this.
[14:40] So, remember earlier how I said it was like a file editor?
[14:42] Well, that's what this little lefth hand side is about.
[14:44] If I click open a folder, I can actually go through and I can open a folder on my computer.
[14:48] So, why don't I just go and open uh I don't know, leftclick contact.
[14:53] Okay.
[14:53] Okay, so now I'm inside of the leftclick contact folder and you can see we have some files here, a git ignore, claw.nd, contact, index, and a neti tl.
[15:02] We're going to go through all that sort of stuff in a moment.
[15:03] It's not super important for now, but this is sort of like where the um file explorer functionality comes in.
[15:09] If I were to click on one of these, as you can see, we've now opened up a big text editor right in the middle of the screen.
[15:15] And so this is a bunch of CSS.
[15:15] It's a
[15:17] so this is a bunch of CSS.
[15:17] It's a programming language.
[15:19] What's really cool programming language.
[15:19] What's really cool is with cloud code, you don't actually have to know how to read any of this stuff.
[15:23] It'll just tell you everything.
[15:23] And so that is the text editor functionality.
[15:24] I can make changes.
[15:27] Hey, what's up?
[15:27] You know, I could um create a new file here if I wanted to called message.md.
[15:33] And I could say, hey, how's it going YouTube?
[15:36] So just like in that way, we basically have file editing functionality and then we can also select files to work on and stuff like that.
[15:45] And then on the right hand side, you have an agent tab, which is where you have your chat interface with AI.
[15:49] Now, right out of the gate, the VS Code chat interface isn't actually Claude Code.
[15:53] In order to access Cloud Code, you have to download it as an extension.
[15:55] So, I'm going to run you guys through that right now.
[15:57] On the left hand side here, click on these little blocks.
[15:59] Then, just type Claude Code.
[16:01] You'll see a variety of these.
[16:04] The one that you're looking for is the one that's developed by Anthropic, the one with that little check mark in it.
[16:08] be very wary of downloading extensions that are not from official developers and vendors like Anthropic simply because uh people have been known to insert malware and and
[16:18] been known to insert malware and and different things like that in these.
[16:19] different things like that in these.
[16:20] It's very important that you're that you preferentially use verified sources.
[16:23] In my case, I've already installed this, but all you have to do is go through that little installation wizard here.
[16:26] Then once you're done, you will have access to cloud code.
[16:30] The question is, okay, I have access to cloud code. How do I actually use it?
[16:33] Well, it's really easy.
[16:34] If you just go to the top right hand corner of this little agent window, you now can just click on cloud code.
[16:38] But you'll also see that there's a clawed logo up here as well.
[16:42] But what the hell does this mean?
[16:43] If you click on this, you'll open up just like another window.
[16:47] And in my case, I open it up with a terminal default.
[16:49] Uh, so it's going to open up this in the terminal.
[16:51] This can be pretty intimidating and kind of annoying to be honest, juggling all these things.
[16:55] Just going to zoom in so it's easier for us to see.
[16:57] So my recommendation is at least for beginners, just stick to the one on the right.
[17:00] That one's simpler.
[17:01] And as you can see, it's a different user interface than the terminal.
[17:04] Okay.
[17:04] So how exactly do you use this?
[17:07] and what are all of the different features and buttons and stuff like that.
[17:10] Covering the interface, obviously up top you have the past conversations tab.
[17:15] And so as you build up more conversation history, you'll actually be able to jump back to any
[17:18] actually be able to jump back to any prior conversation you've had with Claude Code over here.
[17:21] You can do that both locally and then on the web.
[17:23] Um I don't have access to either of these yet because I just set this up fresh for you guys.
[17:28] Underneath that you have the Claude Code logo.
[17:30] Underneath that you have that cute little jellyfish or lobster, whatever the heck it is.
[17:34] Underneath you have your little chat window.
[17:36] So here is where I can actually talk to Claude.
[17:37] Hey Claude, what's up?
[17:42] Once we open this, you'll see that similarly to how we had before, we have that little accomplishing fidgeting whatever we have that little like process uh text come up.
[17:52] After that, you then have the response.
[17:54] The response comes in in this little window.
[17:55] Although you'll see it's different when it accesses files and stuff like that.
[18:00] Underneath at the very bottom lefthand corner, you have the various permission modes.
[18:02] Remember how earlier mine said uh dangerously skip permissions?
[18:04] Well, you can do the same thing here.
[18:05] If you just click on this, you can cycle through all of the different possible modes.
[18:10] And you'll see that little window around the chatbot also changes.
[18:11] So, uh in my case, I'm asking before edits, which means because this is running locally on my computer before it makes any changes to
[18:19] computer before it makes any changes to any local files.
[18:21] I'm going to say, hey, any local files.
[18:21] I'm going to say, hey, just ask me to make sure.
[18:24] Now, this is just ask me to make sure.
[18:24] Now, this is pretty safe and a lot of people,
[18:25] pretty safe and a lot of people, especially coders and and you know,
[18:27] especially coders and and you know, developers that are a little more old
[18:28] developers that are a little more old school, will usually work like this.
[18:30] But personally, given that when Claude's
[18:31] personally, given that when Claude's really in the thick of things, it's
[18:33] really in the thick of things, it's asking me for edits every five freaking
[18:34] asking me for edits every five freaking seconds.
[18:36] If you really want to unlock that productivity, as I talked about
[18:37] that productivity, as I talked about before, you either use edit
[18:39] before, you either use edit automatically or use bypass permissions.
[18:41] automatically or use bypass permissions.
[18:43] And I'll cover plan mode and whatnot later as well.
[18:45] later as well. To the right of that is,
[18:45] and this is kind of intimidating for
[18:47] and this is kind of intimidating for some people to understand, but this is
[18:48] some people to understand, but this is the file that is currently being fed in
[18:51] the file that is currently being fed in as context.
[18:53] So, for instance, do you see how here it says index.html?
[18:56] And if I click this, I get this little eye icon.
[18:58] Well, if I leave this open, basically
[19:00] Well, if I leave this open, basically Claude is currently looking at this
[19:02] Claude is currently looking at this file.
[19:05] So, what file are you looking at right now?
[19:07] It'll now tell me that it's looking through the index.html that's open in my
[19:09] through the index.html that's open in my editor.
[19:11] It hasn't read through the contents yet because reading through the
[19:13] contents yet because reading through the contents of this massive file would feed
[19:14] contents of this massive file would feed a fair amount of uh tokens into context,
[19:16] a fair amount of uh tokens into context, which would charge me a fair amount of
[19:18] which would charge me a fair amount of money.
[19:19] So, right now, it's not doing any
[19:21] money.
[19:21] So, right now, it's not doing any of that, but suffice to say, I can actually edit this in real time.
[19:24] Yes.
[19:24] Change the title to Nick's YouTube example.
[19:30] And what it's going to do is it's going to go through my file.
[19:32] It's going to find the title, which is listed right over here.
[19:36] Then it's going to change that for me.
[19:36] This is an example of a really simple, easy, and straightforward change.
[19:41] But I could do way more.
[19:41] I could refactor this whole thing from light uh dark mode to light mode.
[19:47] So, I'm actually going to ask it to do so.
[19:47] Refactor this index html from dark mode to light mode.
[19:52] And if you don't know what this means, it's okay.
[19:54] Bear with me.
[19:54] We're actually going to rebuild a whole app using cloud code and various design uh patterns in a moment.
[19:59] The first thing it'll do is it'll try planning out the changes that it's going to make.
[20:05] And so it's doing a bunch of programmatic adjacent things right now.
[20:07] Like it's filtering out a bunch of um you know different CSS snippets.
[20:12] It's doing a fair amount of work here.
[20:13] And you don't need to be a programmer to understand what's going on.
[20:16] We basically now given this a task.
[20:17] It's deconstructing the task into a list of highle steps.
[20:20] Then it's going to go through and it's actually going to
[20:21] through and it's actually going to present this plan to me uh for me to say
[20:24] present this plan to me uh for me to say yes or no to. Now you'll notice that
[20:25] yes or no to. Now you'll notice that when I did this in addition to the
[20:27] when I did this in addition to the interface changing and now the colors
[20:28] interface changing and now the colors being blue in the bottom right hand
[20:30] being blue in the bottom right hand corner we now have sort of a little
[20:32] corner we now have sort of a little pause button. This pause button is
[20:34] pause button. This pause button is pretty important because it allows us to
[20:35] pretty important because it allows us to actually stop a claud code execution in
[20:37] actually stop a claud code execution in process. So like while it's working. So
[20:39] process. So like while it's working. So I could theoretically change this at any
[20:41] I could theoretically change this at any point in time. Okay. And I could
[20:43] point in time. Okay. And I could actually pause it and then maybe I could
[20:44] actually pause it and then maybe I could give it some more instructions or uh I
[20:46] give it some more instructions or uh I don't know tell it to do something
[20:48] don't know tell it to do something differently. So, I'm actually going to
[20:49] differently. So, I'm actually going to click this little button. Then, I'm
[20:50] click this little button. Then, I'm going to go to bypass permissions. I'll
[20:52] going to go to bypass permissions. I'll say no plan, just do it. And what I've
[20:55] say no plan, just do it. And what I've done is I've I've interrupted the
[20:56] done is I've I've interrupted the process in the tool call. And now it's
[20:58] process in the tool call. And now it's going to go through and instead of
[20:59] going to go through and instead of having to do this big fat plan, I'm just
[21:01] having to do this big fat plan, I'm just going to say it's the wild wild west,
[21:03] going to say it's the wild wild west, buddy. Just get in there and start
[21:04] buddy. Just get in there and start making some changes. When I did this,
[21:05] making some changes. When I did this, you'll notice that there's now a
[21:07] you'll notice that there's now a thinking tab that's open. If you click
[21:08] thinking tab that's open. If you click on this, you can actually peer into the
[21:10] on this, you can actually peer into the internal thoughts of Claude as it goes
[21:13] internal thoughts of Claude as it goes through and accomplishes your request.
[21:16] through and accomplishes your request. So in this case I said the user wants me
[21:18] So in this case I said the user wants me to just refactor the dark mode to light
[21:19] to just refactor the dark mode to light mode without planning. Let me read the
[21:21] mode without planning. Let me read the whole file understand all the colors and
[21:23] whole file understand all the colors and then make the changes. And as you see we
[21:25] then make the changes. And as you see we just had some changes made which is what
[21:26] just had some changes made which is what this little blue uh thing is here
[21:29] this little blue uh thing is here showing that we've made you know the
[21:30] showing that we've made you know the changes. So immediately after thinking
[21:32] changes. So immediately after thinking it then did some more thinking. Then
[21:35] it then did some more thinking. Then down at the very bottom it's now updated
[21:36] down at the very bottom it's now updated a bunch of the sections of my code and
[21:38] a bunch of the sections of my code and it's continuing down some little to-do
[21:40] it's continuing down some little to-do list. So this is how you interact with
[21:42] list. So this is how you interact with cloud code through the graphical user
[21:44] cloud code through the graphical user interface. And there are a couple of
[21:45] interface. And there are a couple of additional things like you can click on
[21:47] additional things like you can click on this button to attach files and folders
[21:48] this button to attach files and folders and use the browser. You can also check
[21:50] and use the browser. You can also check all of the commands here which are
[21:52] all of the commands here which are pretty powerful stuff and I'll cover
[21:54] pretty powerful stuff and I'll cover them all in due time. So that's claude
[21:55] them all in due time. So that's claude code in Visual Studio Code VS Code.
[21:58] code in Visual Studio Code VS Code. Let's now cover how it looks in
[21:59] Let's now cover how it looks in anti-gravity. How to set that up and
[22:01] anti-gravity. How to set that up and then immediately after we're going to
[22:02] then immediately after we're going to build an actual real web app using
[22:04] build an actual real web app using Claude Code. As expected, anti-gravity
[22:06] Claude Code. As expected, anti-gravity is pretty similar. They have a website
[22:07] is pretty similar. They have a website here called anti-gravity.google. It's
[22:09] here called anti-gravity.google. It's very sexy and clean. Wouldn't be
[22:11] very sexy and clean. Wouldn't be surprised they built this with agents.
[22:13] surprised they built this with agents. You just click download for whatever
[22:14] You just click download for whatever your specific um you know operating
[22:16] your specific um you know operating system is. In my case, Mac OS with Apple
[22:18] system is. In my case, Mac OS with Apple silicon. Going to give that a click.
[22:19] silicon. Going to give that a click. Then it'll go through that same process
[22:20] Then it'll go through that same process that we just did for VS Code. Once you
[22:22] that we just did for VS Code. Once you open up anti-gravity, it looks very
[22:25] open up anti-gravity, it looks very similar to what we just saw a moment ago
[22:26] similar to what we just saw a moment ago with VS Code. And that's because the two
[22:28] with VS Code. And that's because the two were sort of built on each other. So,
[22:30] were sort of built on each other. So, just like VS Code was both a file
[22:32] just like VS Code was both a file explorer, a file editor, a notepad, and
[22:35] explorer, a file editor, a notepad, and an agent manager, you can see here we
[22:37] an agent manager, you can see here we have those three same ideas. On the left
[22:39] have those three same ideas. On the left hand side, we're going to have the
[22:40] hand side, we're going to have the folders. On the middle, we're going to
[22:41] folders. On the middle, we're going to be able to edit the uh text of the files
[22:43] be able to edit the uh text of the files that we uh uh work with. And then on the
[22:45] that we uh uh work with. And then on the right hand side, we can actually talk to
[22:46] right hand side, we can actually talk to agents. First thing I'm going to do is
[22:47] agents. First thing I'm going to do is I'll click open folder and we'll go back
[22:49] I'll click open folder and we'll go back to I don't know, leftclick contact just
[22:51] to I don't know, leftclick contact just so you guys could see what we're dealing
[22:52] so you guys could see what we're dealing with. And you'll you'll understand here
[22:54] with. And you'll you'll understand here that the UX is just slightly different
[22:56] that the UX is just slightly different than what we had earlier. Um you know,
[22:57] than what we had earlier. Um you know, some things are indented. We have like
[22:59] some things are indented. We have like some little cool symbols in the lefth
[23:00] some little cool symbols in the lefth hand sides of the file. This isn't super
[23:02] hand sides of the file. This isn't super important, but I just think anti-gravity
[23:04] important, but I just think anti-gravity looks cleaner, which is why I like using
[23:05] looks cleaner, which is why I like using it. In the middle here, if I click this
[23:07] it. In the middle here, if I click this index.html, HTML. You'll see that we
[23:09] index.html, HTML. You'll see that we also have the text pop up just like we
[23:10] also have the text pop up just like we did earlier. And the only real
[23:12] did earlier. And the only real difference between um anti-gravity and
[23:14] difference between um anti-gravity and VS Code. It's just what we have in this
[23:15] VS Code. It's just what we have in this right hand side. Earlier we we could
[23:17] right hand side. Earlier we we could have used Claude Code really easily
[23:18] have used Claude Code really easily because there was an actual dedicated
[23:20] because there was an actual dedicated Cloud Code button. Right now there
[23:21] Cloud Code button. Right now there isn't. In order to access Cloud Code,
[23:23] isn't. In order to access Cloud Code, assuming that you've installed it, so
[23:25] assuming that you've installed it, so head over here, Claude Code for VS Code.
[23:27] head over here, Claude Code for VS Code. Give that installation button a click.
[23:29] Give that installation button a click. Assuming that we've installed it, what
[23:30] Assuming that we've installed it, what we have to do instead is we have to
[23:31] we have to do instead is we have to double click somewhere here and then
[23:33] double click somewhere here and then click on this little claude icon. Okay?
[23:35] click on this little claude icon. Okay? and then just delete the agent icon. And
[23:37] and then just delete the agent icon. And now you have the same layout that we had
[23:39] now you have the same layout that we had earlier in VS Code. Just now you have it
[23:40] earlier in VS Code. Just now you have it with uh with cloud code. The reason why
[23:42] with uh with cloud code. The reason why is just because anti-gravity is a Google
[23:44] is just because anti-gravity is a Google product. So they try and push uh the
[23:46] product. So they try and push uh the Google Gemini series of models. That's
[23:47] Google Gemini series of models. That's what we had on the right hand side
[23:48] what we had on the right hand side earlier. And to be clear, this is a
[23:50] earlier. And to be clear, this is a cloud code specific course. Um but you
[23:52] cloud code specific course. Um but you can also use whatever model you want to
[23:53] can also use whatever model you want to do whatever purpose. Like the model type
[23:55] do whatever purpose. Like the model type is less important than just the fact
[23:56] is less important than just the fact that you're really good at using it and
[23:58] that you're really good at using it and the fact that it's smart. So exact same
[24:00] the fact that it's smart. So exact same layout here. Not going to cover it
[24:01] layout here. Not going to cover it anymore. Let's get into actually
[24:02] anymore. Let's get into actually building some stuff. So, let's now build
[24:04] building some stuff. So, let's now build our very first app/web page with claude
[24:09] our very first app/web page with claude code. For simplicity sake, I'm starting
[24:12] code. For simplicity sake, I'm starting with probably the most straightforward
[24:14] with probably the most straightforward build, which is just going to be a web
[24:16] build, which is just going to be a web page. And we're not just going to do the
[24:18] page. And we're not just going to do the hero header, which is the top or above
[24:20] hero header, which is the top or above the fold section. We're going to do the
[24:21] the fold section. We're going to do the the whole website. And the reason why
[24:23] the whole website. And the reason why I'm starting with this is because I just
[24:25] I'm starting with this is because I just want everybody to understand how good
[24:27] want everybody to understand how good Claude Code and similar tools have
[24:29] Claude Code and similar tools have gotten at being able to design
[24:30] gotten at being able to design highquality websites. This is a site up
[24:33] highquality websites. This is a site up here called godly.ebsite. And what it
[24:35] here called godly.ebsite. And what it does is it basically just showcases
[24:37] does is it basically just showcases really highquality design. And every
[24:40] really highquality design. And every single one of these, with maybe just a
[24:42] single one of these, with maybe just a couple of exceptions, is now doable in
[24:45] couple of exceptions, is now doable in probably I want to say less than 10
[24:48] probably I want to say less than 10 minutes or so front to back using cloud
[24:51] minutes or so front to back using cloud code. This isn't me just, you know,
[24:53] code. This isn't me just, you know, pretending. This is something that I
[24:55] pretending. This is something that I have done myself dozens of times. I've
[24:57] have done myself dozens of times. I've built really high quality websites. The
[24:58] built really high quality websites. The other day I built like 15 or so for a
[25:00] other day I built like 15 or so for a project. um they all look just like
[25:02] project. um they all look just like this. So, award-winning design,
[25:04] this. So, award-winning design, award-winning app functionality and
[25:06] award-winning app functionality and stuff like that. These are just a few of
[25:08] stuff like that. These are just a few of the things that you guys are going to
[25:09] the things that you guys are going to learn today. In addition, you're also
[25:11] learn today. In addition, you're also going to learn how claude.md, which is
[25:14] going to learn how claude.md, which is the system brain file, affects your
[25:17] the system brain file, affects your prompts. I'm going to run you guys
[25:19] prompts. I'm going to run you guys through the three major ways that people
[25:20] through the three major ways that people currently design sites and the various
[25:22] currently design sites and the various ways that you guys could use um these
[25:24] ways that you guys could use um these approaches to both design websites,
[25:26] approaches to both design websites, apps, and more or less anything else you
[25:27] apps, and more or less anything else you want. Then, I'm also going to talk a
[25:29] want. Then, I'm also going to talk a little bit about deploying
[25:31] little bit about deploying So let's start with cloud.md.
[25:34] So let's start with cloud.md. I have open in anti-gravity here. Um the
[25:37] I have open in anti-gravity here. Um the same workspace that we were looking at
[25:38] same workspace that we were looking at before with just a couple of changes.
[25:40] before with just a couple of changes. Namely, there's this node modules folder
[25:43] Namely, there's this node modules folder here, which you guys don't have to pay
[25:44] here, which you guys don't have to pay attention to. Um this is automatically
[25:46] attention to. Um this is automatically generated by cloud code every time we
[25:48] generated by cloud code every time we use a library or use some sort of um npm
[25:50] use a library or use some sort of um npm package. And then underneath we have
[25:53] package. And then underneath we have claw.md. Now claw.md as mentioned is the
[25:56] claw.md. Now claw.md as mentioned is the brain of your workspace.
[26:00] brain of your workspace. To make it really really simple and
[26:02] To make it really really simple and straightforward for you because I think
[26:03] straightforward for you because I think a lot of people misunderstand how cloud
[26:04] a lot of people misunderstand how cloud identities work. Let's just look at a
[26:06] identities work. Let's just look at a hypothetical conversation
[26:08] hypothetical conversation over here. Let's say you are on the
[26:12] over here. Let's say you are on the right hand side. And so what you do,
[26:14] right hand side. And so what you do, okay,
[26:16] okay, is you say, "Hey, research X for me.
[26:20] is you say, "Hey, research X for me. Research, I don't know, the best
[26:22] Research, I don't know, the best trending posts on Twitter in my niche,
[26:24] trending posts on Twitter in my niche, whatever the heck, right?" And then what
[26:26] whatever the heck, right?" And then what ends up happening is the model
[26:28] ends up happening is the model afterwards claude whatever you're using
[26:30] afterwards claude whatever you're using whether it's opus 4.6 six or 4.5 or
[26:33] whether it's opus 4.6 six or 4.5 or sonnet or haiku, it'll respond to you in
[26:35] sonnet or haiku, it'll respond to you in purple saying sure at one moment after
[26:37] purple saying sure at one moment after it returns whatever you want then you
[26:40] it returns whatever you want then you know you continue in this vein and so
[26:42] know you continue in this vein and so what I'm trying to get at is there's a
[26:44] what I'm trying to get at is there's a pattern here right there's user and then
[26:46] pattern here right there's user and then there's model and then there's user and
[26:48] there's model and then there's user and then there's model
[26:51] then there's model the way that the claw.md prompt works is
[26:54] the way that the claw.md prompt works is basically at the very first message
[26:57] basically at the very first message before you even get to that point what's
[26:59] before you even get to that point what's hidden from you is the fact that there's
[27:01] hidden from you is the fact that there's actually another prompt. Okay, this
[27:04] actually another prompt. Okay, this prompt is injected at the very top of
[27:07] prompt is injected at the very top of your conversation string before you even
[27:09] your conversation string before you even send the first message. And so this
[27:12] send the first message. And so this cloudmd being sort of the very first
[27:14] cloudmd being sort of the very first thing that the model reads and sort of
[27:16] thing that the model reads and sort of internalizes is really really important
[27:19] internalizes is really really important to help steer the output of the ship.
[27:22] to help steer the output of the ship. Now what is steering the output of the
[27:23] Now what is steering the output of the ship? Well, I often use an analogy here.
[27:26] ship? Well, I often use an analogy here. Let's say you're somewhere on the east
[27:28] Let's say you're somewhere on the east coast of uh you know, North America and
[27:31] coast of uh you know, North America and you're trying to go to I don't know,
[27:33] you're trying to go to I don't know, let's say the westmost coast of Africa
[27:35] let's say the westmost coast of Africa or something like that. As you guys
[27:37] or something like that. As you guys know, these intervening distances are
[27:38] know, these intervening distances are are really huge. These are I don't
[27:40] are really huge. These are I don't actually know how long it is, but
[27:42] actually know how long it is, but probably at least 10,000 km or so. Now,
[27:45] probably at least 10,000 km or so. Now, if you're a ship positioned right over
[27:47] if you're a ship positioned right over here, okay, and this is your port and
[27:49] here, okay, and this is your port and your goal port is over here.
[27:53] your goal port is over here. Let's hypothetically say you have
[27:54] Let's hypothetically say you have limited ability to steer the ship. For
[27:56] limited ability to steer the ship. For whatever reason, the steering wheel or
[27:58] whatever reason, the steering wheel or whatever the ship equivalent is, it just
[27:59] whatever the ship equivalent is, it just doesn't really turn that much. What that
[28:01] doesn't really turn that much. What that means is if you wanted to make it as
[28:03] means is if you wanted to make it as close as humanly possible to that X,
[28:05] close as humanly possible to that X, what you would have to do logically is
[28:07] what you would have to do logically is you'd have to make sure you're very very
[28:11] you'd have to make sure you're very very accurate at least when you leave the the
[28:13] accurate at least when you leave the the port. And the reason why is because if
[28:15] port. And the reason why is because if you're not, okay, if you give even a
[28:17] you're not, okay, if you give even a very slight range of possible, I want to
[28:21] very slight range of possible, I want to say angles that you could go, okay, it
[28:24] say angles that you could go, okay, it may not seem like that big of a
[28:25] may not seem like that big of a difference if you go, you know, from
[28:27] difference if you go, you know, from this line um to this line, at least
[28:29] this line um to this line, at least initially, right? But over an
[28:31] initially, right? But over an intervening distance of tens of
[28:32] intervening distance of tens of thousands of kilometers, obviously this
[28:34] thousands of kilometers, obviously this goes, you know, a very very long way
[28:35] goes, you know, a very very long way away from what your what your goal is.
[28:37] away from what your what your goal is. And so steerability in AI is basically
[28:41] And so steerability in AI is basically when you try and minimize
[28:45] when you try and minimize the number of potential or the width of
[28:47] the number of potential or the width of all of the potential options. And so
[28:50] all of the potential options. And so what clawmd does is it allows you to
[28:52] what clawmd does is it allows you to take this space of like, you know, a
[28:54] take this space of like, you know, a really wide angle of ways that the AI
[28:56] really wide angle of ways that the AI could go. Okay? And it's like I don't
[28:58] could go. Okay? And it's like I don't even know where the hell we're going to
[28:59] even know where the hell we're going to go if we take that topmost path and then
[29:01] go if we take that topmost path and then compress it down into a much more likely
[29:05] compress it down into a much more likely subset of possible options that the AI
[29:08] subset of possible options that the AI could go such that you know if you were
[29:11] could go such that you know if you were to be even slightly off here the impact
[29:13] to be even slightly off here the impact on your final destination while you know
[29:15] on your final destination while you know you wouldn't make it to your goal you
[29:17] you wouldn't make it to your goal you still make it pretty close. So I want
[29:19] still make it pretty close. So I want you to treat your cloud.MD MD is
[29:20] you to treat your cloud.MD MD is basically that initial trajectory that
[29:23] basically that initial trajectory that you launch um all of your cloud sessions
[29:27] you launch um all of your cloud sessions um whether in terminal or whether in the
[29:28] um whether in terminal or whether in the GUI tool like I'm showing up here. So
[29:31] GUI tool like I'm showing up here. So with that understood now that we're on
[29:33] with that understood now that we're on the same page about how cloudmd is
[29:35] the same page about how cloudmd is injected at the very front of any
[29:36] injected at the very front of any conversation you start to realize that
[29:39] conversation you start to realize that there's a tremendous amount of value in
[29:41] there's a tremendous amount of value in making that cloudmd as high quality as
[29:43] making that cloudmd as high quality as possible. Okay. So including a file
[29:46] possible. Okay. So including a file capital C cl a Ude.m MD in any workspace
[29:50] capital C cl a Ude.m MD in any workspace project directory means that this is now
[29:52] project directory means that this is now injected at the front of our
[29:54] injected at the front of our conversation. And so you don't talk to
[29:57] conversation. And so you don't talk to this any differently than you would
[29:58] this any differently than you would claude itself. This is just a file that
[30:00] claude itself. This is just a file that standardizes it and makes it really easy
[30:02] standardizes it and makes it really easy to build in like conventions for
[30:04] to build in like conventions for different workspaces. In such a file,
[30:07] different workspaces. In such a file, you're going to want to be very concise
[30:09] you're going to want to be very concise and you're also going to want to give it
[30:10] and you're also going to want to give it sort of the bounds of what this
[30:12] sort of the bounds of what this workspace is for. I could just as well
[30:14] workspace is for. I could just as well actually copy this whole thing over,
[30:16] actually copy this whole thing over, okay, and then paste this directly into
[30:18] okay, and then paste this directly into my cloud code and then just get rid of
[30:20] my cloud code and then just get rid of my cloud MD entirely. But the value in
[30:22] my cloud MD entirely. But the value in having a cloud MD is I just don't have
[30:24] having a cloud MD is I just don't have to do that every time. It's initialized
[30:26] to do that every time. It's initialized very top of that conversation history
[30:28] very top of that conversation history like we just saw. And so what's in here
[30:31] like we just saw. And so what's in here to be honest is not super important. I
[30:33] to be honest is not super important. I actually had another version of Claude
[30:35] actually had another version of Claude just develop this based off some um
[30:37] just develop this based off some um Twitter posts that I saw that talked all
[30:39] Twitter posts that I saw that talked all about how to build websites with best
[30:40] about how to build websites with best practices. And you guys have access to
[30:42] practices. And you guys have access to all this stuff down below. I obviously
[30:44] all this stuff down below. I obviously have that template folder um that you
[30:45] have that template folder um that you guys could use to to get this and
[30:47] guys could use to to get this and anything else. But suffice to say um
[30:50] anything else. But suffice to say um this is how or one of the ways rather
[30:52] this is how or one of the ways rather that you can currently design websites
[30:53] that you can currently design websites using claude code. So the three major
[30:57] using claude code. So the three major ways that people are currently using
[30:58] ways that people are currently using claude code and other agents to do
[31:00] claude code and other agents to do designs are as follows. The first is
[31:03] designs are as follows. The first is that you give it a pre-existing design
[31:05] that you give it a pre-existing design and then you give it the ability to
[31:06] and then you give it the ability to screenshot itself over and over and over
[31:08] screenshot itself over and over and over and over again. And basically what
[31:10] and over again. And basically what happens is the first variant that they
[31:13] happens is the first variant that they create that cloud code creates will be
[31:15] create that cloud code creates will be like an 80% match. Then it'll screenshot
[31:17] like an 80% match. Then it'll screenshot that compare it directly to the source
[31:20] that compare it directly to the source image and then um list all the
[31:22] image and then um list all the differences and then get 90% of the way
[31:24] differences and then get 90% of the way there. And then it'll get 95% of the way
[31:26] there. And then it'll get 95% of the way there. And it usually can't get 100% of
[31:28] there. And it usually can't get 100% of the way there, but it can get like 99%
[31:30] the way there, but it can get like 99% of the way. The value in this sort of
[31:32] of the way. The value in this sort of approach is what we're doing is we're
[31:33] approach is what we're doing is we're basically taking an inspiration website.
[31:36] basically taking an inspiration website. And so in our case, we're going to be
[31:37] And so in our case, we're going to be using it on this site here. Um, and then
[31:39] using it on this site here. Um, and then we're using that to template out a bunch
[31:41] we're using that to template out a bunch of like design fundamentals. So like the
[31:43] of like design fundamentals. So like the size of the text, the colors, the the
[31:44] size of the text, the colors, the the way the buttons look and stuff. And then
[31:46] way the buttons look and stuff. And then what you do is you just change the
[31:48] what you do is you just change the content of the site with cloud so that
[31:50] content of the site with cloud so that it's like whatever site you want it to
[31:51] it's like whatever site you want it to make. So in my case, you know, I run
[31:52] make. So in my case, you know, I run this business called Leftclick. This is
[31:54] this business called Leftclick. This is my a automation agency. Um, you know, we
[31:56] my a automation agency. Um, you know, we help people install growth systems into
[31:59] help people install growth systems into their businesses, typically B2B
[32:00] their businesses, typically B2B agencies. So what I would do is I would
[32:02] agencies. So what I would do is I would basically try and rebuild this site
[32:03] basically try and rebuild this site using this design. And you know, I can
[32:06] using this design. And you know, I can make some minor changes afterwards, but
[32:07] make some minor changes afterwards, but so long as I start with this nugget,
[32:09] so long as I start with this nugget, Claude tends to do a really good job
[32:10] Claude tends to do a really good job afterwards. The second way to build is
[32:13] afterwards. The second way to build is you basically just give it a massive
[32:14] you basically just give it a massive voice transcript dump. For those of you
[32:16] voice transcript dump. For those of you that didn't know, there are now ways for
[32:18] that didn't know, there are now ways for us to uh basically dump like a large
[32:21] us to uh basically dump like a large amount of text using a voice transcript
[32:22] amount of text using a voice transcript tool. I'll show you guys what that looks
[32:23] tool. I'll show you guys what that looks like now, but if I just hold this Fn
[32:25] like now, but if I just hold this Fn key, this little widget appears at the
[32:27] key, this little widget appears at the bottom of my screen. Now, this is
[32:28] bottom of my screen. Now, this is listening to everything that I say. And
[32:29] listening to everything that I say. And because I can speak a lot faster than I
[32:31] because I can speak a lot faster than I can type, I can actually say a fair
[32:33] can type, I can actually say a fair amount in a pretty short period of time.
[32:34] amount in a pretty short period of time. Most people type it between 50 to maybe
[32:36] Most people type it between 50 to maybe 70 words a minute, but we talk closer to
[32:38] 70 words a minute, but we talk closer to 200 words a minute. That's a two and a
[32:40] 200 words a minute. That's a two and a half to maybe 3x improvement. And
[32:42] half to maybe 3x improvement. And because these models are so intelligent
[32:43] because these models are so intelligent and smart and capable of extracting the
[32:45] and smart and capable of extracting the meaning from the text, you know, text is
[32:47] meaning from the text, you know, text is all they look at all day long. Um, what
[32:49] all they look at all day long. Um, what you could do is you could just use a
[32:51] you could do is you could just use a massive voice transcript dump to
[32:53] massive voice transcript dump to basically spell out everything that you
[32:54] basically spell out everything that you want on the website. Um, this isn't
[32:56] want on the website. Um, this isn't going to oneshot your website because we
[32:58] going to oneshot your website because we don't have a pre-existing design, but
[32:59] don't have a pre-existing design, but then you can just go back and forth with
[33:01] then you can just go back and forth with it. And then in a fraction of the time
[33:02] it. And then in a fraction of the time of developing a real website using a
[33:03] of developing a real website using a voice transcript tool, you can get
[33:04] voice transcript tool, you can get pretty close. The third major way people
[33:07] pretty close. The third major way people are currently designing is they use
[33:09] are currently designing is they use components. Now for anyone here um
[33:11] components. Now for anyone here um unsure of what components are, basically
[33:15] unsure of what components are, basically there are now services and tools out
[33:17] there are now services and tools out there like 21st.dev where designers have
[33:20] there like 21st.dev where designers have created specific components on websites
[33:23] created specific components on websites and there are features on these where
[33:25] and there are features on these where you can actually click on it and then
[33:26] you can actually click on it and then click on this button up here, copy
[33:28] click on this button up here, copy prompt. Okay. And then it will take this
[33:31] prompt. Okay. And then it will take this entire web page, entire design, you
[33:33] entire web page, entire design, you know, this little animation flickering
[33:36] know, this little animation flickering thing, this jump on a call button, this
[33:37] thing, this jump on a call button, this sign up here button, whatever. And then
[33:39] sign up here button, whatever. And then it'll copy all the text needed to have
[33:41] it'll copy all the text needed to have Claude code reproduce that for you. And
[33:44] Claude code reproduce that for you. And so it's really straightforward and
[33:45] so it's really straightforward and simple. You just make an account on one
[33:46] simple. You just make an account on one of these services. And then let's say
[33:47] of these services. And then let's say you're building a website. You scroll
[33:49] you're building a website. You scroll through and you're like, "Wow, I really
[33:50] through and you're like, "Wow, I really like this background paths component,
[33:52] like this background paths component, right? With these cool sweeping things.
[33:54] right? With these cool sweeping things. I want that on my website." You would
[33:56] I want that on my website." You would just copy the prompt, paste it into
[33:57] just copy the prompt, paste it into cloud code and say, "Hey, install this
[33:59] cloud code and say, "Hey, install this thing somewhere up at the top because AI
[34:01] thing somewhere up at the top because AI is great at language. Uh, you know, you
[34:03] is great at language. Uh, you know, you can get pretty close." So, you can do
[34:04] can get pretty close." So, you can do all sorts of things with this. You could
[34:06] all sorts of things with this. You could do like cool button borders as we see
[34:08] do like cool button borders as we see here. You could have like a sign-in
[34:09] here. You could have like a sign-in component over here. You could have
[34:11] component over here. You could have multiple cards. You know, this stuff is
[34:13] multiple cards. You know, this stuff is okay. To be honest, I find it much
[34:15] okay. To be honest, I find it much easier just to go straight to u number
[34:17] easier just to go straight to u number one, which is just giving it a design in
[34:19] one, which is just giving it a design in a screenshot loop and just having it
[34:20] a screenshot loop and just having it work off of something pre-existing. I
[34:22] work off of something pre-existing. I don't want you guys to think of this as
[34:23] don't want you guys to think of this as like you copying a design as you'll see
[34:25] like you copying a design as you'll see the end result will be quite different
[34:27] the end result will be quite different from this but it's just a good way for
[34:28] from this but it's just a good way for you to like get a rough idea of the end
[34:32] you to like get a rough idea of the end design um and also not have to worry
[34:33] design um and also not have to worry about things like the sizes of fonts you
[34:35] about things like the sizes of fonts you know the the colors and so on and so
[34:37] know the the colors and so on and so forth. Okay, so we're basically going to
[34:39] forth. Okay, so we're basically going to use this as like our inspiration and
[34:41] use this as like our inspiration and then once we have our inspiration in
[34:42] then once we have our inspiration in place um Claude's going to be able to
[34:43] place um Claude's going to be able to design whatever we want whether it's an
[34:45] design whatever we want whether it's an app or a dashboard or whatnot uh very
[34:47] app or a dashboard or whatnot uh very very quickly. The final thing that I
[34:48] very quickly. The final thing that I have to talk about before we actually do
[34:50] have to talk about before we actually do the designing is the difference between
[34:51] the designing is the difference between building something and then deploying.
[34:53] building something and then deploying. So when you build something, you're
[34:55] So when you build something, you're typically building it locally. When you
[34:57] typically building it locally. When you do a tool, an automation like we're
[34:59] do a tool, an automation like we're going to do later on in the course or an
[35:01] going to do later on in the course or an app or a website, you know, we're we're
[35:03] app or a website, you know, we're we're running this thing on our local
[35:04] running this thing on our local computer. But if we want other people to
[35:06] computer. But if we want other people to be able to access it, then obviously we
[35:08] be able to access it, then obviously we need to deploy it. We need to push it
[35:09] need to deploy it. We need to push it onto the internet and there variety of
[35:11] onto the internet and there variety of different tools that allow you to do so.
[35:12] different tools that allow you to do so. So today I'm just going to show you how
[35:14] So today I'm just going to show you how to build the stuff and then over the
[35:16] to build the stuff and then over the course the next few modules as we get
[35:17] course the next few modules as we get deeper and deeper into the course I'll
[35:19] deeper and deeper into the course I'll also talk a little bit about tools like
[35:20] also talk a little bit about tools like Netlefi Versel modal and whatnot that
[35:23] Netlefi Versel modal and whatnot that allow you to pull to push both your
[35:25] allow you to pull to push both your software uh the tools that you make and
[35:27] software uh the tools that you make and then even things like websites and and
[35:29] then even things like websites and and full-fledged apps to the cloud so that
[35:31] full-fledged apps to the cloud so that other people can access it on a domain
[35:33] other people can access it on a domain like you know nicksaw awesometool.com.
[35:35] like you know nicksaw awesometool.com. Okay, so without further ado, how would
[35:36] Okay, so without further ado, how would I actually go about this design process?
[35:38] I actually go about this design process? Well, as mentioned, I had this
[35:39] Well, as mentioned, I had this claude.mmd file set up here. And this is
[35:41] claude.mmd file set up here. And this is just something that I had Claude uh
[35:43] just something that I had Claude uh basically scrape through Twitter to find
[35:45] basically scrape through Twitter to find me the best practices of all of the
[35:47] me the best practices of all of the different types of website designs out
[35:48] different types of website designs out there that people are currently using
[35:49] there that people are currently using Claude and other tools to create. Uh,
[35:51] Claude and other tools to create. Uh, and then I just had it like write me a
[35:52] and then I just had it like write me a little a little script, basically a
[35:54] little a little script, basically a little summary. And this is very
[35:56] little summary. And this is very squarely this give it a design
[35:58] squarely this give it a design screenshot loop. It's just written in
[35:59] screenshot loop. It's just written in like a very particular way. You do not
[36:01] like a very particular way. You do not need to know how the tools work. You
[36:02] need to know how the tools work. You don't need to know how anything works.
[36:03] don't need to know how anything works. You basically just need to know how to
[36:04] You basically just need to know how to like find a resource out there or use AI
[36:06] like find a resource out there or use AI to find a resource and then use it to
[36:07] to find a resource and then use it to make your own claw.d D. With that in
[36:09] make your own claw.d D. With that in mind, what I'm going to do now is I'm
[36:10] mind, what I'm going to do now is I'm actually just going to go on the website
[36:12] actually just going to go on the website that I want, I'm going to screenshot it.
[36:13] that I want, I'm going to screenshot it. However, if you guys aren't familiar,
[36:15] However, if you guys aren't familiar, um, you know, if I just screenshot like
[36:17] um, you know, if I just screenshot like one section of the site, like this for
[36:18] one section of the site, like this for instance, on Mac, then I feed it in, you
[36:21] instance, on Mac, then I feed it in, you know, I don't actually have most of the
[36:22] know, I don't actually have most of the site, right? I only have that hero
[36:23] site, right? I only have that hero header. Okay. In terms of how to
[36:25] header. Okay. In terms of how to actually build this puppy, um, use
[36:27] actually build this puppy, um, use command shift I or right click on the
[36:30] command shift I or right click on the page and then type inspect. This will
[36:32] page and then type inspect. This will open up a window that looks something
[36:34] open up a window that looks something like this. Once you're done, change the
[36:36] like this. Once you're done, change the dimensions to full page width. On
[36:39] dimensions to full page width. On desktop, that's usually 1920x 1080. This
[36:42] desktop, that's usually 1920x 1080. This is termed the widescreen aspect ratio.
[36:44] is termed the widescreen aspect ratio. Then just hold commandshiftp. I think
[36:47] Then just hold commandshiftp. I think it's control shiftp on Windows. You'll
[36:49] it's control shiftp on Windows. You'll open up this little command bar. With
[36:50] open up this little command bar. With this command bar in place, you can then
[36:52] this command bar in place, you can then just type in screenshot and then go
[36:53] just type in screenshot and then go capture full size screenshot. It'll
[36:55] capture full size screenshot. It'll actually scroll through the whole site
[36:57] actually scroll through the whole site and take an entire screenshot for you.
[36:59] and take an entire screenshot for you. If I click on this button now, as you
[37:00] If I click on this button now, as you guys could see, we now have a screenshot
[37:02] guys could see, we now have a screenshot of the entire website top to bottom.
[37:04] of the entire website top to bottom. It's kind of a hack. Not a lot of people
[37:06] It's kind of a hack. Not a lot of people realize that you can do this, but you
[37:07] realize that you can do this, but you can. It's pretty neat. And once we have
[37:09] can. It's pretty neat. And once we have this, we just have to do one more thing.
[37:10] this, we just have to do one more thing. It's pretty big right now. If you were
[37:12] It's pretty big right now. If you were to send cloud code, you know, like 20
[37:14] to send cloud code, you know, like 20 megabytes or something like that of
[37:15] megabytes or something like that of file, um, number one, it would like
[37:17] file, um, number one, it would like really massively eat up your token
[37:18] really massively eat up your token limits. And then two, uh, I think the
[37:20] limits. And then two, uh, I think the API might have like a limit on this. So,
[37:22] API might have like a limit on this. So, we just have to make this file
[37:23] we just have to make this file significantly smaller. So, I'm just
[37:24] significantly smaller. So, I'm just going to open up this resize PNG file
[37:27] going to open up this resize PNG file here. um page called resize PNG from i
[37:30] here. um page called resize PNG from i loveimage.com. You can use whatever the
[37:31] loveimage.com. You can use whatever the heck you want. Then I'm just going to
[37:33] heck you want. Then I'm just going to drag and drop this in. I don't know, 50%
[37:35] drag and drop this in. I don't know, 50% smaller, even like 75% smaller. And then
[37:38] smaller, even like 75% smaller. And then click resize images. This is now going
[37:40] click resize images. This is now going to basically remap this for us. We can
[37:42] to basically remap this for us. We can click download. What we're looking for
[37:44] click download. What we're looking for is we're looking to get a file that's
[37:45] is we're looking to get a file that's less than about I want to say um I think
[37:49] less than about I want to say um I think like four or five megabytes or so. So
[37:51] like four or five megabytes or so. So it's not perfect. Okay, it's a little
[37:52] it's not perfect. Okay, it's a little bit blurry, but it's all right. Maybe
[37:54] bit blurry, but it's all right. Maybe I'm just going to go back and resize
[37:56] I'm just going to go back and resize this one more time so that it's um I
[37:58] this one more time so that it's um I don't know, maybe a little bit bigger.
[37:59] don't know, maybe a little bit bigger. Let's do 50% smaller instead of 75%.
[38:01] Let's do 50% smaller instead of 75%. Okay, once we're done, we can click
[38:02] Okay, once we're done, we can click download resized images. This one is
[38:05] download resized images. This one is about 4 megabytes or so. If we open it
[38:07] about 4 megabytes or so. If we open it up, you can see that it's still high
[38:09] up, you can see that it's still high quality, but it's much much smaller than
[38:10] quality, but it's much much smaller than the other file, which is like three or
[38:12] the other file, which is like three or four times. And now that we're done, we
[38:13] four times. And now that we're done, we just add this into cloud code. So, back
[38:15] just add this into cloud code. So, back to our cloud code instance. I'm going to
[38:17] to our cloud code instance. I'm going to go down here to bypass permissions.
[38:19] go down here to bypass permissions. Then, I just need to go find the file.
[38:20] Then, I just need to go find the file. So, I'm going to click this top right
[38:22] So, I'm going to click this top right hand corner and I'm just going to see if
[38:23] hand corner and I'm just going to see if I can drag this in directly.
[38:26] I can drag this in directly. Okay, so it's going to open this up.
[38:27] Okay, so it's going to open this up. That's okay. Just zoom in, copy, and
[38:30] That's okay. Just zoom in, copy, and then you can actually paste this in um
[38:32] then you can actually paste this in um directly.
[38:34] directly. Okay, so just click that copy button,
[38:35] Okay, so just click that copy button, paste it, and you actually have the
[38:36] paste it, and you actually have the whole file as context. Okay, and then we
[38:38] whole file as context. Okay, and then we just have to do one more thing. We're
[38:40] just have to do one more thing. We're just going to head back to the website.
[38:41] just going to head back to the website. I'm going to find actual, and then
[38:44] I'm going to find actual, and then scroll down to this little body tag, and
[38:45] scroll down to this little body tag, and then rightclick and press copy styles.
[38:48] then rightclick and press copy styles. This is going to copy the styles of the
[38:50] This is going to copy the styles of the site, including the button colors and
[38:52] site, including the button colors and sort of like the little gradients in the
[38:53] sort of like the little gradients in the background and and so on and so forth.
[38:55] background and and so on and so forth. And paste that in. Okay. And then I'm
[38:58] And paste that in. Okay. And then I'm just going to press enter. Now that
[39:00] just going to press enter. Now that we've uploaded these, keep in mind that
[39:02] we've uploaded these, keep in mind that despite the fact that this might mean
[39:04] despite the fact that this might mean nothing to you or I, um, keep in mind
[39:06] nothing to you or I, um, keep in mind that there's that extra prompt that's
[39:08] that there's that extra prompt that's been injected up at the top that
[39:10] been injected up at the top that literally says when the user provides a
[39:11] literally says when the user provides a reference image, screenshot, and
[39:12] reference image, screenshot, and optionally some CSS classes or style
[39:14] optionally some CSS classes or style notes, you should generate a website. So
[39:17] notes, you should generate a website. So that's what it's doing immediately. It's
[39:18] that's what it's doing immediately. It's analyzing the reference image and
[39:20] analyzing the reference image and building this website recreation. Let me
[39:22] building this website recreation. Let me start by creating the actual HTML file.
[39:24] start by creating the actual HTML file. So this will now walk through its own
[39:26] So this will now walk through its own little to-do list. Take screenshots of
[39:28] little to-do list. Take screenshots of its created website, compare it with
[39:30] its created website, compare it with round one, basically do the same thing
[39:32] round one, basically do the same thing over and over and over and over again
[39:33] over and over and over and over again until it gets to where we want it to go.
[39:35] until it gets to where we want it to go. And this is really what I'd consider to
[39:37] And this is really what I'd consider to be the core building philosophy
[39:40] be the core building philosophy um for cloud code. What you do is you
[39:42] um for cloud code. What you do is you basically give it a highle task which in
[39:44] basically give it a highle task which in our case we did with the claw.mmd. Okay.
[39:47] our case we did with the claw.mmd. Okay. Then we allow it to do the task
[39:50] Then we allow it to do the task and then we allow it to verify or
[39:53] and then we allow it to verify or basically judge its results.
[39:57] basically judge its results. I think the reason why a lot of people
[39:58] I think the reason why a lot of people end up sucking at cloud code or maybe
[40:00] end up sucking at cloud code or maybe they end up giving it instructions and
[40:02] they end up giving it instructions and then not being satisfied with its
[40:03] then not being satisfied with its results is they'll just give it the task
[40:05] results is they'll just give it the task and then it'll do the task and then
[40:08] and then it'll do the task and then their loop is kind of like this, right?
[40:09] their loop is kind of like this, right? task, do the task, give it another task,
[40:11] task, do the task, give it another task, do the task, so on and so on and so
[40:12] do the task, so on and so on and so forth. If you don't give cloud code the
[40:14] forth. If you don't give cloud code the ability to verify its own results either
[40:16] ability to verify its own results either visually through a screenshot tool or if
[40:18] visually through a screenshot tool or if you're building some sort of software
[40:19] you're building some sort of software through like um automated testing
[40:21] through like um automated testing mechanisms and and so on and so forth,
[40:22] mechanisms and and so on and so forth, test driven development, then uh you
[40:25] test driven development, then uh you lose like the vast majority of the value
[40:26] lose like the vast majority of the value of AI. The reality is AI is not going to
[40:29] of AI. The reality is AI is not going to be perfect the very first time, but the
[40:31] be perfect the very first time, but the value of AI is not in its ability to
[40:33] value of AI is not in its ability to oneshot everything 100%. the value of AI
[40:35] oneshot everything 100%. the value of AI is its speed because you can have it get
[40:38] is its speed because you can have it get to 80%. Let's say this is like a I don't
[40:41] to 80%. Let's say this is like a I don't know a little quality bar or something.
[40:45] know a little quality bar or something. You know what you can do is you can
[40:46] You know what you can do is you can immediately, you know, it's not just
[40:48] immediately, you know, it's not just going to be like if this is time step 1
[40:50] going to be like if this is time step 1 2 3. It's not just immediately going to
[40:51] 2 3. It's not just immediately going to be at 100%, right? That's just that's
[40:53] be at 100%, right? That's just that's not what it does. It's not going to go
[40:55] not what it does. It's not going to go from here to here in like 2 seconds and
[40:57] from here to here in like 2 seconds and be done. What it is going to do though
[41:00] be done. What it is going to do though is it's very quickly going to start
[41:03] is it's very quickly going to start here. Then it'll go here. Then it'll go
[41:06] here. Then it'll go here. Then it'll go here. It'll go here. And then eventually
[41:09] here. It'll go here. And then eventually after two or three or four time steps,
[41:11] after two or three or four time steps, it'll it'll hit that 100%. And you know,
[41:13] it'll it'll hit that 100%. And you know, we think that this is a really long
[41:15] we think that this is a really long period of time. Okay?
[41:17] period of time. Okay? But in reality, this is like 5 minutes.
[41:19] But in reality, this is like 5 minutes. And if you contrast this with how long
[41:21] And if you contrast this with how long it would take a human to do that same,
[41:23] it would take a human to do that same, you know, approach, you know, humans
[41:24] you know, approach, you know, humans will probably get closer to 100% quality
[41:27] will probably get closer to 100% quality on their very first go, but it's not
[41:28] on their very first go, but it's not going to be like a minute or two. What
[41:30] going to be like a minute or two. What this is going to be is it's going to be
[41:31] this is going to be is it's going to be like, um, I don't know, 5 hours. You
[41:34] like, um, I don't know, 5 hours. You know, we actually, believe it or not,
[41:35] know, we actually, believe it or not, tend to be a lot more precise in these
[41:36] tend to be a lot more precise in these machines that we've built. Um, we can
[41:38] machines that we've built. Um, we can oneshot things to a much greater degree
[41:39] oneshot things to a much greater degree than they can, but their ability to test
[41:42] than they can, but their ability to test and then retest and work really, really
[41:43] and then retest and work really, really quickly, orders of magnitude times
[41:44] quickly, orders of magnitude times faster than we do, is the real value.
[41:46] faster than we do, is the real value. And that's something that I don't think
[41:47] And that's something that I don't think enough people talk about. So, just make
[41:49] enough people talk about. So, just make sure there's always a task, do the task,
[41:50] sure there's always a task, do the task, and then verify the results loop
[41:52] and then verify the results loop somewhere in here, and you'll be fine.
[41:53] somewhere in here, and you'll be fine. Now, heading back to our um cloud code
[41:55] Now, heading back to our um cloud code instance, you can see it's now actually
[41:58] instance, you can see it's now actually completed the first round of its HTML.
[42:00] completed the first round of its HTML. Now, it's um screenshotted it as well.
[42:02] Now, it's um screenshotted it as well. And then it's basically comparing the
[42:04] And then it's basically comparing the screenshot to the work that it's
[42:06] screenshot to the work that it's generated. And with this, it's going to
[42:09] generated. And with this, it's going to make minor changes. So, as you see, the
[42:10] make minor changes. So, as you see, the very first thing it's done is it's
[42:12] very first thing it's done is it's replicated the get paid the same day by
[42:14] replicated the get paid the same day by setting a payment link or the most
[42:15] setting a payment link or the most flexible invoice on the planet with the
[42:16] flexible invoice on the planet with the buttons and so on and so forth. Okay?
[42:18] buttons and so on and so forth. Okay? It's also replicated that top section.
[42:20] It's also replicated that top section. And it's used little placeholders here
[42:23] And it's used little placeholders here with these 160* 100 little buttons even
[42:26] with these 160* 100 little buttons even with like the right tilts and whatnot
[42:27] with like the right tilts and whatnot because it doesn't have access to the
[42:29] because it doesn't have access to the images. It then is uh you know entering
[42:32] images. It then is uh you know entering these little divs, right? It's even got
[42:34] these little divs, right? It's even got this cool little post-it note which is
[42:35] this cool little post-it note which is really cool. And then it even has the
[42:36] really cool. And then it even has the reviews. And so as sort of like
[42:38] reviews. And so as sort of like rebuilding the design of this website,
[42:40] rebuilding the design of this website, it's doing a really good job and we're
[42:41] it's doing a really good job and we're only a couple minutes in. What's cool
[42:42] only a couple minutes in. What's cool too is if you check out the thinking
[42:43] too is if you check out the thinking tab, you can see that it's gone through
[42:46] tab, you can see that it's gone through iteratively every section of the site.
[42:48] iteratively every section of the site. Okay. And it's um you know listing what
[42:50] Okay. And it's um you know listing what it needs to do next. So better
[42:51] it needs to do next. So better decorative elements in hero, better
[42:53] decorative elements in hero, better floating band, fixing the blue dot
[42:55] floating band, fixing the blue dot positioning, improving the invoice cards
[42:56] positioning, improving the invoice cards with map thumbnails. I don't know what
[42:58] with map thumbnails. I don't know what half of the stuff means, but to be
[42:59] half of the stuff means, but to be honest, for me, it's not super
[43:00] honest, for me, it's not super important. Now, just because I want it
[43:01] important. Now, just because I want it to be a little bit special and then show
[43:03] to be a little bit special and then show you the parallel capacity of Cloud Code,
[43:05] you the parallel capacity of Cloud Code, what I've done here is I've actually
[43:06] what I've done here is I've actually opened up another anti-gravity instance.
[43:09] opened up another anti-gravity instance. And what I'm going to show you guys how
[43:10] And what I'm going to show you guys how to do is actually design multiple of
[43:12] to do is actually design multiple of these simultaneously. Once we've built
[43:14] these simultaneously. Once we've built this test uh this do test and then
[43:16] this test uh this do test and then verify loop over and over and over
[43:18] verify loop over and over and over again, which we already have in our
[43:19] again, which we already have in our cloudmd, it's actually really easy to
[43:21] cloudmd, it's actually really easy to spin up multiple prompts and just have
[43:22] spin up multiple prompts and just have like 10 versions of cloud working on
[43:24] like 10 versions of cloud working on things simultaneously. So, just for
[43:27] things simultaneously. So, just for shits and giggles, why don't we head
[43:28] shits and giggles, why don't we head back over to our little website
[43:30] back over to our little website designer. It's then giving me a file
[43:31] designer. It's then giving me a file here called Twgate. Okay. And then I'm
[43:33] here called Twgate. Okay. And then I'm pasting it all in. And now my computer's
[43:35] pasting it all in. And now my computer's really humming. Like, uh, you guys
[43:37] really humming. Like, uh, you guys probably can't hear this cuz I like to
[43:38] probably can't hear this cuz I like to noise cancel most things, but it's
[43:40] noise cancel most things, but it's making some noise. And the reason why is
[43:42] making some noise. And the reason why is because I now have two of these
[43:43] because I now have two of these instances running simultaneously, both
[43:45] instances running simultaneously, both developing me a website. On the left
[43:47] developing me a website. On the left hand side of things, just expand this.
[43:49] hand side of things, just expand this. Um, we see that it's taken multiple
[43:51] Um, we see that it's taken multiple screenshots. There's screenshot one,
[43:53] screenshots. There's screenshot one, screenshot two, screenshot three. You
[43:55] screenshot two, screenshot three. You guys see how it's getting closer and
[43:56] guys see how it's getting closer and closer and closer to the end result?
[43:58] closer and closer to the end result? Well, now it's doing some final editing.
[44:00] Well, now it's doing some final editing. It's making some feature thumbnails
[44:02] It's making some feature thumbnails better. On the right hand side, it's now
[44:03] better. On the right hand side, it's now going through the initial development of
[44:05] going through the initial development of that new index.html. And so, because you
[44:07] that new index.html. And so, because you can run as many cloud instances as you
[44:09] can run as many cloud instances as you have tokens, basically, um, I can run as
[44:11] have tokens, basically, um, I can run as many of these website designers
[44:13] many of these website designers simultaneously in however many tabs I
[44:15] simultaneously in however many tabs I want. And this isn't even the most
[44:16] want. And this isn't even the most efficient way to do this. I'm going to
[44:17] efficient way to do this. I'm going to show you guys a much more effective
[44:19] show you guys a much more effective terminal management structure that'll
[44:21] terminal management structure that'll allow you to do like five or 10 or 20 of
[44:23] allow you to do like five or 10 or 20 of these simultaneously. Okay. Okay, on the
[44:24] these simultaneously. Okay. Okay, on the left hand side, it's now saying it's
[44:25] left hand side, it's now saying it's done. So, I'm going to say open
[44:26] done. So, I'm going to say open index.html. That's always just going to
[44:28] index.html. That's always just going to be the actual website file. And if you
[44:30] be the actual website file. And if you just tell it to open, it's going to go
[44:31] just tell it to open, it's going to go through and do so in a tab for you.
[44:33] through and do so in a tab for you. Okay. And here is the demo of the
[44:35] Okay. And here is the demo of the website that we put together. So, I
[44:37] website that we put together. So, I mean, it's not perfect. It's not
[44:38] mean, it's not perfect. It's not everything that I want, but it's good
[44:39] everything that I want, but it's good enough for us to start. So, what I'll do
[44:40] enough for us to start. So, what I'll do now is I'll go back and I'll have it
[44:42] now is I'll go back and I'll have it recreate. Leftclick.
[44:44] recreate. Leftclick. Hey, this is looking pretty solid so
[44:45] Hey, this is looking pretty solid so far. I'd like you to um check out
[44:48] far. I'd like you to um check out leftclick.ai.
[44:49] leftclick.ai. That's my personal website. And what I
[44:51] That's my personal website. And what I want you to do is to design uh or take
[44:55] want you to do is to design uh or take the information from leftclick.ai and
[44:56] the information from leftclick.ai and then insert it into this website. I
[44:58] then insert it into this website. I don't want this to be a clone of
[44:59] don't want this to be a clone of leftclick.ai, but I want it to be pretty
[45:01] leftclick.ai, but I want it to be pretty close. Use the formatting and everything
[45:03] close. Use the formatting and everything that you've developed so far to help
[45:05] that you've developed so far to help place elements and stuff like that as
[45:06] place elements and stuff like that as necessary. Um insert images as well and
[45:09] necessary. Um insert images as well and make sure that any elements that um are
[45:11] make sure that any elements that um are there look good. Continue doing a
[45:13] there look good. Continue doing a screenshot loop if necessary until you
[45:15] screenshot loop if necessary until you have something that looks very high-end,
[45:16] have something that looks very high-end, very professional and and minimalistic
[45:18] very professional and and minimalistic just like you've already developed.
[45:19] just like you've already developed. Okay, so I just fed in a bunch of
[45:21] Okay, so I just fed in a bunch of information. Now it's going to go
[45:22] information. Now it's going to go through fetch the content from leftclick
[45:24] through fetch the content from leftclick and then help me design the site. On the
[45:26] and then help me design the site. On the right hand side, we're creating that
[45:27] right hand side, we're creating that initial index.html. Now in this case, I
[45:30] initial index.html. Now in this case, I obviously did the two website design
[45:32] obviously did the two website design simultaneously manually. Uh but what you
[45:34] simultaneously manually. Uh but what you can do is you could actually work this
[45:35] can do is you could actually work this into your website or app design process.
[45:38] into your website or app design process. You could actually have it take in,
[45:40] You could actually have it take in, let's say, three different examples of
[45:43] let's say, three different examples of uh templates or of design inspirations,
[45:45] uh templates or of design inspirations, whether from godly.e website or from I
[45:48] whether from godly.e website or from I don't know dribble or one of these big
[45:50] don't know dribble or one of these big design aggregators and then in the
[45:52] design aggregators and then in the cloud.mmd you could say hey I actually
[45:53] cloud.mmd you could say hey I actually want you to develop three versions of
[45:54] want you to develop three versions of this then you could give it some source
[45:56] this then you could give it some source and then you could actually just like
[45:57] and then you could actually just like let it do its little test verification
[45:59] let it do its little test verification retry loop before giving it you know a
[46:01] retry loop before giving it you know a source website like in my case
[46:02] source website like in my case leftclquick.aii I to have it like do
[46:04] leftclquick.aii I to have it like do some modifications or maybe just doing a
[46:06] some modifications or maybe just doing a big voice dump of what your website is,
[46:08] big voice dump of what your website is, what it's for, the various audiences you
[46:10] what it's for, the various audiences you serve and stuff. And then at the end,
[46:11] serve and stuff. And then at the end, you could actually have three websites
[46:13] you could actually have three websites simultaneously that Claude presents to
[46:14] simultaneously that Claude presents to you after 5 or 10 minutes and says,
[46:16] you after 5 or 10 minutes and says, "Which one do you like the best?" The
[46:18] "Which one do you like the best?" The options here are virtually unlimited.
[46:19] options here are virtually unlimited. The other uh website developer so far
[46:22] The other uh website developer so far has made this, which actually looks
[46:23] has made this, which actually looks pretty reasonable. You can see that
[46:25] pretty reasonable. You can see that there's still some things that it needs
[46:26] there's still some things that it needs to change. Uh some of the text looks
[46:28] to change. Uh some of the text looks like it's placed weirdly, some of the
[46:29] like it's placed weirdly, some of the blog posts and stuff like that.
[46:30] blog posts and stuff like that. Obviously, the development is mostly
[46:32] Obviously, the development is mostly hands-off at this point. I'm just
[46:34] hands-off at this point. I'm just monitoring it. And on the left hand
[46:35] monitoring it. And on the left hand side, we've now taken four screenshots
[46:37] side, we've now taken four screenshots of this and gotten really, really close
[46:38] of this and gotten really, really close to that end result. Um, it's now
[46:40] to that end result. Um, it's now building like the leftclick site itself.
[46:42] building like the leftclick site itself. Most of the time, I don't actually care
[46:44] Most of the time, I don't actually care too much about what's in the file
[46:45] too much about what's in the file explorer. Um, so that is the third panel
[46:48] explorer. Um, so that is the third panel on the left hand side of both of these
[46:49] on the left hand side of both of these windows. So, for simplicity, what I do
[46:51] windows. So, for simplicity, what I do is I actually just close it out. And
[46:53] is I actually just close it out. And then I usually have on the right hand
[46:54] then I usually have on the right hand side some sort of output that AI has
[46:56] side some sort of output that AI has generated me. And then on the lefth hand
[46:58] generated me. And then on the lefth hand side, I just have my my actual little
[47:00] side, I just have my my actual little chat window. I'm just going to zoom out
[47:01] chat window. I'm just going to zoom out just a tiny bit here. So we're still all
[47:03] just a tiny bit here. So we're still all on the same page. We could see
[47:04] on the same page. We could see everything. Uh and then that way I can
[47:06] everything. Uh and then that way I can now just orchestrate and kind of take a
[47:08] now just orchestrate and kind of take a step back and see how things go. The
[47:10] step back and see how things go. The leftclick design is also starting to
[47:11] leftclick design is also starting to come together. As you can see, we've
[47:13] come together. As you can see, we've taken that initial website from actual
[47:15] taken that initial website from actual as inspiration. So we have like the same
[47:17] as inspiration. So we have like the same sort of buttons and the nice rounding,
[47:19] sort of buttons and the nice rounding, nice hover effects on things and then
[47:21] nice hover effects on things and then obviously we have the font. Uh but then
[47:22] obviously we have the font. Uh but then now we've actually replaced it with
[47:24] now we've actually replaced it with leftclick content. So, the definitive AI
[47:26] leftclick content. So, the definitive AI growth partner for fastmoving B2B
[47:27] growth partner for fastmoving B2B companies. Tens of millions of dollars
[47:28] companies. Tens of millions of dollars generated and more saved criteria
[47:30] generated and more saved criteria systems, real revenue, no fluff. As we
[47:32] systems, real revenue, no fluff. As we scroll through here, you can see it's
[47:33] scroll through here, you can see it's even inserted like a little
[47:34] even inserted like a little button-and-click video element. We all
[47:36] button-and-click video element. We all have our case studies down below. We
[47:38] have our case studies down below. We have some pictures of me and my business
[47:40] have some pictures of me and my business partner, although we're kind of cut off
[47:41] partner, although we're kind of cut off at the middle of the head, so we could
[47:42] at the middle of the head, so we could probably fix that. And uh yeah, we've
[47:44] probably fix that. And uh yeah, we've even got some testimonials, which is
[47:45] even got some testimonials, which is really, really clean. Let's see what
[47:47] really, really clean. Let's see what happens if I click this button. Oh,
[47:48] happens if I click this button. Oh, nice. It's even gone to our discovery
[47:50] nice. It's even gone to our discovery page. So, we we we're actually like
[47:51] page. So, we we we're actually like having buttonclick functionality and
[47:53] having buttonclick functionality and stuff like that in here as well. kind of
[47:54] stuff like that in here as well. kind of curious what happens if I click on this.
[47:56] curious what happens if I click on this. Okay, nothing so far, but maybe I can
[47:57] Okay, nothing so far, but maybe I can tell it to do stuff. We also have an
[47:59] tell it to do stuff. We also have an about and then we have a case studies.
[48:00] about and then we have a case studies. That's really nice. So, yeah, I mean
[48:02] That's really nice. So, yeah, I mean things are progressing more or less
[48:03] things are progressing more or less exactly like we wanted them to. We even
[48:05] exactly like we wanted them to. We even have our little logo. Um, from here on
[48:06] have our little logo. Um, from here on out, I'm just making minor changes and
[48:08] out, I'm just making minor changes and um, you know, going to go back and forth
[48:10] um, you know, going to go back and forth with it until I get what I want. So, on
[48:11] with it until I get what I want. So, on the left hand side, I'm just going to
[48:12] the left hand side, I'm just going to voice dump in my voice transcription
[48:14] voice dump in my voice transcription tool. I can do this like this.
[48:17] tool. I can do this like this. I really like the output. I think the
[48:20] I really like the output. I think the logo in the top lefthand corner is a
[48:22] logo in the top lefthand corner is a little too big. Make that smaller. The
[48:24] little too big. Make that smaller. The bolding of the hero header font is also
[48:26] bolding of the hero header font is also quite strong. See if we could try a
[48:28] quite strong. See if we could try a Sarah font instead of a sans sarif font.
[48:31] Sarah font instead of a sans sarif font. Underneath the introducing leftclick
[48:33] Underneath the introducing leftclick section, we have a button player um over
[48:37] section, we have a button player um over the picture of myself and Alex Ramosi
[48:40] the picture of myself and Alex Ramosi and Sam Evans. But when I click on this,
[48:42] and Sam Evans. But when I click on this, nothing happens. Either turn this into a
[48:44] nothing happens. Either turn this into a light box or eliminate that little
[48:47] light box or eliminate that little button in the middle. The rest of these
[48:49] button in the middle. The rest of these look great. My and Noah's profile
[48:52] look great. My and Noah's profile pictures are currently cut off at around
[48:54] pictures are currently cut off at around the middle of our foreheads. So, move us
[48:57] the middle of our foreheads. So, move us down and zoom out of the photo slightly
[48:59] down and zoom out of the photo slightly so that we're perfectly centered in
[49:01] so that we're perfectly centered in frame. And everything else here looks
[49:03] frame. And everything else here looks great. Meanwhile, on the right hand
[49:06] great. Meanwhile, on the right hand side, we see this index.html is now
[49:08] side, we see this index.html is now done. So, we can open this up. I'll say
[49:10] done. So, we can open this up. I'll say open in Chrome. That's now going to open
[49:14] open in Chrome. That's now going to open up the other version of that website for
[49:15] up the other version of that website for me. And it's looking like it's pretty
[49:17] me. And it's looking like it's pretty clean. It's pretty matched with what we
[49:19] clean. It's pretty matched with what we have. So, because I want to do the same
[49:21] have. So, because I want to do the same thing that I did with the other source,
[49:22] thing that I did with the other source, I'm just going to scroll back up to
[49:24] I'm just going to scroll back up to where I gave it the instructions to
[49:25] where I gave it the instructions to basically copy over left click. And then
[49:28] basically copy over left click. And then I'm just going to paste this in. And now
[49:30] I'm just going to paste this in. And now I have this also customizing the site to
[49:32] I have this also customizing the site to my specs. You don't have to develop in
[49:34] my specs. You don't have to develop in multiple tabs. Um, this is something
[49:36] multiple tabs. Um, this is something that I think you learn how to do the
[49:38] that I think you learn how to do the more of these cloud code agents,
[49:41] more of these cloud code agents, frankly, that you're orchestrating. The
[49:43] frankly, that you're orchestrating. The benefit to this is obviously you can
[49:44] benefit to this is obviously you can develop basically however many times
[49:46] develop basically however many times faster as tabs that you have open. But
[49:48] faster as tabs that you have open. But the downside is you also tend to context
[49:50] the downside is you also tend to context switch a fair bit. The number one thing
[49:51] switch a fair bit. The number one thing that you don't want clog code to do is
[49:53] that you don't want clog code to do is basically just sit around waiting for
[49:55] basically just sit around waiting for your instructions. So if you are going
[49:57] your instructions. So if you are going to do it this way, just be honest with
[49:59] to do it this way, just be honest with yourself and ask yourself whether or not
[50:00] yourself and ask yourself whether or not there's always like cloud code operating
[50:02] there's always like cloud code operating in the background. I find if it's not
[50:04] in the background. I find if it's not running because it's waiting for you for
[50:06] running because it's waiting for you for more than maybe 10 or 20% of the time,
[50:08] more than maybe 10 or 20% of the time, you probably have too many tabs open.
[50:09] you probably have too many tabs open. Personally, I cap out at about three or
[50:12] Personally, I cap out at about three or four. Depends on how intellectually
[50:13] four. Depends on how intellectually heavy the things that I'm building are.
[50:15] heavy the things that I'm building are. Um, and you know, it's a learned skill.
[50:16] Um, and you know, it's a learned skill. It's not something that you're going to
[50:17] It's not something that you're going to figure out right away. There's a fair
[50:19] figure out right away. There's a fair amount of like remembering that you have
[50:20] amount of like remembering that you have to do as well. Um, I've built a couple
[50:22] to do as well. Um, I've built a couple of things to help me build things
[50:24] of things to help me build things faster. One of them is a little hook.
[50:26] faster. One of them is a little hook. That's a chime that keeps on going off
[50:27] That's a chime that keeps on going off that you've probably been like, "Hey,
[50:28] that you've probably been like, "Hey, what the heck is that thing?" Um, that's
[50:30] what the heck is that thing?" Um, that's something that you can do, and I'll show
[50:31] something that you can do, and I'll show you guys how to do a little bit later on
[50:33] you guys how to do a little bit later on in the course. With that knowledge, you
[50:35] in the course. With that knowledge, you can basically set different chimes for
[50:37] can basically set different chimes for different windows. And when chime one
[50:39] different windows. And when chime one plays, for instance, you know that your
[50:40] plays, for instance, you know that your top left window is done. So, you can go
[50:42] top left window is done. So, you can go give it some more instructions, look at
[50:43] give it some more instructions, look at the results. when chime 2 plays, you
[50:45] the results. when chime 2 plays, you know, you can go to the top right window
[50:46] know, you can go to the top right window and and do some work there as well. All
[50:48] and and do some work there as well. All this stuff in due time. Okay, now we've
[50:51] this stuff in due time. Okay, now we've implemented all of the changes that I
[50:52] implemented all of the changes that I want, including some changes that I
[50:54] want, including some changes that I didn't even mention. As you see here in
[50:55] didn't even mention. As you see here in the background, there's this very slight
[50:57] the background, there's this very slight little vertical line design um that it
[50:59] little vertical line design um that it pulled from my main website, which is
[51:01] pulled from my main website, which is really clean. I like that. Makes it
[51:02] really clean. I like that. Makes it makes it quite different. We also have a
[51:04] makes it quite different. We also have a serif font instead of a sand serif. I
[51:06] serif font instead of a sand serif. I like that. Makes me stand out a bit. As
[51:08] like that. Makes me stand out a bit. As we scroll down, you can see that we've
[51:09] we scroll down, you can see that we've since removed that little play button,
[51:10] since removed that little play button, which didn't really make any sense, and
[51:12] which didn't really make any sense, and it's looking clean. We have all of our
[51:14] it's looking clean. We have all of our profile photos. I like how it kind of
[51:15] profile photos. I like how it kind of inset us a bit. Looks like my buddy Noah
[51:17] inset us a bit. Looks like my buddy Noah is still quite cut off, which is
[51:18] is still quite cut off, which is unfortunate. So, I'm going to have to
[51:20] unfortunate. So, I'm going to have to fix that up. But the rest of this looks
[51:21] fix that up. But the rest of this looks really good, which uh you know, I'm a
[51:23] really good, which uh you know, I'm a fan of. Let me just make sure all these
[51:24] fan of. Let me just make sure all these buttons work. Again, cool. That goes
[51:26] buttons work. Again, cool. That goes directly to our thing. With some minor
[51:28] directly to our thing. With some minor changes, I think this website's
[51:29] changes, I think this website's basically ready to go. And looking at
[51:30] basically ready to go. And looking at the other option here, we've um more or
[51:33] the other option here, we've um more or less taken the same hero header. We have
[51:36] less taken the same hero header. We have the calendar button working. We have
[51:38] the calendar button working. We have this nice noise background, which I
[51:39] this nice noise background, which I like. We still have some issues with the
[51:41] like. We still have some issues with the photos and them being cut off. You're
[51:42] photos and them being cut off. You're gonna get stuff like this uh pretty
[51:44] gonna get stuff like this uh pretty pretty often to be honest with AI, but
[51:46] pretty often to be honest with AI, but that's okay. You can also manually
[51:47] that's okay. You can also manually readjust them if necessary. I don't
[51:49] readjust them if necessary. I don't really like how there are two logos, so
[51:50] really like how there are two logos, so I'm just going to do the same thing.
[51:53] I'm just going to do the same thing. Hey, this looks great. I don't like that
[51:55] Hey, this looks great. I don't like that there is both an image logo and then a
[51:57] there is both an image logo and then a text logo. Just have the text logo. We
[51:59] text logo. Just have the text logo. We want a textgram just called leftclick in
[52:01] want a textgram just called leftclick in the top lefthand corner.
[52:03] the top lefthand corner. The noise background gradient looks a
[52:07] The noise background gradient looks a little bit blurry, so remove that. Only
[52:11] little bit blurry, so remove that. Only keep it on the social proof section.
[52:15] keep it on the social proof section. Myself and Noah's faces look fine. Just
[52:19] Myself and Noah's faces look fine. Just move Nick Sarah's head down about 15% as
[52:23] move Nick Sarah's head down about 15% as it's getting cut off a bit right now.
[52:25] it's getting cut off a bit right now. Center of the testimonials and client
[52:27] Center of the testimonials and client review section. Right now it's a little
[52:29] review section. Right now it's a little bit weirdly set off to the left. And
[52:32] bit weirdly set off to the left. And then change the 2025 copyright to 2026.
[52:36] then change the 2025 copyright to 2026. That's all. And that looks a lot cleaner
[52:38] That's all. And that looks a lot cleaner to me. We have our case studies nice and
[52:40] to me. We have our case studies nice and centered. Both of our heads are visible,
[52:42] centered. Both of our heads are visible, which is really clean. We have our
[52:43] which is really clean. We have our various services. And then down here,
[52:45] various services. And then down here, let me just click this button. Make sure
[52:46] let me just click this button. Make sure it opens that tab. Nice. So, I mean, you
[52:48] it opens that tab. Nice. So, I mean, you know, I wasn't juggling this and trying
[52:50] know, I wasn't juggling this and trying to show you guys how to do it
[52:51] to show you guys how to do it realistically. Hopefully, you guys could
[52:52] realistically. Hopefully, you guys could see. You could build your own super
[52:54] see. You could build your own super clean, high-end, sexy website in
[52:56] clean, high-end, sexy website in probably less than 5 minutes now. Um, at
[52:58] probably less than 5 minutes now. Um, at least locally. Uh, later on in the the
[53:00] least locally. Uh, later on in the the course, I'm going to show you guys how
[53:01] course, I'm going to show you guys how to take this local website and then
[53:02] to take this local website and then deploy it. That will similarly just take
[53:04] deploy it. That will similarly just take a few minutes once you know what you're
[53:05] a few minutes once you know what you're doing and the various platforms to use.
[53:07] doing and the various platforms to use. So you could take the same approach. You
[53:09] So you could take the same approach. You could use it to build an app. You could
[53:10] could use it to build an app. You could use it to build a dashboard. You could
[53:11] use it to build a dashboard. You could use it to build more or less whatever
[53:13] use it to build more or less whatever you want. Whether uh you are sourcing
[53:15] you want. Whether uh you are sourcing websites from a repository like godly uh
[53:18] websites from a repository like godly uh website ordesign or whatever. Or you're
[53:20] website ordesign or whatever. Or you're doing this maybe a little more manually.
[53:22] doing this maybe a little more manually. Maybe you're actually going into apps
[53:23] Maybe you're actually going into apps that you really like and then you're
[53:24] that you really like and then you're using them as design inspo. Um either
[53:26] using them as design inspo. Um either way is perfectly fine so long as you
[53:28] way is perfectly fine so long as you start with that little nugget.
[53:29] start with that little nugget. Everything else as you guys see here
[53:30] Everything else as you guys see here gets a lot easier. And worth noting, um,
[53:32] gets a lot easier. And worth noting, um, I just designed for desktop today, but,
[53:34] I just designed for desktop today, but, uh, if you wanted to design for mobile
[53:35] uh, if you wanted to design for mobile or whatever, you do the exact same
[53:37] or whatever, you do the exact same process. You would just do it with a
[53:38] process. You would just do it with a mobile screenshot. Uh, if you are just
[53:40] mobile screenshot. Uh, if you are just designing for a website, make sure that
[53:41] designing for a website, make sure that your websites are, you know, mobile and
[53:43] your websites are, you know, mobile and responsive and stuff like that, lest
[53:44] responsive and stuff like that, lest somebody open it up on their phone and
[53:46] somebody open it up on their phone and get treated with, I don't know, my giant
[53:48] get treated with, I don't know, my giant ass forehead. Uh, you can also do that
[53:50] ass forehead. Uh, you can also do that in the agent. Really easy. Just say,
[53:51] in the agent. Really easy. Just say, "Hey, make sure this is nice and mobile
[53:52] "Hey, make sure this is nice and mobile optimized. I'm noticing XYZ image is in
[53:54] optimized. I'm noticing XYZ image is in a weird place." Okay, so hopefully you
[53:57] a weird place." Okay, so hopefully you guys have now learned at least a little
[53:58] guys have now learned at least a little bit about the way to do a practical
[54:00] bit about the way to do a practical build and practical design with cloud
[54:01] build and practical design with cloud code. As you see, a lot of it's quite
[54:03] code. As you see, a lot of it's quite hands-off. It's not like extraordinarily
[54:05] hands-off. It's not like extraordinarily involved. What you do is you basically
[54:07] involved. What you do is you basically steer it like I I I talked about before.
[54:09] steer it like I I I talked about before. You carve out the the river and then you
[54:11] You carve out the the river and then you just give it a boat and then it just
[54:13] just give it a boat and then it just goes along its way. So long as there's
[54:15] goes along its way. So long as there's some sort of test-driven development
[54:16] some sort of test-driven development loop, some sort of screenshot or
[54:17] loop, some sort of screenshot or verification loop, uh the quality that
[54:19] verification loop, uh the quality that you can end up with is orders of
[54:20] you can end up with is orders of magnitude better than not. And if you
[54:22] magnitude better than not. And if you guys are ever wondering why you're not
[54:23] guys are ever wondering why you're not getting the results that you want, just
[54:24] getting the results that you want, just make sure you have some sort of
[54:25] make sure you have some sort of verification loop built in. Next up,
[54:27] verification loop built in. Next up, we're going to learn how to build
[54:28] we're going to learn how to build significantly more complex tools, not
[54:30] significantly more complex tools, not just websites and visually designed
[54:32] just websites and visually designed things, but also whole backends, whole
[54:34] things, but also whole backends, whole architectures, and things that you could
[54:35] architectures, and things that you could use either to, I don't know, like launch
[54:37] use either to, I don't know, like launch your own SAS product, or build really
[54:39] your own SAS product, or build really cool internal tooling for yourself, your
[54:41] cool internal tooling for yourself, your own personal life, or for your team. All
[54:43] own personal life, or for your team. All right, now that we've done a little bit
[54:44] right, now that we've done a little bit of building with Cloud Code, we put
[54:45] of building with Cloud Code, we put together what I would consider to be
[54:47] together what I would consider to be pretty solid websites with just a few
[54:48] pretty solid websites with just a few moments of work. Let's dive a little bit
[54:50] moments of work. Let's dive a little bit more into Cloud Code's advanced
[54:52] more into Cloud Code's advanced functionality. And I want to let you
[54:54] functionality. And I want to let you guys know that what I'm about to talk
[54:55] guys know that what I'm about to talk about here, probably less than 10% of
[54:58] about here, probably less than 10% of everybody that currently uses Cloud Code
[55:00] everybody that currently uses Cloud Code understands. So, when you unlock what
[55:02] understands. So, when you unlock what I'm going to be teaching you in this
[55:03] I'm going to be teaching you in this module, uh you'll know significantly
[55:05] module, uh you'll know significantly more about Cloud Code for one, and then
[55:06] more about Cloud Code for one, and then you'll also be able to combine each of
[55:08] you'll also be able to combine each of these cool different features in in
[55:10] these cool different features in in fantastic ways that uh I think you'll
[55:12] fantastic ways that uh I think you'll quickly see the value of. So, what is
[55:15] quickly see the value of. So, what is the claude directory? Just to be clear
[55:18] the claude directory? Just to be clear here for anybody that doesn't know in
[55:20] here for anybody that doesn't know in programming convention, first of all,
[55:22] programming convention, first of all, this is a folder. And in programming
[55:24] this is a folder. And in programming convention, if you put a period in front
[55:25] convention, if you put a period in front of the folder, this basically hides the
[55:28] of the folder, this basically hides the folder from view. And so if you just
[55:30] folder from view. And so if you just open it up in a file explorer, you
[55:31] open it up in a file explorer, you wouldn't actually see. For instance, you
[55:33] wouldn't actually see. For instance, you know how like um I don't know, in my
[55:34] know how like um I don't know, in my case, my computer is called Nick. And
[55:36] case, my computer is called Nick. And then underneath that, I might have some
[55:37] then underneath that, I might have some some other folders. Maybe I'll have like
[55:39] some other folders. Maybe I'll have like a documents or something. Let's turn
[55:40] a documents or something. Let's turn this off before that frustrates me. I
[55:43] this off before that frustrates me. I might have a documents. Well, if under
[55:45] might have a documents. Well, if under Nick I stored another folder called
[55:47] Nick I stored another folder called hidden, if I were to open up my file
[55:50] hidden, if I were to open up my file explorer because it has a period in
[55:51] explorer because it has a period in front of it and because that just
[55:52] front of it and because that just happens to be the convention, the file
[55:53] happens to be the convention, the file explorer wouldn't show it to me. So this
[55:55] explorer wouldn't show it to me. So this is sort of like the developer way of,
[55:57] is sort of like the developer way of, you know, building folders that don't
[55:59] you know, building folders that don't really muck around and ruin your nice
[56:01] really muck around and ruin your nice organization. So in Claude Codes's case,
[56:03] organization. So in Claude Codes's case, they have a lowercase C cla directory.
[56:07] they have a lowercase C cla directory. And inside of this cloud directory,
[56:09] And inside of this cloud directory, there's basically support for like 10 or
[56:12] there's basically support for like 10 or 15 cool advanced features um that once
[56:15] 15 cool advanced features um that once you know you can augment cloud code
[56:16] you know you can augment cloud code significantly more than sort of vanilla
[56:17] significantly more than sort of vanilla out of the box. So let's run through all
[56:19] out of the box. So let's run through all of them together. This is what like a
[56:21] of them together. This is what like a fully loaded cloud folder would look
[56:24] fully loaded cloud folder would look like. Okay. And there's actually two
[56:25] like. Okay. And there's actually two levels to this and I'll cover both of
[56:26] levels to this and I'll cover both of them in a moment. But the one that I
[56:28] them in a moment. But the one that I want to talk about first is right over
[56:30] want to talk about first is right over here. So inside of thecloud folder, you
[56:33] here. So inside of thecloud folder, you can add a settings.json JSON, which is
[56:36] can add a settings.json JSON, which is team permissions and hooks. I'll talk
[56:38] team permissions and hooks. I'll talk about hooks a little bit later on, but
[56:39] about hooks a little bit later on, but that's how I get my cool little chime
[56:40] that's how I get my cool little chime noise at the end of everyone. Uh, you
[56:43] noise at the end of everyone. Uh, you have settings.local.json.
[56:45] have settings.local.json. Anytime you have a local inside of a
[56:47] Anytime you have a local inside of a file, um, this basically keeps it local
[56:49] file, um, this basically keeps it local on your computer as opposed to push it
[56:51] on your computer as opposed to push it pushes it to a uh, online repository.
[56:53] pushes it to a uh, online repository. For those of you that are unaware, a lot
[56:55] For those of you that are unaware, a lot of programmers and people that use cloud
[56:57] of programmers and people that use cloud code use um, GitHub to basically store
[57:00] code use um, GitHub to basically store all of their active projects. Now,
[57:02] all of their active projects. Now, because GitHub is a cloud service, there
[57:04] because GitHub is a cloud service, there are some instances where you don't
[57:05] are some instances where you don't actually want the cloud service to have
[57:08] actually want the cloud service to have access to the data inside of your repo,
[57:10] access to the data inside of your repo, particularly if it's quite sensitive
[57:11] particularly if it's quite sensitive stuff like, you know, tokens and and
[57:13] stuff like, you know, tokens and and authentication keys and whatnot. So,
[57:15] authentication keys and whatnot. So, they developed this convention where you
[57:16] they developed this convention where you could just go local whatever um in order
[57:20] could just go local whatever um in order to kind of override that and then not
[57:21] to kind of override that and then not push it to GitHub. You have the same
[57:24] push it to GitHub. You have the same pattern here with claude where your
[57:25] pattern here with claude where your claude.md lives and then
[57:27] claude.md lives and then claude.local.md. This is again ignored.
[57:30] claude.local.md. This is again ignored. That just means it's not going to go
[57:31] That just means it's not going to go over to GitHub. Then, interestingly, you
[57:34] over to GitHub. Then, interestingly, you have an agents subfolder, you have a
[57:36] have an agents subfolder, you have a skills subfolder, and you have a rules
[57:38] skills subfolder, and you have a rules subfolder. Then, finally, you have a
[57:40] subfolder. Then, finally, you have a hidden mcp.json as well. You know, I
[57:43] hidden mcp.json as well. You know, I think if you're somebody coming into
[57:45] think if you're somebody coming into this without a technical background,
[57:46] this without a technical background, you'd look at this and you'd like be
[57:47] you'd look at this and you'd like be like, "Oh my god, this looks insane."
[57:48] like, "Oh my god, this looks insane." Like, what the hell's going on?
[57:49] Like, what the hell's going on? Settings.js, settings.local.jso,
[57:52] Settings.js, settings.local.jso, why is claude capitalized? What does MD
[57:54] why is claude capitalized? What does MD mean? And I'm going to explain all that
[57:56] mean? And I'm going to explain all that stuff to you in due time. But for now,
[57:58] stuff to you in due time. But for now, just know that these are basically the
[58:00] just know that these are basically the various buttons that Anthropic, the
[58:02] various buttons that Anthropic, the developers of Cloud Code, have given you
[58:04] developers of Cloud Code, have given you that you could press to sort of
[58:05] that you could press to sort of customize your own instance. And each of
[58:07] customize your own instance. And each of these files you can customize to
[58:09] these files you can customize to whatever degree. You can add whatever
[58:10] whatever degree. You can add whatever the heck you want in there. Some of
[58:11] the heck you want in there. Some of these files reference other files. Um,
[58:14] these files reference other files. Um, you know, it's really up to you and
[58:15] you know, it's really up to you and Claude because most people don't
[58:16] Claude because most people don't actually develop this stuff on their
[58:17] actually develop this stuff on their own. They actually like kind of co-work
[58:19] own. They actually like kind of co-work with Claude to put together their own
[58:20] with Claude to put together their own settings. Um, but it's up to you how
[58:22] settings. Um, but it's up to you how intense you want to go into. Personally,
[58:24] intense you want to go into. Personally, I just have a claude.mmd. Sometimes I'll
[58:27] I just have a claude.mmd. Sometimes I'll have skills and agents. I'll run you
[58:29] have skills and agents. I'll run you through sort of like my own 8020 setup
[58:31] through sort of like my own 8020 setup um later on in the course. Okay. So
[58:34] um later on in the course. Okay. So anyway, this claude folder actually
[58:36] anyway, this claude folder actually lives inside of your claude code folder
[58:40] lives inside of your claude code folder workspace wherever you're working. So I
[58:42] workspace wherever you're working. So I mean I don't actually have a folder set
[58:43] mean I don't actually have a folder set up yet, but let me do it right now. And
[58:45] up yet, but let me do it right now. And if you use this cloud folder, you're
[58:46] if you use this cloud folder, you're basically like uh unlocking uh advanced
[58:50] basically like uh unlocking uh advanced functionality uh more so than just
[58:52] functionality uh more so than just having a cloudmd in the root of the
[58:53] having a cloudmd in the root of the folder. So, that's what I'm going to do.
[58:54] folder. So, that's what I'm going to do. I'm just going to move over my docloud
[58:56] I'm just going to move over my docloud to sorry, I'm going to move over my
[58:57] to sorry, I'm going to move over my cloud.nd tocloud.
[59:00] cloud.nd tocloud. And then, as you see, there are some
[59:01] And then, as you see, there are some additional folders here that I'm going
[59:02] additional folders here that I'm going to put together as well. Inside of this,
[59:04] to put together as well. Inside of this, I'm going to go agents.
[59:07] I'm going to go agents. Also going to go skills.
[59:09] Also going to go skills. And over here, I'm going to go rules.
[59:11] And over here, I'm going to go rules. And let's explain what all of these
[59:12] And let's explain what all of these three mean. The first idea is this idea
[59:14] three mean. The first idea is this idea of breaking up your big claw.md into
[59:16] of breaking up your big claw.md into different rules. And so basically what
[59:19] different rules. And so basically what this slash rules folder allows you to do
[59:21] this slash rules folder allows you to do is allows you to take everything that
[59:22] is allows you to take everything that we've written here and then instead of
[59:25] we've written here and then instead of just sticking it all into one file, you
[59:26] just sticking it all into one file, you can define highlevel rules that um
[59:29] can define highlevel rules that um correspond to different parts of let's
[59:31] correspond to different parts of let's say a build. So for instance in this
[59:33] say a build. So for instance in this example there's a rule for code style,
[59:36] example there's a rule for code style, there's a rule for testing, there's a
[59:38] there's a rule for testing, there's a rule for security, there's a rule for
[59:39] rule for security, there's a rule for front end, there's a rule for, you know,
[59:41] front end, there's a rule for, you know, within front end react and then styles
[59:43] within front end react and then styles as well. And so, you know, code style
[59:46] as well. And so, you know, code style might be a very simple kind of two
[59:48] might be a very simple kind of two paragraph thing that just explains how
[59:50] paragraph thing that just explains how to organize your code. Security might be
[59:53] to organize your code. Security might be a pretty simple few paragraph thing that
[59:55] a pretty simple few paragraph thing that explains how to, you know, secure your
[59:56] explains how to, you know, secure your code bases and whatnot. Styles could be
[59:59] code bases and whatnot. Styles could be a list of Tailwind CSS styles or I don't
[01:00:01] a list of Tailwind CSS styles or I don't know, whatever, just like some some sort
[01:00:03] know, whatever, just like some some sort of formatting instructions to make
[01:00:04] of formatting instructions to make websites look a certain way. And so, for
[01:00:06] websites look a certain way. And so, for instance, if you look at our claw.md
[01:00:08] instance, if you look at our claw.md over here on the right hand side, you
[01:00:09] over here on the right hand side, you can see that we've split it into a
[01:00:10] can see that we've split it into a variety of sections already. There's
[01:00:11] variety of sections already. There's like a workflow section. There's like a
[01:00:13] like a workflow section. There's like a technical default section. There's like
[01:00:14] technical default section. There's like a rule section. We can actually split
[01:00:16] a rule section. We can actually split these into their own uh rules files. And
[01:00:19] these into their own uh rules files. And that's what I'm going to have Claude do
[01:00:20] that's what I'm going to have Claude do in a second. Split claude.md into its
[01:00:24] in a second. Split claude.md into its component rules. Use the Claude code
[01:00:27] component rules. Use the Claude code rule spec specification if you don't
[01:00:29] rule spec specification if you don't know what that means.
[01:00:31] know what that means. And so what I'm doing is I'm empowering
[01:00:33] And so what I'm doing is I'm empowering claude code to basically go through our
[01:00:35] claude code to basically go through our current folder for one. Then if it
[01:00:38] current folder for one. Then if it doesn't already know what you know rule
[01:00:40] doesn't already know what you know rule specs are, it's going to go read up on
[01:00:41] specs are, it's going to go read up on rule specs. And then it's basically just
[01:00:43] rule specs. And then it's basically just going to take this file and then split
[01:00:45] going to take this file and then split it into what looks like three file rules
[01:00:47] it into what looks like three file rules inside of um the rules folder. [gasps]
[01:00:50] inside of um the rules folder. [gasps] So now we have rules split into
[01:00:52] So now we have rules split into workflow, technical defaults, and then
[01:00:54] workflow, technical defaults, and then design rules. Okay. And as you can see,
[01:00:56] design rules. Okay. And as you can see, this is a little bit more compressed
[01:00:57] this is a little bit more compressed than we had earlier. Basically, the
[01:00:58] than we had earlier. Basically, the title of the file is sort of like that
[01:01:00] title of the file is sort of like that little heading.
[01:01:02] little heading. Okay, great. anything else we'd need for
[01:01:05] Okay, great. anything else we'd need for efficient coding
[01:01:09] efficient coding and you know it can go through and it
[01:01:10] and you know it can go through and it can create some additional rules for
[01:01:12] can create some additional rules for you. So now if you think about it, okay,
[01:01:14] you. So now if you think about it, okay, and by the way, I don't actually
[01:01:15] and by the way, I don't actually recommend just asking claude, hey, build
[01:01:17] recommend just asking claude, hey, build me rules for efficient coding. It's not
[01:01:19] me rules for efficient coding. It's not going to do a very good job. Usually the
[01:01:20] going to do a very good job. Usually the best place to find like highle
[01:01:22] best place to find like highle instructions and stuff like that. Um,
[01:01:23] instructions and stuff like that. Um, that's sort of on the cutting edge. I
[01:01:24] that's sort of on the cutting edge. I would recommend uh like scrolling
[01:01:26] would recommend uh like scrolling through Twitter and then finding cloud
[01:01:27] through Twitter and then finding cloud code power users. It's like a real gold
[01:01:29] code power users. It's like a real gold mine. The reality is cloud uh code will
[01:01:32] mine. The reality is cloud uh code will actually like incorporate the most
[01:01:33] actually like incorporate the most commonly used cloudmd configurations and
[01:01:36] commonly used cloudmd configurations and stuff like that into every successive
[01:01:37] stuff like that into every successive generation. So a lot of the time, you
[01:01:39] generation. So a lot of the time, you know, you don't have to include the
[01:01:40] know, you don't have to include the stuff you had in your cloud node from
[01:01:42] stuff you had in your cloud node from like Opus 4 or whatever because nowadays
[01:01:44] like Opus 4 or whatever because nowadays it just sort of understands that
[01:01:46] it just sort of understands that natively. And so if I, you know, talk
[01:01:48] natively. And so if I, you know, talk about this example in the context of
[01:01:50] about this example in the context of what we've already done, you know, over
[01:01:51] what we've already done, you know, over here we had one monolithic claw. MD
[01:01:54] here we had one monolithic claw. MD file, right? But imagine that we instead
[01:01:56] file, right? But imagine that we instead split this into I don't know, let's just
[01:01:58] split this into I don't know, let's just say three rules. You know, we have the
[01:02:02] say three rules. You know, we have the workflows, then over here were the
[01:02:06] workflows, then over here were the design rules,
[01:02:10] and then the tech defaults. Okay, now
[01:02:12] and then the tech defaults. Okay, now instead of dumping it in as one big claw
[01:02:14] instead of dumping it in as one big claw in default, we actually have a lot more
[01:02:15] in default, we actually have a lot more granular control over little things. Um,
[01:02:18] granular control over little things. Um, and so we can organize this to, let's
[01:02:20] and so we can organize this to, let's say, evolve the workflow without
[01:02:22] say, evolve the workflow without touching the design rules and so on and
[01:02:23] touching the design rules and so on and so forth. And in general, this form of
[01:02:25] so forth. And in general, this form of segmentation can be useful, especially
[01:02:26] segmentation can be useful, especially when you're working with other people.
[01:02:28] when you're working with other people. you can give people access to let's say
[01:02:29] you can give people access to let's say like the styles but then maybe you
[01:02:31] like the styles but then maybe you actually have full control over like the
[01:02:33] actually have full control over like the top down workflow or as I'm sure you can
[01:02:36] top down workflow or as I'm sure you can imagine you could have a really really
[01:02:37] imagine you could have a really really long claude.mmd right a lot of people
[01:02:39] long claude.mmd right a lot of people have cloudMDs that are I don't know like
[01:02:41] have cloudMDs that are I don't know like many many many thousands of words
[01:02:43] many many many thousands of words sometimes tens of thousands of words so
[01:02:45] sometimes tens of thousands of words so splitting it up in this way just helps
[01:02:47] splitting it up in this way just helps keep you organized it also helps uh
[01:02:48] keep you organized it also helps uh allow you to see areas that like you
[01:02:50] allow you to see areas that like you don't really need anymore. It's one
[01:02:51] don't really need anymore. It's one thing if it's a giant file that's 10,000
[01:02:53] thing if it's a giant file that's 10,000 freaking words long. It's another thing
[01:02:55] freaking words long. It's another thing if it's like pretty simple and pretty
[01:02:56] if it's like pretty simple and pretty straightforward. So, we can similarly
[01:02:58] straightforward. So, we can similarly create skills and agents and they're
[01:03:00] create skills and agents and they're organized in very um um you know similar
[01:03:02] organized in very um um you know similar ways. I'm going to talk through some
[01:03:04] ways. I'm going to talk through some specific agents that I'd recommend
[01:03:05] specific agents that I'd recommend having and then ways to use the skills
[01:03:07] having and then ways to use the skills folder to basically automate large
[01:03:09] folder to basically automate large portions of most knowledge work later.
[01:03:11] portions of most knowledge work later. For now, I want to talk a little bit
[01:03:12] For now, I want to talk a little bit about the top half of this image. So,
[01:03:14] about the top half of this image. So, the bottom half, okay, this is stuff
[01:03:16] the bottom half, okay, this is stuff that we've already kind of discussed.
[01:03:18] that we've already kind of discussed. This is the cloud/folder. But it turns
[01:03:20] This is the cloud/folder. But it turns out there was one folder that exists at
[01:03:23] out there was one folder that exists at an even higher level than the cloud in
[01:03:25] an even higher level than the cloud in your workspace. Okay? And this is like
[01:03:28] your workspace. Okay? And this is like the global folder.
[01:03:31] the global folder. Now, anytime you see this little
[01:03:32] Now, anytime you see this little squiggle, okay, in computer programming
[01:03:35] squiggle, okay, in computer programming or networking or in file in your file
[01:03:37] or networking or in file in your file explorer, this basically refers to like
[01:03:40] explorer, this basically refers to like your home folder, okay? And this isn't
[01:03:42] your home folder, okay? And this isn't the home folder of your workspace, not
[01:03:44] the home folder of your workspace, not the specific one that we're working in.
[01:03:45] the specific one that we're working in. This isn't, you know, if I go back to
[01:03:46] This isn't, you know, if I go back to anti-gravity, my website design example
[01:03:49] anti-gravity, my website design example copy folder. What this is referring to
[01:03:50] copy folder. What this is referring to is this is referring to like the home on
[01:03:52] is this is referring to like the home on your computer. And so this might be like
[01:03:53] your computer. And so this might be like the Nicholas folder or something like
[01:03:55] the Nicholas folder or something like that on my computer. And basically Cloud
[01:03:58] that on my computer. And basically Cloud Code allows you to define settings that
[01:04:00] Code allows you to define settings that are both local, which corresponds
[01:04:03] are both local, which corresponds specifically to the workspace that
[01:04:04] specifically to the workspace that you're in, and also global, which are
[01:04:07] you're in, and also global, which are are basically settings that are shared
[01:04:08] are basically settings that are shared between all of your workspaces. And
[01:04:10] between all of your workspaces. And that's where the second U
[01:04:12] that's where the second U [clears throat] sort of category bins
[01:04:14] [clears throat] sort of category bins into. And so what we do is in addition
[01:04:17] into. And so what we do is in addition to being able to set a cloud MD on the
[01:04:20] to being able to set a cloud MD on the local level for instance aka have one
[01:04:22] local level for instance aka have one that applies to all workspaces if we
[01:04:24] that applies to all workspaces if we were to expand this just a little bit.
[01:04:26] were to expand this just a little bit. The way that this thing actually works
[01:04:28] The way that this thing actually works if you think about it is we have the
[01:04:32] if you think about it is we have the claude.md that's over here
[01:04:35] claude.md that's over here and this is your local
[01:04:39] and this is your local claude. Okay. But then we also have
[01:04:43] claude. Okay. But then we also have highlevel other clamd files and rules
[01:04:47] highlevel other clamd files and rules and stuff like that. Maybe this is
[01:04:49] and stuff like that. Maybe this is called tech rules. Maybe this is called
[01:04:52] called tech rules. Maybe this is called permissions, you know. Maybe this one's
[01:04:54] permissions, you know. Maybe this one's called um I don't know style guide. And
[01:04:58] called um I don't know style guide. And these come from your global
[01:05:03] these come from your global little squiggly line slash.cloud.
[01:05:06] little squiggly line slash.cloud. And the way that this is organized is
[01:05:07] And the way that this is organized is very similar to the way that the
[01:05:09] very similar to the way that the local.cloud is organized. it just exists
[01:05:11] local.cloud is organized. it just exists in a different folder and it basically
[01:05:12] in a different folder and it basically supersedes any local cloud
[01:05:15] supersedes any local cloud functionality. So this is another
[01:05:17] functionality. So this is another example of like splitting permissions.
[01:05:19] example of like splitting permissions. For instance, if you're working on a big
[01:05:20] For instance, if you're working on a big team, um you know, maybe you as the
[01:05:22] team, um you know, maybe you as the director of the team have access to like
[01:05:24] director of the team have access to like the global.claude
[01:05:26] the global.claude uh uh tilda it's called /.cloud folder
[01:05:29] uh uh tilda it's called /.cloud folder and in there you put your like global
[01:05:31] and in there you put your like global settings. So these are highle rules that
[01:05:33] settings. So these are highle rules that the AI agent in all workspaces reads and
[01:05:36] the AI agent in all workspaces reads and and understands. Maybe things like, hey,
[01:05:39] and understands. Maybe things like, hey, you know, don't allow people to delete
[01:05:40] you know, don't allow people to delete these files or folders. When speaking
[01:05:43] these files or folders. When speaking with uh, you know, staff members, refer
[01:05:45] with uh, you know, staff members, refer to them as X, Y, and Z, whatever. And
[01:05:47] to them as X, Y, and Z, whatever. And then every individual engineer on the
[01:05:49] then every individual engineer on the team or every individual team member,
[01:05:50] team or every individual team member, they empower themselves with a local
[01:05:52] they empower themselves with a local dotcloud folder. And this is ways that a
[01:05:54] dotcloud folder. And this is ways that a bunch of companies are currently
[01:05:55] bunch of companies are currently starting to organize both their highle,
[01:05:57] starting to organize both their highle, you know, home clouds or their global
[01:05:59] you know, home clouds or their global clouds and then um, you know, the ones
[01:06:01] clouds and then um, you know, the ones that exist uh, per workspace. So to make
[01:06:03] that exist uh, per workspace. So to make a long story short, there's actually
[01:06:05] a long story short, there's actually three layers of claw.md that merge
[01:06:07] three layers of claw.md that merge together. We've talked about two of them
[01:06:08] together. We've talked about two of them so far and there's like one more that's
[01:06:10] so far and there's like one more that's even higher level, but basically the
[01:06:12] even higher level, but basically the first is your personal global and that
[01:06:15] first is your personal global and that is at the very top level here. That's in
[01:06:17] is at the very top level here. That's in your home folder/cloud/cloud.mmd.
[01:06:21] Then you have the per project or per
[01:06:23] Then you have the per project or per workspace folder which iscloud inside of
[01:06:26] workspace folder which iscloud inside of your current workspace/cloud.mmd.
[01:06:28] your current workspace/cloud.mmd. And there's also a third option
[01:06:30] And there's also a third option specifically for enterprise. This is
[01:06:31] specifically for enterprise. This is like your manage system level cloudmd
[01:06:34] like your manage system level cloudmd for enterprise licenses and stuff like
[01:06:36] for enterprise licenses and stuff like that. 99.9% of you will not have
[01:06:38] that. 99.9% of you will not have enterprise licenses. So I'm not going to
[01:06:39] enterprise licenses. So I'm not going to talk about this at all, but rest assured
[01:06:41] talk about this at all, but rest assured it's a very similar concept. You just
[01:06:42] it's a very similar concept. You just define another markdown file that uh you
[01:06:44] define another markdown file that uh you know sort of exists in that ranking or
[01:06:46] know sort of exists in that ranking or precedence level. Now if I open up a
[01:06:47] precedence level. Now if I open up a repo that we haven't looked at before,
[01:06:49] repo that we haven't looked at before, this is my own leftclick site where I'm
[01:06:52] this is my own leftclick site where I'm working using a strategy called git work
[01:06:54] working using a strategy called git work trees. Again we'll chat about that
[01:06:55] trees. Again we'll chat about that later. But let's say, you know, I open
[01:06:57] later. But let's say, you know, I open up a new file folder and I want to run
[01:06:59] up a new file folder and I want to run cloud code in it and I don't actually
[01:07:00] cloud code in it and I don't actually have a pre-existing cloud code and you
[01:07:02] have a pre-existing cloud code and you know I want the model to help me with
[01:07:03] know I want the model to help me with this. All I need to do is just open up
[01:07:05] this. All I need to do is just open up that file folder. Okay, open up cloud
[01:07:07] that file folder. Okay, open up cloud code and then type slashinit. We'll get
[01:07:10] code and then type slashinit. We'll get into more slash commands in a moment.
[01:07:12] into more slash commands in a moment. What this does is this basically allows
[01:07:14] What this does is this basically allows us to analyze the current codebase and
[01:07:17] us to analyze the current codebase and then write a cla.md that summarizes what
[01:07:20] then write a cla.md that summarizes what the current codebase does and then gives
[01:07:21] the current codebase does and then gives some instructions to uh you know a
[01:07:23] some instructions to uh you know a future version of claude which is really
[01:07:25] future version of claude which is really cool. So what this is doing right now is
[01:07:27] cool. So what this is doing right now is it's reading through all of the files.
[01:07:29] it's reading through all of the files. It's summarizing them. It's sort of
[01:07:31] It's summarizing them. It's sort of looking through and you know seeing uh
[01:07:33] looking through and you know seeing uh what what stands out in the codebase
[01:07:35] what what stands out in the codebase trying to look for commonalities and
[01:07:37] trying to look for commonalities and patterns between them. And then finally
[01:07:38] patterns between them. And then finally it ends up creating a a capital
[01:07:40] it ends up creating a a capital cloud.mmd and it does this directly in
[01:07:42] cloud.mmd and it does this directly in like the workspace route. So it doesn't
[01:07:43] like the workspace route. So it doesn't do this inside of a cloud folder. You
[01:07:45] do this inside of a cloud folder. You have to you know do this sort of
[01:07:46] have to you know do this sort of organization yourself if you want to go
[01:07:48] organization yourself if you want to go any higher level. But as you can see
[01:07:49] any higher level. But as you can see here it just put that together and I can
[01:07:50] here it just put that together and I can open it up and I can actually see sort
[01:07:52] open it up and I can actually see sort of like the way that it wrote its own
[01:07:54] of like the way that it wrote its own cloud. MD. So this file provides
[01:07:56] cloud. MD. So this file provides guidance to claude code when working
[01:07:57] guidance to claude code when working with code in this repository. This is a
[01:07:59] with code in this repository. This is a premium marketing website for leftclick.
[01:08:01] premium marketing website for leftclick. It's an a automation agency targeting to
[01:08:02] It's an a automation agency targeting to B2B companies. Here's how to deploy it
[01:08:04] B2B companies. Here's how to deploy it to Netlfi. Here's the architecture.
[01:08:07] to Netlfi. Here's the architecture. Here's the design system. Here's the
[01:08:08] Here's the design system. Here's the Netlefi config, etc. Why is this
[01:08:11] Netlefi config, etc. Why is this valuable? I mean like it technically has
[01:08:12] valuable? I mean like it technically has access to all this information anyway,
[01:08:14] access to all this information anyway, right? So like why are we getting it to
[01:08:15] right? So like why are we getting it to summarize it all? Well, we're getting it
[01:08:16] summarize it all? Well, we're getting it to summarize it all because one thing
[01:08:18] to summarize it all because one thing we're going to talk a lot about in this
[01:08:19] we're going to talk a lot about in this course is context management. And that
[01:08:21] course is context management. And that basically just means um all of the uh
[01:08:23] basically just means um all of the uh tokens currently in a prompt. As you've
[01:08:25] tokens currently in a prompt. As you've seen, there are multiple levels to this,
[01:08:27] seen, there are multiple levels to this, right? There's like the global cloudMD
[01:08:28] right? There's like the global cloudMD that's injected. Then there's the local
[01:08:30] that's injected. Then there's the local cloudMD that's injected. There's the
[01:08:32] cloudMD that's injected. There's the enterprise level cloudmd that's
[01:08:34] enterprise level cloudmd that's injected. We're then going to talk a lot
[01:08:36] injected. We're then going to talk a lot more about the tool calls and various
[01:08:38] more about the tool calls and various tool definitions. Those are all
[01:08:39] tool definitions. Those are all injected. And then finally, at the very
[01:08:40] injected. And then finally, at the very end of it, you actually have your own
[01:08:42] end of it, you actually have your own prompt that you're sending, which is
[01:08:43] prompt that you're sending, which is also part of the context.
[01:08:45] also part of the context. >> [snorts]
[01:08:45] >> [snorts] >> Well, if in addition to that, you force
[01:08:47] >> Well, if in addition to that, you force Claude to read through every single file
[01:08:48] Claude to read through every single file every time that you initialize to know
[01:08:50] every time that you initialize to know what the hell you're talking about,
[01:08:51] what the hell you're talking about, obviously you have to add significantly
[01:08:53] obviously you have to add significantly more tokens to any prompt, right? And by
[01:08:55] more tokens to any prompt, right? And by doing so, a couple things happen. One,
[01:08:57] doing so, a couple things happen. One, the quality of Claude on average will go
[01:08:59] the quality of Claude on average will go down because there's a negative
[01:09:01] down because there's a negative relationship between the length of the
[01:09:03] relationship between the length of the prompt and then the quality of Claude's
[01:09:05] prompt and then the quality of Claude's outputs. That's just sort of the way
[01:09:07] outputs. That's just sort of the way that it works statistically with these
[01:09:08] that it works statistically with these models. But two, um, you're also paying
[01:09:11] models. But two, um, you're also paying way more because now instead of
[01:09:12] way more because now instead of consuming, you know, let's say 10,000
[01:09:14] consuming, you know, let's say 10,000 tokens at a time, you're consuming a
[01:09:15] tokens at a time, you're consuming a 100,000 because this thing had to read
[01:09:16] 100,000 because this thing had to read through your contact. HTML, it had to
[01:09:18] through your contact. HTML, it had to read your index.html, it had to read
[01:09:20] read your index.html, it had to read your message. It had to read everything.
[01:09:22] your message. It had to read everything. And so, cloud.MD, MD if you think about
[01:09:24] And so, cloud.MD, MD if you think about it in addition to providing high level
[01:09:26] it in addition to providing high level instructions and you know uh uh some
[01:09:28] instructions and you know uh uh some guidance and and steering of the ship
[01:09:31] guidance and and steering of the ship also is a mechanism by which you can
[01:09:33] also is a mechanism by which you can significantly reduce your token usage
[01:09:35] significantly reduce your token usage and then increase the average quality of
[01:09:37] and then increase the average quality of cloud because it'll just know everything
[01:09:39] cloud because it'll just know everything especially when you use uh back/init
[01:09:42] especially when you use uh back/init like I just showed you a moment ago
[01:09:43] like I just showed you a moment ago before actually having to read through
[01:09:45] before actually having to read through the files. You know it'll know that
[01:09:46] the files. You know it'll know that index.html uses an inverted light color
[01:09:49] index.html uses an inverted light color scheme. Okay. It'll know that you know
[01:09:51] scheme. Okay. It'll know that you know there's a contact.html html which is a
[01:09:52] there's a contact.html html which is a contact page. It'll know how it's
[01:09:54] contact page. It'll know how it's hosted. It's not going to have to like
[01:09:55] hosted. It's not going to have to like do a bunch of API calls to various
[01:09:56] do a bunch of API calls to various services to figure this out. It it just
[01:09:58] services to figure this out. It it just already knows all this stuff because
[01:09:59] already knows all this stuff because that's what the slashet just did. So, if
[01:10:01] that's what the slashet just did. So, if you don't already have a claw.mmd, I'd
[01:10:03] you don't already have a claw.mmd, I'd highly recommend go into your folder,
[01:10:05] highly recommend go into your folder, generate one. Um, once you have it
[01:10:06] generate one. Um, once you have it generated, then you can continue making
[01:10:08] generated, then you can continue making additions and changes as necessary. But
[01:10:10] additions and changes as necessary. But literally just having a description of
[01:10:12] literally just having a description of the way that the folder works is like
[01:10:13] the way that the folder works is like honestly the the the 90% of the battle.
[01:10:16] honestly the the the 90% of the battle. So, for simplicity, I've compiled the
[01:10:17] So, for simplicity, I've compiled the top recommendations into a quick do and
[01:10:20] top recommendations into a quick do and don'ts guide for you. The first thing to
[01:10:22] don'ts guide for you. The first thing to do is just run backslash init first
[01:10:24] do is just run backslash init first anytime you're working in a new folder.
[01:10:25] anytime you're working in a new folder. The second is I just use bullet points
[01:10:27] The second is I just use bullet points and short headings. Try and compress
[01:10:28] and short headings. Try and compress information as much as possible.
[01:10:30] information as much as possible. Basically write in like a high
[01:10:31] Basically write in like a high information density style. Don't
[01:10:33] information density style. Don't [snorts] just voice transcript dump into
[01:10:34] [snorts] just voice transcript dump into your cloudmd. If you wanted to write a
[01:10:36] your cloudmd. If you wanted to write a cloudmd for instance using as help
[01:10:38] cloudmd for instance using as help actually voice dump into cloud and then
[01:10:40] actually voice dump into cloud and then say turn this into a very high
[01:10:41] say turn this into a very high information density summary of rules and
[01:10:43] information density summary of rules and stuff. Put the most important things at
[01:10:45] stuff. Put the most important things at the top. there's anything that like it
[01:10:47] the top. there's anything that like it absolutely shouldn't do like never
[01:10:49] absolutely shouldn't do like never delete XYZ file or whatever, mention it
[01:10:51] delete XYZ file or whatever, mention it up at the very top. The first few things
[01:10:53] up at the very top. The first few things that AI learns, it tends to remember.
[01:10:55] that AI learns, it tends to remember. It's sort of like the middle gap of the
[01:10:56] It's sort of like the middle gap of the prompt. If I were to show you guys what
[01:10:59] prompt. If I were to show you guys what this actually looks like, basically goes
[01:11:00] this actually looks like, basically goes like this. It remembers a lot of the
[01:11:02] like this. It remembers a lot of the beginning. It doesn't really remember
[01:11:04] beginning. It doesn't really remember much of the middle and then it's more
[01:11:05] much of the middle and then it's more likely to remember some of the end. Um,
[01:11:07] likely to remember some of the end. Um, so this is called your uh primacy bias.
[01:11:10] so this is called your uh primacy bias. Human beings are like this too, which is
[01:11:12] Human beings are like this too, which is really interesting. And then this is
[01:11:14] really interesting. And then this is called your recency bias which means you
[01:11:16] called your recency bias which means you know Claude and and us are biased
[01:11:18] know Claude and and us are biased towards um remembering things at the
[01:11:20] towards um remembering things at the very beginning of a stretch and at the
[01:11:21] very beginning of a stretch and at the end of the stretch but more so the
[01:11:23] end of the stretch but more so the beginning which is why you put very
[01:11:24] beginning which is why you put very important guardrails at the top. Um
[01:11:27] important guardrails at the top. Um periodically review and prune this like
[01:11:29] periodically review and prune this like treat it like living code. If you have
[01:11:31] treat it like living code. If you have claude constantly update the cloud MD
[01:11:33] claude constantly update the cloud MD you will find over time it adds things
[01:11:34] you will find over time it adds things that aren't really super necessary. Some
[01:11:36] that aren't really super necessary. Some super precise instructions it starts
[01:11:38] super precise instructions it starts changing sort of the way that it talks
[01:11:39] changing sort of the way that it talks to you and stuff. So I treat it sort of
[01:11:40] to you and stuff. So I treat it sort of like technical debt and then I reduce it
[01:11:42] like technical debt and then I reduce it over time. Uh what not to do is don't
[01:11:45] over time. Uh what not to do is don't dump entire style guides and API docs
[01:11:47] dump entire style guides and API docs into it. This is an unfortunate habit
[01:11:48] into it. This is an unfortunate habit that I've seen a lot of people do where
[01:11:49] that I've seen a lot of people do where they basically are like oh you know I
[01:11:51] they basically are like oh you know I want this to be my I don't know let's
[01:11:53] want this to be my I don't know let's just say a Panda do companion. So they
[01:11:55] just say a Panda do companion. So they go to the Panda API and then they
[01:11:57] go to the Panda API and then they download the entire thing and then they
[01:11:58] download the entire thing and then they try and paste it into the cloudmd. It
[01:12:00] try and paste it into the cloudmd. It ends up being 10,000 tokens and then
[01:12:01] ends up being 10,000 tokens and then keep in mind this is initialized every
[01:12:02] keep in mind this is initialized every single time you run cloud code. Right?
[01:12:04] single time you run cloud code. Right? in addition to it taking a little bit
[01:12:05] in addition to it taking a little bit longer because now you have that
[01:12:06] longer because now you have that initialization time it's also just a
[01:12:08] initialization time it's also just a pain in the ass and it's and it's more
[01:12:09] pain in the ass and it's and it's more costly while reducing claude's quality
[01:12:11] costly while reducing claude's quality as mentioned so don't do that instead
[01:12:13] as mentioned so don't do that instead like talk to claude say okay what
[01:12:15] like talk to claude say okay what specific API endpoints are we going to
[01:12:17] specific API endpoints are we going to need and then give it the whole API and
[01:12:19] need and then give it the whole API and then just have it like prune it down to
[01:12:21] then just have it like prune it down to just the specific sections that you need
[01:12:22] just the specific sections that you need or specific maybe highle instructions on
[01:12:25] or specific maybe highle instructions on how to use this API that maybe is not
[01:12:27] how to use this API that maybe is not super relevant or or trivial I should
[01:12:29] super relevant or or trivial I should say um cloudmd allows you to do what's
[01:12:32] say um cloudmd allows you to do what's called an atlude this is very simple to
[01:12:34] called an atlude this is very simple to just uh you know I I didn't want to
[01:12:36] just uh you know I I didn't want to spend too much time on this but
[01:12:37] spend too much time on this but basically if in your cloud.mmd you just
[01:12:40] basically if in your cloud.mmd you just say you know at git.md
[01:12:43] say you know at git.md and you have a folder called git.mmd
[01:12:46] and you have a folder called git.mmd somewhere else in your computer it'll
[01:12:47] somewhere else in your computer it'll actually go and it'll like include that
[01:12:49] actually go and it'll like include that into the cloudmd as you guys can see
[01:12:51] into the cloudmd as you guys can see that functionality sort of taken care of
[01:12:53] that functionality sort of taken care of by rules but uh just don't add include a
[01:12:55] by rules but uh just don't add include a bunch of files unless absolutely
[01:12:57] bunch of files unless absolutely necessary um don't write really vague
[01:12:59] necessary um don't write really vague rules in general like treat claude like
[01:13:02] rules in general like treat claude like uh you know a really intelligent savant
[01:13:04] uh you know a really intelligent savant style intelligence, but also you know
[01:13:06] style intelligence, but also you know people that are they tend to be really
[01:13:08] people that are they tend to be really intelligent and so on are really
[01:13:09] intelligent and so on are really intelligent in one specific little slice
[01:13:11] intelligent in one specific little slice of the field. If you give them too much
[01:13:13] of the field. If you give them too much rope they'll just hang themselves. So
[01:13:14] rope they'll just hang themselves. So try not to write like really highle
[01:13:16] try not to write like really highle vague aspirational things unless
[01:13:18] vague aspirational things unless absolutely necessary unless it makes
[01:13:19] absolutely necessary unless it makes sense. For instance, don't just say be
[01:13:21] sense. For instance, don't just say be smart. Don't say make no mistakes.
[01:13:24] smart. Don't say make no mistakes. Claude's not going to understand that,
[01:13:25] Claude's not going to understand that, right? I keep seeing a meme rolling
[01:13:27] right? I keep seeing a meme rolling around Twitter and it's like Claude make
[01:13:29] around Twitter and it's like Claude make me $1 million. Don't make any mistakes.
[01:13:32] me $1 million. Don't make any mistakes. and it's like that it's just not going
[01:13:33] and it's like that it's just not going to that's not going to improve the
[01:13:34] to that's not going to improve the quality of its output or anything like
[01:13:36] quality of its output or anything like that. Um, in general, you want to keep
[01:13:39] that. Um, in general, you want to keep it somewhere between like 200 to maybe
[01:13:41] it somewhere between like 200 to maybe 500 lines or so max. Um, the
[01:13:44] 500 lines or so max. Um, the recommendation is not to go any longer
[01:13:45] recommendation is not to go any longer than 500 lines, otherwise again you're
[01:13:46] than 500 lines, otherwise again you're just dumping in a ton of context. And
[01:13:49] just dumping in a ton of context. And then don't forget to add rules when
[01:13:50] then don't forget to add rules when cloud keeps making the same mistake. So
[01:13:52] cloud keeps making the same mistake. So like if you're working with a particular
[01:13:53] like if you're working with a particular library or particular software platform
[01:13:55] library or particular software platform or again a particular API like Panda do
[01:13:57] or again a particular API like Panda do or whatever and they have a very
[01:13:58] or whatever and they have a very specific way of going about things you
[01:14:00] specific way of going about things you know every time you load up a fresh
[01:14:01] know every time you load up a fresh instance of cloud code it's going to
[01:14:03] instance of cloud code it's going to continuously make that mistake which is
[01:14:04] continuously make that mistake which is going to cost you again in tokens but
[01:14:05] going to cost you again in tokens but then also in context because of quality.
[01:14:07] then also in context because of quality. So if you find that it makes a mistake
[01:14:09] So if you find that it makes a mistake more than two or three times tell it hey
[01:14:11] more than two or three times tell it hey you know I want you to add this to your
[01:14:12] you know I want you to add this to your cloud NMD so that this would work the
[01:14:14] cloud NMD so that this would work the next time I run it on a fresh instance
[01:14:16] next time I run it on a fresh instance of cloud. That's one of my favorite
[01:14:17] of cloud. That's one of my favorite things to uh to tell it. Okay so these
[01:14:20] things to uh to tell it. Okay so these are just some high level rules.
[01:14:21] are just some high level rules. Obviously, there are more if you want
[01:14:22] Obviously, there are more if you want like a really powerful way of, you know,
[01:14:25] like a really powerful way of, you know, finding solid um cloud code tips. Uh and
[01:14:29] finding solid um cloud code tips. Uh and specifically like Clauded stuff, I
[01:14:31] specifically like Clauded stuff, I actually go straight over to TwitterX
[01:14:33] actually go straight over to TwitterX and then I say, you know, compile the
[01:14:36] and then I say, you know, compile the last month of high ROIC Claude
[01:14:41] last month of high ROIC Claude MD writings. What are the best things to
[01:14:44] MD writings. What are the best things to include? because this technology moves
[01:14:46] include? because this technology moves so quickly rather than me uh you know
[01:14:49] so quickly rather than me uh you know trying to like tell you guys to always
[01:14:50] trying to like tell you guys to always include a certain snippet of text in
[01:14:52] include a certain snippet of text in your cloudmd basically I just have it go
[01:14:54] your cloudmd basically I just have it go through the last month of Twitter posts
[01:14:56] through the last month of Twitter posts after a moment it'll tell you the most
[01:14:58] after a moment it'll tell you the most useful hieroi insights and patterns gro
[01:15:00] useful hieroi insights and patterns gro obviously is uh x's model they have
[01:15:02] obviously is uh x's model they have access to all twitter posts and there
[01:15:03] access to all twitter posts and there are some extraordinarily intelligent
[01:15:05] are some extraordinarily intelligent people on here that basically live
[01:15:07] people on here that basically live inside of cloud code so I get most of
[01:15:09] inside of cloud code so I get most of like my advanced tips from them um and
[01:15:11] like my advanced tips from them um and yeah you know there's there's a lot of
[01:15:13] yeah you know there's there's a lot of instructions and advice here given in
[01:15:14] instructions and advice here given in just the last month or so. Okay, now
[01:15:16] just the last month or so. Okay, now that we've talked about the cloud.mmd,
[01:15:18] that we've talked about the cloud.mmd, let's talk about a few additional
[01:15:19] let's talk about a few additional features that not a lot of people
[01:15:21] features that not a lot of people understand have they have access to
[01:15:23] understand have they have access to inside of cloud code. The first is this
[01:15:25] inside of cloud code. The first is this concept of automemory. So basically in
[01:15:27] concept of automemory. So basically in addition to the cloudmd, there is an
[01:15:29] addition to the cloudmd, there is an additional tiny little file that's
[01:15:31] additional tiny little file that's injected at the top of every session.
[01:15:34] injected at the top of every session. And you'll find that anthropic and the
[01:15:37] And you'll find that anthropic and the developers of cloud code do a lot of
[01:15:38] developers of cloud code do a lot of these injections. It's not just the
[01:15:40] these injections. It's not just the cloud MD and it's not just this memory
[01:15:41] cloud MD and it's not just this memory fo which I'll talk about. They have a
[01:15:42] fo which I'll talk about. They have a lot tool calls, definitions, lots of
[01:15:44] lot tool calls, definitions, lots of stuff. So, um, the way that memory works
[01:15:47] stuff. So, um, the way that memory works basically is if you tell Claude
[01:15:49] basically is if you tell Claude something in one instance and you tell
[01:15:51] something in one instance and you tell it to remember it, it'll actually write
[01:15:53] it to remember it, it'll actually write it to this memory file and then in
[01:15:55] it to this memory file and then in another instance when you pull it up,
[01:15:56] another instance when you pull it up, this is like a global memory file, it'll
[01:15:58] this is like a global memory file, it'll it'll remember you. So, if I open up
[01:15:59] it'll remember you. So, if I open up cloud code again and down here I say um,
[01:16:02] cloud code again and down here I say um, I don't know, what's my brother's name?
[01:16:08] I don't know, what's my brother's name? So, try and ask it some let's say
[01:16:10] So, try and ask it some let's say personal information. um that I wanted
[01:16:13] personal information. um that I wanted to find out for me. It'll say, "I don't
[01:16:14] to find out for me. It'll say, "I don't know your brother's name. You haven't
[01:16:15] know your brother's name. You haven't shared that with me." I say, "Remember
[01:16:17] shared that with me." I say, "Remember that my brother's name is George."
[01:16:22] that my brother's name is George." Now, what it's going to do is it'll save
[01:16:24] Now, what it's going to do is it'll save that to its memory file, okay? Which
[01:16:28] that to its memory file, okay? Which already has a few other things like the
[01:16:29] already has a few other things like the fact that my dog's name is Yelpers. You
[01:16:31] fact that my dog's name is Yelpers. You guys think my dog's name is Yelpers?
[01:16:34] guys think my dog's name is Yelpers? Then, if I go to a new fresh cloud code
[01:16:35] Then, if I go to a new fresh cloud code instance and then I say, "What's my
[01:16:37] instance and then I say, "What's my brother's name?" Notice how this time
[01:16:39] brother's name?" Notice how this time we're not going to have that issue. It's
[01:16:41] we're not going to have that issue. It's just going to say George. And the reason
[01:16:42] just going to say George. And the reason why, if we just go back to this very
[01:16:44] why, if we just go back to this very stereotypical
[01:16:46] stereotypical prototypical example, just continues to
[01:16:48] prototypical example, just continues to grow. In addition to both the enterprise
[01:16:52] grow. In addition to both the enterprise uh cloudMD, the global cloudMD and then
[01:16:56] uh cloudMD, the global cloudMD and then the local cloud.MD, MD. You also have
[01:17:01] the local cloud.MD, MD. You also have a file here which is separate from all
[01:17:04] a file here which is separate from all of those called memory
[01:17:08] of those called memory MD. And Claude will inject this at the
[01:17:10] MD. And Claude will inject this at the very top of basically every um new
[01:17:13] very top of basically every um new session. So in addition to again this
[01:17:16] session. So in addition to again this global section here and then this local
[01:17:18] global section here and then this local section, we also have a memory and then
[01:17:20] section, we also have a memory and then we have a bunch of other tool call
[01:17:21] we have a bunch of other tool call definitions and stuff like that which
[01:17:22] definitions and stuff like that which I'll talk a little bit about later. In
[01:17:24] I'll talk a little bit about later. In practice, memory isn't super valuable or
[01:17:26] practice, memory isn't super valuable or anything like that. I mean, claude.mmd
[01:17:28] anything like that. I mean, claude.mmd does a lot of that, of course, but uh
[01:17:30] does a lot of that, of course, but uh you know, it's separate from cloudmd.
[01:17:32] you know, it's separate from cloudmd. You can kind of treat this as claude's
[01:17:33] You can kind of treat this as claude's own notes. It's not really your
[01:17:35] own notes. It's not really your instruction set. Okay. Next up are
[01:17:37] instruction set. Okay. Next up are agents. As you see here, we have this
[01:17:38] agents. As you see here, we have this agent subfolder within the cloud local
[01:17:41] agent subfolder within the cloud local uh settings folder. This can be pretty
[01:17:43] uh settings folder. This can be pretty difficult to understand. So, I'm just
[01:17:45] difficult to understand. So, I'm just going to give you a high level overview
[01:17:46] going to give you a high level overview now. And then we're actually going to do
[01:17:47] now. And then we're actually going to do a lot more agent development later on in
[01:17:49] a lot more agent development later on in the course. But let's just say I want an
[01:17:51] the course. But let's just say I want an agent called tell
[01:17:54] agent called tell me the time MD. And this is a really
[01:17:58] me the time MD. And this is a really simple agent. I basically just want it
[01:17:59] simple agent. I basically just want it to tell me the current time. Um I can
[01:18:02] to tell me the current time. Um I can define the tools that it has access to,
[01:18:04] define the tools that it has access to, the model, the max number of turns that
[01:18:06] the model, the max number of turns that I can have it autonomously go and
[01:18:08] I can have it autonomously go and fulfill my request. Um whether I want it
[01:18:10] fulfill my request. Um whether I want it to have global or local memory. I can
[01:18:12] to have global or local memory. I can give it a little description, a name,
[01:18:14] give it a little description, a name, and then also down here just like a
[01:18:16] and then also down here just like a brief little outline of what it is that
[01:18:17] brief little outline of what it is that I want to do. And so in this case,
[01:18:19] I want to do. And so in this case, hypothetically, I'm just saying this is
[01:18:20] hypothetically, I'm just saying this is a time teller. You know, I basically
[01:18:22] a time teller. You know, I basically want my big agent to talk to my smaller
[01:18:24] want my big agent to talk to my smaller agent and then say, "Hey, what's the
[01:18:25] agent and then say, "Hey, what's the time?" Very simple and and
[01:18:27] time?" Very simple and and straightforward. So, I'm actually going
[01:18:28] straightforward. So, I'm actually going to open up a new um session here and I'm
[01:18:32] to open up a new um session here and I'm going to say, "What time is it? Use my
[01:18:34] going to say, "What time is it? Use my agent."
[01:18:36] agent." And if you haven't already seen the sub
[01:18:38] And if you haven't already seen the sub agent tool call looks a little bit
[01:18:40] agent tool call looks a little bit different from what you guys are
[01:18:41] different from what you guys are probably used to, notice how now we're
[01:18:43] probably used to, notice how now we're opening up this task called tell me the
[01:18:45] opening up this task called tell me the current time. And what happened is we
[01:18:47] current time. And what happened is we see this little in input. What this is
[01:18:49] see this little in input. What this is is this is our main agent talking to a
[01:18:53] is this is our main agent talking to a sub agent. And so this main agent
[01:18:55] sub agent. And so this main agent basically said, I see that uh Nick said,
[01:18:59] basically said, I see that uh Nick said, what time is it? And he asked me to use
[01:19:01] what time is it? And he asked me to use my agent. Let me check all of my
[01:19:03] my agent. Let me check all of my available agents. It then went through
[01:19:05] available agents. It then went through the agents folder, found that there was
[01:19:07] the agents folder, found that there was an agent called tell me the time.md and
[01:19:09] an agent called tell me the time.md and then said, "Oh, I see there's an agent
[01:19:11] then said, "Oh, I see there's an agent here that can tell me the time." Since
[01:19:13] here that can tell me the time." Since Nick asked me for that, this is
[01:19:14] Nick asked me for that, this is obviously the one that he wants me to
[01:19:15] obviously the one that he wants me to use. It then creates a task called tell
[01:19:18] use. It then creates a task called tell me the current time and then sends the
[01:19:21] me the current time and then sends the new agent a message saying, "Hey, Nick
[01:19:23] new agent a message saying, "Hey, Nick wants to know the current time. Please
[01:19:24] wants to know the current time. Please determine the current time and report it
[01:19:26] determine the current time and report it back." Then at the very end, it says the
[01:19:28] back." Then at the very end, it says the current time is 2:23 p.m. MT. Anything
[01:19:31] current time is 2:23 p.m. MT. Anything else the agent wanted you to tell me?
[01:19:37] Yes. It greeted you with a howdy partner
[01:19:39] Yes. It greeted you with a howdy partner and then it gave me a little cute cowboy
[01:19:41] and then it gave me a little cute cowboy emoji. The reason for that obviously is
[01:19:43] emoji. The reason for that obviously is because down here I said also say howdy
[01:19:45] because down here I said also say howdy partner. And so you can have agents for
[01:19:48] partner. And so you can have agents for a million different things. In general,
[01:19:50] a million different things. In general, one-off functions like tell me the time
[01:19:52] one-off functions like tell me the time aren't really that valuable because you
[01:19:54] aren't really that valuable because you know your parent agent can sort of
[01:19:56] know your parent agent can sort of already tell you the time for the most
[01:19:58] already tell you the time for the most part. But there are a couple of agents
[01:20:00] part. But there are a couple of agents that do make sense. And so if we split
[01:20:02] that do make sense. And so if we split this into parent and then you variety of
[01:20:05] this into parent and then you variety of different ways you could call this. Used
[01:20:06] different ways you could call this. Used to be master slave by the way, which uh
[01:20:08] to be master slave by the way, which uh you know had a bunch of issues. They had
[01:20:10] you know had a bunch of issues. They had to change it. Now, it's like kind of
[01:20:11] to change it. Now, it's like kind of like parent agent and then child agent.
[01:20:15] like parent agent and then child agent. But if you think about it, there are a
[01:20:17] But if you think about it, there are a few agents that actually make sense. The
[01:20:19] few agents that actually make sense. The first agent that makes sense is in
[01:20:21] first agent that makes sense is in general having some sort of research sub
[01:20:23] general having some sort of research sub agent. The reason why is because the way
[01:20:26] agent. The reason why is because the way that agents work is they're spawned with
[01:20:27] that agents work is they're spawned with their own context. And so this agent
[01:20:30] their own context. And so this agent down here that we just spawned has no uh
[01:20:32] down here that we just spawned has no uh no context aside from just this input.
[01:20:35] no context aside from just this input. It literally the only text inside of its
[01:20:37] It literally the only text inside of its um you know prompt is the user wants to
[01:20:39] um you know prompt is the user wants to know the current time. please determine
[01:20:40] know the current time. please determine the current time along with you know the
[01:20:42] the current time along with you know the highle instructions that we defined and
[01:20:44] highle instructions that we defined and tell me the time like that's that's
[01:20:45] tell me the time like that's that's literally all that it has that's its
[01:20:47] literally all that it has that's its whole claw MD essentially
[01:20:50] whole claw MD essentially um and so because of this because of the
[01:20:52] um and so because of this because of the separation of contacts you know if you
[01:20:53] separation of contacts you know if you want to keep the total number of tokens
[01:20:55] want to keep the total number of tokens that you use as low as possible in the
[01:20:56] that you use as low as possible in the parent agent which is usually the
[01:20:57] parent agent which is usually the smartest one like the one that you're
[01:20:59] smartest one like the one that you're paying the big API token usage and stuff
[01:21:00] paying the big API token usage and stuff like that for uh instead of trying to
[01:21:02] like that for uh instead of trying to fill in a 100,000 tokens in research
[01:21:05] fill in a 100,000 tokens in research when it goes on the internet and it
[01:21:06] when it goes on the internet and it looks up trends then it goes checks out
[01:21:08] looks up trends then it goes checks out Google analytics and then goes pumps
[01:21:10] Google analytics and then goes pumps things into I don't know duck.go So
[01:21:13] things into I don't know duck.go So instead of like filling or polluting all
[01:21:15] instead of like filling or polluting all the context of the parent agent, what
[01:21:16] the context of the parent agent, what you do is you basically just say, "Hey,
[01:21:18] you do is you basically just say, "Hey, you know, go research
[01:21:21] you know, go research XYZ
[01:21:23] XYZ and tell me
[01:21:26] and tell me a summary and then it will go pollute
[01:21:29] a summary and then it will go pollute all of its own contacts window, get it
[01:21:31] all of its own contacts window, get it super long, might use 50 or 100,000
[01:21:33] super long, might use 50 or 100,000 tokens, which is why a lot of people use
[01:21:35] tokens, which is why a lot of people use the U sonnet model series at the time of
[01:21:37] the U sonnet model series at the time of this recording for that purpose. And
[01:21:39] this recording for that purpose. And then the only thing that actually makes
[01:21:40] then the only thing that actually makes it back to the parent is just that
[01:21:42] it back to the parent is just that summary. So down here this could use
[01:21:44] summary. So down here this could use 100,000 tokens, right? But then like the
[01:21:46] 100,000 tokens, right? But then like the tokens that it transmits back might only
[01:21:48] tokens that it transmits back might only be I don't know like 2k or something
[01:21:51] be I don't know like 2k or something which is if you think about it a cost
[01:21:52] which is if you think about it a cost savings amount of 50 times or literally
[01:21:54] savings amount of 50 times or literally 50 times cheaper than whatever the
[01:21:55] 50 times cheaper than whatever the parent cost would have been. And then we
[01:21:56] parent cost would have been. And then we also get to use um you know a lot of
[01:21:59] also get to use um you know a lot of cheaper uh subm models and stuff like
[01:22:01] cheaper uh subm models and stuff like that like sonnet like haiku and so on
[01:22:02] that like sonnet like haiku and so on and so forth. So research is really
[01:22:04] and so forth. So research is really really good. Um and that's one sub agent
[01:22:06] really good. Um and that's one sub agent that I would almost always create. I'm
[01:22:07] that I would almost always create. I'm actually going to show you guys how to
[01:22:08] actually going to show you guys how to create one later for your code and then
[01:22:10] create one later for your code and then also for other automation purposes.
[01:22:12] also for other automation purposes. Another one that I really recommend is
[01:22:14] Another one that I really recommend is basically having like a reviewer agent.
[01:22:17] basically having like a reviewer agent. The way that the reviewer agent works is
[01:22:19] The way that the reviewer agent works is in contrast with the research agent, you
[01:22:22] in contrast with the research agent, you know, it having no context is actually
[01:22:24] know, it having no context is actually the whole point. So basically what
[01:22:26] the whole point. So basically what happens is this parent writes a bunch of
[01:22:28] happens is this parent writes a bunch of code, right? You know, it's like your
[01:22:29] code, right? You know, it's like your index.html or as we're going to see it's
[01:22:31] index.html or as we're going to see it's going to be Python scripts or whatever
[01:22:32] going to be Python scripts or whatever the heck. It's just going to do a bunch
[01:22:33] the heck. It's just going to do a bunch of code for you. And then after writing
[01:22:35] of code for you. And then after writing all that code, okay, its context is now
[01:22:38] all that code, okay, its context is now really biased towards the way that it
[01:22:40] really biased towards the way that it wrote that code. Basically, you know, if
[01:22:41] wrote that code. Basically, you know, if you think about it, there's like 10,000
[01:22:43] you think about it, there's like 10,000 tokens and all of those tokens are like,
[01:22:45] tokens and all of those tokens are like, hey, you know, I should write the code
[01:22:46] hey, you know, I should write the code this way because of whatever reason.
[01:22:48] this way because of whatever reason. Well, if you want it to write really
[01:22:50] Well, if you want it to write really really good code, a lot of the time what
[01:22:52] really good code, a lot of the time what you have to do is you actually have to
[01:22:53] you have to do is you actually have to give it to another version of itself
[01:22:55] give it to another version of itself with no context and then just say, "Hey,
[01:22:57] with no context and then just say, "Hey, this is the this is the code knowing
[01:22:59] this is the this is the code knowing absolutely nothing. Do you think this is
[01:23:01] absolutely nothing. Do you think this is good code?" And if the answer to that
[01:23:02] good code?" And if the answer to that question is yes, then obviously it's
[01:23:04] question is yes, then obviously it's good code. But if not, okay, what
[01:23:05] good code. But if not, okay, what usually happens is when you do this,
[01:23:06] usually happens is when you do this, when you spawn a new agent, then give it
[01:23:08] when you spawn a new agent, then give it the code, it'll say it's kind of weird
[01:23:10] the code, it'll say it's kind of weird that you wrote it that way. Why did you
[01:23:11] that you wrote it that way. Why did you write it that way? And then the reason
[01:23:13] write it that way? And then the reason why is because the initial version of
[01:23:14] why is because the initial version of cloud as mentioned was just really
[01:23:15] cloud as mentioned was just really biased because it had just done all this
[01:23:17] biased because it had just done all this thinking and stuff like that. And so,
[01:23:20] thinking and stuff like that. And so, you know, they do this in in um you
[01:23:22] you know, they do this in in um you know, like big enterprises stuff like
[01:23:23] know, like big enterprises stuff like that. Like you do what's called a code
[01:23:24] that. Like you do what's called a code review where you know a programmer
[01:23:26] review where you know a programmer writes some big long function or some
[01:23:28] writes some big long function or some cool tool or creates a nice app and then
[01:23:30] cool tool or creates a nice app and then they're so biased about the way to do
[01:23:32] they're so biased about the way to do things because they've just spent like
[01:23:34] things because they've just spent like 10 hours you know hammering a particular
[01:23:36] 10 hours you know hammering a particular method or a particular approach that
[01:23:38] method or a particular approach that when they give it to a code reviewer aka
[01:23:40] when they give it to a code reviewer aka another human being the guy looks at it
[01:23:42] another human being the guy looks at it and he's like what the hell is this? Why
[01:23:43] and he's like what the hell is this? Why did you do it this way? You could have
[01:23:44] did you do it this way? You could have done it way easier with another way or
[01:23:45] done it way easier with another way or whatever. Or you know hey I noticed that
[01:23:47] whatever. Or you know hey I noticed that your security is kind of off. So in this
[01:23:49] your security is kind of off. So in this instance, what the reviewer sub agent
[01:23:51] instance, what the reviewer sub agent does is it basically takes advantage of
[01:23:53] does is it basically takes advantage of the fact that it has no input and then
[01:23:55] the fact that it has no input and then it's able to look at the code with like
[01:23:56] it's able to look at the code with like a totally blank face. And so with this,
[01:23:59] a totally blank face. And so with this, you basically say, you know, look at the
[01:24:01] you basically say, you know, look at the code with zero context or no context
[01:24:06] code with zero context or no context and break down
[01:24:10] and break down plus improve it. And then what it'll do
[01:24:13] plus improve it. And then what it'll do is it'll take all of the code. So it
[01:24:15] is it'll take all of the code. So it might feed in, you know, like 10,000
[01:24:17] might feed in, you know, like 10,000 lines or something and then it'll return
[01:24:19] lines or something and then it'll return just the changes to the parent agent and
[01:24:21] just the changes to the parent agent and then, you know, this might be again like
[01:24:23] then, you know, this might be again like 2k tokens or something and the parent
[01:24:24] 2k tokens or something and the parent agent will will do the changes cuz it's
[01:24:26] agent will will do the changes cuz it's usually smarter and then you know now
[01:24:28] usually smarter and then you know now your code's way higher quality. Finally,
[01:24:29] your code's way higher quality. Finally, one that a lot of people are using is
[01:24:30] one that a lot of people are using is sort of this middle one here which is
[01:24:32] sort of this middle one here which is like QA/ testing. Now this is more of
[01:24:34] like QA/ testing. Now this is more of like an advanced programming thing but
[01:24:36] like an advanced programming thing but basically in order to determine whether
[01:24:38] basically in order to determine whether or not a piece of code works or a tool
[01:24:39] or not a piece of code works or a tool works or a piece of software is like
[01:24:41] works or a piece of software is like good typically um you can develop a
[01:24:43] good typically um you can develop a bunch of tests and then you can subject
[01:24:45] bunch of tests and then you can subject your tool or software that you just
[01:24:46] your tool or software that you just created to these tests to figure it out.
[01:24:48] created to these tests to figure it out. Now obviously your parent agent can do
[01:24:50] Now obviously your parent agent can do this but um you know this is just
[01:24:52] this but um you know this is just something that would pollute the context
[01:24:53] something that would pollute the context and be tremendously costly both in terms
[01:24:56] and be tremendously costly both in terms of tokens but also the intelligence of
[01:24:57] of tokens but also the intelligence of the parent model. And so typically what
[01:24:59] the parent model. And so typically what people do is they'll they'll break
[01:25:00] people do is they'll they'll break things down into this research sub
[01:25:01] things down into this research sub agent, a reviewer sub agent, then also
[01:25:03] agent, a reviewer sub agent, then also some sort of QA or automated test sub
[01:25:05] some sort of QA or automated test sub aent um in big enterprise and that's how
[01:25:07] aent um in big enterprise and that's how they do like automated testing of their
[01:25:08] they do like automated testing of their code, automated test-driven development
[01:25:09] code, automated test-driven development and so on and so forth which is similar
[01:25:11] and so on and so forth which is similar to what I was doing earlier when we
[01:25:13] to what I was doing earlier when we designed those websites where you know
[01:25:15] designed those websites where you know we tell it to do the thing it goes and
[01:25:16] we tell it to do the thing it goes and it does the thing and then it uses some
[01:25:18] it does the thing and then it uses some sort of way to verify that it did the
[01:25:19] sort of way to verify that it did the thing correctly. You can kind of think
[01:25:20] thing correctly. You can kind of think of the QA agent as like a way to
[01:25:22] of the QA agent as like a way to facilitate that. It's just with design,
[01:25:24] facilitate that. It's just with design, it's pretty easy because you just feed a
[01:25:25] it's pretty easy because you just feed a screenshot in and then you look at, you
[01:25:26] screenshot in and then you look at, you know, the screenshot and if the
[01:25:27] know, the screenshot and if the screenshots's good, then you're good.
[01:25:29] screenshots's good, then you're good. With, you know, back-end development,
[01:25:30] With, you know, back-end development, obviously, you need a way to determine,
[01:25:32] obviously, you need a way to determine, hey, is the thing that I said that it
[01:25:34] hey, is the thing that I said that it should be able to do actually happening?
[01:25:36] should be able to do actually happening? Last but not least, we have skills,
[01:25:38] Last but not least, we have skills, which were previously referred to as
[01:25:40] which were previously referred to as custom/comands.
[01:25:41] custom/comands. Now, [snorts] skills are pretty great.
[01:25:43] Now, [snorts] skills are pretty great. skills basically allow you to automate a
[01:25:44] skills basically allow you to automate a vast majority of I want to say like the
[01:25:46] vast majority of I want to say like the day-to-day knowledge work that you may
[01:25:48] day-to-day knowledge work that you may or may not be doing especially when you
[01:25:49] or may not be doing especially when you pair it with tools like Excel or Google
[01:25:51] pair it with tools like Excel or Google Sheets or whatnot. Now I came up with
[01:25:54] Sheets or whatnot. Now I came up with this idea of directive orchestration
[01:25:56] this idea of directive orchestration executions. Um it was this framework
[01:25:58] executions. Um it was this framework that I put about uh probably about like
[01:26:00] that I put about uh probably about like four or five months ago just as cloud
[01:26:02] four or five months ago just as cloud was figuring out how skills worked and
[01:26:04] was figuring out how skills worked and and stuff like that and they've since
[01:26:05] and stuff like that and they've since created skills which I think is actually
[01:26:07] created skills which I think is actually a much better alternative to my DOE uh
[01:26:09] a much better alternative to my DOE uh framework. So I just use skills now. But
[01:26:12] framework. So I just use skills now. But basically what these things are are just
[01:26:14] basically what these things are are just like sub agents. These are highle
[01:26:15] like sub agents. These are highle instructions that you can give to uh the
[01:26:18] instructions that you can give to uh the parent agent. Okay. The one distinction
[01:26:20] parent agent. Okay. The one distinction between sub agent and then skills is in
[01:26:22] between sub agent and then skills is in the sub aent it does it all like a
[01:26:24] the sub aent it does it all like a different agent. In the skill it's like
[01:26:25] different agent. In the skill it's like given to the parent agent and basically
[01:26:27] given to the parent agent and basically it's just a list of instructions allows
[01:26:28] it's just a list of instructions allows it to do something. So I want to give
[01:26:29] it to do something. So I want to give you guys a brief little example of what
[01:26:31] you guys a brief little example of what that might actually look like using a
[01:26:32] that might actually look like using a skill that I developed called shop
[01:26:33] skill that I developed called shop Amazon. So heading back to our folder
[01:26:35] Amazon. So heading back to our folder here, if I go down to skills, you see
[01:26:36] here, if I go down to skills, you see that there is now a skill called
[01:26:38] that there is now a skill called shop-mazon.mmd.
[01:26:40] shop-mazon.mmd. Up at the top right hand corner, the
[01:26:41] Up at the top right hand corner, the name is shop Amazon. Underneath here is
[01:26:44] name is shop Amazon. Underneath here is browse and purchase items on Amazon.ca
[01:26:46] browse and purchase items on Amazon.ca via the Chrome DevTools MCP using the
[01:26:48] via the Chrome DevTools MCP using the user as to find, compare, or buy
[01:26:49] user as to find, compare, or buy products in Amazon. Then there are a
[01:26:51] products in Amazon. Then there are a bunch of highlevel instructions about
[01:26:52] bunch of highlevel instructions about how exactly to use um a various like
[01:26:56] how exactly to use um a various like some various tools to browse Amazon for
[01:26:59] some various tools to browse Amazon for me and then find uh products that I want
[01:27:01] me and then find uh products that I want to do including stop like get purchase
[01:27:03] to do including stop like get purchase approval. Do not skip this step. So I
[01:27:06] approval. Do not skip this step. So I mean like I often buy products on Amazon
[01:27:08] mean like I often buy products on Amazon and to be honest there's just so much
[01:27:09] and to be honest there's just so much junk on Amazon now that I don't want to
[01:27:11] junk on Amazon now that I don't want to have to spend every you know day hours
[01:27:13] have to spend every you know day hours of my time like rifling through mostly
[01:27:16] of my time like rifling through mostly you know like uh SEO optimized garbage
[01:27:18] you know like uh SEO optimized garbage which doesn't actually mean anything. So
[01:27:20] which doesn't actually mean anything. So what I did is I put together a skill to
[01:27:21] what I did is I put together a skill to do that for me. And at the moment um I
[01:27:24] do that for me. And at the moment um I require uh something to connect my uh
[01:27:28] require uh something to connect my uh basically in photography like a bounce
[01:27:29] basically in photography like a bounce sheet or a reflector with um one of my
[01:27:32] sheet or a reflector with um one of my stands. So what I want to do is just I'm
[01:27:35] stands. So what I want to do is just I'm going to speak into it and I'm going to
[01:27:36] going to speak into it and I'm going to say, "Hey, I'm shopping for something to
[01:27:39] say, "Hey, I'm shopping for something to connect one of my reflectors to one of
[01:27:42] connect one of my reflectors to one of my tripod mounts. I purchased the
[01:27:44] my tripod mounts. I purchased the reflector a couple days ago and I didn't
[01:27:46] reflector a couple days ago and I didn't realize that I needed, you know,
[01:27:48] realize that I needed, you know, something separate to kind of clip the
[01:27:50] something separate to kind of clip the two together. Um, could you shop Amazon
[01:27:52] two together. Um, could you shop Amazon and give me some options that I could
[01:27:53] and give me some options that I could use?
[01:27:56] use? So, I'm just going to press enter here
[01:27:57] So, I'm just going to press enter here and then I'm just going to let it go on
[01:27:59] and then I'm just going to let it go on its way. We open up the thinking. What
[01:28:02] its way. We open up the thinking. What it's going to start with is the user is
[01:28:03] it's going to start with is the user is asking me to help them shop on Amazon.
[01:28:05] asking me to help them shop on Amazon. Then the user wants to find a reflector
[01:28:07] Then the user wants to find a reflector holder or whatever. And now what it's
[01:28:09] holder or whatever. And now what it's going to do is actually going to open up
[01:28:10] going to do is actually going to open up a Chrome tab for me using Chrome
[01:28:11] a Chrome tab for me using Chrome DevTools. and it's going to go and it's
[01:28:13] DevTools. and it's going to go and it's going to look for it. Okay, now it knows
[01:28:15] going to look for it. Okay, now it knows that I'm in Canada, for instance. So,
[01:28:17] that I'm in Canada, for instance. So, it's actually looking it up at amazon.ca
[01:28:19] it's actually looking it up at amazon.ca up here. It's scrolling through. It's
[01:28:21] up here. It's scrolling through. It's going to open things up, take
[01:28:23] going to open things up, take screenshots of various parts of the
[01:28:25] screenshots of various parts of the page. It's going to read through
[01:28:26] page. It's going to read through everything and so on and so forth. And
[01:28:28] everything and so on and so forth. And uh it'll actually at the end of it get
[01:28:29] uh it'll actually at the end of it get me a bunch of options according to what
[01:28:31] me a bunch of options according to what I wrote in my um you know, shop- Amazon
[01:28:34] I wrote in my um you know, shop- Amazon markdown skill. And so, if you think
[01:28:36] markdown skill. And so, if you think about it, like this is something that
[01:28:38] about it, like this is something that previously a virtual assistant or
[01:28:39] previously a virtual assistant or something might have done, right? I mean
[01:28:40] something might have done, right? I mean this is something that like it I would
[01:28:42] this is something that like it I would have just given to somebody and
[01:28:44] have just given to somebody and delegated away. Hey you know I'm setting
[01:28:45] delegated away. Hey you know I'm setting up a photography studio in X Y and Z.
[01:28:47] up a photography studio in X Y and Z. Well now I can actually just write a
[01:28:49] Well now I can actually just write a skill a highle skill that teaches it how
[01:28:51] skill a highle skill that teaches it how to use Amazon and then once it goes
[01:28:53] to use Amazon and then once it goes through Amazon and you know finds me the
[01:28:55] through Amazon and you know finds me the products then just gives me like a big
[01:28:56] products then just gives me like a big list of things like this. So what I can
[01:28:59] list of things like this. So what I can do now is I could say hey you know I
[01:29:00] do now is I could say hey you know I want to buy X Y and Z and then it can go
[01:29:01] want to buy X Y and Z and then it can go and actually buy it for me. You know,
[01:29:03] and actually buy it for me. You know, obviously, um, I recommend if you guys
[01:29:05] obviously, um, I recommend if you guys are like making purchase decisions with
[01:29:07] are like making purchase decisions with cloud code, this isn't really something
[01:29:09] cloud code, this isn't really something I'd 100% automate. You know, maybe I'd
[01:29:10] I'd 100% automate. You know, maybe I'd have it add all the products to cart and
[01:29:12] have it add all the products to cart and then I'd say, "Okay, give me the page so
[01:29:13] then I'd say, "Okay, give me the page so I can review it and then purchase it
[01:29:14] I can review it and then purchase it myself." Um, but you can automate this
[01:29:16] myself." Um, but you can automate this about as crazily in detailed as you
[01:29:18] about as crazily in detailed as you want. What we've done is we basically
[01:29:20] want. What we've done is we basically made an API out of Amazon and they don't
[01:29:22] made an API out of Amazon and they don't have one specifically because they don't
[01:29:24] have one specifically because they don't want everybody to. With Cloud Skills,
[01:29:26] want everybody to. With Cloud Skills, you can do something like that super
[01:29:27] you can do something like that super easily. The variety of other skills that
[01:29:29] easily. The variety of other skills that you can create. This one's called Upwork
[01:29:31] you can create. This one's called Upwork Scrape Apply. I have a bunch that do
[01:29:33] Scrape Apply. I have a bunch that do like um you know lead scraping for me
[01:29:35] like um you know lead scraping for me more generally. I have skills that
[01:29:37] more generally. I have skills that automate the process of sending welcome
[01:29:38] automate the process of sending welcome emails to new clients. I have skills
[01:29:40] emails to new clients. I have skills that automate the process of building
[01:29:42] that automate the process of building their deliverables. And what's really
[01:29:43] their deliverables. And what's really cool is um you're not the only person
[01:29:46] cool is um you're not the only person that had like you don't actually have to
[01:29:47] that had like you don't actually have to put the whole skill together yourself.
[01:29:48] put the whole skill together yourself. You can just have Claude help you put
[01:29:49] You can just have Claude help you put the skill together for a future instance
[01:29:51] the skill together for a future instance of Claude. And in practice that's
[01:29:52] of Claude. And in practice that's usually what I do. I'll say something
[01:29:54] usually what I do. I'll say something like hey I want to build a skill that
[01:29:55] like hey I want to build a skill that does X Y and Z. Can you help me format
[01:29:57] does X Y and Z. Can you help me format it? Here's like how skills work because
[01:29:58] it? Here's like how skills work because sometimes it it won't know for whatever
[01:30:00] sometimes it it won't know for whatever reason. It'll have to go research skill
[01:30:02] reason. It'll have to go research skill formatting and stuff like that. And then
[01:30:03] formatting and stuff like that. And then it'll say, "Yeah, sure. I could put one
[01:30:04] it'll say, "Yeah, sure. I could put one together for you." Then what you do is
[01:30:05] together for you." Then what you do is you take that, feed that to a fresh
[01:30:07] you take that, feed that to a fresh instance of cloud code that has no
[01:30:08] instance of cloud code that has no understanding what the skill is. See how
[01:30:10] understanding what the skill is. See how it does. If it screws up, you just give
[01:30:11] it does. If it screws up, you just give it feedback and say, "Okay, modify the
[01:30:13] it feedback and say, "Okay, modify the skill so you do better next time." You
[01:30:14] skill so you do better next time." You rinse and repeat. And eventually you get
[01:30:16] rinse and repeat. And eventually you get an error rating, which may start off at
[01:30:18] an error rating, which may start off at like, I don't know, let's say like it
[01:30:20] like, I don't know, let's say like it it's only good 70% of the time on your
[01:30:22] it's only good 70% of the time on your first. Well, after some changes, now
[01:30:24] first. Well, after some changes, now it's good 80% of the time. Then after a
[01:30:27] it's good 80% of the time. Then after a couple more changes, now it's good 90%
[01:30:28] couple more changes, now it's good 90% of the time. And then eventually I want
[01:30:30] of the time. And then eventually I want to say you can get to like 98 to 99%
[01:30:32] to say you can get to like 98 to 99% fidelity and accuracy which in any sort
[01:30:34] fidelity and accuracy which in any sort of knowledge field nowadays is more than
[01:30:36] of knowledge field nowadays is more than enough. I'd say most human beings screw
[01:30:37] enough. I'd say most human beings screw up more than 1 to 2% of the time. So
[01:30:39] up more than 1 to 2% of the time. So we'll cover a little bit more about
[01:30:40] we'll cover a little bit more about skills and how to create them, how to
[01:30:42] skills and how to create them, how to take pre-existing SOPs and workflows and
[01:30:44] take pre-existing SOPs and workflows and stuff like that and convert them into
[01:30:45] stuff like that and convert them into skills a little bit later on, but for
[01:30:47] skills a little bit later on, but for now just know that they're there. Okay.
[01:30:49] now just know that they're there. Okay. So most everything here has now been
[01:30:51] So most everything here has now been covered. Uh, we talked about claud,
[01:30:54] covered. Uh, we talked about claud, we've talked about the cloud.mmd, we've
[01:30:55] we've talked about the cloud.mmd, we've talked about the local, we talked about
[01:30:57] talked about the local, we talked about the agents folder, the skills folder,
[01:30:59] the agents folder, the skills folder, the rules folder. We only have a few
[01:31:01] the rules folder. We only have a few things left like there's mcps to talk
[01:31:03] things left like there's mcps to talk about, but now is not a good time to, so
[01:31:04] about, but now is not a good time to, so I'm going to push that off to later. And
[01:31:06] I'm going to push that off to later. And then also the settings.json is a good
[01:31:08] then also the settings.json is a good thing to mention, but since this deals
[01:31:09] thing to mention, but since this deals with hooks, I'll also talk about that
[01:31:11] with hooks, I'll also talk about that later. You're now at the point where you
[01:31:12] later. You're now at the point where you understand, I want to say, you know, 90%
[01:31:15] understand, I want to say, you know, 90% of the internal workings of cloud code.
[01:31:17] of the internal workings of cloud code. you understand the file structure, the
[01:31:19] you understand the file structure, the organization. You understand the highest
[01:31:21] organization. You understand the highest ROI way to build anything, whether it is
[01:31:23] ROI way to build anything, whether it is a simple website or something more
[01:31:24] a simple website or something more complex like a full stack app or an
[01:31:26] complex like a full stack app or an automation. From here on out, it's
[01:31:27] automation. From here on out, it's really just learning a little bit more
[01:31:29] really just learning a little bit more about Claude's various modes. So, plan
[01:31:31] about Claude's various modes. So, plan mode, dangerously skip permissions, um
[01:31:34] mode, dangerously skip permissions, um you know, uh ask before editing and so
[01:31:36] you know, uh ask before editing and so on and so forth. And then we can take
[01:31:37] on and so forth. And then we can take all this and then we can use it to build
[01:31:38] all this and then we can use it to build something really, really cool. What
[01:31:40] something really, really cool. What we're going to learn about next are the
[01:31:41] we're going to learn about next are the various permission modes available to us
[01:31:44] various permission modes available to us in Clawed Code. Now, just so we're all
[01:31:46] in Clawed Code. Now, just so we're all on the same page here, when I say
[01:31:47] on the same page here, when I say permission mode, what I'm referring to
[01:31:49] permission mode, what I'm referring to is this little button down at the very
[01:31:51] is this little button down at the very bottom of the GUI. And you can toggle
[01:31:54] bottom of the GUI. And you can toggle through this button pretty
[01:31:55] through this button pretty straightforwardly and easily. And as you
[01:31:57] straightforwardly and easily. And as you can see here, when we do, we get four
[01:31:59] can see here, when we do, we get four main modes. The first is ask before
[01:32:02] main modes. The first is ask before edits. The second is edit automatically.
[01:32:04] edits. The second is edit automatically. The third is plan mode. And the fourth
[01:32:06] The third is plan mode. And the fourth is bypass permissions. I should note
[01:32:08] is bypass permissions. I should note that you're not actually going to get
[01:32:09] that you're not actually going to get bypass permissions right out of the gate
[01:32:10] bypass permissions right out of the gate here, at least not as of the time of
[01:32:12] here, at least not as of the time of this recording. So, I'll show you guys
[01:32:13] this recording. So, I'll show you guys how to enable that yourselves. So, we're
[01:32:16] how to enable that yourselves. So, we're going to run through each of these as
[01:32:17] going to run through each of these as well as some extras. And then at the end
[01:32:19] well as some extras. And then at the end of today's module, we're going to focus
[01:32:20] of today's module, we're going to focus significantly more on plan mode. I'm
[01:32:22] significantly more on plan mode. I'm going to walk you guys through how plan
[01:32:24] going to walk you guys through how plan mode works, why you might want to use
[01:32:25] mode works, why you might want to use it, and then ultimately how to use plan
[01:32:27] it, and then ultimately how to use plan mode to build something that I've
[01:32:28] mode to build something that I've personally been wanting to build for
[01:32:29] personally been wanting to build for quite a while. So, we're going to do it
[01:32:30] quite a while. So, we're going to do it interactively together. [snorts] So,
[01:32:32] interactively together. [snorts] So, permission modes control how your agents
[01:32:35] permission modes control how your agents handle permissions. You also give the
[01:32:39] handle permissions. You also give the current permission mode to any sub aents
[01:32:41] current permission mode to any sub aents that you employ, which is going to be
[01:32:43] that you employ, which is going to be pretty important for later. Now, they
[01:32:45] pretty important for later. Now, they tend to inherit the permission context
[01:32:47] tend to inherit the permission context from the main conversation, but there
[01:32:48] from the main conversation, but there are a couple situations in which they
[01:32:49] are a couple situations in which they can actually override the mode, too. Um,
[01:32:52] can actually override the mode, too. Um, for now, I just want you to pretend that
[01:32:53] for now, I just want you to pretend that all we're talking about are our current
[01:32:56] all we're talking about are our current uh top level agents. We're not focused
[01:32:58] uh top level agents. We're not focused on any sub aents or any additional
[01:33:00] on any sub aents or any additional functionality. Nothing like what we just
[01:33:01] functionality. Nothing like what we just talked about earlier. Um, so we have
[01:33:04] talked about earlier. Um, so we have default. Default is standard permission
[01:33:06] default. Default is standard permission checking with prompts. If you guys
[01:33:08] checking with prompts. If you guys remember down here where it says ask
[01:33:10] remember down here where it says ask before edits, you guys can think of this
[01:33:11] before edits, you guys can think of this as basically the default. Okay? And so
[01:33:14] as basically the default. Okay? And so the default setting is before Claude
[01:33:17] the default setting is before Claude makes any changes to any files on your
[01:33:20] makes any changes to any files on your computer, it has to ask you whether or
[01:33:22] computer, it has to ask you whether or not it's okay to do it. And I'll show
[01:33:25] not it's okay to do it. And I'll show you guys what that looks like right now
[01:33:26] you guys what that looks like right now by saying um you know change
[01:33:30] by saying um you know change the title of the project to Nick's happy
[01:33:34] the title of the project to Nick's happy fun time.
[01:33:37] fun time. So because I'm in ask before edits mode,
[01:33:39] So because I'm in ask before edits mode, you'll see that before it does any sort
[01:33:42] you'll see that before it does any sort of change, what's going to do is it's
[01:33:43] of change, what's going to do is it's first going to look at the specific file
[01:33:45] first going to look at the specific file that defines the title. It's going to
[01:33:47] that defines the title. It's going to pop open on the right hand side the
[01:33:49] pop open on the right hand side the exact section of the page that it's
[01:33:51] exact section of the page that it's considering updating. So, initially it
[01:33:53] considering updating. So, initially it said profile name-worklog. Profile name
[01:33:55] said profile name-worklog. Profile name in this case was Nick. It defined some
[01:33:57] in this case was Nick. It defined some really cool badass variable stuff for
[01:33:58] really cool badass variable stuff for me. But because of my dumb request, it's
[01:34:00] me. But because of my dumb request, it's now saying title equals Nick's happy
[01:34:02] now saying title equals Nick's happy funtime and lowercase. You'll also
[01:34:04] funtime and lowercase. You'll also notice I'm just going to have to remove
[01:34:05] notice I'm just going to have to remove my head here so we can see this a little
[01:34:07] my head here so we can see this a little bit better. You'll also notice that down
[01:34:09] bit better. You'll also notice that down at the bottom it says, "Hey, should we
[01:34:11] at the bottom it says, "Hey, should we make this edit to index.astro?" That's
[01:34:13] make this edit to index.astro?" That's the file. And I have three choices. I
[01:34:15] the file. And I have three choices. I can either say yes by clicking or
[01:34:17] can either say yes by clicking or pressing one, two, saying yes, allow all
[01:34:20] pressing one, two, saying yes, allow all edits this session, or three, I could
[01:34:23] edits this session, or three, I could say no. And finally, I could also say
[01:34:25] say no. And finally, I could also say tell Claude what to do instead. JK,
[01:34:28] tell Claude what to do instead. JK, please don't do this. And so because of
[01:34:31] please don't do this. And so because of this, it's going to say no changes made
[01:34:33] this, it's going to say no changes made and I will not have actually gone
[01:34:35] and I will not have actually gone through the request. Obviously, most of
[01:34:37] through the request. Obviously, most of the time we don't actually do that. We
[01:34:38] the time we don't actually do that. We don't actually make that third uh or
[01:34:40] don't actually make that third uh or rather we don't click that fourth one.
[01:34:42] rather we don't click that fourth one. Um, as you see, it's also kind of
[01:34:44] Um, as you see, it's also kind of annoying. But generally speaking, if you
[01:34:45] annoying. But generally speaking, if you guys are working in a codebase that is,
[01:34:48] guys are working in a codebase that is, I don't know, really high-risk sort of
[01:34:50] I don't know, really high-risk sort of high reward thing where like every
[01:34:51] high reward thing where like every change needs to be good or it's going to
[01:34:52] change needs to be good or it's going to screw everything up, you can use ask
[01:34:55] screw everything up, you can use ask before edits. I should note that very
[01:34:57] before edits. I should note that very few people are nowadays. We moved away
[01:34:59] few people are nowadays. We moved away from ask before edits. Um, most people
[01:35:01] from ask before edits. Um, most people now use either the next setting I'm
[01:35:03] now use either the next setting I'm going to show you or they just bypass
[01:35:04] going to show you or they just bypass permissions like me entirely. The next
[01:35:06] permissions like me entirely. The next major setting is accept edits. In accept
[01:35:09] major setting is accept edits. In accept edits, what we do is we auto accept any
[01:35:12] edits, what we do is we auto accept any edits to files, but then if you want to
[01:35:14] edits to files, but then if you want to create new files, it'll still ask you
[01:35:16] create new files, it'll still ask you for it. And so, going back to our little
[01:35:18] for it. And so, going back to our little cloud code page here, we move from ask
[01:35:21] cloud code page here, we move from ask before edits to edit automatically.
[01:35:23] before edits to edit automatically. Okay, we can now edit any pre-existing
[01:35:25] Okay, we can now edit any pre-existing files. So, what we can do is we could
[01:35:26] files. So, what we can do is we could say, sorry, I actually want you to do
[01:35:29] say, sorry, I actually want you to do this
[01:35:31] this update the project to the title.
[01:35:35] update the project to the title. And because we've selected edit
[01:35:37] And because we've selected edit automatically instead of ask before
[01:35:39] automatically instead of ask before edits, it'll actually go through and
[01:35:40] edits, it'll actually go through and it'll automatically update that for me.
[01:35:42] it'll automatically update that for me. See how there was no little panel on the
[01:35:43] See how there was no little panel on the right hand side. So this is useful when
[01:35:46] right hand side. So this is useful when you want to give the model like cart
[01:35:47] you want to give the model like cart blanch control over any pre-existing
[01:35:49] blanch control over any pre-existing files, but you don't want it to like
[01:35:51] files, but you don't want it to like have any control or any ability to make
[01:35:53] have any control or any ability to make new ones. So I'm just going to say
[01:35:54] new ones. So I'm just going to say revert the change. And keep in mind that
[01:35:56] revert the change. And keep in mind that now because we're in edit automatically,
[01:35:58] now because we're in edit automatically, it can do so without actually having to
[01:35:59] it can do so without actually having to pop. The next one is don't ask. Now,
[01:36:02] pop. The next one is don't ask. Now, there's no don't ask permission prompt
[01:36:04] there's no don't ask permission prompt explicitly set up here. So, if you want
[01:36:06] explicitly set up here. So, if you want to get to your permissions, you actually
[01:36:08] to get to your permissions, you actually have to go back/permissions and then
[01:36:10] have to go back/permissions and then continue in a terminal. This is going to
[01:36:11] continue in a terminal. This is going to open up a new page for you that's going
[01:36:14] open up a new page for you that's going to then pump in claude with some
[01:36:15] to then pump in claude with some permissions tab. And then you're going
[01:36:17] permissions tab. And then you're going to get a list of all of the different
[01:36:19] to get a list of all of the different permissions that you can have including
[01:36:22] permissions that you can have including rules in this workspace. So, as you can
[01:36:24] rules in this workspace. So, as you can see, uh we have allow, ask, deny
[01:36:28] see, uh we have allow, ask, deny workspace. Okay, so this is equivalent
[01:36:30] workspace. Okay, so this is equivalent to our edit all tab. Deny will always
[01:36:34] to our edit all tab. Deny will always reject requests to use any tools. Ask
[01:36:36] reject requests to use any tools. Ask will always ask for confirmation before
[01:36:38] will always ask for confirmation before using tools and allow won't ask before
[01:36:41] using tools and allow won't ask before using any. What's cool is you also have
[01:36:42] using any. What's cool is you also have the ability to add a new rule. So
[01:36:44] the ability to add a new rule. So permission rules are basically where you
[01:36:46] permission rules are basically where you give it the name of a tool and then you
[01:36:49] give it the name of a tool and then you either allow it to use the tool or you
[01:36:51] either allow it to use the tool or you force it to ask you for permissions
[01:36:52] force it to ask you for permissions before using a tool. That obviously
[01:36:54] before using a tool. That obviously takes us to that logical question. What
[01:36:56] takes us to that logical question. What are tools Nick? We haven't talked about
[01:36:57] are tools Nick? We haven't talked about them. Well, there a variety of different
[01:36:59] them. Well, there a variety of different ones that cloud code could use. There's
[01:37:00] ones that cloud code could use. There's stuff like the ability to fetch things
[01:37:02] stuff like the ability to fetch things from the web. There's stuff like bash,
[01:37:04] from the web. There's stuff like bash, which is the ability to write like
[01:37:05] which is the ability to write like terminal commands and whatnot. And you
[01:37:07] terminal commands and whatnot. And you know, the purpose of this course is not
[01:37:08] know, the purpose of this course is not to go through every single one of the
[01:37:09] to go through every single one of the tools cuz to be honest, they're always
[01:37:11] tools cuz to be honest, they're always changing the tools and like the sorts of
[01:37:12] changing the tools and like the sorts of tools that we have and stuff. That's not
[01:37:14] tools that we have and stuff. That's not super valuable, but it's just so that
[01:37:15] super valuable, but it's just so that you know, you can identify and then
[01:37:18] you know, you can identify and then change on a like file or tool basis
[01:37:22] change on a like file or tool basis which things claude code has access to
[01:37:24] which things claude code has access to so long as you're hyper hyper specific
[01:37:26] so long as you're hyper hyper specific about it using in this case um you know
[01:37:29] about it using in this case um you know this little tools output. The next tab
[01:37:31] this little tools output. The next tab is delegate. Now this is a coordination
[01:37:33] is delegate. Now this is a coordination mode for agent team leads. Basically,
[01:37:36] mode for agent team leads. Basically, um, the cloud code now has that feature
[01:37:37] um, the cloud code now has that feature called the agent teams feature where a
[01:37:39] called the agent teams feature where a single agent up at the top can delegate
[01:37:41] single agent up at the top can delegate a bunch of work to a bunch of sub aents.
[01:37:43] a bunch of work to a bunch of sub aents. And so this is the permission that the
[01:37:45] And so this is the permission that the agent team lead is given, which
[01:37:47] agent team lead is given, which basically allows them to delegate tasks,
[01:37:49] basically allows them to delegate tasks, although I it's not allowed to do
[01:37:50] although I it's not allowed to do anything aside from just team management
[01:37:52] anything aside from just team management tools. We'll talk a little bit more
[01:37:53] tools. We'll talk a little bit more about that later. Then we have bypass
[01:37:56] about that later. Then we have bypass permissions. This is what I've been
[01:37:57] permissions. This is what I've been using up until now in basically all
[01:37:59] using up until now in basically all instances. Bypass permissions is great
[01:38:01] instances. Bypass permissions is great because you can do whatever the heck you
[01:38:02] because you can do whatever the heck you want. I should note that there is
[01:38:03] want. I should note that there is obviously a risk here. There was a case
[01:38:05] obviously a risk here. There was a case a little while ago where somebody uh had
[01:38:07] a little while ago where somebody uh had cloud code running on bypass permissions
[01:38:09] cloud code running on bypass permissions and then I think it was on like a Linux
[01:38:11] and then I think it was on like a Linux uh computer or something where there's a
[01:38:12] uh computer or something where there's a simple terminal command that you could
[01:38:13] simple terminal command that you could use to basically delete everything on
[01:38:15] use to basically delete everything on your computer. It's like pseudo rm- RL
[01:38:18] your computer. It's like pseudo rm- RL or RF or something like that. I don't
[01:38:20] or RF or something like that. I don't remember the exact command. I'm sure
[01:38:21] remember the exact command. I'm sure Claude would be able to tell you. And uh
[01:38:23] Claude would be able to tell you. And uh basically because of a misinterpretation
[01:38:25] basically because of a misinterpretation of of the request and you know it did a
[01:38:26] of of the request and you know it did a bunch of research on its own whatever it
[01:38:29] bunch of research on its own whatever it eventually thought it had to run this
[01:38:30] eventually thought it had to run this command. So, it ran the command and it
[01:38:32] command. So, it ran the command and it basically deleted all of the data on the
[01:38:33] basically deleted all of the data on the person's hard drive. They basically had
[01:38:35] person's hard drive. They basically had it bricked and then they needed to take
[01:38:36] it bricked and then they needed to take it in to fix it. I want you to know that
[01:38:38] it in to fix it. I want you to know that these sorts of things are possible, of
[01:38:40] these sorts of things are possible, of course, and I'm not a lawyer, so don't
[01:38:41] course, and I'm not a lawyer, so don't sue the hell out of me if this ends up
[01:38:43] sue the hell out of me if this ends up happening to you, but it's very
[01:38:45] happening to you, but it's very unlikely. In practice, this sort of
[01:38:46] unlikely. In practice, this sort of thing occurs vanishingly small
[01:38:48] thing occurs vanishingly small percentage of the time. And nowadays
[01:38:50] percentage of the time. And nowadays with agents getting more and more
[01:38:51] with agents getting more and more autonomy and other things and then more
[01:38:53] autonomy and other things and then more and more skill and more ability to plan
[01:38:54] and more skill and more ability to plan their own work like we're going to talk
[01:38:55] their own work like we're going to talk about in a moment with plan mode um you
[01:38:58] about in a moment with plan mode um you know most people are shifting towards
[01:38:59] know most people are shifting towards using bypass permissions. Bypass
[01:39:01] using bypass permissions. Bypass permissions also allows cloud to create
[01:39:03] permissions also allows cloud to create new files not just delete them. That in
[01:39:05] new files not just delete them. That in addition to editing files can present a
[01:39:07] addition to editing files can present a risk. The main risk if we're just being
[01:39:09] risk. The main risk if we're just being like businessminded here is actually you
[01:39:11] like businessminded here is actually you just like you create a bunch of
[01:39:12] just like you create a bunch of additional files that maybe you don't
[01:39:14] additional files that maybe you don't need and uh you know because of that
[01:39:16] need and uh you know because of that your workspace can bloat over time. So,
[01:39:18] your workspace can bloat over time. So, it's pragmatic and pertinent to every
[01:39:20] it's pragmatic and pertinent to every now and then just ask Cloud Code to go
[01:39:22] now and then just ask Cloud Code to go through your files and see if there's
[01:39:23] through your files and see if there's anything in the workspace that just
[01:39:24] anything in the workspace that just isn't required anymore. You know,
[01:39:26] isn't required anymore. You know, realistically, as you guys are going to
[01:39:27] realistically, as you guys are going to see when we build this next project, um
[01:39:29] see when we build this next project, um Cloud's going to try a bunch of
[01:39:30] Cloud's going to try a bunch of approaches to do things both on the
[01:39:32] approaches to do things both on the front end and the back end, although the
[01:39:33] front end and the back end, although the back end um um usually much more often.
[01:39:36] back end um um usually much more often. And in doing so, it'll accumulate like
[01:39:38] And in doing so, it'll accumulate like different libraries that it probably
[01:39:39] different libraries that it probably doesn't need. It'll accumulate different
[01:39:40] doesn't need. It'll accumulate different files. It'll create temporary JSONs and
[01:39:43] files. It'll create temporary JSONs and and all this fancy stuff. And as a
[01:39:45] and all this fancy stuff. And as a result of that, if you're not constantly
[01:39:46] result of that, if you're not constantly on top of that, you can have a folder
[01:39:48] on top of that, you can have a folder that has like 10,000 files and it's all
[01:39:50] that has like 10,000 files and it's all just temp stuff which slows down your
[01:39:52] just temp stuff which slows down your computer and bloat cloud code. I've done
[01:39:54] computer and bloat cloud code. I've done it before. So, we'll talk a little bit
[01:39:56] it before. So, we'll talk a little bit more about context management, how to
[01:39:57] more about context management, how to effectively do that in one of the next
[01:39:58] effectively do that in one of the next modules, but I just wanted you guys to
[01:40:00] modules, but I just wanted you guys to know that for now. In terms of how to
[01:40:02] know that for now. In terms of how to set up bypass permissions, it's actually
[01:40:04] set up bypass permissions, it's actually non-trivial to do this and uh if it's
[01:40:06] non-trivial to do this and uh if it's the very first time that you're setting
[01:40:06] the very first time that you're setting up cloud code, you won't have access to
[01:40:08] up cloud code, you won't have access to that. So, head over to the extensions
[01:40:09] that. So, head over to the extensions tab, go down to cloud code for VS Code.
[01:40:12] tab, go down to cloud code for VS Code. You're going to want to click this
[01:40:13] You're going to want to click this little gear icon and go to settings.
[01:40:15] little gear icon and go to settings. That's going to open up this tab over
[01:40:16] That's going to open up this tab over here. I'm just going to move it over to
[01:40:17] here. I'm just going to move it over to the middle so we could see. You'll
[01:40:19] the middle so we could see. You'll notice that one of the first settings is
[01:40:20] notice that one of the first settings is cloud code allow dangerously skip
[01:40:22] cloud code allow dangerously skip permissions. So, um, it'll recommend
[01:40:24] permissions. So, um, it'll recommend this only for sandboxes with no internet
[01:40:26] this only for sandboxes with no internet access. Obviously, mine has internet
[01:40:28] access. Obviously, mine has internet access just fine. So, you know, accept
[01:40:30] access just fine. So, you know, accept this at your own risk. But if you click
[01:40:32] this at your own risk. But if you click this button, you will now have access to
[01:40:34] this button, you will now have access to it down below. There's a few other
[01:40:35] it down below. There's a few other settings here like cloud code autosave,
[01:40:37] settings here like cloud code autosave, enable new conversation shortcuts,
[01:40:39] enable new conversation shortcuts, disable login prompts, and so on and so
[01:40:40] disable login prompts, and so on and so forth. Um, I don't really use or change
[01:40:42] forth. Um, I don't really use or change any of these in practice. Okay. And then
[01:40:44] any of these in practice. Okay. And then finally, you have plan mode, which is
[01:40:45] finally, you have plan mode, which is going to make up the bulk of what we're
[01:40:47] going to make up the bulk of what we're talking about next. Plan mode is read
[01:40:49] talking about next. Plan mode is read only exploration, which basically means
[01:40:53] only exploration, which basically means cloud code can research things using web
[01:40:55] cloud code can research things using web tools, so it can go on the internet and
[01:40:57] tools, so it can go on the internet and find things out for you. It can read
[01:40:58] find things out for you. It can read through all the pre-existing files in
[01:41:00] through all the pre-existing files in your directory. It can also reason from
[01:41:02] your directory. It can also reason from first principles and it can kind of use
[01:41:03] first principles and it can kind of use its own intelligence to figure things
[01:41:05] its own intelligence to figure things out. And then it can basically take all
[01:41:06] out. And then it can basically take all of this and put this into a plan
[01:41:09] of this and put this into a plan document before presenting it to you.
[01:41:10] document before presenting it to you. Now, plan mode is awesome, and I use
[01:41:12] Now, plan mode is awesome, and I use plan mode all the time, and basically
[01:41:14] plan mode all the time, and basically anytime I'm doing any sort of build
[01:41:15] anytime I'm doing any sort of build that's more complicated than a simple
[01:41:17] that's more complicated than a simple design. The reason why it's so good is
[01:41:19] design. The reason why it's so good is because instead of acting, which in the
[01:41:22] because instead of acting, which in the real world takes a lot of time and
[01:41:23] real world takes a lot of time and energy to both do and then undo, all
[01:41:26] energy to both do and then undo, all plan mode does is it just researches all
[01:41:28] plan mode does is it just researches all the factors involved in the build before
[01:41:30] the factors involved in the build before doing it. If you work in this like
[01:41:32] doing it. If you work in this like theoretical plan space and not the
[01:41:34] theoretical plan space and not the actual like space of the you know the
[01:41:37] actual like space of the you know the build and all the libraries and all the
[01:41:39] build and all the libraries and all the code you will save many many hours of
[01:41:41] code you will save many many hours of building over the course of just the
[01:41:42] building over the course of just the next few days and probably tens and and
[01:41:45] next few days and probably tens and and hundreds of hours over the course of a
[01:41:47] hundreds of hours over the course of a lifetime of using this tool. A minute of
[01:41:49] lifetime of using this tool. A minute of planning saves you 10 minutes of
[01:41:51] planning saves you 10 minutes of building. It's just super high leverage
[01:41:52] building. It's just super high leverage and I'd recommend you. So imagine two
[01:41:54] and I'd recommend you. So imagine two possible scenarios for me. In the first
[01:41:56] possible scenarios for me. In the first scenario, you build something with cloud
[01:41:58] scenario, you build something with cloud code. Then you test it and then you
[01:42:01] code. Then you test it and then you realize that there's some issue with it.
[01:42:03] realize that there's some issue with it. Maybe you're building a simple web app
[01:42:04] Maybe you're building a simple web app that you know uh upon login adds some
[01:42:07] that you know uh upon login adds some numbers or credentials to a database. So
[01:42:10] numbers or credentials to a database. So you've done this now you've realized
[01:42:12] you've done this now you've realized that it's wrong. What that means is
[01:42:13] that it's wrong. What that means is because the approach is wrong. Basically
[01:42:15] because the approach is wrong. Basically the time that you spent building while
[01:42:17] the time that you spent building while not completely wasted a big chunk of it
[01:42:19] not completely wasted a big chunk of it is wasted. Okay. So, not only have you
[01:42:21] is wasted. Okay. So, not only have you spent the 15 minutes to build the thing,
[01:42:23] spent the 15 minutes to build the thing, not only have you spent the 5 minutes to
[01:42:24] not only have you spent the 5 minutes to test the thing, you also have to rebuild
[01:42:26] test the thing, you also have to rebuild the thing, which can take 15 minutes
[01:42:27] the thing, which can take 15 minutes multiplied by however many times you
[01:42:29] multiplied by however many times you have to continuously test and retest.
[01:42:31] have to continuously test and retest. That means that the total amount of time
[01:42:32] That means that the total amount of time it takes you is 35 minutes plus a fair
[01:42:34] it takes you is 35 minutes plus a fair number of tokens, which not a lot of
[01:42:36] number of tokens, which not a lot of people talk about, but this can
[01:42:37] people talk about, but this can obviously eat into costs. That is
[01:42:39] obviously eat into costs. That is scenario one. And this is the build
[01:42:42] scenario one. And this is the build without plan approach. Okay. Now, in
[01:42:46] without plan approach. Okay. Now, in scenario two, which is the build with
[01:42:48] scenario two, which is the build with plan, what you do is you spend your
[01:42:50] plan, what you do is you spend your first 5 minutes just planning something
[01:42:52] first 5 minutes just planning something super in-depth with Cloud Code's plan
[01:42:54] super in-depth with Cloud Code's plan mode. Somewhere during the plan, because
[01:42:56] mode. Somewhere during the plan, because we're f we're we're building a super
[01:42:58] we're f we're we're building a super like uh granular line item scope here.
[01:43:01] like uh granular line item scope here. We're looking at all the tools and we're
[01:43:02] We're looking at all the tools and we're looking at the objects and whatever the
[01:43:03] looking at the objects and whatever the heck. There's a lot that's going on
[01:43:04] heck. There's a lot that's going on under the hood. Because we're doing
[01:43:05] under the hood. Because we're doing that, um Cloud Code realizes that it
[01:43:07] that, um Cloud Code realizes that it won't work halfway through and then just
[01:43:09] won't work halfway through and then just recreates a better plan that does it.
[01:43:12] recreates a better plan that does it. the total amount of time it takes for
[01:43:13] the total amount of time it takes for you to like get to the building is just
[01:43:16] you to like get to the building is just 5 minutes plus 5 minutes 10 minutes and
[01:43:18] 5 minutes plus 5 minutes 10 minutes and then maybe your actual build time now
[01:43:20] then maybe your actual build time now because it's like so much better and
[01:43:22] because it's like so much better and faster and stuff like that is only 5
[01:43:23] faster and stuff like that is only 5 minutes or 15. So if you think about it
[01:43:25] minutes or 15. So if you think about it like not only have we saved 20 minutes
[01:43:27] like not only have we saved 20 minutes on a single build, you know, we've also
[01:43:29] on a single build, you know, we've also done so with significantly fewer tokens.
[01:43:31] done so with significantly fewer tokens. What that means is it's much better to
[01:43:33] What that means is it's much better to like do all of your work here basically
[01:43:38] like do all of your work here basically during the planning of the spec. And
[01:43:41] during the planning of the spec. And this is true not only from cloud code
[01:43:43] this is true not only from cloud code but any sort of programming or really
[01:43:44] but any sort of programming or really any sort of project development
[01:43:46] any sort of project development as opposed to here which is like where
[01:43:51] as opposed to here which is like where you know your machines are actually
[01:43:52] you know your machines are actually building this thing like this fantastic
[01:43:54] building this thing like this fantastic amazing Lego blockbased construction.
[01:43:57] amazing Lego blockbased construction. I'm just going to pretend that like
[01:43:58] I'm just going to pretend that like we're building some sort of building or
[01:44:00] we're building some sort of building or pyramid here, right?
[01:44:02] pyramid here, right? Because, you know, if you screw this up,
[01:44:04] Because, you know, if you screw this up, what that means is now you have to knock
[01:44:06] what that means is now you have to knock all these Lego blocks down and then you
[01:44:07] all these Lego blocks down and then you have to rebuild it from scratch all over
[01:44:09] have to rebuild it from scratch all over again. So, better to go off the
[01:44:11] again. So, better to go off the blueprint or the architecture diagram or
[01:44:13] blueprint or the architecture diagram or whatever and make changes there than in
[01:44:14] whatever and make changes there than in the physical world. The physical world
[01:44:16] the physical world. The physical world incurs a fair amount of real costs. By
[01:44:18] incurs a fair amount of real costs. By the way, I know we're working in the
[01:44:18] the way, I know we're working in the virtual world here, but it's the same
[01:44:20] virtual world here, but it's the same thing as like planning a construction
[01:44:21] thing as like planning a construction project, right? you planned construction
[01:44:23] project, right? you planned construction projects that you don't run into a
[01:44:24] projects that you don't run into a situation where you don't have enough
[01:44:26] situation where you don't have enough materials on site and you're like, "Oh
[01:44:27] materials on site and you're like, "Oh my god, I got to freaking stop
[01:44:28] my god, I got to freaking stop everything for the day and go find
[01:44:30] everything for the day and go find some." So, how do you actually use plan
[01:44:32] some." So, how do you actually use plan mode in reality? Well, what I want to do
[01:44:33] mode in reality? Well, what I want to do next is I want to use plan mode to build
[01:44:35] next is I want to use plan mode to build out a pretty complicated project. This
[01:44:37] out a pretty complicated project. This project is going to basically be a full
[01:44:39] project is going to basically be a full stack web application. It's going to
[01:44:41] stack web application. It's going to have a front end. It's going to have uh
[01:44:43] have a front end. It's going to have uh authentication and like an interface
[01:44:45] authentication and like an interface where you can log in and it's also going
[01:44:46] where you can log in and it's also going to have a back end. And we're going to
[01:44:48] to have a back end. And we're going to build it in just a few minutes. The
[01:44:50] build it in just a few minutes. The specific project that I'd like to build
[01:44:51] specific project that I'd like to build today is basically a proposal generation
[01:44:54] today is basically a proposal generation platform. I want to automatically be
[01:44:57] platform. I want to automatically be able to generate proposals, highquality
[01:44:59] able to generate proposals, highquality sales documents that I can then send to
[01:45:02] sales documents that I can then send to prospects through this web interface. I
[01:45:04] prospects through this web interface. I want to do it all natively and I
[01:45:06] want to do it all natively and I basically want to rebuild the
[01:45:07] basically want to rebuild the functionality of I don't know like
[01:45:09] functionality of I don't know like docuign or like the hand a doc. I want
[01:45:11] docuign or like the hand a doc. I want there to be all the bells and whistles
[01:45:13] there to be all the bells and whistles on it. I want there to be like the
[01:45:14] on it. I want there to be like the ability for people to sign but also to
[01:45:16] ability for people to sign but also to like pay. Uh, I want to have my own
[01:45:18] like pay. Uh, I want to have my own little login screen so that I can give
[01:45:20] little login screen so that I can give it to my clients and then maybe my
[01:45:21] it to my clients and then maybe my colleagues and I can obviously also use
[01:45:23] colleagues and I can obviously also use it myself. I want to, you know, have
[01:45:25] it myself. I want to, you know, have like a couple of templates that I
[01:45:26] like a couple of templates that I produce based off of and basically end
[01:45:28] produce based off of and basically end to end I want to build a freaking app
[01:45:29] to end I want to build a freaking app today. This is much more complicated
[01:45:31] today. This is much more complicated than just a simple landing page, right?
[01:45:33] than just a simple landing page, right? So, how am I going to go about doing it?
[01:45:34] So, how am I going to go about doing it? Well, the first thing I'm going to do is
[01:45:36] Well, the first thing I'm going to do is I'm actually just going to build out
[01:45:37] I'm actually just going to build out what I'd consider to be a pretty
[01:45:38] what I'd consider to be a pretty straightforward project spec. Uh, which
[01:45:40] straightforward project spec. Uh, which is just a list of things that I want
[01:45:42] is just a list of things that I want this to be able to do. And there's a
[01:45:44] this to be able to do. And there's a bunch of different formatting
[01:45:45] bunch of different formatting methodologies here and like different
[01:45:46] methodologies here and like different ways of doing it. You don't really have
[01:45:48] ways of doing it. You don't really have to worry too much about that. All I'm
[01:45:49] to worry too much about that. All I'm going to do is I'm basically going to
[01:45:50] going to do is I'm basically going to dump everything in via voice transcript
[01:45:53] dump everything in via voice transcript to a little text tab and then I'm going
[01:45:55] to a little text tab and then I'm going to feed that into cloud code and have it
[01:45:56] to feed that into cloud code and have it actually format that into a specs
[01:45:58] actually format that into a specs document for me. So I'm going to open up
[01:45:59] document for me. So I'm going to open up my voice transcription tool and get
[01:46:01] my voice transcription tool and get after it. My goal today is to build a
[01:46:04] after it. My goal today is to build a proposal generation platform. I want
[01:46:07] proposal generation platform. I want this proposal generation platform to
[01:46:09] this proposal generation platform to have everything that a common tool like
[01:46:12] have everything that a common tool like Pandanda do might have in so far that I
[01:46:15] Pandanda do might have in so far that I want it to be able to generate endto-end
[01:46:18] want it to be able to generate endto-end highquality proposals as okay so I just
[01:46:21] highquality proposals as okay so I just did that I have a tremendous amount of
[01:46:23] did that I have a tremendous amount of context now what I'm going to do is I'm
[01:46:24] context now what I'm going to do is I'm actually going to go to a new window in
[01:46:26] actually going to go to a new window in anti-gravity let's just close out of the
[01:46:27] anti-gravity let's just close out of the old one I'm then going to open up a new
[01:46:30] old one I'm then going to open up a new uh folder so go open folder then here
[01:46:33] uh folder so go open folder then here I'm going to say new one let's just call
[01:46:34] I'm going to say new one let's just call this proposal generator creator app.
[01:46:38] this proposal generator creator app. Once I've created this, I'm I'm going to
[01:46:39] Once I've created this, I'm I'm going to dump right in. Then I'm going to go to
[01:46:41] dump right in. Then I'm going to go to clawed code here. Let me zoom in so we
[01:46:44] clawed code here. Let me zoom in so we can see this a little bit better. Down
[01:46:45] can see this a little bit better. Down here, I'm going to go um sorry have
[01:46:47] here, I'm going to go um sorry have bypass permissions plan mode. As you can
[01:46:49] bypass permissions plan mode. As you can see, I'm pretty eager. And then I'm
[01:46:51] see, I'm pretty eager. And then I'm going to go back here, copy this, and
[01:46:53] going to go back here, copy this, and then just dump all this in. It's fair
[01:46:55] then just dump all this in. It's fair amount of white space, so bear with me.
[01:46:57] amount of white space, so bear with me. And what I did here is I just I just
[01:46:58] And what I did here is I just I just dumped in more or less everything that I
[01:47:00] dumped in more or less everything that I wanted to do in the app. So I didn't
[01:47:02] wanted to do in the app. So I didn't specify things in a technical way. I
[01:47:04] specify things in a technical way. I just told it what I wanted. My goal
[01:47:06] just told it what I wanted. My goal today is to build a proposal generation
[01:47:08] today is to build a proposal generation platform. I want this proposal
[01:47:09] platform. I want this proposal generation platform to have almost
[01:47:10] generation platform to have almost everything that a common tool like Panda
[01:47:12] everything that a common tool like Panda might have except for the template
[01:47:13] might have except for the template builder functionalities. I just want to
[01:47:14] builder functionalities. I just want to give you a template and have you do it.
[01:47:16] give you a template and have you do it. Aside from that, I want to be able to
[01:47:17] Aside from that, I want to be able to generate end high quality proposals as
[01:47:19] generate end high quality proposals as static pages that I could send the URL
[01:47:21] static pages that I could send the URL to the client with. And now it's going
[01:47:23] to the client with. And now it's going to ask me a bunch of questions about it.
[01:47:24] to ask me a bunch of questions about it. So, what front-end framework do you want
[01:47:26] So, what front-end framework do you want to use? I don't know. Whatever's the
[01:47:27] to use? I don't know. Whatever's the best. So, I'm just going to say this
[01:47:28] best. So, I'm just going to say this one. Sure. For e signatures, how legally
[01:47:31] one. Sure. For e signatures, how legally robust do you need them to be? Um, I
[01:47:33] robust do you need them to be? Um, I don't know what that means. I'll just
[01:47:34] don't know what that means. I'll just click the simplest one for Stripe
[01:47:35] click the simplest one for Stripe payments. Will proposals have a fixed
[01:47:36] payments. Will proposals have a fixed price or variable amounts you set on
[01:47:38] price or variable amounts you set on proposal? That's a great question. I'll
[01:47:39] proposal? That's a great question. I'll say variable. Are you using superbase
[01:47:41] say variable. Are you using superbase for the database, too? I'll say
[01:47:42] for the database, too? I'll say superbase for everything. Cool. Submit
[01:47:44] superbase for everything. Cool. Submit answers. So, what basically this just
[01:47:46] answers. So, what basically this just did is it crafted a little graphical
[01:47:48] did is it crafted a little graphical user interface for me to ask me some
[01:47:50] user interface for me to ask me some questions about specific ways that it
[01:47:51] questions about specific ways that it wants to do the project. Um, and in this
[01:47:53] wants to do the project. Um, and in this way, we can go back and forth, which is
[01:47:55] way, we can go back and forth, which is quite nice. Okay. Tailwind for utility
[01:47:57] quite nice. Okay. Tailwind for utility CSS shad CN UI for polish. I don't know
[01:48:00] CSS shad CN UI for polish. I don't know what the hell that means. Let's just
[01:48:01] what the hell that means. Let's just click it. Can you share the proposal
[01:48:03] click it. Can you share the proposal template now? Paste it, link it, or tell
[01:48:05] template now? Paste it, link it, or tell me the file path. I'll paste it. Next
[01:48:06] me the file path. I'll paste it. Next message. That sounds great. So, what I'm
[01:48:08] message. That sounds great. So, what I'm going to do now is I'm going to go find
[01:48:09] going to do now is I'm going to go find a template of a proposal that I want it
[01:48:11] a template of a proposal that I want it to automatically generate for me. Okay.
[01:48:13] to automatically generate for me. Okay. So, I have my proposal template over
[01:48:14] So, I have my proposal template over here. It's pretty sexy. You know, I give
[01:48:16] here. It's pretty sexy. You know, I give people some problem areas, some
[01:48:18] people some problem areas, some solutions. Um, you know, I talk about
[01:48:20] solutions. Um, you know, I talk about why us. I have a little photo of me,
[01:48:22] why us. I have a little photo of me, Alex Ramosi, and Sam Evans up there.
[01:48:24] Alex Ramosi, and Sam Evans up there. This is pretty sexy. What I'm going to
[01:48:25] This is pretty sexy. What I'm going to do next is I'm just going to move this
[01:48:26] do next is I'm just going to move this into my workspace. Onetime project over
[01:48:29] into my workspace. Onetime project over here. Here, I'm just going to rename
[01:48:30] here. Here, I'm just going to rename this to call this proposal template.
[01:48:33] this to call this proposal template. That's okay. And then over here, I'll
[01:48:35] That's okay. And then over here, I'll say great, it's in proposal
[01:48:38] say great, it's in proposal template.pdf. And um just because I also
[01:48:40] template.pdf. And um just because I also want the design to be really cool, use a
[01:48:43] want the design to be really cool, use a simple clean design, sort of like uh
[01:48:45] simple clean design, sort of like uh Apple. Follow the proposal template
[01:48:47] Apple. Follow the proposal template design in the actual generation of the
[01:48:49] design in the actual generation of the page. For everything else though, make
[01:48:51] page. For everything else though, make it kind of apple-esque. Okay. Next up,
[01:48:53] it kind of apple-esque. Okay. Next up, it'll read through my proposal template
[01:48:55] it'll read through my proposal template and then think up what to do next. And
[01:48:57] and then think up what to do next. And now it is generating a plan for me. It's
[01:48:59] now it is generating a plan for me. It's figured out the nine-page proposal
[01:49:00] figured out the nine-page proposal document. It's designing some detailed
[01:49:03] document. It's designing some detailed implementation thing with all the
[01:49:05] implementation thing with all the information, the user flow, and so on
[01:49:06] information, the user flow, and so on and so forth. What's interesting is it's
[01:49:08] and so forth. What's interesting is it's giving this to a sub agent. You can see
[01:49:09] giving this to a sub agent. You can see because it's using the the task feature,
[01:49:11] because it's using the the task feature, which is um basically coded sub aent
[01:49:13] which is um basically coded sub aent language. As you can see, there's a
[01:49:14] language. As you can see, there's a tremendous amount of information that
[01:49:16] tremendous amount of information that it's going through in order to generate
[01:49:17] it's going through in order to generate this. It's also doing some research like
[01:49:19] this. It's also doing some research like looking up things from Panda just
[01:49:21] looking up things from Panda just because I I referenced it. Okay. And at
[01:49:23] because I I referenced it. Okay. And at the end, it's now finished the final
[01:49:24] the end, it's now finished the final plan file. So, what I'm going to do is
[01:49:26] plan file. So, what I'm going to do is I'm just going to scroll through and
[01:49:27] I'm just going to scroll through and then read it for myself. It's very
[01:49:29] then read it for myself. It's very comprehensive. Proposal generator
[01:49:30] comprehensive. Proposal generator platform implementation plan. We're
[01:49:32] platform implementation plan. We're going to build a panadoc like proposal
[01:49:33] going to build a panadoc like proposal generation platform for leftclick. Users
[01:49:35] generation platform for leftclick. Users will sign in, create proposals via AI,
[01:49:36] will sign in, create proposals via AI, and share public URLs with clients.
[01:49:38] and share public URLs with clients. Clients will uh view sign canvas
[01:49:41] Clients will uh view sign canvas signature and pay. The proposal page
[01:49:43] signature and pay. The proposal page will follow the provided PDF template
[01:49:44] will follow the provided PDF template design. Also, the app is Appleesque and
[01:49:47] design. Also, the app is Appleesque and minimal. Here's the text stack. I don't
[01:49:48] minimal. Here's the text stack. I don't know what most of that stuff means to be
[01:49:50] know what most of that stuff means to be honest, and I'm not going to worry about
[01:49:51] honest, and I'm not going to worry about it. Proposal template sections cover
[01:49:53] it. Proposal template sections cover your problem areas, your solution, why
[01:49:55] your problem areas, your solution, why us, our team, what working with us looks
[01:49:57] us, our team, what working with us looks like, what you're investing, contract,
[01:49:58] like, what you're investing, contract, signature, payment, database, schema
[01:50:00] signature, payment, database, schema profiles. I don't know again what the
[01:50:02] profiles. I don't know again what the heck this means, so I'm not going to
[01:50:03] heck this means, so I'm not going to worry about it. And then over here, we
[01:50:05] worry about it. And then over here, we have a bunch of routes, API things, file
[01:50:08] have a bunch of routes, API things, file structures. You know, as somebody that
[01:50:09] structures. You know, as somebody that is not a developer by trade, I'm not
[01:50:11] is not a developer by trade, I'm not going to focus too much on that stuff,
[01:50:12] going to focus too much on that stuff, but it looks like when people sign in,
[01:50:14] but it looks like when people sign in, they hit login. Then there will be a
[01:50:16] they hit login. Then there will be a dashboard page. When they create,
[01:50:17] dashboard page. When they create, they'll click new proposal, which will
[01:50:19] they'll click new proposal, which will go to dashboard/new. There'll be a few
[01:50:21] go to dashboard/new. There'll be a few form fields to fill out like brief
[01:50:22] form fields to fill out like brief description and pricing rows. They'll
[01:50:24] description and pricing rows. They'll submit it. That'll call opus and then
[01:50:26] submit it. That'll call opus and then we'll generate them. And then in order
[01:50:27] we'll generate them. And then in order to copy, we just copy this URL and send
[01:50:29] to copy, we just copy this URL and send it to the client. That looks pretty
[01:50:31] it to the client. That looks pretty clean to me. I'm sure it's not going to
[01:50:32] clean to me. I'm sure it's not going to be perfect, but uh yeah, why don't we
[01:50:34] be perfect, but uh yeah, why don't we give it a go? So, what I'm going to do
[01:50:36] give it a go? So, what I'm going to do is I'm going to so auto accept. And I
[01:50:38] is I'm going to so auto accept. And I know just because I've done some things
[01:50:40] know just because I've done some things before uh with this tool stack,
[01:50:41] before uh with this tool stack, Superbase specifically, I'm just going
[01:50:43] Superbase specifically, I'm just going to go through and I'm going to set up a
[01:50:44] to go through and I'm going to set up a Superbase account while it's running me
[01:50:46] Superbase account while it's running me through all of this stuff. That way I
[01:50:47] through all of this stuff. That way I can kind of you know double up on the
[01:50:48] can kind of you know double up on the time while this does some work for me. I
[01:50:50] time while this does some work for me. I can go and do the the Superbase stuff.
[01:50:52] can go and do the the Superbase stuff. So Superbase is a simple database
[01:50:53] So Superbase is a simple database basically just handles like the login
[01:50:55] basically just handles like the login and also handles like the generation of
[01:50:57] and also handles like the generation of records and stuff. First thing that you
[01:50:58] records and stuff. First thing that you would want to do if you were doing
[01:50:59] would want to do if you were doing something similar is you just log right
[01:51:00] something similar is you just log right into Superbase. Um set up a new account
[01:51:02] into Superbase. Um set up a new account if you don't already have one and then
[01:51:03] if you don't already have one and then start your project. I'm doing this for
[01:51:05] start your project. I'm doing this for free. So I just started one called
[01:51:06] free. So I just started one called proposal generator and then I'll click
[01:51:08] proposal generator and then I'll click on it which will take me to the project.
[01:51:10] on it which will take me to the project. Uh somewhere on the left hand side here
[01:51:11] Uh somewhere on the left hand side here we have API keys. API keys are basically
[01:51:14] we have API keys. API keys are basically just what we want to give to this so
[01:51:16] just what we want to give to this so that it just does everything for me. So
[01:51:19] that it just does everything for me. So let's see here. We want to give it all
[01:51:22] let's see here. We want to give it all keys. So I'm just going to go copy API
[01:51:25] keys. So I'm just going to go copy API key. And then also I'm just going to
[01:51:28] key. And then also I'm just going to looks like it's asking me some questions
[01:51:30] looks like it's asking me some questions here because it's now oh it's still in
[01:51:31] here because it's now oh it's still in plan mode. So keep in mind we want to go
[01:51:33] plan mode. So keep in mind we want to go to bypass permissions mode now because
[01:51:36] to bypass permissions mode now because instead of having to ask every 5 seconds
[01:51:37] instead of having to ask every 5 seconds for things, you know, I want this to be
[01:51:39] for things, you know, I want this to be able to proceed. And then I'm just going
[01:51:40] able to proceed. And then I'm just going to give it some stuff. We'll say
[01:51:41] to give it some stuff. We'll say superbase
[01:51:43] superbase uh I don't know secret key. It's going
[01:51:45] uh I don't know secret key. It's going to give it to it. And I'll also give it
[01:51:47] to give it to it. And I'll also give it my superbase
[01:51:50] my superbase public key. Um why am I doing all this?
[01:51:52] public key. Um why am I doing all this? Because I know it's going to need this
[01:51:54] Because I know it's going to need this information in order to move forward.
[01:51:55] information in order to move forward. Now in Stripe, I'm going to go over to
[01:51:57] Now in Stripe, I'm going to go over to one of my accounts and then I'll go test
[01:51:59] one of my accounts and then I'll go test mode, create sandbox. What this will do
[01:52:01] mode, create sandbox. What this will do is this will give me like a little
[01:52:02] is this will give me like a little sandbox version of Stripe that I could
[01:52:05] sandbox version of Stripe that I could use with its own API keys and everything
[01:52:07] use with its own API keys and everything like that. This way I can uh basically
[01:52:09] like that. This way I can uh basically like you know process the payments and
[01:52:11] like you know process the payments and stuff like that using this test. So here
[01:52:13] stuff like that using this test. So here it is right now. And then if I want to
[01:52:15] it is right now. And then if I want to get my API keys, I have them both over
[01:52:17] get my API keys, I have them both over here. So I'm just going to copy the
[01:52:18] here. So I'm just going to copy the publisher key. You know I said I want
[01:52:21] publisher key. You know I said I want you to take payments during uh using
[01:52:22] you to take payments during uh using Stripe basically which is why it's doing
[01:52:24] Stripe basically which is why it's doing this. Let's go public.
[01:52:28] this. Let's go public. And then over here I'll go private key.
[01:52:31] And then over here I'll go private key. Cool. And so now I basically loaded it
[01:52:33] Cool. And so now I basically loaded it up with what I think is everything that
[01:52:35] up with what I think is everything that it'll need in order to actually go and
[01:52:36] it'll need in order to actually go and like, you know, connect. So I'm just
[01:52:39] like, you know, connect. So I'm just going to press enter here. In case you
[01:52:41] going to press enter here. In case you guys didn't know, when you press enter,
[01:52:42] guys didn't know, when you press enter, what you do is you basically cue up
[01:52:44] what you do is you basically cue up another message. So when this is done
[01:52:45] another message. So when this is done with all of its tasks, uh it'll now have
[01:52:48] with all of its tasks, uh it'll now have access to all of my keys and stuff. So
[01:52:49] access to all of my keys and stuff. So now that it's done that task, it's going
[01:52:51] now that it's done that task, it's going to create all the files and it's just
[01:52:52] to create all the files and it's just adding all of the information and stuff
[01:52:54] adding all of the information and stuff like that. Um looks like we have the
[01:52:56] like that. Um looks like we have the superbase anon key. I think that might
[01:52:58] superbase anon key. I think that might be something else that we need. So I'm
[01:52:59] be something else that we need. So I'm going to have to find that information
[01:53:00] going to have to find that information out. It'll ask me to do this in a
[01:53:02] out. It'll ask me to do this in a moment, so it's not that big of a deal.
[01:53:03] moment, so it's not that big of a deal. This is here. It just got my API key.
[01:53:05] This is here. It just got my API key. So, it's going to update the ENV file.
[01:53:07] So, it's going to update the ENV file. And then at the end of this, it's
[01:53:08] And then at the end of this, it's probably just going to ask me like, hey,
[01:53:09] probably just going to ask me like, hey, can you also include X, Y, and Z? Now, I
[01:53:10] can you also include X, Y, and Z? Now, I could have, of course, just asked this
[01:53:12] could have, of course, just asked this thing to start building for me. You
[01:53:13] thing to start building for me. You know, I could have just given it all the
[01:53:14] know, I could have just given it all the specs and said, go for it. But the
[01:53:16] specs and said, go for it. But the planning that I did not only improves
[01:53:20] planning that I did not only improves the probability that it'll be able to do
[01:53:22] the probability that it'll be able to do this on a quote unquote one shot, but it
[01:53:24] this on a quote unquote one shot, but it also improves the token efficiency
[01:53:26] also improves the token efficiency because it's not going to be exploring
[01:53:28] because it's not going to be exploring 10 different approaches at the time of
[01:53:30] 10 different approaches at the time of building. Instead, you know, it has like
[01:53:32] building. Instead, you know, it has like a document it can refer to. And that's
[01:53:34] a document it can refer to. And that's kind of interesting, but human beings
[01:53:36] kind of interesting, but human beings sort of do better that way, too, right?
[01:53:38] sort of do better that way, too, right? Like if they're in a business and then
[01:53:39] Like if they're in a business and then you give them an SOP, standard operating
[01:53:41] you give them an SOP, standard operating procedure, or you give them a checklist
[01:53:43] procedure, or you give them a checklist or something, or you give them a simple
[01:53:44] or something, or you give them a simple three-step rule, they always have to
[01:53:46] three-step rule, they always have to accommodate, they're much much more
[01:53:48] accommodate, they're much much more likely to actually use those rules. So,
[01:53:51] likely to actually use those rules. So, uh, AI is the exact same, at least as of
[01:53:53] uh, AI is the exact same, at least as of the time of this recording. And if you
[01:53:54] the time of this recording. And if you give it like a scratch pad, like a to-do
[01:53:56] give it like a scratch pad, like a to-do list, like a checklist, usually quality
[01:53:58] list, like a checklist, usually quality improves significantly compared to if
[01:54:00] improves significantly compared to if you just have it try and yolo stuff.
[01:54:02] you just have it try and yolo stuff. Really shown my age with that quote. So,
[01:54:04] Really shown my age with that quote. So, this isn't at all related to the course,
[01:54:06] this isn't at all related to the course, but uh, check this out. This is a cool
[01:54:08] but uh, check this out. This is a cool salmon marinade that I just made that
[01:54:09] salmon marinade that I just made that I'm about to cook. Uh, while Claude 4.6
[01:54:12] I'm about to cook. Uh, while Claude 4.6 is doing all the work for me. So, oftent
[01:54:14] is doing all the work for me. So, oftent times during the protracted building of
[01:54:17] times during the protracted building of a plan, I'll just step out and I'll like
[01:54:19] a plan, I'll just step out and I'll like do some meal prep or I don't know,
[01:54:21] do some meal prep or I don't know, sometimes if it's really long, I'll go
[01:54:22] sometimes if it's really long, I'll go hit the gym and by the time that I'm
[01:54:24] hit the gym and by the time that I'm back, okay, this thing is either still
[01:54:26] back, okay, this thing is either still working or it's just wrapping up its uh
[01:54:27] working or it's just wrapping up its uh completion. I think right now we're like
[01:54:30] completion. I think right now we're like 6 or 7 minutes in. [snorts] Um, but
[01:54:32] 6 or 7 minutes in. [snorts] Um, but what's really cool is you can
[01:54:33] what's really cool is you can parallelize your work. So obviously this
[01:54:34] parallelize your work. So obviously this is all about being productive, but there
[01:54:36] is all about being productive, but there is also sort of like a time management
[01:54:38] is also sort of like a time management component to this as well. Like after
[01:54:40] component to this as well. Like after you do a plan and we're building a real
[01:54:41] you do a plan and we're building a real big full stack app here. This is not a
[01:54:43] big full stack app here. This is not a trivial enterprise. After we do that,
[01:54:45] trivial enterprise. After we do that, like we're going to have to wait a few
[01:54:46] like we're going to have to wait a few minutes. So you know, you can just set
[01:54:48] minutes. So you know, you can just set this aside. The value that this thing is
[01:54:51] this aside. The value that this thing is going to get just watching having me
[01:54:53] going to get just watching having me just watch it is quite low. You can
[01:54:54] just watch it is quite low. You can absolutely just set this aside, let it
[01:54:56] absolutely just set this aside, let it continue the building, and then come
[01:54:57] continue the building, and then come back either when it's done or when you
[01:54:59] back either when it's done or when you hear that little hook chime go off,
[01:55:00] hear that little hook chime go off, which is personally what I use to make
[01:55:02] which is personally what I use to make sure I'm always in the loop. Anyway, I'm
[01:55:03] sure I'm always in the loop. Anyway, I'm going to go marinade the salmon and when
[01:55:05] going to go marinade the salmon and when I come back, this app should be done.
[01:55:06] I come back, this app should be done. Okay, so 3 or 4 minutes later, I just
[01:55:08] Okay, so 3 or 4 minutes later, I just got back and I see that it is now good
[01:55:10] got back and I see that it is now good to go. It's just asking me for a few
[01:55:11] to go. It's just asking me for a few things. Superbase project URL, which
[01:55:13] things. Superbase project URL, which I'll find, my anthropic API key. I need
[01:55:16] I'll find, my anthropic API key. I need to run an SQL migration, give it a
[01:55:18] to run an SQL migration, give it a stripe web hook, then ultimately deploy
[01:55:20] stripe web hook, then ultimately deploy to Netlefi. What I'm going to do is I'm
[01:55:22] to Netlefi. What I'm going to do is I'm going to focus on testing all this stuff
[01:55:24] going to focus on testing all this stuff locally and then I'm going to give it
[01:55:25] locally and then I'm going to give it access to all this information. And then
[01:55:27] access to all this information. And then after I'm done, I'll do the pushing and
[01:55:29] after I'm done, I'll do the pushing and the deploying and we're going to go
[01:55:30] the deploying and we're going to go through what that looks like. Keep in
[01:55:31] through what that looks like. Keep in mind, you don't need to have any
[01:55:32] mind, you don't need to have any computer program experience to do this.
[01:55:34] computer program experience to do this. I mean, I didn't really give it anything
[01:55:35] I mean, I didn't really give it anything that was programming specific. I just
[01:55:37] that was programming specific. I just gave it a bunch of needs. And while of
[01:55:39] gave it a bunch of needs. And while of course it went through and did a bunch
[01:55:40] course it went through and did a bunch of things that were most definitely
[01:55:42] of things that were most definitely programming, I wasn't really a part of
[01:55:43] programming, I wasn't really a part of that, which is quite valuable. So, I'm
[01:55:45] that, which is quite valuable. So, I'm going to go find this information. I saw
[01:55:46] going to go find this information. I saw your next public superbase URL and then
[01:55:48] your next public superbase URL and then my anthropic API key. Okay. So, I see it
[01:55:51] my anthropic API key. Okay. So, I see it says reference using APIs and URLs. This
[01:55:53] says reference using APIs and URLs. This project ID, so I imagine that's probably
[01:55:55] project ID, so I imagine that's probably that. Um, I'll say project ID for
[01:55:58] that. Um, I'll say project ID for superbase is here. and then throw key.
[01:56:01] superbase is here. and then throw key. I'll just sign into Claude real quick
[01:56:02] I'll just sign into Claude real quick and grab. Okay, so then I'm going to
[01:56:04] and grab. Okay, so then I'm going to grab this. And then over here, I'm just
[01:56:06] grab this. And then over here, I'm just going to call it uh proposal generator
[01:56:09] going to call it uh proposal generator app. It's then going to give me a key
[01:56:11] app. It's then going to give me a key that I could use to copy. And no, you
[01:56:14] that I could use to copy. And no, you can't steal this from me because I uh uh
[01:56:17] can't steal this from me because I uh uh I will have deleted it right after this.
[01:56:19] I will have deleted it right after this. Nice try, folks. You'd be surprised at
[01:56:21] Nice try, folks. You'd be surprised at how many YouTubers don't, which is
[01:56:22] how many YouTubers don't, which is hilarious. Like half the YouTube API
[01:56:24] hilarious. Like half the YouTube API keys that you see still work like 6
[01:56:26] keys that you see still work like 6 months later. [snorts] Be careful,
[01:56:28] months later. [snorts] Be careful, fellow YouTubers. Um, run the SQL
[01:56:30] fellow YouTubers. Um, run the SQL migration is next. So, paste the
[01:56:31] migration is next. So, paste the contents of this thing into your
[01:56:32] contents of this thing into your Superbase SQL editor. Uh, so I guess I I
[01:56:35] Superbase SQL editor. Uh, so I guess I I need to do that myself. So, I'm just
[01:56:37] need to do that myself. So, I'm just going to grab this, copy all this, and
[01:56:39] going to grab this, copy all this, and then what? Superbase SQL editor and
[01:56:41] then what? Superbase SQL editor and execute it. Okay, while I'm doing that,
[01:56:43] execute it. Okay, while I'm doing that, just going to give it this. And then,
[01:56:45] just going to give it this. And then, where do I get that?
[01:56:48] where do I get that? Superbase SQL editor. H. Okay, there's
[01:56:51] Superbase SQL editor. H. Okay, there's one right over here. That looks like it.
[01:56:53] one right over here. That looks like it. No clue what the heck I'm doing. Going
[01:56:55] No clue what the heck I'm doing. Going to click run. Success. No rows returned.
[01:56:58] to click run. Success. No rows returned. Awesome. I think that's what's supposed
[01:57:00] Awesome. I think that's what's supposed to happen. Anyway, we'll see. It'll tell
[01:57:01] to happen. Anyway, we'll see. It'll tell me if there are any issues. Stripe web
[01:57:04] me if there are any issues. Stripe web hook register this in the Stripe
[01:57:06] hook register this in the Stripe dashboard and put the whatever secret in
[01:57:08] dashboard and put the whatever secret in ENV vers. I don't I don't know what that
[01:57:10] ENV vers. I don't I don't know what that means and I honestly don't think I need
[01:57:11] means and I honestly don't think I need to do that. So, I'm just going to ask.
[01:57:13] to do that. So, I'm just going to ask. Okay, let's test this puppy locally.
[01:57:15] Okay, let's test this puppy locally. Okay, so it's giving me the information.
[01:57:18] Okay, so it's giving me the information. It's also saying that the local host
[01:57:20] It's also saying that the local host thing is ready to go. So, I'm actually
[01:57:22] thing is ready to go. So, I'm actually just going to open this up, paste this
[01:57:24] just going to open this up, paste this in, and see. Cool. I got it. So, it says
[01:57:26] in, and see. Cool. I got it. So, it says I'm going to have to confirm my email.
[01:57:28] I'm going to have to confirm my email. So, I don't really like that. So, the
[01:57:29] So, I don't really like that. So, the first thing I'm going to do is I'll say
[01:57:31] first thing I'm going to do is I'll say looks good. If the user email isn't
[01:57:34] looks good. If the user email isn't confirmed, don't give it to them in a
[01:57:37] confirmed, don't give it to them in a red error message. That's kind of
[01:57:39] red error message. That's kind of unfriendly. Uh just tell them to check
[01:57:41] unfriendly. Uh just tell them to check their email after their initial sign up
[01:57:43] their email after their initial sign up cuz right now there's no notification
[01:57:45] cuz right now there's no notification with that.
[01:57:47] with that. And then basically, I'm just going to
[01:57:48] And then basically, I'm just going to like work through this step by step,
[01:57:50] like work through this step by step, page by page. Okay. And the first thing
[01:57:52] page by page. Okay. And the first thing I'm getting is I checked my email inbox.
[01:57:54] I'm getting is I checked my email inbox. I'm not seeing an email. So, I'm just
[01:57:56] I'm not seeing an email. So, I'm just going to give it a message telling it,
[01:57:58] going to give it a message telling it, hey, you know, first of all, let them
[01:58:00] hey, you know, first of all, let them know that they need to confirm their
[01:58:01] know that they need to confirm their email. Second of all, actually make sure
[01:58:03] email. Second of all, actually make sure that the email is being confirmed cuz
[01:58:05] that the email is being confirmed cuz I'm not getting it upon the signin.
[01:58:06] I'm not getting it upon the signin. Okay. And then it gave me uh the ability
[01:58:08] Okay. And then it gave me uh the ability to turn off the toggle email. So, I'm
[01:58:10] to turn off the toggle email. So, I'm just going to save that.
[01:58:12] just going to save that. So, we now no longer need to confirm the
[01:58:15] So, we now no longer need to confirm the email. And I'm going to go back here.
[01:58:16] email. And I'm going to go back here. Okay. Cool. And it looks like I'm now
[01:58:18] Okay. Cool. And it looks like I'm now into the dashboard. Bottom lefthand
[01:58:20] into the dashboard. Bottom lefthand corner, we have what looks to be I don't
[01:58:21] corner, we have what looks to be I don't know, some Nex.js stuff, I think. I'm
[01:58:23] know, some Nex.js stuff, I think. I'm not really sure what this is. This might
[01:58:24] not really sure what this is. This might just be like some developer stuff. Um,
[01:58:26] just be like some developer stuff. Um, on the top right hand corner, looks like
[01:58:28] on the top right hand corner, looks like we can sign out. So, let me just try
[01:58:29] we can sign out. So, let me just try signing out.
[01:58:31] signing out. Cool. And now in the middle, we can
[01:58:33] Cool. And now in the middle, we can create a new proposal. Just says
[01:58:34] create a new proposal. Just says proposals up here. So, click create new.
[01:58:36] proposals up here. So, click create new. Now, there's a bunch of information. I
[01:58:38] Now, there's a bunch of information. I like this. So, why don't I just go my
[01:58:40] like this. So, why don't I just go my own information.
[01:58:42] own information. I wonder if I just generate proposal if
[01:58:43] I wonder if I just generate proposal if that's going to work. Let's do a,00500
[01:58:46] that's going to work. Let's do a,00500 2,000. Okay. And then AI empowered sales
[01:58:48] 2,000. Okay. And then AI empowered sales pipeline. I actually like this. Why
[01:58:50] pipeline. I actually like this. Why don't we do that? The client needs an
[01:58:51] don't we do that? The client needs an automated lead generation system that
[01:58:52] automated lead generation system that integrates with their existing CRM. They
[01:58:54] integrates with their existing CRM. They currently spend 20 hours a week on
[01:58:55] currently spend 20 hours a week on manual outreach and want to reduce this
[01:58:57] manual outreach and want to reduce this to under five hours while increasing
[01:58:58] to under five hours while increasing qualified leads by 3x. Right now, they
[01:59:01] qualified leads by 3x. Right now, they want to get to 100K a month. Let's do
[01:59:03] want to get to 100K a month. Let's do that. Okay. Now, for the money shot,
[01:59:06] that. Okay. Now, for the money shot, let's um generate proposal.
[01:59:08] let's um generate proposal. Click on the button. Don't know what's
[01:59:10] Click on the button. Don't know what's going on. No clue whether this is
[01:59:12] going on. No clue whether this is working. Generally speaking, when you
[01:59:13] working. Generally speaking, when you see a little bar like this with a little
[01:59:15] see a little bar like this with a little circular thing, um, like this is pretty
[01:59:18] circular thing, um, like this is pretty poorer in terms of like user experience
[01:59:21] poorer in terms of like user experience because I just don't know if it's
[01:59:22] because I just don't know if it's working or not. I'm not really sure. It'
[01:59:23] working or not. I'm not really sure. It' be nice if there could be some sort of
[01:59:25] be nice if there could be some sort of progress, some way that I could see the
[01:59:26] progress, some way that I could see the thing actually being generated or upon
[01:59:28] thing actually being generated or upon clicking this, it'd be nice if I went to
[01:59:30] clicking this, it'd be nice if I went to a new page. So, I think I'm probably
[01:59:32] a new page. So, I think I'm probably going to do that. Hey, I'm not sure if
[01:59:35] going to do that. Hey, I'm not sure if the proposal has been generated. It's
[01:59:37] the proposal has been generated. It's been 10 or 15 seconds right now. Um,
[01:59:40] been 10 or 15 seconds right now. Um, could we do some additional user
[01:59:42] could we do some additional user feedback after they click the generate
[01:59:43] feedback after they click the generate proposal button? Some sort of status,
[01:59:46] proposal button? Some sort of status, um, some sort of update. Basically,
[01:59:48] um, some sort of update. Basically, there just needs to be some way that I
[01:59:49] there just needs to be some way that I know that the proposal is actually being
[01:59:51] know that the proposal is actually being generated, not just hanging all day.
[01:59:52] generated, not just hanging all day. Okay, it did it did end up generating
[01:59:54] Okay, it did it did end up generating the proposal after a while. It looks
[01:59:56] the proposal after a while. It looks very clean, but still, I want you to do
[01:59:57] very clean, but still, I want you to do this. Okay, so I'm just going to feed
[01:59:59] this. Okay, so I'm just going to feed that in here. Um, I'm really liking
[02:00:01] that in here. Um, I'm really liking this. I mean, look at the logo even.
[02:00:02] this. I mean, look at the logo even. That's very sexy. Using the same font,
[02:00:04] That's very sexy. Using the same font, nice confidential.
[02:00:06] nice confidential. O, this is so sexy. Look at that. Huh.
[02:00:08] O, this is so sexy. Look at that. Huh. Wow. I just built a proposal for this.
[02:00:13] Wow. I just built a proposal for this. What I'm going to do now is just give it
[02:00:14] What I'm going to do now is just give it some more feedback. I don't like how the
[02:00:18] some more feedback. I don't like how the text immediately under your problem
[02:00:20] text immediately under your problem areas is really constrained widthwise.
[02:00:24] areas is really constrained widthwise. You should make that a little longer,
[02:00:26] You should make that a little longer, maybe two times as wide.
[02:00:30] maybe two times as wide. in each of the bullet in each of the um
[02:00:33] in each of the bullet in each of the um sub benefits underneath 01 02 03 04 it's
[02:00:38] sub benefits underneath 01 02 03 04 it's a little too wide now so make that maybe
[02:00:40] a little too wide now so make that maybe 75% as wide do the same thing with the
[02:00:43] 75% as wide do the same thing with the text under your solution
[02:00:46] text under your solution under y us looks great I want to have
[02:00:48] under y us looks great I want to have that image of myself Alexi and Sam Ovens
[02:00:52] that image of myself Alexi and Sam Ovens in there somewhere so find a way to
[02:00:54] in there somewhere so find a way to include the image in a high quality
[02:00:56] include the image in a high quality manner there's some minor spacing
[02:01:00] manner there's some minor spacing problems with the we've done this
[02:01:03] problems with the we've done this before. We focus on money and we don't
[02:01:05] before. We focus on money and we don't treat AI as a fad. They're not perfectly
[02:01:08] treat AI as a fad. They're not perfectly lined up to the numbers 1 2 3 on the
[02:01:09] lined up to the numbers 1 2 3 on the left hand side. Add some images of
[02:01:12] left hand side. Add some images of myself and Noah.
[02:01:17] The what you're investing looks pretty
[02:01:19] The what you're investing looks pretty clean,
[02:01:25] but in general there's a bit of a
[02:01:28] but in general there's a bit of a discord between everything being left
[02:01:30] discord between everything being left aligned and then the service agreement
[02:01:32] aligned and then the service agreement being in white at in the middle. Find a
[02:01:35] being in white at in the middle. Find a way to fix that.
[02:01:41] Okay. And now there's one more thing I
[02:01:42] Okay. And now there's one more thing I want to do. I just want to verify this
[02:01:44] want to do. I just want to verify this works.
[02:01:50] Okay. And now I'm just going to click
[02:01:52] Okay. And now I'm just going to click sign and pay and we're going to see what
[02:01:53] sign and pay and we're going to see what happens. Okay. Cool. Looks like we're
[02:01:54] happens. Okay. Cool. Looks like we're here in the example sandbox. That's
[02:01:56] here in the example sandbox. That's awesome. I'm just going to pump in some
[02:01:57] awesome. I'm just going to pump in some payment information here. Cool. Looks
[02:01:59] payment information here. Cool. Looks like the payment went through. And then
[02:02:00] like the payment went through. And then we also have this wonderful payment
[02:02:02] we also have this wonderful payment received button. You can close this
[02:02:03] received button. You can close this window. That's awesome. Uh okay, great.
[02:02:05] window. That's awesome. Uh okay, great. So, let's just adjust that final bit.
[02:02:08] So, let's just adjust that final bit. Excellent. Everything worked great. Um
[02:02:10] Excellent. Everything worked great. Um on the final page where you do the
[02:02:12] on the final page where you do the confetti, make the confetti last a
[02:02:14] confetti, make the confetti last a little bit shorter. The ones on the left
[02:02:15] little bit shorter. The ones on the left and the right were a little long and
[02:02:17] and the right were a little long and then change will be in touch shortly to
[02:02:19] then change will be in touch shortly to get started
[02:02:21] get started to you'll receive an email with more
[02:02:24] to you'll receive an email with more details and a link to book a kickoff
[02:02:26] details and a link to book a kickoff call.
[02:02:27] call. Actually, screw that. Let's just give
[02:02:29] Actually, screw that. Let's just give them a direct calendar link to book a
[02:02:31] them a direct calendar link to book a kickoff call. Why not? That's way easier
[02:02:33] kickoff call. Why not? That's way easier and way faster. Okay, so I'm just going
[02:02:36] and way faster. Okay, so I'm just going to give it my own calendar.
[02:02:39] to give it my own calendar. I'll just give it an example here. And
[02:02:41] I'll just give it an example here. And then boom. I'll just have it go off
[02:02:43] then boom. I'll just have it go off again. So, I mean this looks really
[02:02:44] again. So, I mean this looks really clean. So far, I guess there's one more
[02:02:45] clean. So far, I guess there's one more thing I have to check. I have to check
[02:02:46] thing I have to check. I have to check and see if we can see the proposals
[02:02:48] and see if we can see the proposals listed. Okay, so yeah, we can. So, can I
[02:02:49] listed. Okay, so yeah, we can. So, can I click on this? Can we go right back to
[02:02:51] click on this? Can we go right back to the page? Nice. Now, can I just open
[02:02:53] the page? Nice. Now, can I just open this up in some new tab that's not
[02:02:55] this up in some new tab that's not logged in? Nice. So, the slashp must be
[02:02:58] logged in? Nice. So, the slashp must be /public. That's really clean. So, I
[02:03:00] /public. That's really clean. So, I mean, I like this. I mean, we did this
[02:03:01] mean, I like this. I mean, we did this in just a few minutes. Um, honestly,
[02:03:03] in just a few minutes. Um, honestly, very sexy. As you guys could see, I did
[02:03:05] very sexy. As you guys could see, I did very little work. And, uh, yeah, I just
[02:03:07] very little work. And, uh, yeah, I just need to find a way to basically um,
[02:03:09] need to find a way to basically um, standardize the spacing and the width.
[02:03:10] standardize the spacing and the width. Like I don't I don't like how this one
[02:03:12] Like I don't I don't like how this one over here is on the left hand side and
[02:03:14] over here is on the left hand side and then this stuff stretches all the way
[02:03:15] then this stuff stretches all the way out to the right. But this is just a
[02:03:16] out to the right. But this is just a minor design thing and we can absolutely
[02:03:18] minor design thing and we can absolutely significantly upgrade this. God, we even
[02:03:20] significantly upgrade this. God, we even have the signature here which looks so
[02:03:21] have the signature here which looks so cool. I love how that you can now build
[02:03:23] cool. I love how that you can now build your own apps, right? Like you don't
[02:03:25] your own apps, right? Like you don't actually have to go to like a big
[02:03:26] actually have to go to like a big developer or pay out the ass for some
[02:03:28] developer or pay out the ass for some big platform. You can just like oneshot
[02:03:30] big platform. You can just like oneshot an app like this with good enough cloud
[02:03:32] an app like this with good enough cloud code skills. Okay. And it's gone through
[02:03:34] code skills. Okay. And it's gone through and it's updated the widths and stuff
[02:03:36] and it's updated the widths and stuff like that. That looks pretty clean. Now
[02:03:37] like that. That looks pretty clean. Now I'm just going to go give it some images
[02:03:38] I'm just going to go give it some images and then it should be good. We're going
[02:03:39] and then it should be good. We're going to add them to public/ images
[02:03:41] to add them to public/ images apparently. Nice. Looking pretty clean
[02:03:42] apparently. Nice. Looking pretty clean if I do say so myself. Don't know what
[02:03:44] if I do say so myself. Don't know what the hell I was doing with uh cuffing my
[02:03:46] the hell I was doing with uh cuffing my pants like that. But what are you going
[02:03:47] pants like that. But what are you going to do? Just looking at what it changed.
[02:03:50] to do? Just looking at what it changed. It made this a little bit wider, but
[02:03:51] It made this a little bit wider, but then it made this much much smaller. So,
[02:03:53] then it made this much much smaller. So, I think what I'm going to do is I'm just
[02:03:54] I think what I'm going to do is I'm just going to enforce like the same width
[02:03:56] going to enforce like the same width across the entire page. That probably
[02:03:58] across the entire page. That probably makes the most sense. Why don't we just
[02:03:59] makes the most sense. Why don't we just like constrain it so it'll be like here.
[02:04:02] like constrain it so it'll be like here. Um I don't know, like here or something.
[02:04:05] Um I don't know, like here or something. That way it'll be somewhere in the
[02:04:06] That way it'll be somewhere in the middle. Just going to take a screenshot
[02:04:07] middle. Just going to take a screenshot of this. Hey, this looks good, but I'm
[02:04:09] of this. Hey, this looks good, but I'm finding it a little too wide at the
[02:04:10] finding it a little too wide at the moment. I believe we should just
[02:04:12] moment. I believe we should just constrain it and um do a bunch of
[02:04:14] constrain it and um do a bunch of padding on the left and the right. I
[02:04:16] padding on the left and the right. I sent you a screenshot of a quick
[02:04:17] sent you a screenshot of a quick example. Oh, I guess we didn't actually
[02:04:19] example. Oh, I guess we didn't actually do the screenshot, huh? Cuz I mean, it's
[02:04:21] do the screenshot, huh? Cuz I mean, it's good cuz it's like mobile optimized and
[02:04:23] good cuz it's like mobile optimized and stuff, but obviously, you know, on my
[02:04:25] stuff, but obviously, you know, on my actual desktop there's just so much
[02:04:26] actual desktop there's just so much white space. Let's just center
[02:04:28] white space. Let's just center everything.
[02:04:30] everything. Make it scrollable. And then I'm just
[02:04:32] Make it scrollable. And then I'm just going to Yeah, I'm not really sure why I
[02:04:35] going to Yeah, I'm not really sure why I couldn't take a screenshot of those, but
[02:04:37] couldn't take a screenshot of those, but whatever. That looks good to me. Boom.
[02:04:39] whatever. That looks good to me. Boom. Just fed that in. And we should be
[02:04:41] Just fed that in. And we should be pretty good to go, I think. Holy, that
[02:04:44] pretty good to go, I think. Holy, that salmon's good. I am definitely doing
[02:04:46] salmon's good. I am definitely doing that again. [snorts] Anyway, I uh gave
[02:04:48] that again. [snorts] Anyway, I uh gave it some more time and it's in centered
[02:04:50] it some more time and it's in centered most of this. I want to say looks pretty
[02:04:52] most of this. I want to say looks pretty clean all things considered. uh you
[02:04:54] clean all things considered. uh you know, we're doing some cutting off of
[02:04:55] know, we're doing some cutting off of faces and whatnot, but it's not that
[02:04:56] faces and whatnot, but it's not that bad. And uh yeah, honestly, this is very
[02:04:58] bad. And uh yeah, honestly, this is very similar to like the quality of a panda.
[02:05:00] similar to like the quality of a panda. I guess the last thing I'm going to do
[02:05:01] I guess the last thing I'm going to do is I'm just going to say stretch the
[02:05:02] is I'm just going to say stretch the strategy bit all the way to the end. Um
[02:05:06] strategy bit all the way to the end. Um that probably makes the most sense.
[02:05:09] that probably makes the most sense. Stretch this bit all the way to the
[02:05:12] Stretch this bit all the way to the bounding
[02:05:13] bounding boxes of the container, i.e. the white
[02:05:16] boxes of the container, i.e. the white box should go all the way. Okay, here's
[02:05:18] box should go all the way. Okay, here's one more thing that I think uh this is a
[02:05:20] one more thing that I think uh this is a good opportunity to talk about. A lot of
[02:05:21] good opportunity to talk about. A lot of the time this will tell you to do things
[02:05:23] the time this will tell you to do things like create a GitHub repo, push the
[02:05:24] like create a GitHub repo, push the code, etc. Um, just ask the agent to do
[02:05:27] code, etc. Um, just ask the agent to do it. Most of the time it can actually do
[02:05:29] it. Most of the time it can actually do what it is that it's asking you to do.
[02:05:31] what it is that it's asking you to do. Um, if it can, you know, let it try and
[02:05:33] Um, if it can, you know, let it try and then it'll tell you absolutely, hey, can
[02:05:35] then it'll tell you absolutely, hey, can you do all this for me,
[02:05:38] you do all this for me, then it'll just tell you what parts it
[02:05:39] then it'll just tell you what parts it can do and which parts it can't.
[02:05:42] can do and which parts it can't. Okay, taking a peek here. Um, it's
[02:05:44] Okay, taking a peek here. Um, it's telling me to go deploy the project. So,
[02:05:46] telling me to go deploy the project. So, go here, add new site, import an
[02:05:48] go here, add new site, import an existing project. I can do that. Select
[02:05:51] existing project. I can do that. Select we need to build settings should
[02:05:54] we need to build settings should autofill confirm and click deploy. My
[02:05:56] autofill confirm and click deploy. My proposal generator is available. That's
[02:05:58] proposal generator is available. That's funny. This is like the universal domain
[02:06:02] funny. This is like the universal domain name here, right? Like anybody will be
[02:06:03] name here, right? Like anybody will be able to access this.
[02:06:05] able to access this. [cough and clears throat]
[02:06:08] I'll put an A at the end because I think
[02:06:10] I'll put an A at the end because I think it's funny. Okay. Automatically
[02:06:12] it's funny. Okay. Automatically detected. Next. Uh what else? Confirm.
[02:06:15] detected. Next. Uh what else? Confirm. Click deploy. Okay. Okay. So, go to site
[02:06:16] Click deploy. Okay. Okay. So, go to site settings and then we need to add all of
[02:06:19] settings and then we need to add all of this information in. So, I'll do that.
[02:06:20] this information in. So, I'll do that. Environment variables import from AENV
[02:06:23] Environment variables import from AENV file. So, I'm just going to paste this
[02:06:24] file. So, I'm just going to paste this in.
[02:06:27] in. So, there's this local. Let me grab
[02:06:29] So, there's this local. Let me grab that. Okay. And we just imported all of
[02:06:31] that. Okay. And we just imported all of these. Um,
[02:06:35] these. Um, nice. Oh, that's nice. Um,
[02:06:38] nice. Oh, that's nice. Um, now I need to go set up my Stripe web
[02:06:41] now I need to go set up my Stripe web hook. So, let's just paste that in. Add
[02:06:43] hook. So, let's just paste that in. Add a destination. Um, we need to add this
[02:06:46] a destination. Um, we need to add this endpoint URL. So, proposal generator. I
[02:06:48] endpoint URL. So, proposal generator. I don't know exactly what all this stuff
[02:06:50] don't know exactly what all this stuff means, but just going to select all. And
[02:06:53] means, but just going to select all. And then I guess it's just proposal
[02:06:55] then I guess it's just proposal generator. Okay. And then no
[02:06:58] generator. Okay. And then no description. I think
[02:07:01] description. I think that looks good to me. Okay. Everything
[02:07:03] that looks good to me. Okay. Everything is now added. So, go through and then
[02:07:06] is now added. So, go through and then make sure my site's deployed. I saw some
[02:07:08] make sure my site's deployed. I saw some issue with it earlier. All right. So,
[02:07:09] issue with it earlier. All right. So, um, this is now going to take whatever
[02:07:11] um, this is now going to take whatever this is. And now that it actually has
[02:07:13] this is. And now that it actually has access to the app, it should be able to
[02:07:14] access to the app, it should be able to update it for me. I don't know for sure
[02:07:16] update it for me. I don't know for sure to be honest. We'll figure it out.
[02:07:18] to be honest. We'll figure it out. Hopefully you guys can tell. A lot of
[02:07:20] Hopefully you guys can tell. A lot of this stuff is me just saying, "Hey, fix
[02:07:22] this stuff is me just saying, "Hey, fix it." And if it can't fix it, what the
[02:07:24] it." And if it can't fix it, what the hell do I do? And then it just tells you
[02:07:26] hell do I do? And then it just tells you what to do and then you're good to go.
[02:07:28] what to do and then you're good to go. What's important really is like [snorts]
[02:07:29] What's important really is like [snorts] if you think about it, like the software
[02:07:31] if you think about it, like the software engineering stuff, this is like almost
[02:07:32] engineering stuff, this is like almost completely automated. I mean, I was
[02:07:34] completely automated. I mean, I was doing more cooking of my salmon rice
[02:07:36] doing more cooking of my salmon rice bowl than I was actually, you know,
[02:07:37] bowl than I was actually, you know, steering the ship uh after a certain
[02:07:39] steering the ship uh after a certain point. And that's because we we made use
[02:07:41] point. And that's because we we made use of the plan mode so heavily. But what's
[02:07:43] of the plan mode so heavily. But what's important really is like your agency as
[02:07:44] important really is like your agency as a developer and like your ideas and your
[02:07:47] a developer and like your ideas and your willingness and capability to like put
[02:07:49] willingness and capability to like put together things. Uh in my case, you
[02:07:52] together things. Uh in my case, you know, I do a lot of proposals. I send
[02:07:53] know, I do a lot of proposals. I send out maybe one every couple of days right
[02:07:55] out maybe one every couple of days right now. At our peak, we were sending like
[02:07:57] now. At our peak, we were sending like four or five out a day. And so doing all
[02:07:59] four or five out a day. And so doing all that stuff manually was obviously very
[02:08:00] that stuff manually was obviously very time inensive. Well, if I could just
[02:08:02] time inensive. Well, if I could just oneshot it with like a little voice
[02:08:03] oneshot it with like a little voice transcript and an AI prompt, obviously,
[02:08:05] transcript and an AI prompt, obviously, and then generate my own landing page
[02:08:06] and then generate my own landing page like that, that's really valuable for me
[02:08:07] like that, that's really valuable for me as a business. That's something that AI
[02:08:09] as a business. That's something that AI would not know of right now and would
[02:08:11] would not know of right now and would not really be able to do. So, you know,
[02:08:14] not really be able to do. So, you know, allow the AI to be your hands. Um, you
[02:08:17] allow the AI to be your hands. Um, you similar to the way that like, you know,
[02:08:18] similar to the way that like, you know, keys and a keyboard are. You're the
[02:08:20] keys and a keyboard are. You're the person that's coming up with the ideas
[02:08:21] person that's coming up with the ideas and thinking. Okay. So, I'm not sure if
[02:08:23] and thinking. Okay. So, I'm not sure if you guys are paying attention while all
[02:08:24] you guys are paying attention while all of this is occurring. But did you see
[02:08:27] of this is occurring. But did you see this little context tab get filled up?
[02:08:30] this little context tab get filled up? Cuz this has hit 100% um more than once
[02:08:33] Cuz this has hit 100% um more than once at this point. Essentially, what occurs
[02:08:35] at this point. Essentially, what occurs is this is your total amount of context
[02:08:36] is this is your total amount of context available to you. to somebody that's
[02:08:38] available to you. to somebody that's doing a build, right? Well, when this
[02:08:40] doing a build, right? Well, when this reaches a certain uh limit, when it
[02:08:42] reaches a certain uh limit, when it hits, you know, 99 or 100% or whatever,
[02:08:44] hits, you know, 99 or 100% or whatever, what it'll do is it'll take all of the
[02:08:45] what it'll do is it'll take all of the text that you've written so far, and
[02:08:47] text that you've written so far, and it'll compress it down as tightly as
[02:08:48] it'll compress it down as tightly as humanly possible, you know, now let me
[02:08:50] humanly possible, you know, now let me commit and push. So, netlelfi rebuilds
[02:08:52] commit and push. So, netlelfi rebuilds might literally just turn into netlefi
[02:08:54] might literally just turn into netlefi rebuilding dot. It'll save all those
[02:08:57] rebuilding dot. It'll save all those tokens, but in doing so also increase
[02:08:59] tokens, but in doing so also increase the information density of your prompt.
[02:09:00] the information density of your prompt. And then it'll basically compact it.
[02:09:03] And then it'll basically compact it. That's what the term is. um so that you
[02:09:05] That's what the term is. um so that you have more information in the same amount
[02:09:07] have more information in the same amount of tokens. So the next prompt that you
[02:09:09] of tokens. So the next prompt that you use is both higher quality but then also
[02:09:12] use is both higher quality but then also um doesn't actually run over the token
[02:09:13] um doesn't actually run over the token limit. The unfortunate reality is models
[02:09:15] limit. The unfortunate reality is models right now only have token limits of
[02:09:17] right now only have token limits of somewhere between 200,000 to about a
[02:09:18] somewhere between 200,000 to about a million. Some of them have 200,000.
[02:09:20] million. Some of them have 200,000. Other ones have a million. The model I'm
[02:09:21] Other ones have a million. The model I'm currently using is about 200k right now.
[02:09:22] currently using is about 200k right now. And that means that like after 1999,999
[02:09:26] And that means that like after 1999,999 tokens go in like there's only room for
[02:09:28] tokens go in like there's only room for one more. Um that's just [snorts] the
[02:09:30] one more. Um that's just [snorts] the way that they're built, right? That's
[02:09:31] way that they're built, right? That's just their infrastructure. So Claude
[02:09:33] just their infrastructure. So Claude does a lot of these like automated
[02:09:34] does a lot of these like automated contact management techniques without
[02:09:36] contact management techniques without really telling you. Um, and that's core
[02:09:37] really telling you. Um, and that's core of what we're going to learn after this
[02:09:39] of what we're going to learn after this project is done. Anyway, I went back and
[02:09:40] project is done. Anyway, I went back and forth a couple times and now you can see
[02:09:42] forth a couple times and now you can see that we have the app live. It's live on
[02:09:44] that we have the app live. It's live on a public-f facing URL. So I'm going to
[02:09:46] a public-f facing URL. So I'm going to go nikkiwiki@gmail.com
[02:09:47] go nikkiwiki@gmail.com and actually sign in with my previous
[02:09:49] and actually sign in with my previous account. And now you can see I actually
[02:09:52] account. And now you can see I actually have access to that same pipeline, that
[02:09:54] have access to that same pipeline, that same page that I had previously. So I'm
[02:09:55] same page that I had previously. So I'm going to give that a click. Everything
[02:09:57] going to give that a click. Everything is nice and centered right now, which is
[02:09:59] is nice and centered right now, which is exactly what I wanted. Super clean. Uh
[02:10:02] exactly what I wanted. Super clean. Uh what's cool too is it stretched the
[02:10:04] what's cool too is it stretched the strategy setup and fee all the way to
[02:10:05] strategy setup and fee all the way to the right hand side and then you know I
[02:10:06] the right hand side and then you know I have the ability to to do my signatures
[02:10:08] have the ability to to do my signatures and whatnot. So suffice to say like this
[02:10:10] and whatnot. So suffice to say like this this worked. This app is now functional.
[02:10:12] this worked. This app is now functional. It's live. It's you know honestly
[02:10:14] It's live. It's you know honestly probably better for my purposes than
[02:10:15] probably better for my purposes than Panda was which I was paying out the ass
[02:10:17] Panda was which I was paying out the ass for. Not that I don't think the
[02:10:19] for. Not that I don't think the company's cool, but damn is that some
[02:10:20] company's cool, but damn is that some expensive API pricing I think for what
[02:10:22] expensive API pricing I think for what it's doing. In my case I'm doing all
[02:10:23] it's doing. In my case I'm doing all that now basically for free. At least
[02:10:25] that now basically for free. At least notifi the deployment solution that I
[02:10:27] notifi the deployment solution that I had available was free. So aside from
[02:10:29] had available was free. So aside from the cloud code tokens, you know, it's
[02:10:30] the cloud code tokens, you know, it's one of those things where you spend it
[02:10:31] one of those things where you spend it once and then every time I ever generate
[02:10:34] once and then every time I ever generate a proposal from here on out, it's sort
[02:10:35] a proposal from here on out, it's sort of fixed now. I mean, we built like an
[02:10:37] of fixed now. I mean, we built like an app here, right? This is a full stack
[02:10:39] app here, right? This is a full stack app, that's what this is. That's why
[02:10:40] app, that's what this is. That's why there's like the login page, there's
[02:10:41] there's like the login page, there's stuff on the back end, there's a
[02:10:42] stuff on the back end, there's a database, there's, you know, the front
[02:10:43] database, there's, you know, the front end and and whatnot as well. But I want
[02:10:46] end and and whatnot as well. But I want you guys to know that like despite cloud
[02:10:47] you guys to know that like despite cloud code and how awesome it is, I'd be very
[02:10:50] code and how awesome it is, I'd be very wary about taking apps that are fully
[02:10:53] wary about taking apps that are fully vibecoded and then publishing them on
[02:10:55] vibecoded and then publishing them on the internet. This is sort of my
[02:10:57] the internet. This is sort of my obligatory safety message because there
[02:11:00] obligatory safety message because there are people that are out there that are
[02:11:02] are people that are out there that are using cloud code and similar tools to
[02:11:04] using cloud code and similar tools to try and find security vulnerabilities as
[02:11:06] try and find security vulnerabilities as well. And unfortunately, despite how
[02:11:08] well. And unfortunately, despite how amazing cloud code is right now, it's
[02:11:10] amazing cloud code is right now, it's not at the point where it like fully
[02:11:11] not at the point where it like fully 100% patches everything on the front end
[02:11:13] 100% patches everything on the front end and the back end. So, what this means
[02:11:15] and the back end. So, what this means is, okay, there are a couple little
[02:11:17] is, okay, there are a couple little safety precautions that I recommend you
[02:11:18] safety precautions that I recommend you have. The first is I'd recommend that
[02:11:21] have. The first is I'd recommend that whatever you know URL that you're
[02:11:23] whatever you know URL that you're putting together or whatnot. It's not
[02:11:25] putting together or whatnot. It's not like an obvious or basic URL. Like for
[02:11:27] like an obvious or basic URL. Like for instance, um I wouldn't just go proposal
[02:11:29] instance, um I wouldn't just go proposal generated.
[02:11:31] generated. I actually get my custom URL and then
[02:11:32] I actually get my custom URL and then I'd make the custom URL something that
[02:11:34] I'd make the custom URL something that you know realistically is not like
[02:11:36] you know realistically is not like trivial. It wouldn't be like google.com,
[02:11:38] trivial. It wouldn't be like google.com, right? Like not leftclick.ai. I wouldn't
[02:11:40] right? Like not leftclick.ai. I wouldn't make it short because there are a bunch
[02:11:42] make it short because there are a bunch of services out there that are scanning
[02:11:43] of services out there that are scanning all DNS ranges and also all URLs. uh
[02:11:45] all DNS ranges and also all URLs. uh which basically mean that like the
[02:11:47] which basically mean that like the shorter and simpler your thing is, the
[02:11:49] shorter and simpler your thing is, the riskier it is, the more other human
[02:11:50] riskier it is, the more other human beings will have access to this. Like
[02:11:51] beings will have access to this. Like there's probably already been I don't
[02:11:53] there's probably already been I don't know like 30 or 40 people that have
[02:11:54] know like 30 or 40 people that have accessed my service despite the fact
[02:11:56] accessed my service despite the fact that I just whipped it up. That's just
[02:11:57] that I just whipped it up. That's just how it works, right? People are always
[02:11:59] how it works, right? People are always constantly scanning the internet and
[02:12:00] constantly scanning the internet and sending requests. The second is I
[02:12:02] sending requests. The second is I wouldn't charge money for these, okay,
[02:12:05] wouldn't charge money for these, okay, without having a developer go through
[02:12:07] without having a developer go through the authentication, at least the front
[02:12:08] the authentication, at least the front end at least once. And I say this for
[02:12:12] end at least once. And I say this for liability reasons. Like I don't want you
[02:12:14] liability reasons. Like I don't want you guys to like get a bunch of user data
[02:12:17] guys to like get a bunch of user data like usernames, passwords, email
[02:12:18] like usernames, passwords, email addresses, payment logs and stuff like
[02:12:20] addresses, payment logs and stuff like that and then have that exposed to bad
[02:12:22] that and then have that exposed to bad actors on the internet. It just isn't
[02:12:23] actors on the internet. It just isn't really worth it right now. Like if you
[02:12:24] really worth it right now. Like if you guys are looking to sell apps with this
[02:12:26] guys are looking to sell apps with this approach, you know, just pay some
[02:12:28] approach, you know, just pay some person, you know, a few hundred, have
[02:12:30] person, you know, a few hundred, have them look over your app. Let's be real,
[02:12:31] them look over your app. Let's be real, the software is not the mode anyway. You
[02:12:33] the software is not the mode anyway. You can just give it to them. Screw the NDA.
[02:12:34] can just give it to them. Screw the NDA. And just like have them tell you how to
[02:12:37] And just like have them tell you how to secure your application. Hell, they can
[02:12:38] secure your application. Hell, they can even give Cloud Code some uh some tips
[02:12:40] even give Cloud Code some uh some tips or maybe like a prompt that you could
[02:12:42] or maybe like a prompt that you could use to to do it almost automatically.
[02:12:44] use to to do it almost automatically. But I guess what I'm trying to say is
[02:12:44] But I guess what I'm trying to say is like despite how compelling it may be to
[02:12:47] like despite how compelling it may be to like make these apps public and stuff
[02:12:48] like make these apps public and stuff like that and then charge people for
[02:12:49] like that and then charge people for their usage, I personally wouldn't. I
[02:12:51] their usage, I personally wouldn't. I personally only use apps right now um
[02:12:54] personally only use apps right now um internally within my teams or for my
[02:12:56] internally within my teams or for my clients. I do not roll these things out
[02:12:58] clients. I do not roll these things out and then like try and make money from
[02:13:00] and then like try and make money from them off the wider internet when like
[02:13:02] them off the wider internet when like the app store or whatever. I've just
[02:13:03] the app store or whatever. I've just seen too many horror stories. Um, we saw
[02:13:06] seen too many horror stories. Um, we saw Cloudbot a couple of weeks ago, at least
[02:13:08] Cloudbot a couple of weeks ago, at least as the time of this recording, which
[02:13:09] as the time of this recording, which later turned into Moltbot, which later
[02:13:11] later turned into Moltbot, which later turned into OpenCloud. It rebranded five
[02:13:13] turned into OpenCloud. It rebranded five million times because every freaking
[02:13:15] million times because every freaking version of it had major security issues.
[02:13:17] version of it had major security issues. And then people were getting prompt
[02:13:18] And then people were getting prompt injected and hacked and stuff like that.
[02:13:20] injected and hacked and stuff like that. And I mean, like, you know, there's a
[02:13:22] And I mean, like, you know, there's a fair amount of your reputation that goes
[02:13:23] fair amount of your reputation that goes with that as somebody in a business
[02:13:24] with that as somebody in a business context, but also you are playing with
[02:13:26] context, but also you are playing with fire here. This is like, you know, real
[02:13:27] fire here. This is like, you know, real human beings, uh, uh, consumer data. So,
[02:13:30] human beings, uh, uh, consumer data. So, I don't want to make safety too big a
[02:13:31] I don't want to make safety too big a part of my thing. It's just Uncle Ben
[02:13:34] part of my thing. It's just Uncle Ben time. With great power comes great
[02:13:35] time. With great power comes great responsibility. And hopefully you guys
[02:13:36] responsibility. And hopefully you guys see here. I mean, this took me, I don't
[02:13:38] see here. I mean, this took me, I don't know, 15, 20 minutes realistically end
[02:13:39] know, 15, 20 minutes realistically end to end. I was obviously making food and
[02:13:41] to end. I was obviously making food and whatnot, coming back. I wasn't as
[02:13:42] whatnot, coming back. I wasn't as efficient as I could have been. [gasps]
[02:13:44] efficient as I could have been. [gasps] But you are certainly wielding great
[02:13:45] But you are certainly wielding great power right now. And if you're going to
[02:13:47] power right now. And if you're going to have other people trust you with their
[02:13:48] have other people trust you with their credentials and login and passwords and
[02:13:50] credentials and login and passwords and everything like that, you need to make
[02:13:51] everything like that, you need to make sure that you know you're not using that
[02:13:53] sure that you know you're not using that power willy-nilly. Next up, I want to
[02:13:55] power willy-nilly. Next up, I want to chat context management. Now, for those
[02:13:57] chat context management. Now, for those of you guys that don't know, context
[02:13:59] of you guys that don't know, context management is essentially you handling
[02:14:02] management is essentially you handling tokens in a prompt as effectively as
[02:14:05] tokens in a prompt as effectively as possible. There are many people out
[02:14:07] possible. There are many people out there that overcomplicate the hell out
[02:14:09] there that overcomplicate the hell out of this. So, I'm going to do my best not
[02:14:10] of this. So, I'm going to do my best not to. If I open up a new instance of Cloud
[02:14:13] to. If I open up a new instance of Cloud Code over here and then I type this
[02:14:16] Code over here and then I type this backslash and then scroll down, you'll
[02:14:18] backslash and then scroll down, you'll see that I have access to a bunch of
[02:14:19] see that I have access to a bunch of really cool functions here. I can
[02:14:21] really cool functions here. I can compact, context, cost, debug, innit, I
[02:14:25] compact, context, cost, debug, innit, I can do insights. I have the ability to
[02:14:27] can do insights. I have the ability to choose between models, thinking account
[02:14:30] choose between models, thinking account and usage, fast mode. Uh we're going to
[02:14:32] and usage, fast mode. Uh we're going to talk all about this next, but for now I
[02:14:34] talk all about this next, but for now I want to focus specifically on one slash
[02:14:37] want to focus specifically on one slash command called slash context. Look at
[02:14:39] command called slash context. Look at what happens when I click this. If I
[02:14:42] what happens when I click this. If I scroll up and then zoom in a little bit,
[02:14:45] scroll up and then zoom in a little bit, you can see here that at the very top,
[02:14:47] you can see here that at the very top, Claude tells us essentially what is
[02:14:50] Claude tells us essentially what is currently using its context window. For
[02:14:52] currently using its context window. For those of you guys that don't know,
[02:14:54] those of you guys that don't know, context window in the ter in the um
[02:14:56] context window in the ter in the um domain of AI just refers to the total
[02:14:59] domain of AI just refers to the total amount or total number of tokens that a
[02:15:02] amount or total number of tokens that a specific model can deal with at once. So
[02:15:04] specific model can deal with at once. So if you guys remember earlier where we
[02:15:06] if you guys remember earlier where we were doing a build, I said it was about
[02:15:07] were doing a build, I said it was about 200,000 for Claude Opus 4.6. That's the
[02:15:09] 200,000 for Claude Opus 4.6. That's the model that I'm currently using. There's
[02:15:11] model that I'm currently using. There's some models out there like um some
[02:15:12] some models out there like um some sonnet series models that can go up to
[02:15:14] sonnet series models that can go up to one or two million tokens now. Uh but
[02:15:16] one or two million tokens now. Uh but the number of tokens in a context window
[02:15:19] the number of tokens in a context window aren't directly related to the
[02:15:20] aren't directly related to the performance of the model. context window
[02:15:22] performance of the model. context window is sort of separate from that. So, Cloud
[02:15:24] is sort of separate from that. So, Cloud Opus 4.6 has a context window of about
[02:15:26] Opus 4.6 has a context window of about 200,000 tokens. And then you'll see here
[02:15:28] 200,000 tokens. And then you'll see here that so far I've used 26,400,
[02:15:32] that so far I've used 26,400, which means mathematically I'm 13% of
[02:15:34] which means mathematically I'm 13% of the way through. You might be asking,
[02:15:36] the way through. You might be asking, well, Nick, how the hell is that
[02:15:37] well, Nick, how the hell is that possible? All you've written so far is
[02:15:40] possible? All you've written so far is /context. Where are those other 26,398
[02:15:44] /context. Where are those other 26,398 tokens coming from realistically? And
[02:15:46] tokens coming from realistically? And that's a great question. Immediately
[02:15:48] that's a great question. Immediately underneath, you could find out for
[02:15:49] underneath, you could find out for yourself. And so what I reckon you guys
[02:15:52] yourself. And so what I reckon you guys do right now if you've never done this
[02:15:53] do right now if you've never done this before is head over to your own cloud
[02:15:55] before is head over to your own cloud code instance without even watching any
[02:15:56] code instance without even watching any of this and just type back/context and
[02:15:59] of this and just type back/context and look at all of the things that are
[02:16:00] look at all of the things that are currently consuming um your prompt. Now
[02:16:02] currently consuming um your prompt. Now I should note that this is stuff that
[02:16:04] I should note that this is stuff that you're actively build for. Okay, this is
[02:16:05] you're actively build for. Okay, this is not stuff that's free. Despite the fact
[02:16:07] not stuff that's free. Despite the fact that a lot of the time anthropic and
[02:16:09] that a lot of the time anthropic and claude um you know they'll add a bunch
[02:16:12] claude um you know they'll add a bunch of things to your context without really
[02:16:13] of things to your context without really telling you this is still stuff that at
[02:16:15] telling you this is still stuff that at the end of the day you are paying for.
[02:16:16] the end of the day you are paying for. So, if you submit a bunch of one-off
[02:16:18] So, if you submit a bunch of one-off requests to like individual instances of
[02:16:19] requests to like individual instances of cloud, note that there's going to be
[02:16:21] cloud, note that there's going to be your prompt, which it'll bill you for,
[02:16:22] your prompt, which it'll bill you for, but there's also going to be always like
[02:16:23] but there's also going to be always like a flat um additional cost of maybe 5,
[02:16:26] a flat um additional cost of maybe 5, 10, 15,000 tokens or more depending on
[02:16:28] 10, 15,000 tokens or more depending on how you set it up. Okay, so going down
[02:16:30] how you set it up. Okay, so going down here under category, you could see all
[02:16:32] here under category, you could see all of the different ways that our tokens
[02:16:34] of the different ways that our tokens are currently being used and all the
[02:16:35] are currently being used and all the additional tokens that we didn't even
[02:16:37] additional tokens that we didn't even really realize were we're making use of.
[02:16:39] really realize were we're making use of. The first is your system prompt. Now, if
[02:16:42] The first is your system prompt. Now, if you guys remember, claude.md takes up a
[02:16:45] you guys remember, claude.md takes up a fair amount of your context. And there's
[02:16:47] fair amount of your context. And there's different types of cloudmds. You have
[02:16:50] different types of cloudmds. You have your global um tilda/.cloud
[02:16:53] your global um tilda/.cloud slash. That's the one that defines all
[02:16:55] slash. That's the one that defines all workspaces, not just the one that you're
[02:16:57] workspaces, not just the one that you're currently in. Then you have the
[02:16:59] currently in. Then you have the local.cloud right over here in yellow.
[02:17:02] local.cloud right over here in yellow. Uh in this case, we've broken them down
[02:17:04] Uh in this case, we've broken them down into individual rule or componentclad
[02:17:06] into individual rule or componentclad MDs. Underneath you also have capital
[02:17:09] MDs. Underneath you also have capital memory MD. And then and only then do you
[02:17:12] memory MD. And then and only then do you actually, you know, send a message
[02:17:14] actually, you know, send a message basically and have your prompt. And so
[02:17:15] basically and have your prompt. And so earlier on, you remember how we had like
[02:17:17] earlier on, you remember how we had like 26,000 tokens or so? Well, probably, I
[02:17:19] 26,000 tokens or so? Well, probably, I don't know, 10,000 tokens or something
[02:17:22] don't know, 10,000 tokens or something like that was just taken up by all these
[02:17:23] like that was just taken up by all these system prompts. We'll double check in a
[02:17:25] system prompts. We'll double check in a second cuz we can actually see the real
[02:17:26] second cuz we can actually see the real number. And then only a couple of
[02:17:28] number. And then only a couple of tokens, in this case, two or something
[02:17:30] tokens, in this case, two or something were actually taken up by our our other
[02:17:32] were actually taken up by our our other request. So that begs the question,
[02:17:34] request. So that begs the question, where are you know the other I guess
[02:17:36] where are you know the other I guess 15,000 or so tokens of the 26,400? In
[02:17:39] 15,000 or so tokens of the 26,400? In addition to the system prompt, which to
[02:17:41] addition to the system prompt, which to be clear, this is your claw.md
[02:17:44] be clear, this is your claw.md and rules, you also have system tools,
[02:17:49] and rules, you also have system tools, which is as of the time of this
[02:17:50] which is as of the time of this recording almost 17,000 tokens. Now,
[02:17:54] recording almost 17,000 tokens. Now, system tools are things like the model's
[02:17:58] system tools are things like the model's ability to run bash. That just means
[02:18:00] ability to run bash. That just means open up a terminal. It's the model's
[02:18:02] open up a terminal. It's the model's ability to run web search. That means to
[02:18:05] ability to run web search. That means to request a web page, have that web page
[02:18:08] request a web page, have that web page information brought back, parsed, and
[02:18:10] information brought back, parsed, and then dealt with. It's the model's
[02:18:12] then dealt with. It's the model's ability to do things like create a plan.
[02:18:15] ability to do things like create a plan. [gasps]
[02:18:16] [gasps] These are all tools and functions that
[02:18:18] These are all tools and functions that you don't actually realize that Claude
[02:18:20] you don't actually realize that Claude has access to, but uh it does. And this
[02:18:22] has access to, but uh it does. And this is what the claude code developers Boris
[02:18:25] is what the claude code developers Boris Churnney and all the rest of the team
[02:18:27] Churnney and all the rest of the team have basically done before you even get
[02:18:29] have basically done before you even get to your own message which is all the way
[02:18:31] to your own message which is all the way down over here. Okay, as we see we have
[02:18:34] down over here. Okay, as we see we have that claw.md stuff. Okay, then we have
[02:18:37] that claw.md stuff. Okay, then we have the tools. Then we have MCP which I'll
[02:18:39] the tools. Then we have MCP which I'll cover in a second. Then we have that
[02:18:41] cover in a second. Then we have that memory MD. Then we have skills. And then
[02:18:45] memory MD. Then we have skills. And then and only then do we actually have our
[02:18:47] and only then do we actually have our messages. So there's a lot to go yet.
[02:18:50] messages. So there's a lot to go yet. These tools are constantly changing. And
[02:18:51] These tools are constantly changing. And if you guys want a list of all of them,
[02:18:53] if you guys want a list of all of them, you can actually just ask your clawed
[02:18:55] you can actually just ask your clawed model. So I'm just going to say what
[02:18:56] model. So I'm just going to say what tools do you have access to? List them
[02:18:58] tools do you have access to? List them all and it's going to go through and
[02:18:59] all and it's going to go through and it's going to enumerate every single
[02:19:01] it's going to enumerate every single one. So you see here we have task.
[02:19:04] one. So you see here we have task. That's what opens up every time we call
[02:19:05] That's what opens up every time we call a sub agent. There's task output which
[02:19:08] a sub agent. There's task output which is another tool where it like retrieves
[02:19:09] is another tool where it like retrieves the output of the agent. There's bash
[02:19:11] the output of the agent. There's bash which is how you execute shell commands.
[02:19:13] which is how you execute shell commands. Glob is finding a file by pattern. Grep
[02:19:16] Glob is finding a file by pattern. Grep is searching file contents. Read is just
[02:19:18] is searching file contents. Read is just how it reads files. So you do need an
[02:19:20] how it reads files. So you do need an additional tool for that. Edit is how it
[02:19:22] additional tool for that. Edit is how it changes things. Write is how it creates
[02:19:24] changes things. Write is how it creates and overwrites new files. Notebook edit
[02:19:27] and overwrites new files. Notebook edit is something specific for a type of file
[02:19:28] is something specific for a type of file called a Jupyter notebook. A lot of
[02:19:30] called a Jupyter notebook. A lot of people do like data science and stuff
[02:19:31] people do like data science and stuff like that in cloud code and Jupyter
[02:19:33] like that in cloud code and Jupyter notebooks are a big chunk of that.
[02:19:35] notebooks are a big chunk of that. There's web fetch which is how it calls
[02:19:37] There's web fetch which is how it calls uh v various internet sources and then
[02:19:39] uh v various internet sources and then returns it. This is web search which
[02:19:41] returns it. This is web search which allows it to search sort of like Google.
[02:19:43] allows it to search sort of like Google. There's todo write. If you guys have
[02:19:44] There's todo write. If you guys have ever wondered where those little to-do
[02:19:46] ever wondered where those little to-do lists come up when Claude Code is doing
[02:19:48] lists come up when Claude Code is doing stuff, it's that one right over there.
[02:19:50] stuff, it's that one right over there. Ask user question. If you guys have ever
[02:19:51] Ask user question. If you guys have ever wondered where those little graphical
[02:19:52] wondered where those little graphical user interfaces come up where it says
[02:19:54] user interfaces come up where it says pick one, two, three, or tell Claude
[02:19:56] pick one, two, three, or tell Claude something, that's where that comes from.
[02:19:57] something, that's where that comes from. There's enter plan mode, exit plan mode.
[02:20:00] There's enter plan mode, exit plan mode. There's skill, which is just a meta
[02:20:01] There's skill, which is just a meta function, which um more or less
[02:20:03] function, which um more or less orchestrates how you call skills. Then
[02:20:05] orchestrates how you call skills. Then there's task stop, which is useful
[02:20:06] there's task stop, which is useful because sometimes cloud needs to stop
[02:20:08] because sometimes cloud needs to stop something that's running. Okay, so
[02:20:10] something that's running. Okay, so basically of all of the context, if we
[02:20:12] basically of all of the context, if we scroll back up here and avoid this MCP
[02:20:14] scroll back up here and avoid this MCP tools, I'll cover that in a second.
[02:20:16] tools, I'll cover that in a second. Okay, 16,800 tokens are being taken up
[02:20:19] Okay, 16,800 tokens are being taken up by all those tools basically all of the
[02:20:22] by all those tools basically all of the time. And there's nothing you can do to
[02:20:23] time. And there's nothing you can do to fix that unless you want to go in and
[02:20:25] fix that unless you want to go in and make your own version of cloud code or
[02:20:27] make your own version of cloud code or something. I will say I think that some
[02:20:29] something. I will say I think that some of these things are unnecessary. I mean,
[02:20:31] of these things are unnecessary. I mean, I I definitely don't need the Jupyter
[02:20:32] I I definitely don't need the Jupyter notebook calls. I think there are a few
[02:20:34] notebook calls. I think there are a few additional features here that maybe I
[02:20:35] additional features here that maybe I don't need or we could probably make
[02:20:36] don't need or we could probably make them smaller, but this is something that
[02:20:38] them smaller, but this is something that uh the Cloud Code team is constantly
[02:20:39] uh the Cloud Code team is constantly improving, constantly pruning and and so
[02:20:41] improving, constantly pruning and and so on and so forth. Next up, we have the
[02:20:43] on and so forth. Next up, we have the MCP tools. Now, unlike system tools, MCP
[02:20:46] MCP tools. Now, unlike system tools, MCP tools are things that you define
[02:20:48] tools are things that you define yourself, which means every one of these
[02:20:50] yourself, which means every one of these tools is something that I like basically
[02:20:52] tools is something that I like basically put together. This is something that I
[02:20:53] put together. This is something that I connected to uh an MCP server to
[02:20:56] connected to uh an MCP server to basically extend the functionality of my
[02:20:58] basically extend the functionality of my cloud code. So basically what I'm trying
[02:20:59] cloud code. So basically what I'm trying to say is these right here are default
[02:21:02] to say is these right here are default and these ones right over here you
[02:21:04] and these ones right over here you control. And so you know as a percentage
[02:21:06] control. And so you know as a percentage of my total context I'm spending 2.8% on
[02:21:09] of my total context I'm spending 2.8% on customizing my own cloud instance and
[02:21:10] customizing my own cloud instance and then 8.4% which is the default.
[02:21:12] then 8.4% which is the default. Obviously the default ones are a lot
[02:21:13] Obviously the default ones are a lot bigger. Um but you know some of these
[02:21:15] bigger. Um but you know some of these MCP tools can be pretty valuable. Issues
[02:21:17] MCP tools can be pretty valuable. Issues with some MCP tools are um you know
[02:21:19] with some MCP tools are um you know they're they're really really big as you
[02:21:20] they're they're really really big as you guys are going to see when I screw
[02:21:21] guys are going to see when I screw around with a couple of crappy
[02:21:22] around with a couple of crappy libraries. Um so you have to be pretty
[02:21:24] libraries. Um so you have to be pretty selective about how you choose them. And
[02:21:26] selective about how you choose them. And that's what this next section is down
[02:21:28] that's what this next section is down here called MCP tools. So for instance,
[02:21:30] here called MCP tools. So for instance, I downloaded an MCP, a model context
[02:21:33] I downloaded an MCP, a model context protocol toolkit called Chrome DevTools.
[02:21:36] protocol toolkit called Chrome DevTools. This just allows Claude to open my
[02:21:37] This just allows Claude to open my browser. So what I could do is I could
[02:21:39] browser. So what I could do is I could say, "Hey, open a Chrome instance and go
[02:21:41] say, "Hey, open a Chrome instance and go to nicks.com." If you think about it,
[02:21:44] to nicks.com." If you think about it, the context that I put together here,
[02:21:46] the context that I put together here, um, let me change this and say, "Great
[02:21:49] um, let me change this and say, "Great work. Go to leftclick.ai."
[02:21:53] work. Go to leftclick.ai." If you think about it, um, you know,
[02:21:54] If you think about it, um, you know, immediately above each of my messages is
[02:21:56] immediately above each of my messages is obviously all of the tools, right? And
[02:21:58] obviously all of the tools, right? And so what these tools are is they're
[02:21:59] so what these tools are is they're basically definitions that say, "Hello,
[02:22:01] basically definitions that say, "Hello, Claude, you have access to the ability
[02:22:02] Claude, you have access to the ability to take a screenshot. If you want to
[02:22:04] to take a screenshot. If you want to take a screenshot, just call this
[02:22:05] take a screenshot, just call this specific tool and it'll do the
[02:22:07] specific tool and it'll do the screenshotting for you." And so, um,
[02:22:09] screenshotting for you." And so, um, this is all above sort of my initial
[02:22:11] this is all above sort of my initial prompt where I say, "Great work. Go to
[02:22:12] prompt where I say, "Great work. Go to leftclick.ai." And so when I say go to
[02:22:14] leftclick.ai." And so when I say go to leftclick.ai, Claude knows, hm, okay,
[02:22:16] leftclick.ai, Claude knows, hm, okay, like earlier on it said, "If a user asks
[02:22:17] like earlier on it said, "If a user asks you to go to a website, call this tool."
[02:22:19] you to go to a website, call this tool." It obviously just references the
[02:22:21] It obviously just references the specific thing. And as you guys could
[02:22:22] specific thing. And as you guys could see here, it's it's navigating, it's
[02:22:24] see here, it's it's navigating, it's taking screenshots, and it's basically
[02:22:25] taking screenshots, and it's basically controlling my browser right now, which
[02:22:27] controlling my browser right now, which is really cool. So, that's an example of
[02:22:29] is really cool. So, that's an example of a tool that I think is pretty valuable.
[02:22:30] a tool that I think is pretty valuable. Um, that said, there are a lot of tools
[02:22:32] Um, that said, there are a lot of tools that aren't super valuable. And
[02:22:33] that aren't super valuable. And unfortunately, MCP tends to consume a
[02:22:36] unfortunately, MCP tends to consume a fair amount of your context if you're
[02:22:37] fair amount of your context if you're not careful. As you see here, there's
[02:22:39] not careful. As you see here, there's click, close page, drag, emulate,
[02:22:41] click, close page, drag, emulate, evaluate, script, fill, fill form, and
[02:22:42] evaluate, script, fill, fill form, and so on and so forth. I'm not going to
[02:22:44] so on and so forth. I'm not going to cover all these because there's just so
[02:22:45] cover all these because there's just so many different MCPS that you could use,
[02:22:46] many different MCPS that you could use, and each of them have so many different
[02:22:47] and each of them have so many different tools. Underneath that, you have memory
[02:22:49] tools. Underneath that, you have memory files. You guys remember earlier when I
[02:22:51] files. You guys remember earlier when I told you that there was this big like
[02:22:52] told you that there was this big like md?
[02:22:56] That memory is super straightforward and
[02:22:58] That memory is super straightforward and in our case that's only 88 tokens. Not
[02:23:00] in our case that's only 88 tokens. Not that big of a deal, but it's basically
[02:23:01] that big of a deal, but it's basically claude scratchpad as it works. Next, you
[02:23:04] claude scratchpad as it works. Next, you have skills. If you guys remember, we
[02:23:05] have skills. If you guys remember, we had a claude skills uh skills folder in
[02:23:09] had a claude skills uh skills folder in another repo. That claude skills folder
[02:23:11] another repo. That claude skills folder basically in our case like I don't know
[02:23:13] basically in our case like I don't know browsed Amazon and found something for
[02:23:14] browsed Amazon and found something for us. In this one, we don't. Um, so the
[02:23:17] us. In this one, we don't. Um, so the only thing it's really storing is just
[02:23:18] only thing it's really storing is just the skills definition, which in this
[02:23:20] the skills definition, which in this case is 61 tokens expressed as a
[02:23:22] case is 61 tokens expressed as a fraction of the total number of tokens
[02:23:24] fraction of the total number of tokens we have available to us, 200,000. You
[02:23:26] we have available to us, 200,000. You can see that that's uh that's not even
[02:23:27] can see that that's uh that's not even 0.1%. By the way, as I've communicated
[02:23:30] 0.1%. By the way, as I've communicated and kept talking with Claude, we've
[02:23:32] and kept talking with Claude, we've accumulated more tokens. So you can see
[02:23:33] accumulated more tokens. So you can see how earlier it was at like 24,000. Well,
[02:23:35] how earlier it was at like 24,000. Well, now we're at 30,600, right? We've gone
[02:23:37] now we're at 30,600, right? We've gone up from, I think, 13% to 15%. So that'll
[02:23:39] up from, I think, 13% to 15%. So that'll continue happening as we as we go on.
[02:23:42] continue happening as we as we go on. Next up, of course, you have your
[02:23:43] Next up, of course, you have your messages. And so in our case, we're
[02:23:44] messages. And so in our case, we're consuming 2.6% 6% of our entire contact
[02:23:46] consuming 2.6% 6% of our entire contact window right now just through messages
[02:23:48] window right now just through messages and just through back and forth. This is
[02:23:49] and just through back and forth. This is sort of inescapable or inavvoidable.
[02:23:51] sort of inescapable or inavvoidable. Although there are ways to manage your
[02:23:53] Although there are ways to manage your context a lot more efficiently. You
[02:23:54] context a lot more efficiently. You know, a couple of ways are speaking high
[02:23:56] know, a couple of ways are speaking high information density ways wherever
[02:23:58] information density ways wherever possible. Obviously, voice transcript
[02:24:00] possible. Obviously, voice transcript tools are kind of against that because
[02:24:01] tools are kind of against that because they take into account all of your ums
[02:24:03] they take into account all of your ums and a's and whatnot. But if you wanted
[02:24:05] and a's and whatnot. But if you wanted to be really really efficient, what you
[02:24:07] to be really really efficient, what you would do is you would take your voice
[02:24:08] would do is you would take your voice transcript, pump it into a cheaper
[02:24:10] transcript, pump it into a cheaper model, one that doesn't cost you as much
[02:24:11] model, one that doesn't cost you as much money, that's in a separate tab, have
[02:24:13] money, that's in a separate tab, have that summarize it into a very tight
[02:24:14] that summarize it into a very tight request, and then actually send that to
[02:24:16] request, and then actually send that to the initial um, you know, Claude agent.
[02:24:18] the initial um, you know, Claude agent. And that's a strategy that I've used to
[02:24:20] And that's a strategy that I've used to manage really small context windows in
[02:24:21] manage really small context windows in the past. Obligatory. This is where the
[02:24:23] the past. Obligatory. This is where the conversation with Claude actually
[02:24:24] conversation with Claude actually occurs. I should note that I don't know
[02:24:26] occurs. I should note that I don't know if you guys remember, but sometimes you
[02:24:28] if you guys remember, but sometimes you can ask Claude stuff and then a little
[02:24:30] can ask Claude stuff and then a little thinking tab will pop up. Well, that
[02:24:31] thinking tab will pop up. Well, that thinking tab isn't actually included in
[02:24:33] thinking tab isn't actually included in the messages. You are still build for
[02:24:34] the messages. You are still build for this separately, but basically what
[02:24:36] this separately, but basically what happens is um at the time that you make
[02:24:38] happens is um at the time that you make a request and at the time that the
[02:24:39] a request and at the time that the thinking occurs, it sticks all that onto
[02:24:41] thinking occurs, it sticks all that onto the big message chain and then it uses
[02:24:43] the big message chain and then it uses that to figure out the next thing. So it
[02:24:45] that to figure out the next thing. So it uses basically this thinking area. It's
[02:24:47] uses basically this thinking area. It's almost a scratch pad to figure out more.
[02:24:48] almost a scratch pad to figure out more. And then um what it does is it collapses
[02:24:51] And then um what it does is it collapses it, disappears it, and then it just
[02:24:52] it, disappears it, and then it just gives you the answer and then it
[02:24:54] gives you the answer and then it pretends as if the reasoning or thinking
[02:24:56] pretends as if the reasoning or thinking little section didn't even exist. So
[02:24:58] little section didn't even exist. So don't worry about thinking here assuming
[02:24:59] don't worry about thinking here assuming you have extended thinking on. um that
[02:25:01] you have extended thinking on. um that doesn't really get included although of
[02:25:03] doesn't really get included although of course you're still paying for it. And
[02:25:05] course you're still paying for it. And then finally the bulk of our context is
[02:25:06] then finally the bulk of our context is free space 67.7% which is good for us.
[02:25:09] free space 67.7% which is good for us. Not really sure why they include that
[02:25:10] Not really sure why they include that here but they do. The last thing that
[02:25:12] here but they do. The last thing that you guys need to understand is this idea
[02:25:14] you guys need to understand is this idea of an autocompact buffer. Now an
[02:25:15] of an autocompact buffer. Now an autocompact buffer is basically just a
[02:25:17] autocompact buffer is basically just a certain amount of space that claude
[02:25:18] certain amount of space that claude developers always leave available. Um
[02:25:21] developers always leave available. Um and then basically what happens is when
[02:25:22] and then basically what happens is when you hit that buffer aka when there's
[02:25:24] you hit that buffer aka when there's only 33,000 tokens left it'll
[02:25:26] only 33,000 tokens left it'll automatically compact all of the
[02:25:28] automatically compact all of the previous conversation history. Now, this
[02:25:30] previous conversation history. Now, this is done automatically, but you can also
[02:25:32] is done automatically, but you can also do this manually by going /compact. What
[02:25:35] do this manually by going /compact. What happens when you go /compact is it
[02:25:36] happens when you go /compact is it basically takes all of our conversation
[02:25:38] basically takes all of our conversation history here. Okay? It'll take this,
[02:25:40] history here. Okay? It'll take this, it'll take that, it'll take all that,
[02:25:42] it'll take that, it'll take all that, and then it'll just squash it down into
[02:25:44] and then it'll just squash it down into a very high information density summary.
[02:25:46] a very high information density summary. And so, what I'm going to do is
[02:25:47] And so, what I'm going to do is immediately after it compacts, I'm
[02:25:48] immediately after it compacts, I'm actually going to ask it to tell me what
[02:25:49] actually going to ask it to tell me what it just compacted. Basically, hey, you
[02:25:51] it just compacted. Basically, hey, you know, tell me what is currently
[02:25:52] know, tell me what is currently available in your context. Okay? And as
[02:25:54] available in your context. Okay? And as you can see here, it says, "This session
[02:25:56] you can see here, it says, "This session is being continued from a previous
[02:25:57] is being continued from a previous conversation that ran out of context.
[02:25:58] conversation that ran out of context. The summary below covers the earlier
[02:26:00] The summary below covers the earlier portion of the conversation. First,
[02:26:02] portion of the conversation. First, there's an analysis tab where it
[02:26:03] there's an analysis tab where it chronologically analyzes your
[02:26:04] chronologically analyzes your conversation. First message, user ran
[02:26:07] conversation. First message, user ran this, then user asked this, then user
[02:26:09] this, then user asked this, then user asked this, then user asked this, user
[02:26:11] asked this, then user asked this, user asked this, user asked this, and so on
[02:26:12] asked this, user asked this, and so on and so forth. Okay? And so, if you
[02:26:14] and so forth. Okay? And so, if you compare all of this to all of the
[02:26:16] compare all of this to all of the messages and all of the tool calls and
[02:26:18] messages and all of the tool calls and everything like that we did above, this
[02:26:19] everything like that we did above, this will be fewer tokens, right?
[02:26:21] will be fewer tokens, right? Significantly, so probably like three or
[02:26:22] Significantly, so probably like three or 4x. Um, and so in this way, gradual and
[02:26:26] 4x. Um, and so in this way, gradual and progressive compaction of a conversation
[02:26:28] progressive compaction of a conversation maximizes the information density. And
[02:26:30] maximizes the information density. And then Claude's really good at like not
[02:26:32] then Claude's really good at like not leaving important things out. Um, so you
[02:26:34] leaving important things out. Um, so you tend to have most of the information
[02:26:36] tend to have most of the information that you really want or really need in
[02:26:38] that you really want or really need in this context. They've started also
[02:26:40] this context. They've started also recently doing something called
[02:26:41] recently doing something called autocompaction which is where this
[02:26:42] autocompaction which is where this compaction is occurring constantly in
[02:26:44] compaction is occurring constantly in the background for you aka your oldest
[02:26:45] the background for you aka your oldest messages are just like compacted into um
[02:26:48] messages are just like compacted into um you know higher information density
[02:26:49] you know higher information density summaries and then that's constantly
[02:26:50] summaries and then that's constantly sort of like a tail behind your current
[02:26:52] sort of like a tail behind your current conversation. That's pretty cool because
[02:26:54] conversation. That's pretty cool because if you think about it um you know us
[02:26:55] if you think about it um you know us human beings are just not very good at
[02:26:57] human beings are just not very good at remaining really concise and being very
[02:26:58] remaining really concise and being very precise and constantly updating that
[02:27:01] precise and constantly updating that context improves the quality of
[02:27:03] context improves the quality of subsequent outputs as well as you know
[02:27:05] subsequent outputs as well as you know bills you less which is kind of
[02:27:06] bills you less which is kind of interesting because uh you know
[02:27:08] interesting because uh you know anthropic whole business model right now
[02:27:09] anthropic whole business model right now is monetizing claude and and you know
[02:27:12] is monetizing claude and and you know claude and claude code. So the fact that
[02:27:14] claude and claude code. So the fact that they're doing this sort of runs contrary
[02:27:15] they're doing this sort of runs contrary to their interests which is one of the
[02:27:17] to their interests which is one of the reasons why I like them as a company.
[02:27:18] reasons why I like them as a company. They're obviously motivated by the
[02:27:20] They're obviously motivated by the quality of their product more
[02:27:21] quality of their product more necessarily than their uh their revenue
[02:27:22] necessarily than their uh their revenue and whatnot. So Claude's website here is
[02:27:25] and whatnot. So Claude's website here is really helpful. They have actually a
[02:27:26] really helpful. They have actually a whole section dedicated to reducing
[02:27:28] whole section dedicated to reducing token usage and minimizing the amount of
[02:27:30] token usage and minimizing the amount of what's called context rot that
[02:27:32] what's called context rot that accumulates in a conversation. Uh I'm
[02:27:34] accumulates in a conversation. Uh I'm just going to run through them with you
[02:27:35] just going to run through them with you guys. And I want you to know this is
[02:27:36] guys. And I want you to know this is this is constantly being updated. So the
[02:27:37] this is constantly being updated. So the time that you look at it might be a
[02:27:38] time that you look at it might be a little bit different from the time that
[02:27:39] little bit different from the time that I'm looking at it. Again, if you guys
[02:27:41] I'm looking at it. Again, if you guys want like up-to-date up-to-date tips, I
[02:27:43] want like up-to-date up-to-date tips, I recommend checking out Twitter, X.com,
[02:27:45] recommend checking out Twitter, X.com, talking to Grock, and just saying
[02:27:46] talking to Grock, and just saying summarize the best, you know, strategies
[02:27:48] summarize the best, you know, strategies to reduce token usage that users have
[02:27:50] to reduce token usage that users have been talking about in the last month or
[02:27:51] been talking about in the last month or so. So, you have, you know, strategies
[02:27:52] so. So, you have, you know, strategies like rag, retrieval augmented
[02:27:54] like rag, retrieval augmented generation. You have strategies like
[02:27:55] generation. You have strategies like continuously and consistently
[02:27:57] continuously and consistently compressing the cloudMD. You have
[02:27:59] compressing the cloudMD. You have strategies like telling, you know,
[02:28:00] strategies like telling, you know, Claude to write as concisely as
[02:28:02] Claude to write as concisely as possible, but then turning on um
[02:28:04] possible, but then turning on um extended thinking, which is a feature
[02:28:05] extended thinking, which is a feature I'll run you guys through later, which
[02:28:07] I'll run you guys through later, which basically means you bloat up the
[02:28:08] basically means you bloat up the reasoning tokens, but then the actual
[02:28:09] reasoning tokens, but then the actual token spill uh ends up being very low,
[02:28:12] token spill uh ends up being very low, and so on and [snorts] so forth. So, the
[02:28:14] and so on and [snorts] so forth. So, the number one recommendation that they have
[02:28:15] number one recommendation that they have is to manage your context proactively by
[02:28:17] is to manage your context proactively by using /cost. This helps you check your
[02:28:19] using /cost. This helps you check your current token usage. You can also
[02:28:20] current token usage. You can also configure a status line to display
[02:28:22] configure a status line to display continuously. In order to configure a
[02:28:24] continuously. In order to configure a status line in cloud code, you just go
[02:28:26] status line in cloud code, you just go slash status line. You'll notice that
[02:28:28] slash status line. You'll notice that you can't currently do this inside of
[02:28:29] you can't currently do this inside of the GUI version. So, what you have to do
[02:28:31] the GUI version. So, what you have to do instead is you have to open cloud in a
[02:28:32] instead is you have to open cloud in a terminal here because, you know,
[02:28:34] terminal here because, you know, graphical user interfaces don't have a
[02:28:36] graphical user interfaces don't have a status line. A status line is basically
[02:28:38] status line. A status line is basically this little piece of text that occurs
[02:28:39] this little piece of text that occurs before. And then you just go slash
[02:28:41] before. And then you just go slash status, sorry, status line here. It'll
[02:28:45] status, sorry, status line here. It'll ask you what you want to put in your
[02:28:46] ask you what you want to put in your status line.
[02:28:48] status line. And so, I'm basically just going to ask
[02:28:50] And so, I'm basically just going to ask it to include a little like uh like
[02:28:52] it to include a little like uh like loading bar with the total number of
[02:28:54] loading bar with the total number of tokens that I've used.
[02:28:56] tokens that I've used. update my status line. So, it includes a
[02:28:58] update my status line. So, it includes a little loading bar that is how many
[02:29:00] little loading bar that is how many tokens that I've used out of my total
[02:29:02] tokens that I've used out of my total context. So, as you can see, it
[02:29:03] context. So, as you can see, it converted that into another mini prompt
[02:29:05] converted that into another mini prompt using a status line setup agent. And
[02:29:07] using a status line setup agent. And then, um, it's going to do this kind of
[02:29:08] then, um, it's going to do this kind of cool little status effect. So, I'm
[02:29:10] cool little status effect. So, I'm actually going to get to see it down
[02:29:11] actually going to get to see it down here. I'll show you guys what that looks
[02:29:12] here. I'll show you guys what that looks like in a sec. Okay. And as we could see
[02:29:14] like in a sec. Okay. And as we could see here, we now have that little bar. So,
[02:29:16] here, we now have that little bar. So, 13% of my tokens are used up. That's
[02:29:19] 13% of my tokens are used up. That's kind of neat. We also see the current
[02:29:20] kind of neat. We also see the current model. and then you know the the branch
[02:29:22] model. and then you know the the branch that we're on if you're into programming
[02:29:24] that we're on if you're into programming with uh repositories and like git
[02:29:26] with uh repositories and like git workflows and stuff like that. This to
[02:29:27] workflows and stuff like that. This to me isn't like super valuable to be
[02:29:29] me isn't like super valuable to be honest if I'm being frank. I just
[02:29:30] honest if I'm being frank. I just thought it was kind of cool. So just
[02:29:32] thought it was kind of cool. So just another reason why doing all of this in
[02:29:34] another reason why doing all of this in the terminal gives you significantly
[02:29:35] the terminal gives you significantly more latitude. You can't really just
[02:29:37] more latitude. You can't really just like add a status line to the GUI
[02:29:38] like add a status line to the GUI version at least not now. But this one's
[02:29:40] version at least not now. But this one's very hackable. Another thing you can do
[02:29:41] very hackable. Another thing you can do is you can add custom compaction
[02:29:43] is you can add custom compaction instructions. So um you can actually say
[02:29:45] instructions. So um you can actually say /compact and then give it a prompt
[02:29:47] /compact and then give it a prompt telling it what to prioritize. You could
[02:29:49] telling it what to prioritize. You could do this every now and then, which is
[02:29:50] do this every now and then, which is obviously quite valuable. Um, you can
[02:29:52] obviously quite valuable. Um, you can use slashclear to start fresh when
[02:29:54] use slashclear to start fresh when switching to something that is
[02:29:55] switching to something that is unrelated. So, what I mean by this is if
[02:29:57] unrelated. So, what I mean by this is if I just delete this little terminal
[02:29:58] I just delete this little terminal instance down here, just go back/clear.
[02:30:01] instance down here, just go back/clear. What it'll do is it'll clear the entire
[02:30:02] What it'll do is it'll clear the entire conversation. So, you have no context
[02:30:04] conversation. So, you have no context anymore. So, now there's no previous
[02:30:06] anymore. So, now there's no previous context. If I go back to /context, you
[02:30:08] context. If I go back to /context, you can see that scrolling up to messages,
[02:30:10] can see that scrolling up to messages, you know, we have 152 tokens, which is
[02:30:12] you know, we have 152 tokens, which is basically everything that we've done
[02:30:13] basically everything that we've done here so far. Aside from that, you can
[02:30:14] here so far. Aside from that, you can use instructions inside of the claw.mmd
[02:30:16] use instructions inside of the claw.mmd to basically try and minimize the total
[02:30:18] to basically try and minimize the total number of tokens generated as I
[02:30:20] number of tokens generated as I mentioned. So you could say something
[02:30:21] mentioned. So you could say something like, hey, you know, write as succinctly
[02:30:22] like, hey, you know, write as succinctly as possible. You can reason all that you
[02:30:24] as possible. You can reason all that you want because that isn't added to the
[02:30:25] want because that isn't added to the context. But when you actually give me
[02:30:27] context. But when you actually give me something, just give me the bare bones
[02:30:28] something, just give me the bare bones information. If I need more, I'll
[02:30:29] information. If I need more, I'll actually ask you. Choosing the right
[02:30:31] actually ask you. Choosing the right model is really big. Um, so if you're
[02:30:33] model is really big. Um, so if you're using a really simple sub agent or
[02:30:34] using a really simple sub agent or something, we'll talk about how to
[02:30:36] something, we'll talk about how to develop those later on. I recommend
[02:30:37] develop those later on. I recommend using smaller models like sonnet. These
[02:30:39] using smaller models like sonnet. These smaller models are typically less
[02:30:40] smaller models are typically less intelligent, but they have much larger
[02:30:41] intelligent, but they have much larger context windows and then your build
[02:30:43] context windows and then your build less. So that allows you to like do all
[02:30:44] less. So that allows you to like do all the heavy lifting inside of the sub
[02:30:46] the heavy lifting inside of the sub agent that's cheaper and then they just
[02:30:47] agent that's cheaper and then they just return you those results which is great.
[02:30:49] return you those results which is great. As you see here um the anthropic team
[02:30:51] As you see here um the anthropic team specifies to reduce the MCP server
[02:30:53] specifies to reduce the MCP server overhead and that's because as I
[02:30:55] overhead and that's because as I mentioned to you guys some MCP servers
[02:30:56] mentioned to you guys some MCP servers just suck. They just have a bajillion
[02:30:58] just suck. They just have a bajillion tools. You'll download one and 20% of
[02:31:00] tools. You'll download one and 20% of your token usage will be gone
[02:31:01] your token usage will be gone immediately. That's obviously quite
[02:31:03] immediately. That's obviously quite costly and then it makes claude much
[02:31:04] costly and then it makes claude much dumber. So you know there are ways to
[02:31:06] dumber. So you know there are ways to reduce MCP server overhead. They have
[02:31:08] reduce MCP server overhead. They have what's called advanced and automatic
[02:31:09] what's called advanced and automatic tool search. Now, uh, when MCP tool
[02:31:11] tool search. Now, uh, when MCP tool descriptions exceed 10% of your context
[02:31:13] descriptions exceed 10% of your context window, they won't actually load all of
[02:31:14] window, they won't actually load all of them. They'll just try and search for
[02:31:16] them. They'll just try and search for them before. So, meaning you'll say,
[02:31:17] them before. So, meaning you'll say, "Hey, you know, can you open up a new
[02:31:19] "Hey, you know, can you open up a new page in Chrome DevTools or something? It
[02:31:21] page in Chrome DevTools or something? It won't actually have access to all that
[02:31:23] won't actually have access to all that immediately. What it'll do is it'll
[02:31:24] immediately. What it'll do is it'll search first a list of tools using Grap
[02:31:27] search first a list of tools using Grap or something like that, which is its own
[02:31:28] or something like that, which is its own built-in search tool, and then it'll
[02:31:30] built-in search tool, and then it'll find one that says open Chrome DevTools,
[02:31:32] find one that says open Chrome DevTools, and then it'll load it." That helps you
[02:31:33] and then it'll load it." That helps you avoid, you know, massive MCP server
[02:31:35] avoid, you know, massive MCP server overheads and then obviously wasting a
[02:31:36] overheads and then obviously wasting a lot of tokens. Some other tips are to
[02:31:38] lot of tokens. Some other tips are to move instructions from claude MD to
[02:31:40] move instructions from claude MD to skills. So remember how earlier I said
[02:31:42] skills. So remember how earlier I said your claude.mmd should be like 200 to
[02:31:44] your claude.mmd should be like 200 to like four or 500 tokens ma uh lines
[02:31:46] like four or 500 tokens ma uh lines maximum. Some people make it even
[02:31:47] maximum. Some people make it even longer, but you shouldn't. Instead, what
[02:31:49] longer, but you shouldn't. Instead, what you can do is you can break those down
[02:31:50] you can do is you can break those down into specific rules. Then any rules that
[02:31:52] into specific rules. Then any rules that are more tasks than rules, you can
[02:31:54] are more tasks than rules, you can actually just turn into skills. So
[02:31:56] actually just turn into skills. So skills will load on demand, meaning that
[02:31:57] skills will load on demand, meaning that uh only when you specifically invoke
[02:31:59] uh only when you specifically invoke them will they be added to your context,
[02:32:00] them will they be added to your context, which is quite helpful. You can also
[02:32:02] which is quite helpful. You can also adjust uh extended thinking. We haven't
[02:32:04] adjust uh extended thinking. We haven't chatted too much about extended
[02:32:05] chatted too much about extended thinking, but if you go back to claude
[02:32:07] thinking, but if you go back to claude here, if you go to slash model, you have
[02:32:09] here, if you go to slash model, you have the ability to switch which model you're
[02:32:11] the ability to switch which model you're using. And then additionally, if you go
[02:32:13] using. And then additionally, if you go over here, there's also a thinking tab
[02:32:16] over here, there's also a thinking tab which allows you to turn on and off that
[02:32:18] which allows you to turn on and off that little reasoning or or thinking window.
[02:32:20] little reasoning or or thinking window. As mentioned, thinking is pretty
[02:32:21] As mentioned, thinking is pretty valuable because it avoids you wasting
[02:32:22] valuable because it avoids you wasting tons of tokens in the conversation chain
[02:32:24] tons of tokens in the conversation chain itself. It offloads it to a little
[02:32:26] itself. It offloads it to a little thinking tab. Uh, and what you can do is
[02:32:28] thinking tab. Uh, and what you can do is you can actually modify the effort level
[02:32:30] you can actually modify the effort level using /model. You can disable thinking
[02:32:32] using /model. You can disable thinking completely or you can turn the number of
[02:32:34] completely or you can turn the number of tokens that you give it to like maximum
[02:32:37] tokens that you give it to like maximum think from I don't know 8,000 to like
[02:32:39] think from I don't know 8,000 to like 32,000 or more. Now agent teams is
[02:32:42] 32,000 or more. Now agent teams is another feature of cloud code which I'm
[02:32:44] another feature of cloud code which I'm looking forward to covering with you
[02:32:45] looking forward to covering with you guys. But currently it costs a lot about
[02:32:46] guys. But currently it costs a lot about seven times more tokens than standard
[02:32:48] seven times more tokens than standard sessions especially when teammates run
[02:32:49] sessions especially when teammates run in plan mode because every teammate
[02:32:51] in plan mode because every teammate maintains its own context window. So
[02:32:53] maintains its own context window. So they actually kind of recommend against
[02:32:54] they actually kind of recommend against it if minimizing token usage is the
[02:32:56] it if minimizing token usage is the number one thing that you want to do.
[02:32:57] number one thing that you want to do. And then finally, um, you know, writing
[02:32:59] And then finally, um, you know, writing specific prompts is probably the highest
[02:33:01] specific prompts is probably the highest ROI tip that I could give you here.
[02:33:02] ROI tip that I could give you here. Instead of improve this codebase, you
[02:33:04] Instead of improve this codebase, you know, you saying something specific,
[02:33:06] know, you saying something specific, hey, fix this one feature that I found
[02:33:08] hey, fix this one feature that I found in this file, uh, is a lot more precise.
[02:33:10] in this file, uh, is a lot more precise. And as a result, you know, despite the
[02:33:11] And as a result, you know, despite the fact that it'll it takes a little bit
[02:33:13] fact that it'll it takes a little bit more thinking on your end, a little bit
[02:33:15] more thinking on your end, a little bit more of your extended thinking. Um,
[02:33:17] more of your extended thinking. Um, Claude's token usage ends up being
[02:33:18] Claude's token usage ends up being significantly decreased. Finally, even
[02:33:20] significantly decreased. Finally, even Anthropic says that planning for complex
[02:33:22] Anthropic says that planning for complex tasks is the way to go because this
[02:33:24] tasks is the way to go because this significantly reduces the total number
[02:33:26] significantly reduces the total number of tokens you use um when you're
[02:33:27] of tokens you use um when you're actually building solutions. Usually API
[02:33:29] actually building solutions. Usually API calls and calling servers and requesting
[02:33:31] calls and calling servers and requesting web pages and stuff. These load a ton of
[02:33:33] web pages and stuff. These load a ton of tokens into context. So avoiding doing
[02:33:35] tokens into context. So avoiding doing research entirely is is pretty valuable.
[02:33:37] research entirely is is pretty valuable. Um once you're at the building stage,
[02:33:39] Um once you're at the building stage, just frontload the research with plan
[02:33:40] just frontload the research with plan and worry about it later. Now it's time
[02:33:42] and worry about it later. Now it's time to chat skills, which in my opinion is
[02:33:44] to chat skills, which in my opinion is probably one of the most economically
[02:33:46] probably one of the most economically valuable ways that you can use cloud
[02:33:47] valuable ways that you can use cloud code. This is a claude code in aggregate
[02:33:50] code. This is a claude code in aggregate tutorial obviously. So I don't just want
[02:33:51] tutorial obviously. So I don't just want to talk about skills. If you guys want
[02:33:53] to talk about skills. If you guys want to know more about how I personally use
[02:33:54] to know more about how I personally use skills and things like skills, I do also
[02:33:56] skills and things like skills, I do also have another course that talks all about
[02:33:58] have another course that talks all about what I call agentic workflows which are
[02:34:00] what I call agentic workflows which are analogous to skills. Um but for now
[02:34:02] analogous to skills. Um but for now anybody that's not acquainted with this,
[02:34:04] anybody that's not acquainted with this, I just want to run a quick demo. So if
[02:34:05] I just want to run a quick demo. So if we open up thiscloud folder in the top
[02:34:07] we open up thiscloud folder in the top lefthand side, you can see that we also
[02:34:09] lefthand side, you can see that we also have a nested skills folder. And I have
[02:34:11] have a nested skills folder. And I have a bunch of different skills here. I have
[02:34:13] a bunch of different skills here. I have skills that allow me to classify leads,
[02:34:16] skills that allow me to classify leads, create proposals automatically, not
[02:34:18] create proposals automatically, not dissimilar to the proposal generator app
[02:34:20] dissimilar to the proposal generator app that we did before, find outliers in my
[02:34:23] that we did before, find outliers in my niche, um, update and autorely to
[02:34:25] niche, um, update and autorely to emails, edit my YouTube videos for me,
[02:34:28] emails, edit my YouTube videos for me, you know, onboard new clients to my
[02:34:30] you know, onboard new clients to my agency, apply to Upwork jobs and so on
[02:34:32] agency, apply to Upwork jobs and so on and so forth, monitor and then classify
[02:34:35] and so forth, monitor and then classify my school posts. I mean, if you think
[02:34:37] my school posts. I mean, if you think about it, what this is is this is a
[02:34:38] about it, what this is is this is a collection of all the things that I
[02:34:39] collection of all the things that I usually do in a daily basis, like for my
[02:34:41] usually do in a daily basis, like for my own intellectually valuable knowledge
[02:34:43] own intellectually valuable knowledge work, the stuff that I basically get
[02:34:44] work, the stuff that I basically get paid for. And then what I've done is
[02:34:46] paid for. And then what I've done is I've just turned them into um checklists
[02:34:48] I've just turned them into um checklists and then I've just given these
[02:34:49] and then I've just given these checklists over to Claude. So, let's
[02:34:52] checklists over to Claude. So, let's pretend that I want to do one of these
[02:34:53] pretend that I want to do one of these tasks today. Uh you know, in my case, I
[02:34:55] tasks today. Uh you know, in my case, I want to scrape some leads. So, what I've
[02:34:57] want to scrape some leads. So, what I've done is I've created a skill up here
[02:34:58] done is I've created a skill up here called scrape leads that scrapes and
[02:35:00] called scrape leads that scrapes and verifies business leads using a service.
[02:35:02] verifies business leads using a service. Then it classifies with a large language
[02:35:04] Then it classifies with a large language model, enriches the emails, and saves it
[02:35:05] model, enriches the emails, and saves it to a Google sheet. Use when the user
[02:35:07] to a Google sheet. Use when the user asks to find leads, scrape businesses,
[02:35:09] asks to find leads, scrape businesses, generate prospect lists, or build lead
[02:35:10] generate prospect lists, or build lead databases for any industry or location.
[02:35:12] databases for any industry or location. I then have a goal up top, which is
[02:35:14] I then have a goal up top, which is scrape leads using a particular source.
[02:35:16] scrape leads using a particular source. I have a bunch of inputs. I even have
[02:35:18] I have a bunch of inputs. I even have some scripts that I could use to run
[02:35:19] some scripts that I could use to run these. And then I have a process. And
[02:35:21] these. And then I have a process. And this is my checklist. Start with a test
[02:35:22] this is my checklist. Start with a test scrape, then do verification, then do a
[02:35:24] scrape, then do verification, then do a full scrape, then do LLM classification,
[02:35:26] full scrape, then do LLM classification, upload to a Google sheet, enrich missing
[02:35:28] upload to a Google sheet, enrich missing emails, and so on and so on and so
[02:35:29] emails, and so on and so on and so forth. Okay. So, as you see here, big
[02:35:31] forth. Okay. So, as you see here, big big deal. This is a fair amount of time
[02:35:33] big deal. This is a fair amount of time and energy that, you know, I used to
[02:35:34] and energy that, you know, I used to take to do these lead scraping things as
[02:35:36] take to do these lead scraping things as part of my work is um both for my uh my
[02:35:39] part of my work is um both for my uh my dental company and then for left click,
[02:35:41] dental company and then for left click, you know, for on behalf of my clients.
[02:35:43] you know, for on behalf of my clients. Lead scraping is like a major chunk of
[02:35:44] Lead scraping is like a major chunk of what makes a successful cold email
[02:35:46] what makes a successful cold email campaign. And I just had to do it myself
[02:35:48] campaign. And I just had to do it myself every time. It would take an hour or
[02:35:49] every time. It would take an hour or two. Well, what I can do now is I can
[02:35:51] two. Well, what I can do now is I can just turn all of my own knowledge into a
[02:35:53] just turn all of my own knowledge into a skill. Okay? I can define it in markdown
[02:35:55] skill. Okay? I can define it in markdown format here and you know I can write it
[02:35:56] format here and you know I can write it with cloud and then I can just say
[02:35:58] with cloud and then I can just say scrape me 1k dentists or 1,000 dentists
[02:36:02] scrape me 1k dentists or 1,000 dentists in uh I don't know across the United
[02:36:04] in uh I don't know across the United States. And when I press this button
[02:36:07] States. And when I press this button what's happening now is it's
[02:36:09] what's happening now is it's successfully loading the skill. It's
[02:36:11] successfully loading the skill. It's starting with a test scrape of 25
[02:36:13] starting with a test scrape of 25 dentists to verify my quality. It
[02:36:15] dentists to verify my quality. It already, you know, automatically finds
[02:36:16] already, you know, automatically finds the different filters I want to use and
[02:36:18] the different filters I want to use and and so on and so forth. And then it's
[02:36:20] and so on and so forth. And then it's going to dump these into a little folder
[02:36:21] going to dump these into a little folder for me. What it'll do after, according
[02:36:23] for me. What it'll do after, according to my skillspec, is it's going to read
[02:36:26] to my skillspec, is it's going to read through each of these 25 leads,
[02:36:28] through each of these 25 leads, sometimes do a little bit of background
[02:36:29] sometimes do a little bit of background research to say, hey, are these the
[02:36:31] research to say, hey, are these the sorts of leads that I'm actually, you
[02:36:32] sorts of leads that I'm actually, you know, Nick is probably actually
[02:36:34] know, Nick is probably actually interested on, and then if so, then it
[02:36:36] interested on, and then if so, then it proceeds with a full parallel scrape of
[02:36:38] proceeds with a full parallel scrape of 1,000 simultaneously. That occurs quite
[02:36:40] 1,000 simultaneously. That occurs quite quickly. So, in this case, it started
[02:36:42] quickly. So, in this case, it started four of these scrapers, and it's just
[02:36:43] four of these scrapers, and it's just uh, you know, parallelizing these. So,
[02:36:45] uh, you know, parallelizing these. So, I'm going to get 250 from each. To be
[02:36:46] I'm going to get 250 from each. To be clear, previously this probably would
[02:36:48] clear, previously this probably would have taken me 15 or 20 minutes to set up
[02:36:49] have taken me 15 or 20 minutes to set up the filters, to set everything um you
[02:36:51] the filters, to set everything um you know, kind of configure that initial
[02:36:53] know, kind of configure that initial search, right? And then if I wanted to
[02:36:55] search, right? And then if I wanted to do that search of 25, I would have had
[02:36:57] do that search of 25, I would have had to manually verify them myself, which
[02:36:58] to manually verify them myself, which took me another 10 or 15 minutes. After
[02:37:00] took me another 10 or 15 minutes. After that, I would have started the actual
[02:37:02] that, I would have started the actual scraper. Then I would have had to like
[02:37:03] scraper. Then I would have had to like upload them into a Google sheet. I would
[02:37:05] upload them into a Google sheet. I would have had to cross reference leads to
[02:37:07] have had to cross reference leads to make sure they're good. I would have had
[02:37:08] make sure they're good. I would have had to run some additional AI based flows.
[02:37:10] to run some additional AI based flows. And it just would have been a big pain
[02:37:12] And it just would have been a big pain in my ass. To make a long story short,
[02:37:13] in my ass. To make a long story short, now AS capable of doing this for me in
[02:37:15] now AS capable of doing this for me in just a couple of minutes. And I'm
[02:37:16] just a couple of minutes. And I'm running this in terminal because I have
[02:37:17] running this in terminal because I have access to what's called fast mode right
[02:37:19] access to what's called fast mode right now. Essentially, Enthropic's new Opus
[02:37:21] now. Essentially, Enthropic's new Opus 4.6 model has launched with the ability
[02:37:23] 4.6 model has launched with the ability to run two and a half times faster for
[02:37:25] to run two and a half times faster for approximately three times the price. So,
[02:37:26] approximately three times the price. So, I'm happy to pay a little bit more money
[02:37:28] I'm happy to pay a little bit more money if it means that I can do all of the
[02:37:29] if it means that I can do all of the knowledge work that I need to do a
[02:37:31] knowledge work that I need to do a little bit faster. As you see here on
[02:37:32] little bit faster. As you see here on the right hand side, it's now finding a
[02:37:33] the right hand side, it's now finding a bunch of my leads for me. It's compiling
[02:37:35] bunch of my leads for me. It's compiling them into a list. uh 250 leads done from
[02:37:38] them into a list. uh 250 leads done from that search, 250 leads done from that
[02:37:39] that search, 250 leads done from that search, 250 leads done from that search,
[02:37:41] search, 250 leads done from that search, and we just have one more to go. And
[02:37:42] and we just have one more to go. And what's really cool about skills is it
[02:37:44] what's really cool about skills is it doesn't need to be right every single
[02:37:45] doesn't need to be right every single time. It's not like a program. It's not
[02:37:47] time. It's not like a program. It's not like I put something together and then
[02:37:48] like I put something together and then the second that it makes a mistake, it's
[02:37:50] the second that it makes a mistake, it's done. As you see here, it scraped about
[02:37:51] done. As you see here, it scraped about 1,000 leads in 87 seconds and now it's
[02:37:53] 1,000 leads in 87 seconds and now it's uploading to Google Sheets. And
[02:37:55] uploading to Google Sheets. And somewhere along the line, there was an
[02:37:56] somewhere along the line, there was an issue. And the issue was, it turns out
[02:37:58] issue. And the issue was, it turns out it can't use spaces and stuff like that
[02:38:00] it can't use spaces and stuff like that in the file. So what it did is it
[02:38:02] in the file. So what it did is it realized that it made problem. Okay? and
[02:38:04] realized that it made problem. Okay? and then it uploaded to Google Sheets with
[02:38:06] then it uploaded to Google Sheets with the proposed solution. It went through
[02:38:08] the proposed solution. It went through and it read through a little bit of like
[02:38:09] and it read through a little bit of like the API documentation and stuff like
[02:38:10] the API documentation and stuff like that to do that. This is stuff that I
[02:38:12] that to do that. This is stuff that I previously would have had to do and that
[02:38:13] previously would have had to do and that try and retry loop just takes forever.
[02:38:15] try and retry loop just takes forever. On top of that, what it does is it goes
[02:38:16] On top of that, what it does is it goes and enriches the emails for me. And then
[02:38:18] and enriches the emails for me. And then what I end up with is I end up with a
[02:38:19] what I end up with is I end up with a list that looks something like this. So,
[02:38:21] list that looks something like this. So, I just bold this and I make this a
[02:38:22] I just bold this and I make this a little bit bigger. I've since hidden the
[02:38:24] little bit bigger. I've since hidden the um email columns here just cuz I don't
[02:38:25] um email columns here just cuz I don't want to, you know, um show too much
[02:38:27] want to, you know, um show too much information. We have clinic phone
[02:38:28] information. We have clinic phone numbers and stuff like that. Company
[02:38:30] numbers and stuff like that. Company phone numbers and addresses. But as you
[02:38:31] phone numbers and addresses. But as you can see here, we we have tons of
[02:38:33] can see here, we we have tons of information about dentists that are
[02:38:35] information about dentists that are across the United States. Looks like a
[02:38:36] across the United States. Looks like a big chunk of them are in Philadelphia,
[02:38:38] big chunk of them are in Philadelphia, New York, um Warstown, Boston, we have
[02:38:40] New York, um Warstown, Boston, we have cities. We have everything that we need.
[02:38:42] cities. We have everything that we need. And so what I'd do with this now is I
[02:38:43] And so what I'd do with this now is I would take this, then I would send it
[02:38:44] would take this, then I would send it into a tool like instantly, which is my
[02:38:46] into a tool like instantly, which is my cold email platform. And then I would
[02:38:47] cold email platform. And then I would immediately start sending. And as I
[02:38:49] immediately start sending. And as I mentioned, this takes a pre-existing
[02:38:50] mentioned, this takes a pre-existing process that would have taken me at
[02:38:51] process that would have taken me at least half an hour, probably more, and
[02:38:53] least half an hour, probably more, and it turns into one that I literally did
[02:38:54] it turns into one that I literally did in 87 seconds. So as you can see skills
[02:38:57] in 87 seconds. So as you can see skills can be extremely economically valuable.
[02:38:58] can be extremely economically valuable. The question is how do you actually go
[02:39:00] The question is how do you actually go about creating them and creating them in
[02:39:01] about creating them and creating them in a way that I think is like reproducible
[02:39:03] a way that I think is like reproducible and efficient and so on and so forth.
[02:39:05] and efficient and so on and so forth. Well the first thing is uh you need to
[02:39:06] Well the first thing is uh you need to know how script or rather skill
[02:39:09] know how script or rather skill structure works. If I just zoom in on
[02:39:10] structure works. If I just zoom in on this to make it a lot easier. You can
[02:39:12] this to make it a lot easier. You can see that our scrape leads skill is
[02:39:15] see that our scrape leads skill is broken up into a few components. First
[02:39:18] broken up into a few components. First we have the folder itself scrape-s. Then
[02:39:21] we have the folder itself scrape-s. Then we have another folder inside called
[02:39:22] we have another folder inside called scripts. This runs the program aspect of
[02:39:25] scripts. This runs the program aspect of the skill. And then finally, we have the
[02:39:26] the skill. And then finally, we have the actual skill.md in markdown. So I want
[02:39:29] actual skill.md in markdown. So I want you to treat what we're seeing here in
[02:39:31] you to treat what we're seeing here in the skill.md as basically like
[02:39:35] the skill.md as basically like the orchestrator of this whole affair.
[02:39:38] the orchestrator of this whole affair. So the skill.md
[02:39:42] is like the checklist
[02:39:46] is like the checklist or orchestrator.
[02:39:49] or orchestrator. You know, in an orchestra, the
[02:39:51] You know, in an orchestra, the orchestrator is the person with the
[02:39:53] orchestrator is the person with the little I don't know, those sticks. My
[02:39:54] little I don't know, those sticks. My sister does some of that, actually,
[02:39:55] sister does some of that, actually, which is funny. I don't even know what
[02:39:56] which is funny. I don't even know what the hell they're called, but you know,
[02:39:57] the hell they're called, but you know, it's where you kind of wave them around
[02:39:58] it's where you kind of wave them around and do all that stuff. And then what
[02:40:00] and do all that stuff. And then what happens is, you know, the orchestrator
[02:40:02] happens is, you know, the orchestrator is not the person making, you know, the
[02:40:03] is not the person making, you know, the conductor, I should say, is not the
[02:40:04] conductor, I should say, is not the person that's making the uh music. What
[02:40:06] person that's making the uh music. What they're doing is they are orchestrating
[02:40:08] they're doing is they are orchestrating the production of music from a variety
[02:40:10] the production of music from a variety of other sources. Inside of scripts,
[02:40:15] of other sources. Inside of scripts, we have, you know, the actual musicians
[02:40:17] we have, you know, the actual musicians themselves, violinists,
[02:40:20] themselves, violinists, you know, the the chists, we have the
[02:40:22] you know, the the chists, we have the pianists and so on and so on and so
[02:40:25] pianists and so on and so on and so forth. And so basically what occurs is
[02:40:28] forth. And so basically what occurs is we give it a big checklist of tasks in
[02:40:30] we give it a big checklist of tasks in the skill.md. We give it a bunch of
[02:40:32] the skill.md. We give it a bunch of reference information and everything
[02:40:33] reference information and everything that it needs. And we treat it just like
[02:40:34] that it needs. And we treat it just like we treat a junior employee. We say,
[02:40:36] we treat a junior employee. We say, "Okay, here's the checklist. Go and do
[02:40:38] "Okay, here's the checklist. Go and do it." And then where the orchestration
[02:40:39] it." And then where the orchestration kind of comes in is if there's an issue
[02:40:42] kind of comes in is if there's an issue with the step-by-step execution of
[02:40:44] with the step-by-step execution of different subtasks, some of which are
[02:40:45] different subtasks, some of which are going to be scripts and stuff like that,
[02:40:47] going to be scripts and stuff like that, then um Claude gets to use its own
[02:40:49] then um Claude gets to use its own native intelligence to fix it in real
[02:40:50] native intelligence to fix it in real time. Not only do they fix it, but then
[02:40:53] time. Not only do they fix it, but then it also goes in and it updates the skill
[02:40:54] it also goes in and it updates the skill so that if there's another issue in the
[02:40:56] so that if there's another issue in the future or if another instance of cloud
[02:40:58] future or if another instance of cloud tries running this, it doesn't run into
[02:40:59] tries running this, it doesn't run into the same problem. So, as you can see,
[02:41:01] the same problem. So, as you can see, they're very, very valuable. They're
[02:41:02] they're very, very valuable. They're more or less exactly the same way that
[02:41:03] more or less exactly the same way that like a person would go and do a task.
[02:41:06] like a person would go and do a task. Now, inside of my scripts folder here, I
[02:41:07] Now, inside of my scripts folder here, I have, as you can see, a bunch of
[02:41:08] have, as you can see, a bunch of different um, you know, actual Python
[02:41:10] different um, you know, actual Python scripts that have been developed for
[02:41:11] scripts that have been developed for this purpose. Do I know anything that
[02:41:14] this purpose. Do I know anything that goes on in here? No. I haven't even
[02:41:15] goes on in here? No. I haven't even looked at this code. This probably the
[02:41:16] looked at this code. This probably the first time that I'm ever opening up this
[02:41:18] first time that I'm ever opening up this file. What I did is I told Claude that I
[02:41:20] file. What I did is I told Claude that I wanted it to go and, you know, do things
[02:41:22] wanted it to go and, you know, do things in my checklist and then go create
[02:41:24] in my checklist and then go create scripts that would do them all for me.
[02:41:25] scripts that would do them all for me. It's much better to do this than just
[02:41:27] It's much better to do this than just tell Claude to do it from fresh and from
[02:41:29] tell Claude to do it from fresh and from scratch every time because obviously if
[02:41:31] scratch every time because obviously if it's the same thing you need to do every
[02:41:32] it's the same thing you need to do every time, you should like turn it into like
[02:41:34] time, you should like turn it into like a defined program, right? because then
[02:41:35] a defined program, right? because then it's always going to execute similarly
[02:41:37] it's always going to execute similarly that way. Claude is not actually doing
[02:41:39] that way. Claude is not actually doing the executions um themselves. What it's
[02:41:41] the executions um themselves. What it's doing is it's just using the scripts
[02:41:43] doing is it's just using the scripts here just like it uses tools. You know
[02:41:44] here just like it uses tools. You know how it has access to bash and web search
[02:41:46] how it has access to bash and web search and stuff like that. This is the same
[02:41:47] and stuff like that. This is the same idea. It's just we're doing it
[02:41:48] idea. It's just we're doing it encapsulated in a skill. Okay. So it
[02:41:51] encapsulated in a skill. Okay. So it takes this information you know it goes
[02:41:53] takes this information you know it goes through the skill. It says okay step one
[02:41:55] through the skill. It says okay step one is test scrape. So I need to run this
[02:41:56] is test scrape. So I need to run this scrape ampify with this query. Max items
[02:41:58] scrape ampify with this query. Max items 25 whatever the heck that means. Then it
[02:42:00] 25 whatever the heck that means. Then it goes it executes this. Once it's done,
[02:42:03] goes it executes this. Once it's done, it checks the result. You know, if
[02:42:05] it checks the result. You know, if that's the case, then it goes back and
[02:42:06] that's the case, then it goes back and then it runs the same scraper except
[02:42:08] then it runs the same scraper except with different parameters. Assuming that
[02:42:10] with different parameters. Assuming that that's good, then it uses this classify
[02:42:12] that's good, then it uses this classify leads LLM script afterwards to, you
[02:42:14] leads LLM script afterwards to, you know, uh tabulate that information.
[02:42:16] know, uh tabulate that information. Assuming that that's good, it goes into
[02:42:18] Assuming that that's good, it goes into uh what looks like what looks like
[02:42:19] uh what looks like what looks like update sheet to like create a Google
[02:42:21] update sheet to like create a Google sheet and then send it. Assuming that
[02:42:23] sheet and then send it. Assuming that that's good, it then goes enriches the
[02:42:24] that's good, it then goes enriches the missing emails and so on and so forth.
[02:42:26] missing emails and so on and so forth. And there's different paths here based
[02:42:27] And there's different paths here based off of um you know, how many people we
[02:42:30] off of um you know, how many people we want to scrape. I have a few other
[02:42:31] want to scrape. I have a few other skills that I use pretty often as well.
[02:42:32] skills that I use pretty often as well. This one's called lit literature
[02:42:34] This one's called lit literature research. And so, you know, if I'm
[02:42:36] research. And so, you know, if I'm trying to perform research on a task, I
[02:42:38] trying to perform research on a task, I will actually say go perform a lit
[02:42:41] will actually say go perform a lit review on the recommended daily dose of
[02:42:44] review on the recommended daily dose of let's say vitamin D and IUD for males in
[02:42:49] let's say vitamin D and IUD for males in their early 30s. What this will do,
[02:42:52] their early 30s. What this will do, okay, in addition to reading the claw.
[02:42:54] okay, in addition to reading the claw. MD to get context about this whole thing
[02:42:56] MD to get context about this whole thing is it'll go through and it'll read this
[02:42:57] is it'll go through and it'll read this literature research skill. If I open
[02:42:59] literature research skill. If I open this up so that we can all see um the
[02:43:02] this up so that we can all see um the first thing it's going to do is it's
[02:43:03] first thing it's going to do is it's going to query like this database which
[02:43:04] going to query like this database which I'm suggesting that it queries. So this
[02:43:06] I'm suggesting that it queries. So this database I think was called PubMed.
[02:43:09] database I think was called PubMed. After that it's going to um analyze
[02:43:11] After that it's going to um analyze using this little deep review script.
[02:43:13] using this little deep review script. And you'll notice that you know if I
[02:43:14] And you'll notice that you know if I make this big again um you know it made
[02:43:16] make this big again um you know it made some mistakes here right for whatever
[02:43:17] some mistakes here right for whatever reason the first uh query did not
[02:43:19] reason the first uh query did not actually work fine but you know it ended
[02:43:21] actually work fine but you know it ended up redoing it over and over and over
[02:43:22] up redoing it over and over and over again until it figured it out. And so
[02:43:24] again until it figured it out. And so this is the orchestration aspect that
[02:43:25] this is the orchestration aspect that I'm talking about. You can give it a
[02:43:26] I'm talking about. You can give it a checklist, but obviously not everything
[02:43:28] checklist, but obviously not everything goes right perfectly because not
[02:43:29] goes right perfectly because not everything goes right perfectly. You
[02:43:30] everything goes right perfectly. You need to give it some flexibility in
[02:43:32] need to give it some flexibility in order to do your tasks. And that's what
[02:43:34] order to do your tasks. And that's what it's doing right now, right? It's gone
[02:43:36] it's doing right now, right? It's gone through and it's uh you know gone and
[02:43:37] through and it's uh you know gone and created a bunch of literature review
[02:43:39] created a bunch of literature review based information for me. Why would I
[02:43:41] based information for me. Why would I use this versus let's just say telling
[02:43:42] use this versus let's just say telling Claude to go find that information
[02:43:44] Claude to go find that information because I've already just put in the um
[02:43:46] because I've already just put in the um you know infrastructure to query
[02:43:48] you know infrastructure to query specific databases that I really like.
[02:43:50] specific databases that I really like. I've uh taught it how to like run
[02:43:51] I've uh taught it how to like run parallel queries so I can do this
[02:43:53] parallel queries so I can do this research in a tenth of the time. I've
[02:43:54] research in a tenth of the time. I've taught it to use models that might be a
[02:43:56] taught it to use models that might be a little bit less capable but might have
[02:43:58] little bit less capable but might have much longer context windows and so on
[02:43:59] much longer context windows and so on and so forth. And so this enables you to
[02:44:01] and so forth. And so this enables you to find a workflow that works really really
[02:44:03] find a workflow that works really really well and then just consolidate it and
[02:44:04] well and then just consolidate it and then do it the same every time. This is
[02:44:06] then do it the same every time. This is why I no longer hire. I mean, you know,
[02:44:08] why I no longer hire. I mean, you know, my businesses collectively still make
[02:44:09] my businesses collectively still make over 300 something thousand per month
[02:44:11] over 300 something thousand per month right now in profit. Um, that's a lot of
[02:44:13] right now in profit. Um, that's a lot of money. I don't have staff members to do
[02:44:16] money. I don't have staff members to do these things for me anymore. Anytime I
[02:44:18] these things for me anymore. Anytime I want anything done, I'll just tell
[02:44:20] want anything done, I'll just tell Claude to do it with one of these skills
[02:44:22] Claude to do it with one of these skills because to be honest, it's the exact
[02:44:23] because to be honest, it's the exact same thing. Anyway, I would have just
[02:44:25] same thing. Anyway, I would have just hired a contractor to do this sort of
[02:44:26] hired a contractor to do this sort of literature research. I would have hired
[02:44:28] literature research. I would have hired a contractor to do my lead scraping. Why
[02:44:30] a contractor to do my lead scraping. Why why do I have to wait around a whole day
[02:44:31] why do I have to wait around a whole day or two for them now if I could just
[02:44:32] or two for them now if I could just execute a skill to go do the thing,
[02:44:34] execute a skill to go do the thing, retrieve me the results, and then I
[02:44:36] retrieve me the results, and then I don't know, maybe feed it into another
[02:44:37] don't know, maybe feed it into another skill in a hundredth of the time for
[02:44:39] skill in a hundredth of the time for like a hundth of the cost. Okay, so
[02:44:40] like a hundth of the cost. Okay, so while all of this is occurring in this
[02:44:42] while all of this is occurring in this tab and I'm doing that research, why
[02:44:43] tab and I'm doing that research, why don't I show you guys how to actually
[02:44:44] don't I show you guys how to actually create a skill in practice? Um, to make
[02:44:46] create a skill in practice? Um, to make a skill, it's really straightforward.
[02:44:48] a skill, it's really straightforward. You basically just give it like a
[02:44:49] You basically just give it like a bulletoint list of things that you want
[02:44:50] bulletoint list of things that you want it to do. So, I'm going to say today
[02:44:52] it to do. So, I'm going to say today we're creating a skill. And why don't I
[02:44:54] we're creating a skill. And why don't I just use my voice transcript tool?
[02:44:55] just use my voice transcript tool? That's way easier. This skill will
[02:44:58] That's way easier. This skill will design websites in a format that I
[02:45:00] design websites in a format that I really like using a template that I
[02:45:02] really like using a template that I really like. I want the websites
[02:45:03] really like. I want the websites designed very similarly every time
[02:45:04] designed very similarly every time because I'm going to use them to pitch
[02:45:05] because I'm going to use them to pitch people. In short, what I'm going to give
[02:45:08] people. In short, what I'm going to give you is I'm going to give you a bunch of
[02:45:09] you is I'm going to give you a bunch of information about a prospect and then I
[02:45:11] information about a prospect and then I want you to design a website using a
[02:45:13] want you to design a website using a specific template. The template I'm
[02:45:14] specific template. The template I'm going to supply you is this one. And
[02:45:16] going to supply you is this one. And then what I'm going to do is, you know
[02:45:17] then what I'm going to do is, you know how earlier we went through godly. Then
[02:45:21] how earlier we went through godly. Then we found a template that we really
[02:45:22] we found a template that we really liked. Well, I'm just going to scroll
[02:45:23] liked. Well, I'm just going to scroll through and I'm going to find a template
[02:45:25] through and I'm going to find a template that I really like. So, scrolling
[02:45:26] that I really like. So, scrolling through um I don't know, I just want
[02:45:29] through um I don't know, I just want this to be a simple website that I could
[02:45:30] this to be a simple website that I could use for let's just do like I don't know,
[02:45:32] use for let's just do like I don't know, dentists hypothetically right now. So,
[02:45:34] dentists hypothetically right now. So, I'm going to go over here and then I
[02:45:36] I'm going to go over here and then I like this build an Amsterdam one.
[02:45:40] like this build an Amsterdam one. Okay. And then what I'm going to do is
[02:45:41] Okay. And then what I'm going to do is I'm just going to I think that's it.
[02:45:42] I'm just going to I think that's it. Honestly, I think I'm just going to
[02:45:43] Honestly, I think I'm just going to screenshot this and they'll just make
[02:45:45] screenshot this and they'll just make one pager for Claude. Just going to
[02:45:47] one pager for Claude. Just going to screenshot it. Okay. And then I'm going
[02:45:49] screenshot it. Okay. And then I'm going to go back to my anti-gravity and then
[02:45:51] to go back to my anti-gravity and then paste it. I want you to use screenshot
[02:45:53] paste it. I want you to use screenshot functionality to mirror the style of the
[02:45:55] functionality to mirror the style of the website. I'm also going to paste in some
[02:45:57] website. I'm also going to paste in some of the HTML so you can use that to
[02:45:58] of the HTML so you can use that to create a style guide, etc. You'll
[02:46:00] create a style guide, etc. You'll receive as input um like a Google sheet
[02:46:03] receive as input um like a Google sheet with information about a prospect and
[02:46:05] with information about a prospect and then you just create a website that
[02:46:07] then you just create a website that matches. Uh find web images using
[02:46:10] matches. Uh find web images using publicly available sources. Make sure
[02:46:12] publicly available sources. Make sure it's really pretty and uh yeah, follow
[02:46:14] it's really pretty and uh yeah, follow the template as closely as possible.
[02:46:15] the template as closely as possible. Then I'm going to go on the website. I'm
[02:46:17] Then I'm going to go on the website. I'm going to let's just make it really wide
[02:46:18] going to let's just make it really wide because sometimes websites are
[02:46:20] because sometimes websites are different. Um
[02:46:22] different. Um and then what I'm going to do is I think
[02:46:23] and then what I'm going to do is I think I'm just going to copy all of this. It's
[02:46:26] I'm just going to copy all of this. It's really really long, right? I'm just
[02:46:27] really really long, right? I'm just going to paste it in. So that's going to
[02:46:29] going to paste it in. So that's going to be huge. It's going to be a lot of stuff
[02:46:30] be huge. It's going to be a lot of stuff to paste. 474 lines. And then hm.
[02:46:33] to paste. 474 lines. And then hm. Anything else that we need to do? I
[02:46:35] Anything else that we need to do? I don't think so. I guess I just need to
[02:46:37] don't think so. I guess I just need to give it an example of some of the input.
[02:46:38] give it an example of some of the input. So, I'm going to go and then find that
[02:46:40] So, I'm going to go and then find that Google sheet that we just had with a
[02:46:41] Google sheet that we just had with a bunch of dentists. I'm just going to
[02:46:43] bunch of dentists. I'm just going to copy all of this information. Then I'll
[02:46:45] copy all of this information. Then I'll say example of the data and then I'll
[02:46:47] say example of the data and then I'll paste that in. Okay. So, I mean, I just
[02:46:49] paste that in. Okay. So, I mean, I just fed in a tremendous amount of
[02:46:50] fed in a tremendous amount of information here, right? Like this is
[02:46:51] information here, right? Like this is really, really big. But with our little
[02:46:54] really, really big. But with our little fast mode, uh, plus,
[02:46:56] fast mode, uh, plus, you know, some pretty precise
[02:46:59] you know, some pretty precise instructions, I think we can probably
[02:47:00] instructions, I think we can probably generate a cool skill in just a couple
[02:47:01] generate a cool skill in just a couple of minutes that does this sort of thing
[02:47:02] of minutes that does this sort of thing automatically. And after this, I'll have
[02:47:04] automatically. And after this, I'll have a system where I can basically just feed
[02:47:06] a system where I can basically just feed in a Google sheet and then I can
[02:47:07] in a Google sheet and then I can generate a beautiful customized website
[02:47:09] generate a beautiful customized website for a prospect in like 2 seconds which
[02:47:10] for a prospect in like 2 seconds which has information about them that clearly
[02:47:12] has information about them that clearly is customized and so on and so forth.
[02:47:14] is customized and so on and so forth. Uh, and then I can just give it to them
[02:47:15] Uh, and then I can just give it to them as sort of a lead magnet or something.
[02:47:17] as sort of a lead magnet or something. That sounds pretty fun. And it's already
[02:47:18] That sounds pretty fun. And it's already gone through and it's done some stuff.
[02:47:19] gone through and it's done some stuff. Now, I'm not using plan mode for this,
[02:47:20] Now, I'm not using plan mode for this, but you absolutely can. I just wanted to
[02:47:22] but you absolutely can. I just wanted to oneshot a skill with this fast mode just
[02:47:24] oneshot a skill with this fast mode just so that I could uh do something while I
[02:47:25] so that I could uh do something while I was waiting for the literature review to
[02:47:26] was waiting for the literature review to finish. As you can see, it's loaded in
[02:47:28] finish. As you can see, it's loaded in the skill pattern and structure from the
[02:47:30] the skill pattern and structure from the other skills as well as the claw.md. And
[02:47:33] other skills as well as the claw.md. And now it's just going to ask me some
[02:47:34] now it's just going to ask me some information. So where should the output
[02:47:36] information. So where should the output of the skill be? A local HTML file.
[02:47:38] of the skill be? A local HTML file. Yeah, let's just use local HTML for now.
[02:47:40] Yeah, let's just use local HTML for now. How will you provide prospect data?
[02:47:41] How will you provide prospect data? We'll just do Google sheet URL. For
[02:47:43] We'll just do Google sheet URL. For images, which approach do you recommend?
[02:47:45] images, which approach do you recommend? Yeah, sure. Let's do the Unsplash API.
[02:47:46] Yeah, sure. Let's do the Unsplash API. Should the website be a mockup of what
[02:47:48] Should the website be a mockup of what their business site could like or pitch
[02:47:49] their business site could like or pitch page about your services? Mockup of
[02:47:50] page about your services? Mockup of their site. Cool. That looks great. So
[02:47:53] their site. Cool. That looks great. So that's sort of its plan mode analogy.
[02:47:56] that's sort of its plan mode analogy. And um this actually initiated plan mode
[02:47:57] And um this actually initiated plan mode without me even having to ask.
[02:47:58] without me even having to ask. Basically, if I just make this a little
[02:48:00] Basically, if I just make this a little bigger so you could see the entire chat.
[02:48:02] bigger so you could see the entire chat. This went through and then turned on
[02:48:04] This went through and then turned on plan mode like on its own. I didn't even
[02:48:05] plan mode like on its own. I didn't even have to ask it to. And that's what
[02:48:06] have to ask it to. And that's what occurs sometimes when you do bypass
[02:48:08] occurs sometimes when you do bypass permissions. It'll just chase choose to
[02:48:09] permissions. It'll just chase choose to create a plan for a more complicated
[02:48:11] create a plan for a more complicated software build. Cool. And now I'm going
[02:48:12] software build. Cool. And now I'm going to bypass permissions and we're going to
[02:48:14] to bypass permissions and we're going to go. While that's occurring, just
[02:48:15] go. While that's occurring, just scrolling through this literature
[02:48:16] scrolling through this literature review. Looks pretty cool. Gives me a
[02:48:18] review. Looks pretty cool. Gives me a bunch of information. Apparently 1 to
[02:48:19] bunch of information. Apparently 1 to 2,000. So that looks pretty fun. Okay.
[02:48:21] 2,000. So that looks pretty fun. Okay. And then this looks like the little demo
[02:48:23] And then this looks like the little demo that we put together. This is a pretty
[02:48:25] that we put together. This is a pretty basic demo. Not that big of a fan to be
[02:48:26] basic demo. Not that big of a fan to be honest. So, I think we're going to have
[02:48:28] honest. So, I think we're going to have to go do some back and forth. Still, we
[02:48:30] to go do some back and forth. Still, we did build a website in just a few
[02:48:31] did build a website in just a few seconds for them, which is kind of neat.
[02:48:32] seconds for them, which is kind of neat. Okay, it's now going to take a
[02:48:33] Okay, it's now going to take a screenshot of this page for us. And as
[02:48:35] screenshot of this page for us. And as you can see, it's now accumulated like
[02:48:37] you can see, it's now accumulated like 19 or 20,000 tokens, which is kind of
[02:48:39] 19 or 20,000 tokens, which is kind of cool. Um, here's what we got. Full
[02:48:41] cool. Um, here's what we got. Full viewport hero. Okay, so I'm just going
[02:48:43] viewport hero. Okay, so I'm just going to say not a very big fan of the website
[02:48:45] to say not a very big fan of the website design. I don't think this matches the
[02:48:47] design. I don't think this matches the website. I'd like you to get pixel
[02:48:49] website. I'd like you to get pixel perfect accuracy by screenshotting um
[02:48:52] perfect accuracy by screenshotting um the comparison back and forth. go find
[02:48:54] the comparison back and forth. go find some library that allows you to do this
[02:48:56] some library that allows you to do this as necessary. In terms of Unsplash, how
[02:48:59] as necessary. In terms of Unsplash, how are you currently getting your images?
[02:49:00] are you currently getting your images? Let's just do that. That's fine. I don't
[02:49:02] Let's just do that. That's fine. I don't really want it to go, you know, force me
[02:49:03] really want it to go, you know, force me to get an API key or something like
[02:49:04] to get an API key or something like that. I'm just going to have it run.
[02:49:05] that. I'm just going to have it run. Okay, that's looking a lot better than
[02:49:07] Okay, that's looking a lot better than what we had before. I like this. Uh,
[02:49:09] what we had before. I like this. Uh, looks like it took some photos of areas
[02:49:11] looks like it took some photos of areas that were similar to where this place is
[02:49:13] that were similar to where this place is located. Then, as we scroll through, we
[02:49:15] located. Then, as we scroll through, we obviously have the the information and
[02:49:16] obviously have the the information and the template and stuff. I don't like how
[02:49:18] the template and stuff. I don't like how a lot of these images are the same, so
[02:49:19] a lot of these images are the same, so I'm just going to say nice job. I don't
[02:49:21] I'm just going to say nice job. I don't like how all these images are the same,
[02:49:22] like how all these images are the same, though. get different images. Looks
[02:49:24] though. get different images. Looks really clean. Uh we even have like their
[02:49:25] really clean. Uh we even have like their phone numbers and stuff like that. So
[02:49:27] phone numbers and stuff like that. So we're now capable of basically like
[02:49:28] we're now capable of basically like oneshotting a website for somebody. And
[02:49:31] oneshotting a website for somebody. And uh as you can see, we can generate these
[02:49:33] uh as you can see, we can generate these super super easily and very quickly.
[02:49:35] super super easily and very quickly. What I'll do now that we have this is
[02:49:36] What I'll do now that we have this is realistically I'm going to try it with
[02:49:38] realistically I'm going to try it with one row and then just see how quickly it
[02:49:39] one row and then just see how quickly it can put together the site for me. Cool.
[02:49:41] can put together the site for me. Cool. Now I'm going to test it with some new
[02:49:43] Now I'm going to test it with some new information and let's see how quickly it
[02:49:45] information and let's see how quickly it can put that together. Cool. We've now
[02:49:46] can put that together. Cool. We've now done the same thing with Ben Bennington
[02:49:48] done the same thing with Ben Bennington Dental Center. So that's neat. We have
[02:49:50] Dental Center. So that's neat. We have some images generated and stuff like
[02:49:51] some images generated and stuff like that. Um, it is telling me that the
[02:49:53] that. Um, it is telling me that the reason why we have images of dogs and
[02:49:55] reason why we have images of dogs and stuff is cuz I don't want to supply my
[02:49:56] stuff is cuz I don't want to supply my Unsplash API key. Uh, you know, if we do
[02:49:59] Unsplash API key. Uh, you know, if we do then obviously they'll be much more
[02:50:00] then obviously they'll be much more dentally oriented. I think that's fine.
[02:50:02] dentally oriented. I think that's fine. Hopefully you guys get the idea. You
[02:50:03] Hopefully you guys get the idea. You could build stuff like this really
[02:50:04] could build stuff like this really quickly. In this case took 30 seconds.
[02:50:06] quickly. In this case took 30 seconds. Um, so I mean like what we could do if
[02:50:08] Um, so I mean like what we could do if we wanted to like build this out as a
[02:50:09] we wanted to like build this out as a service and like actually just like
[02:50:10] service and like actually just like generate custom websites for people,
[02:50:12] generate custom websites for people, send them out and so on and so forth.
[02:50:14] send them out and so on and so forth. Uh, we could turn the skill into a sub
[02:50:16] Uh, we could turn the skill into a sub agent. show you guys how to do later
[02:50:18] agent. show you guys how to do later where basically we can spin up 10 of
[02:50:19] where basically we can spin up 10 of these simultaneously and basically in
[02:50:21] these simultaneously and basically in parallel just generate 10 every 30
[02:50:23] parallel just generate 10 every 30 seconds. That's a per website generation
[02:50:24] seconds. That's a per website generation time of about 3 seconds. And so now that
[02:50:26] time of about 3 seconds. And so now that we're generating them every 3 seconds
[02:50:28] we're generating them every 3 seconds with customized information, matching
[02:50:29] with customized information, matching widths and heights and stuff like that,
[02:50:30] widths and heights and stuff like that, making it really custom and sexy.
[02:50:32] making it really custom and sexy. [gasps] You know, you could do 10,000
[02:50:34] [gasps] You know, you could do 10,000 leads in approximately 30,000 seconds. I
[02:50:36] leads in approximately 30,000 seconds. I don't know how long that would actually
[02:50:37] don't know how long that would actually take. Let's see. 30,000 divided by 60 is
[02:50:41] take. Let's see. 30,000 divided by 60 is 500. So it might take 500 minutes or I
[02:50:44] 500. So it might take 500 minutes or I don't know, 8 hours for a full 10,000
[02:50:46] don't know, 8 hours for a full 10,000 list. But uh yeah, combine that with the
[02:50:47] list. But uh yeah, combine that with the scraper, combine that with you sending
[02:50:48] scraper, combine that with you sending people customized websites, and combine
[02:50:50] people customized websites, and combine that with some other skills that I've
[02:50:51] that with some other skills that I've set up to like automate the process of
[02:50:52] set up to like automate the process of whipping up instantly campaigns and
[02:50:53] whipping up instantly campaigns and stuff. And hopefully you guys can see we
[02:50:55] stuff. And hopefully you guys can see we get a pretty solid system in our hands
[02:50:57] get a pretty solid system in our hands and that took me just a few minutes to
[02:50:58] and that took me just a few minutes to put together. Now that we know all about
[02:50:59] put together. Now that we know all about skills, let's talk a little bit about
[02:51:01] skills, let's talk a little bit about the next logical thing, which is model
[02:51:03] the next logical thing, which is model context protocol. So now that you guys
[02:51:05] context protocol. So now that you guys understand sort of how skills work,
[02:51:06] understand sort of how skills work, which to be clear um is that skills are
[02:51:09] which to be clear um is that skills are basically like backend functions that
[02:51:11] basically like backend functions that you can run, scripts almost that use the
[02:51:15] you can run, scripts almost that use the flexible intelligence of AI and the
[02:51:17] flexible intelligence of AI and the procedural rigor of Python scripts and
[02:51:20] procedural rigor of Python scripts and other programming tools to do the same
[02:51:22] other programming tools to do the same thing every time but also allow you the
[02:51:24] thing every time but also allow you the flexibility to air handle. So now that
[02:51:26] flexibility to air handle. So now that we understand that um let's chat about
[02:51:29] we understand that um let's chat about model context protocol. And so the way
[02:51:31] model context protocol. And so the way that I see it is these are just skills
[02:51:33] that I see it is these are just skills except other people make the skills for
[02:51:35] except other people make the skills for you. And when I say other people, for
[02:51:36] you. And when I say other people, for the most part, it's like developer teams
[02:51:37] the most part, it's like developer teams and stuff like that. Very similar idea.
[02:51:40] and stuff like that. Very similar idea. You're basically just giving your agent
[02:51:42] You're basically just giving your agent access to a piece of software and then
[02:51:44] access to a piece of software and then just like it calls its own tools like
[02:51:46] just like it calls its own tools like web search and bash and the Chrome
[02:51:47] web search and bash and the Chrome DevTools MCP and the screenshot, all the
[02:51:49] DevTools MCP and the screenshot, all the stuff that we've already looked at. Uh
[02:51:51] stuff that we've already looked at. Uh what we're doing here is we're just um
[02:51:52] what we're doing here is we're just um you know, we're just calling them uh but
[02:51:56] you know, we're just calling them uh but somebody else is responsible for putting
[02:51:57] somebody else is responsible for putting them together. Now that obviously begs
[02:51:59] them together. Now that obviously begs the question, where do I get um you know
[02:52:01] the question, where do I get um you know MCPs? Well, you can just go on websites
[02:52:04] MCPs? Well, you can just go on websites like mcpservers.org
[02:52:07] like mcpservers.org modelcontext protocol/servers
[02:52:09] modelcontext protocol/servers and then MCP market. I want you guys to
[02:52:12] and then MCP market. I want you guys to know that not all of these are going to
[02:52:14] know that not all of these are going to be 100% safe or secure. These are third
[02:52:16] be 100% safe or secure. These are third party libraries that people are putting
[02:52:18] party libraries that people are putting together basically that try and tabulate
[02:52:20] together basically that try and tabulate the number one MCP skills and so uh MCP
[02:52:23] the number one MCP skills and so uh MCP tools and so on and so forth. Um, but a
[02:52:25] tools and so on and so forth. Um, but a lot of these are pretty well vetted at
[02:52:27] lot of these are pretty well vetted at this point and I'm going to show you at
[02:52:28] this point and I'm going to show you at least a couple that I really like. The
[02:52:30] least a couple that I really like. The biggest one is probably the Chrome Dev
[02:52:31] biggest one is probably the Chrome Dev Tools MCP. This is one that I use
[02:52:34] Tools MCP. This is one that I use constantly, uh, basically every day,
[02:52:35] constantly, uh, basically every day, many, many times, because it allows your
[02:52:37] many, many times, because it allows your coding agent to control and then inspect
[02:52:39] coding agent to control and then inspect a live Chrome browser. In my opinion, it
[02:52:42] a live Chrome browser. In my opinion, it is significantly higher quality than any
[02:52:44] is significantly higher quality than any of the current browser tools that um,
[02:52:46] of the current browser tools that um, you know, Claude or other platforms have
[02:52:48] you know, Claude or other platforms have given us. So I mean like you know I have
[02:52:50] given us. So I mean like you know I have this little Chrome extension here that
[02:52:52] this little Chrome extension here that um I can actually use to control this
[02:52:54] um I can actually use to control this instance of Chrome through this cloud
[02:52:56] instance of Chrome through this cloud tool. It's developed specifically by the
[02:52:58] tool. It's developed specifically by the cloud team and I could say hey um
[02:53:00] cloud team and I could say hey um summarize this page and then what it can
[02:53:03] summarize this page and then what it can do is it can copy all the text on this
[02:53:05] do is it can copy all the text on this page. So it can extract the page text
[02:53:07] page. So it can extract the page text and then it can take a screenshot of it
[02:53:09] and then it can take a screenshot of it and then it can you know tell me about
[02:53:11] and then it can you know tell me about it and so on and so forth. I can also
[02:53:13] it and so on and so forth. I can also have it do things like click. I could
[02:53:14] have it do things like click. I could say okay um you know star this on GitHub
[02:53:19] say okay um you know star this on GitHub or something like that and then I can
[02:53:22] or something like that and then I can give it some additional instructions and
[02:53:23] give it some additional instructions and then it can go through look for the
[02:53:25] then it can go through look for the GitHub link I don't know maybe click it
[02:53:28] GitHub link I don't know maybe click it and then now that you know we have this
[02:53:29] and then now that you know we have this thing open it's going to go and it's
[02:53:30] thing open it's going to go and it's going to try and star this puppy so
[02:53:32] going to try and star this puppy so that's pretty cool but you'll find that
[02:53:34] that's pretty cool but you'll find that it also takes a fair amount of time and
[02:53:36] it also takes a fair amount of time and the Chrome DevTools MCP bypasses that
[02:53:38] the Chrome DevTools MCP bypasses that completely and it's like 100 times
[02:53:40] completely and it's like 100 times faster and not only is it 100 times
[02:53:41] faster and not only is it 100 times faster because you can weave it into
[02:53:43] faster because you can weave it into skillbased scenarios, you can actually
[02:53:45] skillbased scenarios, you can actually just run um really really procedural
[02:53:47] just run um really really procedural things in the browser that previously
[02:53:49] things in the browser that previously would have taken you like a fair amount
[02:53:50] would have taken you like a fair amount of time to automate. So I mean I already
[02:53:51] of time to automate. So I mean I already have access to this right now, but um
[02:53:53] have access to this right now, but um for the purpose of this demonstration,
[02:53:55] for the purpose of this demonstration, let me just open up a new claude
[02:53:56] let me just open up a new claude instance in my terminal and then double
[02:53:58] instance in my terminal and then double check that fast mode is on. Okay, it
[02:53:59] check that fast mode is on. Okay, it looks like it is. Um you know, all I
[02:54:01] looks like it is. Um you know, all I would really do if I wanted to download
[02:54:03] would really do if I wanted to download the MCP for any tool really now is I
[02:54:06] the MCP for any tool really now is I would just paste in this definition
[02:54:09] would just paste in this definition which you can find right over here.
[02:54:10] which you can find right over here. Okay, basically all MCP tools are going
[02:54:14] Okay, basically all MCP tools are going to have some sort of JSON that looks
[02:54:15] to have some sort of JSON that looks like this where there's a curly bracket,
[02:54:17] like this where there's a curly bracket, it says MCP servers, it'll say the
[02:54:19] it says MCP servers, it'll say the server name. There's a bunch of commands
[02:54:20] server name. There's a bunch of commands in args which really don't matter
[02:54:21] in args which really don't matter whatsoever, but basically you just go on
[02:54:23] whatsoever, but basically you just go on whatever page um of the MCP supplies
[02:54:26] whatever page um of the MCP supplies this information. You copy this in. So
[02:54:28] this information. You copy this in. So if you want to install one, all you
[02:54:30] if you want to install one, all you really do is you just paste in that
[02:54:31] really do is you just paste in that little, you know, JSON snippet that we
[02:54:33] little, you know, JSON snippet that we saw earlier and we say I want to install
[02:54:36] saw earlier and we say I want to install this in my local workspace. It's
[02:54:40] this in my local workspace. It's important that you say local workspace
[02:54:41] important that you say local workspace here. What it's going to do is just
[02:54:42] here. What it's going to do is just going to grab that data and then install
[02:54:44] going to grab that data and then install it for you. In my case, it's already
[02:54:46] it for you. In my case, it's already installed. Um, so I don't actually need
[02:54:48] installed. Um, so I don't actually need to change anything, but now I'll say
[02:54:49] to change anything, but now I'll say great, run it. Now, sometimes when
[02:54:52] great, run it. Now, sometimes when you're using a tool that requires
[02:54:53] you're using a tool that requires authentication, um, what it'll do is
[02:54:56] authentication, um, what it'll do is it'll force you to go and grab an API
[02:54:58] it'll force you to go and grab an API key or an API token or something like
[02:55:00] key or an API token or something like that. So, I'm going to show you guys an
[02:55:01] that. So, I'm going to show you guys an example of using a tool that requires
[02:55:03] example of using a tool that requires some API credentials in a second. First,
[02:55:05] some API credentials in a second. First, let's just say, okay, open and navigate
[02:55:08] let's just say, okay, open and navigate to leftclick AI, then screenshot the
[02:55:12] to leftclick AI, then screenshot the site and tell me about it visually.
[02:55:15] site and tell me about it visually. So, what it's going to do is it's going
[02:55:16] So, what it's going to do is it's going to open up that browser, going to
[02:55:18] to open up that browser, going to navigate to leftclick.ai. Now, it's
[02:55:20] navigate to leftclick.ai. Now, it's going to take a screenshot, which I
[02:55:21] going to take a screenshot, which I think it just did. Now, it's going to
[02:55:22] think it just did. Now, it's going to read the screenshot, and then it's going
[02:55:24] read the screenshot, and then it's going to, I don't know, give me some highle
[02:55:26] to, I don't know, give me some highle stuff about the website. So you know
[02:55:28] stuff about the website. So you know this the header is a simple navbar with
[02:55:29] this the header is a simple navbar with a leftclick logo case studies about
[02:55:32] a leftclick logo case studies about links and a let's talk CTA button hero
[02:55:34] links and a let's talk CTA button hero sections large bold serif right okay
[02:55:37] sections large bold serif right okay great go to amazon.ca A and find me a
[02:55:40] great go to amazon.ca A and find me a bunch of cheap but effective light boxes
[02:55:44] bunch of cheap but effective light boxes for my studio. So now I'm going to open
[02:55:46] for my studio. So now I'm going to open this up. It's going to do the same thing
[02:55:48] this up. It's going to do the same thing with Amazon. I'm in Canada, hence theca.
[02:55:50] with Amazon. I'm in Canada, hence theca. And it's going to start, you know,
[02:55:52] And it's going to start, you know, pumping in various search terms for
[02:55:54] pumping in various search terms for light boxes and whatnot. I don't know
[02:55:56] light boxes and whatnot. I don't know why twilight is recommended to me.
[02:55:59] why twilight is recommended to me. Must say something about my browsing
[02:56:00] Must say something about my browsing history. Now it's going through finding
[02:56:03] history. Now it's going through finding a bunch of light boxes and stuff like
[02:56:05] a bunch of light boxes and stuff like that. It's going to take screenshots of
[02:56:06] that. It's going to take screenshots of the page and then uh you know deliver me
[02:56:08] the page and then uh you know deliver me a bunch of options that I could choose
[02:56:10] a bunch of options that I could choose from. And you can see all this occur
[02:56:11] from. And you can see all this occur underneath the tool call. So these
[02:56:14] underneath the tool call. So these little green boxes are little green
[02:56:16] little green boxes are little green circles I should say are tool calls.
[02:56:17] circles I should say are tool calls. They have the specific name of the um
[02:56:20] They have the specific name of the um MCP over here. And then they have the
[02:56:21] MCP over here. And then they have the tool that they're calling from the MCP
[02:56:23] tool that they're calling from the MCP over here as well. And what they're
[02:56:24] over here as well. And what they're doing here is now that it's taking a
[02:56:26] doing here is now that it's taking a screenshot and stuff like that. It's
[02:56:27] screenshot and stuff like that. It's giving me summaries of all the
[02:56:28] giving me summaries of all the information and it's even recommending a
[02:56:30] information and it's even recommending a certain one. Now, a lot of the time you
[02:56:31] certain one. Now, a lot of the time you can also just type in um the name of the
[02:56:34] can also just type in um the name of the tool you want and then the word MCP
[02:56:36] tool you want and then the word MCP server. And a lot of these tools will
[02:56:38] server. And a lot of these tools will actually have gone through and created
[02:56:39] actually have gone through and created this stuff. That'll take me to the
[02:56:41] this stuff. That'll take me to the ClickUp page with MCP server setup
[02:56:42] ClickUp page with MCP server setup instructions. And then what I'm going to
[02:56:44] instructions. And then what I'm going to do is I'm just going to copy over this
[02:56:45] do is I'm just going to copy over this stuff just like I did before. Okay. And
[02:56:47] stuff just like I did before. Okay. And then we're going to go back to my agent.
[02:56:48] then we're going to go back to my agent. So, I'm going to do is I'll just go
[02:56:49] So, I'm going to do is I'll just go install this MCP. I'm going to paste
[02:56:51] install this MCP. I'm going to paste this in. This includes all of the
[02:56:54] this in. This includes all of the details and documentation here. So,
[02:56:56] details and documentation here. So, first thing it's going to do is look for
[02:56:57] first thing it's going to do is look for some sort of configuration file that's
[02:56:59] some sort of configuration file that's pre-existing. It's not going to find
[02:57:00] pre-existing. It's not going to find one. So, it's going to go and then just
[02:57:01] one. So, it's going to go and then just make mine. Then eventually what it's
[02:57:03] make mine. Then eventually what it's going to ask me to do is go grab my API
[02:57:05] going to ask me to do is go grab my API key. So, I'll head over here to ClickUp
[02:57:06] key. So, I'll head over here to ClickUp API and then I'm just going to copy my
[02:57:08] API and then I'm just going to copy my API token and then confirm it. And then
[02:57:11] API token and then confirm it. And then I can copy my token in. And then I'll go
[02:57:12] I can copy my token in. And then I'll go back here. Then I'll say great, here's
[02:57:15] back here. Then I'll say great, here's my API details.
[02:57:18] my API details. Going to feed that in. And then every
[02:57:19] Going to feed that in. And then every time you install a new MCP server, you
[02:57:21] time you install a new MCP server, you do have to open up a new thing. So
[02:57:23] do have to open up a new thing. So that's what I just did here. It's going
[02:57:24] that's what I just did here. It's going to ask me which workspace I want to
[02:57:25] to ask me which workspace I want to connect to. I have multiple. So I'll
[02:57:26] connect to. I have multiple. So I'll click connect workspace here. Then I can
[02:57:28] click connect workspace here. Then I can just go back and then I'll say great do
[02:57:32] just go back and then I'll say great do you have access to my ClickUp MCP.
[02:57:38] I'll say awesome create a new content
[02:57:41] I'll say awesome create a new content idea called um Claude Code course. Now
[02:57:45] idea called um Claude Code course. Now what it's going to do is scroll through
[02:57:46] what it's going to do is scroll through all of my lists. It's then going to
[02:57:49] all of my lists. It's then going to search for various ones that I may or
[02:57:50] search for various ones that I may or may not have. So I have lists called um
[02:57:54] may not have. So I have lists called um like content ideas and trends and stuff
[02:57:55] like content ideas and trends and stuff like that. and I'm going to ask it to
[02:57:57] like that. and I'm going to ask it to insert it in my main YouTube queue. So,
[02:57:59] insert it in my main YouTube queue. So, I'm going to do that. And now you can
[02:58:00] I'm going to do that. And now you can see there's a task called um claude code
[02:58:02] see there's a task called um claude code course. If I go back here to my ClickUp,
[02:58:05] course. If I go back here to my ClickUp, open up the specific task, there's now a
[02:58:08] open up the specific task, there's now a course that's basically been created. I
[02:58:09] course that's basically been created. I don't like how the status is archived.
[02:58:10] don't like how the status is archived. So, I'm going to say the status is
[02:58:12] So, I'm going to say the status is archived right now. And as you see here,
[02:58:14] archived right now. And as you see here, you know, it's now set to to record. So,
[02:58:15] you know, it's now set to to record. So, that's pretty neat. The last thing I
[02:58:16] that's pretty neat. The last thing I want to talk about now is if we go
[02:58:19] want to talk about now is if we go slashcontext and scroll all the way up,
[02:58:21] slashcontext and scroll all the way up, you start to get an appreciation for
[02:58:23] you start to get an appreciation for just how many tokens can get used up by
[02:58:26] just how many tokens can get used up by poorly drawn or poorly written MCPs. And
[02:58:29] poorly drawn or poorly written MCPs. And so in this case, I'm not saying the
[02:58:30] so in this case, I'm not saying the ClickUp MCP is really that bad. It's not
[02:58:32] ClickUp MCP is really that bad. It's not terrible. I've seen many, many far worse
[02:58:34] terrible. I've seen many, many far worse ones, but it does consume a hell of a
[02:58:36] ones, but it does consume a hell of a lot of tokens. As you see here, just the
[02:58:37] lot of tokens. As you see here, just the ClickUp search um tool consumes 1,600.
[02:58:41] ClickUp search um tool consumes 1,600. The Get Workspace hierarchy is 419. This
[02:58:43] The Get Workspace hierarchy is 419. This one's 1.1K. If we added all of them up
[02:58:46] one's 1.1K. If we added all of them up together, as you could see, my MCP
[02:58:48] together, as you could see, my MCP tooling is now taking up almost 20,000
[02:58:51] tooling is now taking up almost 20,000 tokens. That's actually now more than
[02:58:53] tokens. That's actually now more than the system tools, which uh previously
[02:58:55] the system tools, which uh previously used to be really, really big. And what
[02:58:56] used to be really, really big. And what that means is right off the very get-go,
[02:58:58] that means is right off the very get-go, basically like right at the very
[02:58:59] basically like right at the very beginning. Uh we are already at
[02:59:02] beginning. Uh we are already at something like 35,000 tokens or so
[02:59:05] something like 35,000 tokens or so before I enter my prompt, before I enter
[02:59:07] before I enter my prompt, before I enter anything. If you take into account the
[02:59:09] anything. If you take into account the system prompt as well, we're now at
[02:59:11] system prompt as well, we're now at 40,000. you take into account some
[02:59:12] 40,000. you take into account some memory files and my skills, you know,
[02:59:14] memory files and my skills, you know, are not closer to 45. And this is all
[02:59:16] are not closer to 45. And this is all before I've sent a message, right? Keep
[02:59:18] before I've sent a message, right? Keep in mind that like 45% is, I don't know,
[02:59:21] in mind that like 45% is, I don't know, let's just say 45 over 200. That's about
[02:59:24] let's just say 45 over 200. That's about equivalent to a quarter. And so one
[02:59:27] equivalent to a quarter. And so one quarter of all my contexts. And by the
[02:59:28] quarter of all my contexts. And by the way, this is the highest quality section
[02:59:31] way, this is the highest quality section of my prompt.
[02:59:33] of my prompt. Like if I were to write actual messages
[02:59:35] Like if I were to write actual messages here, this would be the the highest
[02:59:37] here, this would be the the highest quality output. Basically, the highest
[02:59:38] quality output. Basically, the highest ROI section is currently being taken up
[02:59:40] ROI section is currently being taken up by a ton of MCP tools and stuff. Uh, in
[02:59:42] by a ton of MCP tools and stuff. Uh, in addition, you'll compare this to skills
[02:59:45] addition, you'll compare this to skills and you'll see that um, scrape leads
[02:59:46] and you'll see that um, scrape leads only takes up 63 tokens. School monitor
[02:59:49] only takes up 63 tokens. School monitor takes up 59, right? Cross niche outliers
[02:59:51] takes up 59, right? Cross niche outliers takes up 58. So, it's like, oh wow, you
[02:59:54] takes up 58. So, it's like, oh wow, you know, a single one of these MCP uh,
[02:59:56] know, a single one of these MCP uh, tools like update task consumes more
[02:59:58] tools like update task consumes more than basically all of my skills
[02:59:59] than basically all of my skills combined. It's kind of like, why the
[03:00:01] combined. It's kind of like, why the hell would I even use MCP tooling if I
[03:00:03] hell would I even use MCP tooling if I can just, you know, do a skill instead?
[03:00:05] can just, you know, do a skill instead? The reason really is just the
[03:00:06] The reason really is just the convenience of it. MCP, as you see, is
[03:00:07] convenience of it. MCP, as you see, is pretty easy to set up. Whereas skills,
[03:00:09] pretty easy to set up. Whereas skills, as you saw, take a little bit longer.
[03:00:10] as you saw, take a little bit longer. That skill back there that does those
[03:00:12] That skill back there that does those website designs. Um, that took me, I
[03:00:13] website designs. Um, that took me, I don't know, probably like 5 minutes end
[03:00:14] don't know, probably like 5 minutes end to end to create. Once I've created,
[03:00:16] to end to create. Once I've created, it's obviously super efficient and so on
[03:00:17] it's obviously super efficient and so on and so forth. But, um, you know, the
[03:00:19] and so forth. But, um, you know, the ClickUp MCP, all I really had to do is
[03:00:21] ClickUp MCP, all I really had to do is just like log in and then give it uh,
[03:00:22] just like log in and then give it uh, one line and then and then I did that.
[03:00:24] one line and then and then I did that. So, basically, the way that I personally
[03:00:26] So, basically, the way that I personally use MCPS is I use them aside from the
[03:00:27] use MCPS is I use them aside from the Chrome Dev Tools MCP cuz I just think
[03:00:29] Chrome Dev Tools MCP cuz I just think that's fire. I use it all the time. I
[03:00:30] that's fire. I use it all the time. I use them to um, very quickly sketch out
[03:00:32] use them to um, very quickly sketch out whether or not something's possible.
[03:00:33] whether or not something's possible. I'll basically go to a new tool that I
[03:00:35] I'll basically go to a new tool that I want to see if I can integrate and I'll
[03:00:36] want to see if I can integrate and I'll just say, "Hey, you know, here's the MCP
[03:00:38] just say, "Hey, you know, here's the MCP details. Can we do X, Y, and Z?" And
[03:00:39] details. Can we do X, Y, and Z?" And then if it can do XYZ the first time,
[03:00:40] then if it can do XYZ the first time, then I'll say, "Okay, this is great. I
[03:00:42] then I'll say, "Okay, this is great. I want you to take what you just did. I
[03:00:43] want you to take what you just did. I want you to convert it to a skill
[03:00:44] want you to convert it to a skill instead and I want you to go and find
[03:00:46] instead and I want you to go and find like the the API endpoints and stuff and
[03:00:48] like the the API endpoints and stuff and then build a script that does all that
[03:00:49] then build a script that does all that for me instead of me having to use this
[03:00:51] for me instead of me having to use this super bloated um MCP tool." By the way,
[03:00:53] super bloated um MCP tool." By the way, if you ever wondered why skills consume
[03:00:55] if you ever wondered why skills consume so few tokens relative to everything
[03:00:57] so few tokens relative to everything else, that's because the whole skill is
[03:00:59] else, that's because the whole skill is not actually um loaded into context. If
[03:01:02] not actually um loaded into context. If we go to the scrape lead skill, the only
[03:01:04] we go to the scrape lead skill, the only section here that's actually loaded into
[03:01:05] section here that's actually loaded into context is this section right up here.
[03:01:07] context is this section right up here. And this in markdown format is referred
[03:01:10] And this in markdown format is referred to as the front matter of the file. And
[03:01:13] to as the front matter of the file. And so what's really cool is the Claude code
[03:01:16] so what's really cool is the Claude code developers realized that they could um
[03:01:18] developers realized that they could um load in a name and description and then
[03:01:21] load in a name and description and then some allowed tools to the front matter
[03:01:22] some allowed tools to the front matter and then only feed that into context.
[03:01:25] and then only feed that into context. And then only if Claude really thinks
[03:01:26] And then only if Claude really thinks that it needs to use this. If I
[03:01:27] that it needs to use this. If I specifically say, hey, use the scrape
[03:01:29] specifically say, hey, use the scrape leads file, then and only then will it
[03:01:30] leads file, then and only then will it actually load at all. which means I get
[03:01:32] actually load at all. which means I get most of the benefits of having access to
[03:01:33] most of the benefits of having access to a bunch of tools and you know giving my
[03:01:36] a bunch of tools and you know giving my agent the ability to do a bunch of
[03:01:37] agent the ability to do a bunch of things but I don't have to like load all
[03:01:39] things but I don't have to like load all that into context immediately which
[03:01:40] that into context immediately which means I get better decision-m at the
[03:01:42] means I get better decision-m at the beginning because performance in prompts
[03:01:44] beginning because performance in prompts are typically the best at the very
[03:01:45] are typically the best at the very beginning of said prompt of the context
[03:01:47] beginning of said prompt of the context window I should say and then I also
[03:01:49] window I should say and then I also don't have to pay a lot of money for it.
[03:01:50] don't have to pay a lot of money for it. So just another point towards anthropic
[03:01:53] So just another point towards anthropic minimizing our total costs which I think
[03:01:54] minimizing our total costs which I think I'd very much appreciate. So just
[03:01:56] I'd very much appreciate. So just because this is a practical course I'm
[03:01:57] because this is a practical course I'm actually going to show an example of
[03:01:58] actually going to show an example of this. I'm going to draft out a task and
[03:02:00] this. I'm going to draft out a task and then going to try it with an MCP server
[03:02:02] then going to try it with an MCP server which is going to be a tenth of the time
[03:02:03] which is going to be a tenth of the time to implement and then if it works I'm
[03:02:04] to implement and then if it works I'm going to build a skill to do it instead.
[03:02:06] going to build a skill to do it instead. What I want to do today sort of like my
[03:02:08] What I want to do today sort of like my task is I want to label
[03:02:12] task is I want to label my emails. So what I'm going to do if
[03:02:14] my emails. So what I'm going to do if you think about it the task is really
[03:02:16] you think about it the task is really I'm going to list last I don't know X
[03:02:20] I'm going to list last I don't know X emails.
[03:02:22] emails. Uh, I'm gonna have Claude read them.
[03:02:26] Uh, I'm gonna have Claude read them. And then I'll also have it label
[03:02:28] And then I'll also have it label according to some
[03:02:31] according to some se scheme, you know, that I put
[03:02:33] se scheme, you know, that I put together. And in this way, I'm not going
[03:02:35] together. And in this way, I'm not going to replace the job of an email manager,
[03:02:37] to replace the job of an email manager, but I'm going to make the job of an
[03:02:38] but I'm going to make the job of an email manager much easier. And if later
[03:02:40] email manager much easier. And if later on I want Claude to, I don't know,
[03:02:41] on I want Claude to, I don't know, manage my emails or whatever, well, now
[03:02:42] manage my emails or whatever, well, now it'll have some pre-existing labels and
[03:02:44] it'll have some pre-existing labels and organized structures for it. So, first
[03:02:45] organized structures for it. So, first thing I'm going to do is I'm going to go
[03:02:46] thing I'm going to do is I'm going to go back to Claude. Let's go to
[03:02:48] back to Claude. Let's go to anti-gravity.
[03:02:50] anti-gravity. I'm going to do this in the GUI this
[03:02:51] I'm going to do this in the GUI this time, not the um other mechanism, not
[03:02:53] time, not the um other mechanism, not the terminal, because I don't think fast
[03:02:55] the terminal, because I don't think fast mode's super important for this. And I'm
[03:02:57] mode's super important for this. And I'm just going to say, "Hey, I want to
[03:02:58] just going to say, "Hey, I want to organize my personal mailbox. Could you
[03:03:00] organize my personal mailbox. Could you provide me a list of high ROI labels
[03:03:02] provide me a list of high ROI labels that tend to work well for personal
[03:03:04] that tend to work well for personal mailboxes?"
[03:03:06] mailboxes?" Just make sure the thinking tab is on
[03:03:07] Just make sure the thinking tab is on cuz I want it to really think hard. And
[03:03:09] cuz I want it to really think hard. And then what I'm going to do is I'm going
[03:03:10] then what I'm going to do is I'm going to go to one of my personal mailboxes
[03:03:12] to go to one of my personal mailboxes and then uh I'm going to basically
[03:03:14] and then uh I'm going to basically implement this. I really like
[03:03:15] implement this. I really like actionbased. That sounds great. Keep
[03:03:17] actionbased. That sounds great. Keep that for now. And then I'm going to open
[03:03:18] that for now. And then I'm going to open up one of my mailboxes here. We have
[03:03:20] up one of my mailboxes here. We have tons of different um emails. Most of
[03:03:22] tons of different um emails. Most of these are spam to be honest or little
[03:03:24] these are spam to be honest or little demos that I put together for um you
[03:03:26] demos that I put together for um you know, whatever purpose. I'm also part of
[03:03:28] know, whatever purpose. I'm also part of what looks to be like a Slack workspace
[03:03:30] what looks to be like a Slack workspace um for one of my businesses. I think I
[03:03:31] um for one of my businesses. I think I just did that cuz I wanted to test what
[03:03:32] just did that cuz I wanted to test what this looked like. Now that that's done,
[03:03:34] this looked like. Now that that's done, what I'm going to do is I'm going to see
[03:03:35] what I'm going to do is I'm going to see how I can implement the Gmail MCP really
[03:03:37] how I can implement the Gmail MCP really quickly. Great. This looks solid. How do
[03:03:39] quickly. Great. This looks solid. How do I use the Gmail MCP? It's now going to
[03:03:42] I use the Gmail MCP? It's now going to go and search for Gmail MCP first in my
[03:03:44] go and search for Gmail MCP first in my folders. Um,
[03:03:47] folders. Um, and then it'll ask me what it wants me
[03:03:49] and then it'll ask me what it wants me to do. I want to set one up. So, it's
[03:03:51] to do. I want to set one up. So, it's going to start doing some searches for
[03:03:52] going to start doing some searches for Gmail MCP servers. I'm also going to do
[03:03:54] Gmail MCP servers. I'm also going to do some searching myself. There probably
[03:03:56] some searching myself. There probably three or four different ones that
[03:03:58] three or four different ones that realistically work. Um, this looks to be
[03:04:00] realistically work. Um, this looks to be a pretty interesting repo. So, what I
[03:04:01] a pretty interesting repo. So, what I could do is I could just use this puppy.
[03:04:03] could do is I could just use this puppy. That looks nice. I just paste this in.
[03:04:04] That looks nice. I just paste this in. It looks like I actually beat Claude to
[03:04:07] It looks like I actually beat Claude to something for once. Now, it's going to
[03:04:09] something for once. Now, it's going to compare.
[03:04:10] compare. Great. Let's do it. It's a personal
[03:04:14] Great. Let's do it. It's a personal Gmail. Is that okay? Okay, it's now
[03:04:15] Gmail. Is that okay? Okay, it's now going to walk me through. So, I'm going
[03:04:17] going to walk me through. So, I'm going to give this button a click. Okay, I
[03:04:18] to give this button a click. Okay, I went through and I got that data. I'm
[03:04:20] went through and I got that data. I'm now going to paste this in. It's going
[03:04:22] now going to paste this in. It's going to go find the credentials file that I
[03:04:23] to go find the credentials file that I just uploaded. Now, it can do what it
[03:04:26] just uploaded. Now, it can do what it needs to do. I just need to restart the
[03:04:27] needs to do. I just need to restart the cloud code session. So, I'm just going
[03:04:29] cloud code session. So, I'm just going to open up a new one here. Then, I'll go
[03:04:32] to open up a new one here. Then, I'll go back and then I'll say,
[03:04:34] back and then I'll say, "Hey, I want you to label my emails."
[03:04:37] "Hey, I want you to label my emails." Oh, you know, and I don't actually
[03:04:38] Oh, you know, and I don't actually remember what was that scheme that it
[03:04:39] remember what was that scheme that it asked. Hey, I want you to label my
[03:04:41] asked. Hey, I want you to label my emails according to this scheme. So now
[03:04:43] emails according to this scheme. So now it's going to call the Gmail MCP. Okay.
[03:04:45] it's going to call the Gmail MCP. Okay. It's going to check the Gmail MCP tools.
[03:04:48] It's going to check the Gmail MCP tools. Just figured it out. We have a bunch of
[03:04:49] Just figured it out. We have a bunch of pre-existing labels. So it's just going
[03:04:51] pre-existing labels. So it's just going to create a bunch on its own. The reason
[03:04:52] to create a bunch on its own. The reason why this is occurring so quickly is
[03:04:54] why this is occurring so quickly is because I'm using their um fast mode. So
[03:04:56] because I'm using their um fast mode. So it's about two and a half times faster
[03:04:57] it's about two and a half times faster than usual. It's now reading through a
[03:04:59] than usual. It's now reading through a bunch of emails. And now it's going to
[03:05:00] bunch of emails. And now it's going to in addition to thinking through them, um
[03:05:02] in addition to thinking through them, um go through and then do set labeling. And
[03:05:05] go through and then do set labeling. And then you know it's just going to
[03:05:06] then you know it's just going to continue doing this for as many emails
[03:05:07] continue doing this for as many emails as I say. So I think I said that I was
[03:05:09] as I say. So I think I said that I was going to do I don't know 15 emails or
[03:05:11] going to do I don't know 15 emails or something like that. This just did 10.
[03:05:13] something like that. This just did 10. So, it's 15 inbox emails. Looks great.
[03:05:16] So, it's 15 inbox emails. Looks great. Why don't we do this for 100 emails in
[03:05:17] Why don't we do this for 100 emails in total?
[03:05:20] total? Now, if I go back into my email, uh,
[03:05:23] Now, if I go back into my email, uh, which I think was over here, you can see
[03:05:25] which I think was over here, you can see that I now have different labels. Just
[03:05:27] that I now have different labels. Just got to refresh that. There's action
[03:05:28] got to refresh that. There's action required or reference and waiting on.
[03:05:30] required or reference and waiting on. So, you know, if something requires my
[03:05:32] So, you know, if something requires my action, some security alerts and stuff
[03:05:34] action, some security alerts and stuff like that, then that's one thing. If
[03:05:35] like that, then that's one thing. If it's a reference, so this is just stuff
[03:05:36] it's a reference, so this is just stuff that it's storing that, you know, may be
[03:05:38] that it's storing that, you know, may be useful for me. And then there's waiting
[03:05:39] useful for me. And then there's waiting on down here. So, now that you know I've
[03:05:41] on down here. So, now that you know I've demonstrated that I could do this sort
[03:05:42] demonstrated that I could do this sort of thing pretty quickly with a setup
[03:05:44] of thing pretty quickly with a setup that realistically only took me a few
[03:05:46] that realistically only took me a few minutes, I want to turn this into a
[03:05:47] minutes, I want to turn this into a skill. So, I'm actually going to pause
[03:05:48] skill. So, I'm actually going to pause this and I'll say, "Great, this worked
[03:05:50] this and I'll say, "Great, this worked really well. I'd like to turn this into
[03:05:52] really well. I'd like to turn this into a skill called Gmail label." Basically,
[03:05:54] a skill called Gmail label." Basically, what I want you to do is just to call
[03:05:56] what I want you to do is just to call the Gmail uh API directly and then do
[03:05:58] the Gmail uh API directly and then do all this labeling for me uh instead of
[03:06:00] all this labeling for me uh instead of me having to use MCP because skills are
[03:06:03] me having to use MCP because skills are just a lot more token efficient than
[03:06:04] just a lot more token efficient than MCPs. Check out my other skills so you
[03:06:06] MCPs. Check out my other skills so you could see an example of how to format
[03:06:08] could see an example of how to format them and so on and so forth. And then
[03:06:09] them and so on and so forth. And then write me a skill that effectively does
[03:06:11] write me a skill that effectively does this as well as uh uses Gmail scripts.
[03:06:13] this as well as uh uses Gmail scripts. Feed that puppy in and then press enter.
[03:06:15] Feed that puppy in and then press enter. Now I have some other skills that you
[03:06:17] Now I have some other skills that you know might have something to do with
[03:06:18] know might have something to do with Gmail. So if it finds them, then it'll
[03:06:20] Gmail. So if it finds them, then it'll probably just want to use those. Okay,
[03:06:21] probably just want to use those. Okay, cool. Looks like it's rebuilding it all,
[03:06:22] cool. Looks like it's rebuilding it all, which is fantastic. Um, we're going to
[03:06:24] which is fantastic. Um, we're going to do the Gmail label skill directory. So
[03:06:28] do the Gmail label skill directory. So it's going to pump in somewhere right
[03:06:29] it's going to pump in somewhere right around here. Looks like I'm running into
[03:06:30] around here. Looks like I'm running into some error here. So we're going to have
[03:06:32] some error here. So we're going to have to do some debugging. Just going to
[03:06:33] to do some debugging. Just going to paste this in directly. Okay. And it
[03:06:35] paste this in directly. Okay. And it looks like we're just about to wrap this
[03:06:36] looks like we're just about to wrap this up. So now I'm going to select say that
[03:06:39] up. So now I'm going to select say that it can see edit my email labels and so
[03:06:41] it can see edit my email labels and so on and so forth. Um now that it's done,
[03:06:43] on and so forth. Um now that it's done, the authentication flow has completed. I
[03:06:45] the authentication flow has completed. I may close this window. Going back over
[03:06:47] may close this window. Going back over here. Now it is created with full Gmail
[03:06:49] here. Now it is created with full Gmail sheets and drive access which allow me
[03:06:51] sheets and drive access which allow me to do this much faster. So you guys
[03:06:53] to do this much faster. So you guys seeing just how much quicker this is.
[03:06:54] seeing just how much quicker this is. 100 emails immediately fetched. It's now
[03:06:56] 100 emails immediately fetched. It's now reading and classifying all of them
[03:06:57] reading and classifying all of them using direct API calls instead of MCP
[03:06:59] using direct API calls instead of MCP server tools. And then in addition, you
[03:07:01] server tools. And then in addition, you know, as I showed you guys earlier, we
[03:07:04] know, as I showed you guys earlier, we go to Gmail label. The only thing that's
[03:07:06] go to Gmail label. The only thing that's currently being loaded is this. And this
[03:07:08] currently being loaded is this. And this is so much shorter than like the whole
[03:07:09] is so much shorter than like the whole MCP skill stuff. So it fetched all 100.
[03:07:12] MCP skill stuff. So it fetched all 100. It's now categorizing them into five and
[03:07:15] It's now categorizing them into five and 95. So it looks like zero is waiting on
[03:07:17] 95. So it looks like zero is waiting on 95 are reference, and then five are
[03:07:18] 95 are reference, and then five are action required. That was way faster
[03:07:20] action required. That was way faster than what we were doing previously,
[03:07:21] than what we were doing previously, right? That would have taken probably
[03:07:22] right? That would have taken probably like 5 to 10x the time. Looks great. Why
[03:07:24] like 5 to 10x the time. Looks great. Why don't we do another 100 and then time
[03:07:25] don't we do another 100 and then time yourselves? Tell me how long it took.
[03:07:27] yourselves? Tell me how long it took. Okay, it's now going to grab all of
[03:07:28] Okay, it's now going to grab all of these. So, it's just going to continue
[03:07:31] these. So, it's just going to continue the filtering process by, you know,
[03:07:32] the filtering process by, you know, using some Gmail stuff. Then, it's also
[03:07:34] using some Gmail stuff. Then, it's also going to add some timing
[03:07:35] going to add some timing instrumentation. That's kind of cool,
[03:07:36] instrumentation. That's kind of cool, just because I'm curious. Fetch was 1
[03:07:38] just because I'm curious. Fetch was 1 second. So, we fetched 100 emails in 1
[03:07:40] second. So, we fetched 100 emails in 1 second compared to previously where it
[03:07:42] second compared to previously where it took significantly longer cuz I think
[03:07:43] took significantly longer cuz I think the MCP tooling had like some built-in
[03:07:45] the MCP tooling had like some built-in thing. Cool. The end result was it was
[03:07:47] thing. Cool. The end result was it was 36 seconds to fetch, classify, and label
[03:07:49] 36 seconds to fetch, classify, and label 100 emails. About 3.6 seconds per email.
[03:07:52] 100 emails. About 3.6 seconds per email. Sorry, 36 seconds per email if you think
[03:07:54] Sorry, 36 seconds per email if you think about it that way. [gasps] Then, it also
[03:07:56] about it that way. [gasps] Then, it also gave me some um you know, breakdowns and
[03:07:57] gave me some um you know, breakdowns and stuff like that of what it is. I could
[03:07:58] stuff like that of what it is. I could run this across like my several thousand
[03:08:00] run this across like my several thousand outstanding emails if I wanted to. I
[03:08:02] outstanding emails if I wanted to. I could also do things like have it
[03:08:03] could also do things like have it automated automatically generate replies
[03:08:05] automated automatically generate replies to each email. Um, you know, we could
[03:08:07] to each email. Um, you know, we could build a sub agent, which I'll show you
[03:08:08] build a sub agent, which I'll show you guys how to do stuff like that in a
[03:08:10] guys how to do stuff like that in a moment where we, you know, split each
[03:08:11] moment where we, you know, split each into a parallel tasks and so on and so
[03:08:13] into a parallel tasks and so on and so forth. Sky's is really the limit here.
[03:08:15] forth. Sky's is really the limit here. Okay, next up, I want to chat a tiny bit
[03:08:17] Okay, next up, I want to chat a tiny bit about Cloud Code plugins. I personally
[03:08:19] about Cloud Code plugins. I personally don't use plugins a ton, but uh they are
[03:08:21] don't use plugins a ton, but uh they are out there and so it's fair if I'm
[03:08:23] out there and so it's fair if I'm building a masterclass course all about
[03:08:24] building a masterclass course all about Cloud Code, might as well know what the
[03:08:26] Cloud Code, might as well know what the heck these are. Simplest and easiest way
[03:08:28] heck these are. Simplest and easiest way to access plugins is just go customize
[03:08:29] to access plugins is just go customize and manage plugins. It'll show you the
[03:08:31] and manage plugins. It'll show you the plugins that you currently have
[03:08:32] plugins that you currently have installed. You see the only one that I
[03:08:34] installed. You see the only one that I have installed so far is called
[03:08:35] have installed so far is called claude-me atthe.mac. Um this is
[03:08:38] claude-me atthe.mac. Um this is basically a simple straightforward um uh
[03:08:41] basically a simple straightforward um uh plugin that basically just adds all of
[03:08:42] plugin that basically just adds all of the messages that sent any cloud
[03:08:44] the messages that sent any cloud instance to some memory file and then
[03:08:46] instance to some memory file and then claude can run searches over it if I say
[03:08:47] claude can run searches over it if I say hey what did I ask you about 2 weeks
[03:08:49] hey what did I ask you about 2 weeks ago? So you know it's marginally useful.
[03:08:51] ago? So you know it's marginally useful. You then have access directly from cloud
[03:08:53] You then have access directly from cloud to a bunch of other ones that are
[03:08:54] to a bunch of other ones that are somewhat useful. Um, they have like
[03:08:56] somewhat useful. Um, they have like front-end design for instance, which is
[03:08:57] front-end design for instance, which is kind of cool. So, this is Anthropic's
[03:08:59] kind of cool. So, this is Anthropic's own library, which improves the quality,
[03:09:01] own library, which improves the quality, at least they say it improves the
[03:09:03] at least they say it improves the quality of a front-end work. You can
[03:09:05] quality of a front-end work. You can build sexier and cleaner designs and
[03:09:07] build sexier and cleaner designs and stuff like that. Um, you know, I don't
[03:09:09] stuff like that. Um, you know, I don't know. It's kind of 50/50. They say like
[03:09:10] know. It's kind of 50/50. They say like if you're doing stuff without the
[03:09:12] if you're doing stuff without the aesthetics prompt, it looks like this.
[03:09:13] aesthetics prompt, it looks like this. And then if you're doing it with the
[03:09:14] And then if you're doing it with the aesthetics prompt, it looks like that.
[03:09:16] aesthetics prompt, it looks like that. Personally, I think both of these look
[03:09:17] Personally, I think both of these look pretty bad. This one definitely looks
[03:09:18] pretty bad. This one definitely looks better, of course, but it's not like
[03:09:19] better, of course, but it's not like that much better. Uh, same thing over
[03:09:21] that much better. Uh, same thing over here. So, I don't know if the guys that
[03:09:22] here. So, I don't know if the guys that made this just weren't like actually
[03:09:24] made this just weren't like actually crazy front-end devs or anything like
[03:09:26] crazy front-end devs or anything like that, but I I personally think my
[03:09:27] that, but I I personally think my workflow of just going to one of these
[03:09:29] workflow of just going to one of these websites and then copying the uh
[03:09:31] websites and then copying the uh screenshot over and then moving
[03:09:32] screenshot over and then moving everything into Clockout is like way
[03:09:34] everything into Clockout is like way higher quality. But there are other cool
[03:09:35] higher quality. But there are other cool ones here. Context 7 is pretty nice.
[03:09:36] ones here. Context 7 is pretty nice. Context 7 basically just allows you to
[03:09:38] Context 7 basically just allows you to search through any API doc without um
[03:09:40] search through any API doc without um really having to like know anything
[03:09:42] really having to like know anything about the API docs themselves. you know,
[03:09:44] about the API docs themselves. you know, if you're working with like three or
[03:09:46] if you're working with like three or four different tools, you just install
[03:09:47] four different tools, you just install this as a plugin and then it'll
[03:09:49] this as a plugin and then it'll automatically um shrink and then
[03:09:51] automatically um shrink and then compress API documentation from the
[03:09:53] compress API documentation from the sources over to cloud and then it can
[03:09:55] sources over to cloud and then it can read it in a very token efficient manner
[03:09:56] read it in a very token efficient manner and do cool things with. None of these
[03:09:58] and do cool things with. None of these things I want to say are required.
[03:09:59] things I want to say are required. Vanilla cloud code does really really
[03:10:00] Vanilla cloud code does really really well without any sort of extensions or
[03:10:02] well without any sort of extensions or plugins at the moment. Um but you know,
[03:10:04] plugins at the moment. Um but you know, just worth us chatting briefly about
[03:10:06] just worth us chatting briefly about that. And then there are two major
[03:10:08] that. And then there are two major marketplaces right now that are sort of
[03:10:09] marketplaces right now that are sort of uh well sorry one major marketplace
[03:10:11] uh well sorry one major marketplace right now that's supported by claude.
[03:10:12] right now that's supported by claude. this Cloud Code plugins directory which
[03:10:14] this Cloud Code plugins directory which is in the cloud-plugins-official
[03:10:17] is in the cloud-plugins-official repository. Um, you can find all of the
[03:10:19] repository. Um, you can find all of the plugins just by going to plugins and
[03:10:20] plugins just by going to plugins and you'll see there's a big list of ones
[03:10:21] you'll see there's a big list of ones that they support right out of the box.
[03:10:23] that they support right out of the box. So, they have agent SDK dev, they have
[03:10:25] So, they have agent SDK dev, they have code review, they have C# LSP example
[03:10:28] code review, they have C# LSP example plugin, but then there are also open
[03:10:30] plugin, but then there are also open marketplaces. So, if you go to claude
[03:10:32] marketplaces. So, if you go to claude plug-in marketplace, you'll see that
[03:10:34] plug-in marketplace, you'll see that there are a few other ones that people
[03:10:35] there are a few other ones that people have put together here. Um, so this for
[03:10:37] have put together here. Um, so this for instance is the claude code marketplace
[03:10:39] instance is the claude code marketplace put together by a third party resource.
[03:10:41] put together by a third party resource. uh say anthropic wants me to take down
[03:10:43] uh say anthropic wants me to take down this website. That's pretty funny. Um
[03:10:46] this website. That's pretty funny. Um with you know like chatgbt prompts uh
[03:10:48] with you know like chatgbt prompts uh let's see superpowers. I don't know
[03:10:51] let's see superpowers. I don't know exactly what that does. We have the
[03:10:52] exactly what that does. We have the contact 7 again. A bunch of cloud code
[03:10:54] contact 7 again. A bunch of cloud code skills that looks like some other people
[03:10:56] skills that looks like some other people have put together although not all of
[03:10:57] have put together although not all of these links are going to work. And uh
[03:10:59] these links are going to work. And uh yeah you know the the plug-in
[03:11:00] yeah you know the the plug-in installation process is pretty
[03:11:01] installation process is pretty straightforward as you guys saw earlier.
[03:11:03] straightforward as you guys saw earlier. Um so I I'll leave it at that. I think
[03:11:05] Um so I I'll leave it at that. I think plugins are sort of going to be
[03:11:06] plugins are sort of going to be deprecated and probably just absorbed
[03:11:08] deprecated and probably just absorbed into skills at some point. So I don't
[03:11:09] into skills at some point. So I don't want to spend forever on them. Okay. And
[03:11:10] want to spend forever on them. Okay. And finally, we have sub agents, which I
[03:11:12] finally, we have sub agents, which I think a lot of people here were waiting
[03:11:13] think a lot of people here were waiting for. I want you guys to know that sub
[03:11:15] for. I want you guys to know that sub aents aren't like a cure all. These
[03:11:17] aents aren't like a cure all. These things aren't actually that incredible.
[03:11:18] things aren't actually that incredible. Um, you can do more or less everything
[03:11:19] Um, you can do more or less everything that you could do with sub agents as of
[03:11:21] that you could do with sub agents as of the time of this recording just with
[03:11:22] the time of this recording just with like a normal master agent, but sub
[03:11:25] like a normal master agent, but sub agents do speed things up a little bit
[03:11:27] agents do speed things up a little bit and then they also allow you to
[03:11:28] and then they also allow you to parallelize your workflow, which can be
[03:11:29] parallelize your workflow, which can be quite useful in specific circumstances.
[03:11:31] quite useful in specific circumstances. Um, one major issue that people
[03:11:33] Um, one major issue that people currently have with sub agents is they
[03:11:34] currently have with sub agents is they consume a ton of tokens and then in
[03:11:36] consume a ton of tokens and then in doing so can also cost a fair amount,
[03:11:38] doing so can also cost a fair amount, especially when you go to agent teams,
[03:11:39] especially when you go to agent teams, which as of the time of this recording
[03:11:40] which as of the time of this recording is seven times uh the token usage of
[03:11:43] is seven times uh the token usage of just using like one single cloud thread
[03:11:44] just using like one single cloud thread like I've been doing throughout this
[03:11:45] like I've been doing throughout this course. But sub agents are still pretty
[03:11:47] course. But sub agents are still pretty useful to know. And so the very first
[03:11:48] useful to know. And so the very first thing I'm going to do is I'm just going
[03:11:49] thing I'm going to do is I'm just going to show you through example and then we
[03:11:50] to show you through example and then we can actually look more into like the the
[03:11:52] can actually look more into like the the sub aent spec and stuff like that. So
[03:11:53] sub aent spec and stuff like that. So you know how earlier we built this
[03:11:55] you know how earlier we built this system, the skill which fetches,
[03:11:57] system, the skill which fetches, classifies, and labels 100 emails with
[03:11:58] classifies, and labels 100 emails with zero failures. What I'd like to do now
[03:12:00] zero failures. What I'd like to do now is I'd basically like to turn this skill
[03:12:02] is I'd basically like to turn this skill into a sub agent. So what I'm going to
[03:12:03] into a sub agent. So what I'm going to do is I will remove this so we're not
[03:12:06] do is I will remove this so we're not loading any more stuff into context.
[03:12:08] loading any more stuff into context. Hey, I'd like you to turn this Gmail-
[03:12:11] Hey, I'd like you to turn this Gmail- label flow into a sub aent. The reason
[03:12:13] label flow into a sub aent. The reason why is because I want you to parallelize
[03:12:15] why is because I want you to parallelize your work. Instead of it taking 36
[03:12:17] your work. Instead of it taking 36 seconds to fetch, classify, and label
[03:12:19] seconds to fetch, classify, and label 100 emails, I want you to be able to um
[03:12:21] 100 emails, I want you to be able to um spawn 10 sub aents that do all of those
[03:12:23] spawn 10 sub aents that do all of those simultaneously and then return the
[03:12:25] simultaneously and then return the results. Uh I'd like you to do this
[03:12:27] results. Uh I'd like you to do this using the sub aent spec. If you don't
[03:12:29] using the sub aent spec. If you don't know what that is, do a little bit of
[03:12:30] know what that is, do a little bit of research on sub agents. Um, it's an
[03:12:32] research on sub agents. Um, it's an anthropic and claude code feature that's
[03:12:34] anthropic and claude code feature that's quite well supported by our current
[03:12:35] quite well supported by our current workspace structure. And once you've
[03:12:36] workspace structure. And once you've built the sub agent using sonnet-4.5,
[03:12:40] built the sub agent using sonnet-4.5, I want you to roll it out as a test and
[03:12:42] I want you to roll it out as a test and then show me how much faster it is with
[03:12:44] then show me how much faster it is with some sort of timing instrumentation.
[03:12:45] some sort of timing instrumentation. Okay, so I have all that here. I'm now
[03:12:47] Okay, so I have all that here. I'm now just going to feed it into my prompt. If
[03:12:48] just going to feed it into my prompt. If we open up this little thinking tab,
[03:12:50] we open up this little thinking tab, it's going to start by researching the
[03:12:51] it's going to start by researching the sub agents and then building a
[03:12:52] sub agents and then building a parallelized Gmail label flow that
[03:12:54] parallelized Gmail label flow that spawns multiple sub agents to classify
[03:12:55] spawns multiple sub agents to classify emails simultaneously. It'll use sonnet
[03:12:57] emails simultaneously. It'll use sonnet 5 4.5 because it can load much more into
[03:12:59] 5 4.5 because it can load much more into context probably read all my emails and
[03:13:01] context probably read all my emails and then it can actually go through this
[03:13:02] then it can actually go through this whole process and then um you know
[03:13:04] whole process and then um you know essentially parallelize it and
[03:13:06] essentially parallelize it and significantly improve the probability
[03:13:07] significantly improve the probability and speed that these things are working
[03:13:09] and speed that these things are working well and fast. The very first thing it's
[03:13:11] well and fast. The very first thing it's going to do is actually spin up a bunch
[03:13:12] going to do is actually spin up a bunch of sub aents to do research. So that's
[03:13:13] of sub aents to do research. So that's what this task little bubble is right
[03:13:15] what this task little bubble is right when it says research cloud code sub
[03:13:17] when it says research cloud code sub aents. What it's actually doing is it's
[03:13:18] aents. What it's actually doing is it's giving this task to a sub aent called
[03:13:20] giving this task to a sub aent called the research sub agent. Uh there's
[03:13:22] the research sub agent. Uh there's another sub aent as well like the search
[03:13:23] another sub aent as well like the search sub aent. So, it'll actually search
[03:13:24] sub aent. So, it'll actually search through my workspace to see if there are
[03:13:26] through my workspace to see if there are any pre-existing sub agent patterns. And
[03:13:28] any pre-existing sub agent patterns. And then because it's capable of spawning
[03:13:29] then because it's capable of spawning these simultaneously, uh it typically
[03:13:31] these simultaneously, uh it typically retrieves the results much faster than
[03:13:32] retrieves the results much faster than normal. So, that's kind of fun. It's a
[03:13:34] normal. So, that's kind of fun. It's a little bit meta of cloud code to do that
[03:13:36] little bit meta of cloud code to do that without really understanding what sub
[03:13:37] without really understanding what sub agents are out of the box. Okay. It's
[03:13:39] agents are out of the box. Okay. It's now going to create a sub agent
[03:13:41] now going to create a sub agent directory inside of mycloud folder. And
[03:13:43] directory inside of mycloud folder. And then it's going to populate it with um
[03:13:45] then it's going to populate it with um all the sub aent spec parts and and
[03:13:46] all the sub aent spec parts and and everything else. And what's really cool
[03:13:48] everything else. And what's really cool is we're using sub aents alongside
[03:13:50] is we're using sub aents alongside skills in this instance. Um and that's
[03:13:52] skills in this instance. Um and that's what I' I'd usually recommend. I don't
[03:13:53] what I' I'd usually recommend. I don't recommend just like creating sub agents
[03:13:55] recommend just like creating sub agents for the sake of sub agents unless
[03:13:56] for the sake of sub agents unless they're very specific ones. I'll show
[03:13:57] they're very specific ones. I'll show you guys a couple of them in a moment,
[03:13:58] you guys a couple of them in a moment, but for the most part, like use them
[03:14:01] but for the most part, like use them where it makes sense. Use them in
[03:14:02] where it makes sense. Use them in situations where you want to parallelize
[03:14:04] situations where you want to parallelize the workflow and be a lot faster. Okay.
[03:14:06] the workflow and be a lot faster. Okay. And then because we just generated the
[03:14:08] And then because we just generated the sub aents in a previous instance, we
[03:14:10] sub aents in a previous instance, we actually have to um call the sub agents
[03:14:12] actually have to um call the sub agents in another cloud code instance. So I
[03:14:13] in another cloud code instance. So I just had to make a new one. Basically,
[03:14:14] just had to make a new one. Basically, what it's going to do now is spawn a
[03:14:16] what it's going to do now is spawn a bunch of sub aents for me. Okay, so
[03:14:17] bunch of sub aents for me. Okay, so that's what these tasks are. So as you
[03:14:18] that's what these tasks are. So as you can see, classify email chunk 1 2 3 4 5
[03:14:21] can see, classify email chunk 1 2 3 4 5 6 7 8 9. So all 10 classifiers are now
[03:14:23] 6 7 8 9. So all 10 classifiers are now running in parallel.
[03:14:25] running in parallel. We now have all 10 task outputs here
[03:14:27] We now have all 10 task outputs here which is pretty cool. It's now absorbing
[03:14:29] which is pretty cool. It's now absorbing all these task outputs and we're
[03:14:31] all these task outputs and we're operating at a much higher level of
[03:14:32] operating at a much higher level of speed than we were before. Right.
[03:14:35] speed than we were before. Right. So now it's recording the time and then
[03:14:36] So now it's recording the time and then it's going to merge and apply.
[03:14:38] it's going to merge and apply. Classification took 19 seconds while
[03:14:40] Classification took 19 seconds while clock time for a,000 sorry 100 to
[03:14:42] clock time for a,000 sorry 100 to complete. And then let's see the total
[03:14:45] complete. And then let's see the total time speed up. Okay. Okay. So, in this
[03:14:47] time speed up. Okay. Okay. So, in this instance, because we ran the same number
[03:14:49] instance, because we ran the same number of emails, we did 100 versus 100, um, we
[03:14:51] of emails, we did 100 versus 100, um, we only saved 6 seconds. So, what I want to
[03:14:53] only saved 6 seconds. So, what I want to show you guys now is I want to show you
[03:14:55] show you guys now is I want to show you guys how to do this um, at scale. So,
[03:14:57] guys how to do this um, at scale. So, instead of, you know, 100 emails, I want
[03:14:58] instead of, you know, 100 emails, I want to do a thousand. Excellent work. I'd
[03:15:01] to do a thousand. Excellent work. I'd like you to classify a thousand. The
[03:15:03] like you to classify a thousand. The benefits of the speed up are most likely
[03:15:05] benefits of the speed up are most likely not going to be at the same level of
[03:15:07] not going to be at the same level of scale, but they will become evident when
[03:15:08] scale, but they will become evident when we go at a much higher level of speed
[03:15:11] we go at a much higher level of speed uh, scale. So now we're going to run
[03:15:13] uh, scale. So now we're going to run 1,000 of these, aka 1,000 emails split
[03:15:17] 1,000 of these, aka 1,000 emails split into 10 chunks of 100 that are being
[03:15:19] into 10 chunks of 100 that are being classified in parallel with 10 sub
[03:15:20] classified in parallel with 10 sub aents. Considering that every time took,
[03:15:22] aents. Considering that every time took, I think like 19 seconds or something
[03:15:23] I think like 19 seconds or something like that per uh I think it's going to
[03:15:25] like that per uh I think it's going to be a lot faster. So we'll see. Okay,
[03:15:27] be a lot faster. So we'll see. Okay, some of these task outputs are now
[03:15:28] some of these task outputs are now starting to complete. It's been maybe 15
[03:15:31] starting to complete. It's been maybe 15 20 seconds. Not sure exactly how long,
[03:15:33] 20 seconds. Not sure exactly how long, but as they're all coming back um you
[03:15:35] but as they're all coming back um you see these little gray bubbles turn into
[03:15:36] see these little gray bubbles turn into green bubbles. Okay, we ended up having
[03:15:37] green bubbles. Okay, we ended up having an issue where the prompt was too long
[03:15:40] an issue where the prompt was too long essentially because all of these sub
[03:15:41] essentially because all of these sub aents returned massive strings of text
[03:15:44] aents returned massive strings of text with every single email uh for whatever
[03:15:46] with every single email uh for whatever reason when you combine all this into
[03:15:48] reason when you combine all this into you know the parent thread just way too
[03:15:50] you know the parent thread just way too long and it ran out of context. So what
[03:15:52] long and it ran out of context. So what I did is I just copied over everything
[03:15:54] I did is I just copied over everything and then I gave it to another instance
[03:15:56] and then I gave it to another instance up here and I basically said hey this is
[03:16:00] up here and I basically said hey this is a little too long right now. Uh, I keep
[03:16:02] a little too long right now. Uh, I keep running into,
[03:16:04] running into, you know, prompt too long output. So, I
[03:16:06] you know, prompt too long output. So, I think we ran out of context. I'd like
[03:16:07] think we ran out of context. I'd like you to modify this so we don't run out
[03:16:08] you to modify this so we don't run out of context. If the sub agents don't have
[03:16:10] of context. If the sub agents don't have to return the actual text to the parent
[03:16:12] to return the actual text to the parent agent, that would be ideal. Then I ran
[03:16:14] agent, that would be ideal. Then I ran it in parallel for all 10. And uh, now
[03:16:16] it in parallel for all 10. And uh, now we're just redoing it. At the end of it,
[03:16:17] we're just redoing it. At the end of it, it labeled 987 out of 989 emails. Um, I
[03:16:22] it labeled 987 out of 989 emails. Um, I didn't time that end to end. If I had to
[03:16:24] didn't time that end to end. If I had to guess, it' probably be somewhere around
[03:16:25] guess, it' probably be somewhere around like a minute or so, which means we are
[03:16:27] like a minute or so, which means we are now classifying a,000 emails in a
[03:16:29] now classifying a,000 emails in a minute, whereas 100 was at 36. And this
[03:16:31] minute, whereas 100 was at 36. And this is really the power of sub agents. Sub
[03:16:32] is really the power of sub agents. Sub aents basically allow us to take some
[03:16:34] aents basically allow us to take some query and then split it up into 5, 10,
[03:16:38] query and then split it up into 5, 10, 15, 20, whatever, run them all um, you
[03:16:41] 15, 20, whatever, run them all um, you know, synchronously at the same time.
[03:16:43] know, synchronously at the same time. And then once they're done, they just
[03:16:44] And then once they're done, they just take the outputs of each of these
[03:16:46] take the outputs of each of these threads and then combine them into the
[03:16:47] threads and then combine them into the main one. And so, you know, there's a
[03:16:50] main one. And so, you know, there's a couple of other use cases for sub aents,
[03:16:51] couple of other use cases for sub aents, but for the most part, it's going to be
[03:16:52] but for the most part, it's going to be something like this. Like, if you really
[03:16:54] something like this. Like, if you really wanted to use sub aents in an
[03:16:55] wanted to use sub aents in an economically valuable fashion, this is
[03:16:56] economically valuable fashion, this is usually how you would do so. Uh, as of
[03:16:58] usually how you would do so. Uh, as of the time of this recording, sub agents
[03:17:00] the time of this recording, sub agents are fantastic, but keep in mind like
[03:17:01] are fantastic, but keep in mind like most of the time they're going to be
[03:17:03] most of the time they're going to be less intelligent than the parent agent.
[03:17:04] less intelligent than the parent agent. And so you want to reserve the parent
[03:17:06] And so you want to reserve the parent agent for taking the outputs of each of
[03:17:09] agent for taking the outputs of each of these sub aents and combining them and
[03:17:10] these sub aents and combining them and doing something with them, not just
[03:17:12] doing something with them, not just spawning, you know, 500 things in
[03:17:13] spawning, you know, 500 things in parallel to to to run for no reason. Um,
[03:17:16] parallel to to to run for no reason. Um, strategically speaking, some other
[03:17:18] strategically speaking, some other things about sub agents are try and make
[03:17:20] things about sub agents are try and make the task definitions as simple and as
[03:17:21] the task definitions as simple and as straightforward as possible. Like I
[03:17:23] straightforward as possible. Like I could have given every one of those sub
[03:17:24] could have given every one of those sub aents more context. I could have said,
[03:17:25] aents more context. I could have said, "Hey, I don't just want you to do the
[03:17:26] "Hey, I don't just want you to do the classification. I want you to do
[03:17:27] classification. I want you to do everything. I want you to do the
[03:17:28] everything. I want you to do the classifications, the merges, the
[03:17:30] classifications, the merges, the applying the labels, etc. But because
[03:17:32] applying the labels, etc. But because the sub aents are dumber and because
[03:17:33] the sub aents are dumber and because we're spawning a bunch, you know, we're
[03:17:34] we're spawning a bunch, you know, we're multiplying probabilities here. If
[03:17:36] multiplying probabilities here. If there's like um even a I don't know,
[03:17:38] there's like um even a I don't know, let's say there's a 95% chance that the
[03:17:40] let's say there's a 95% chance that the sub agent is going to work, right?
[03:17:41] sub agent is going to work, right? That's a 5% chance that it's not going
[03:17:42] That's a 5% chance that it's not going to work. And the way in statistics that
[03:17:44] to work. And the way in statistics that you calculate the probability of a bunch
[03:17:46] you calculate the probability of a bunch of things occurring in sequence is you
[03:17:47] of things occurring in sequence is you just multiply them out. So what this is
[03:17:49] just multiply them out. So what this is is this is 0.95 * 0.95 * 0.95.
[03:17:53] is this is 0.95 * 0.95 * 0.95. Basically, what this is equivalent to is
[03:17:54] Basically, what this is equivalent to is 0.95 raised to the 3. And so if we spawn
[03:17:57] 0.95 raised to the 3. And so if we spawn three sub aents, okay, the total
[03:17:59] three sub aents, okay, the total probability that all three of them will
[03:18:00] probability that all three of them will work the way that we wanted them to, if
[03:18:02] work the way that we wanted them to, if I just go back over here, is 0.95 raised
[03:18:05] I just go back over here, is 0.95 raised to the three here. So 85, aka 85.7%.
[03:18:10] to the three here. So 85, aka 85.7%. You know, I mean, if I'm running 10, the
[03:18:12] You know, I mean, if I'm running 10, the probability is now down to 59%. If I'm
[03:18:15] probability is now down to 59%. If I'm running, I don't know, 50, then the
[03:18:16] running, I don't know, 50, then the probability is down to 7%. Obviously, I
[03:18:19] probability is down to 7%. Obviously, I want to maximize the probability that
[03:18:20] want to maximize the probability that all of these sub aents complete in the
[03:18:22] all of these sub aents complete in the time that I've allotted to them and
[03:18:23] time that I've allotted to them and stuff like that. not only for you know
[03:18:25] stuff like that. not only for you know my own token count issues and my
[03:18:26] my own token count issues and my consumption. So you guys see back here
[03:18:27] consumption. So you guys see back here like I'm now at 173 bucks in additional
[03:18:30] like I'm now at 173 bucks in additional usage on top of my cloud code usage. Um
[03:18:32] usage on top of my cloud code usage. Um not just from this course idea but I'm
[03:18:34] not just from this course idea but I'm doing a fair amount. Um but also for
[03:18:36] doing a fair amount. Um but also for like completeness's sake if I malform
[03:18:38] like completeness's sake if I malform the output and then my parent agent
[03:18:40] the output and then my parent agent can't you know collect it all right and
[03:18:41] can't you know collect it all right and do something right with it. Well then
[03:18:43] do something right with it. Well then what I've done is I've just basically
[03:18:44] what I've done is I've just basically wasted that whole query because uh sub
[03:18:46] wasted that whole query because uh sub agent prompts are ephemeral. They only
[03:18:48] agent prompts are ephemeral. They only exist for like a short period of time.
[03:18:49] exist for like a short period of time. Their context windows are all
[03:18:50] Their context windows are all self-contained. Do I really want to
[03:18:52] self-contained. Do I really want to rerun that thing 100 times? Even if it's
[03:18:53] rerun that thing 100 times? Even if it's cheaper, probably not, right? Next up, I
[03:18:55] cheaper, probably not, right? Next up, I want to show you guys how to create what
[03:18:56] want to show you guys how to create what I'd consider to be the three most useful
[03:18:58] I'd consider to be the three most useful sub agents as of right now. So, what I'm
[03:19:00] sub agents as of right now. So, what I'm doing is I'm actually having Claude Code
[03:19:02] doing is I'm actually having Claude Code create these as we speak. One's called
[03:19:03] create these as we speak. One's called Code Reviewer. The other's called
[03:19:05] Code Reviewer. The other's called Researcher, and the last one's going to
[03:19:06] Researcher, and the last one's going to be called QA. And we're going to insert
[03:19:09] be called QA. And we're going to insert all three of these agents into this
[03:19:10] all three of these agents into this folder here alongside email classifier.
[03:19:12] folder here alongside email classifier. And then I'm going to update my cloud.MD
[03:19:14] And then I'm going to update my cloud.MD to reference the proposed workflow. Then
[03:19:16] to reference the proposed workflow. Then I'm going to show you what all that
[03:19:17] I'm going to show you what all that stuff looks like. Now, in order to use
[03:19:18] stuff looks like. Now, in order to use agents, what we actually have to do is
[03:19:20] agents, what we actually have to do is we have to um exit a a specific instance
[03:19:22] we have to um exit a a specific instance that we generated the agents in.
[03:19:24] that we generated the agents in. Otherwise, we're not going to see them
[03:19:25] Otherwise, we're not going to see them as available in our task definition. So,
[03:19:27] as available in our task definition. So, I'm just going to create a new instance
[03:19:29] I'm just going to create a new instance of cloud code. What sub agents do we
[03:19:31] of cloud code. What sub agents do we have access to? I also refreshed this so
[03:19:34] have access to? I also refreshed this so we could see them all.
[03:19:37] we could see them all. And as we can see, we have four. We have
[03:19:38] And as we can see, we have four. We have code reviewer, QA, research, and an
[03:19:40] code reviewer, QA, research, and an email classifier. Okay. What is the
[03:19:42] email classifier. Okay. What is the proposed
[03:19:44] proposed workflow every time we develop
[03:19:48] workflow every time we develop some software?
[03:19:49] some software? What I want it to do now is I want it to
[03:19:51] What I want it to do now is I want it to go through and then tell me first we
[03:19:52] go through and then tell me first we write the edit the code in the parent
[03:19:54] write the edit the code in the parent agent. Then we code code code review
[03:19:55] agent. Then we code code code review which spawns a code reviewer sub aent on
[03:19:57] which spawns a code reviewer sub aent on the change files fixes any blocking
[03:19:58] the change files fixes any blocking issues. Then we do a QA spawning a QA
[03:20:01] issues. Then we do a QA spawning a QA sub agent on the code generates tests
[03:20:02] sub agent on the code generates tests runs them reports results and fixes
[03:20:04] runs them reports results and fixes failures. Then finally we do a ship. So,
[03:20:06] failures. Then finally we do a ship. So, now that we have all that ready, let's
[03:20:07] now that we have all that ready, let's actually go and then let's use our new
[03:20:09] actually go and then let's use our new workflow on the flow that we just
[03:20:10] workflow on the flow that we just created before. So, I think it was the
[03:20:12] created before. So, I think it was the Gmail- label. Use our new workflow on
[03:20:15] Gmail- label. Use our new workflow on Gmail- label. It's the skill that looks
[03:20:18] Gmail- label. It's the skill that looks through my inbox and then labels emails.
[03:20:21] through my inbox and then labels emails. So, what I want to do is I want to read
[03:20:23] So, what I want to do is I want to read through the Gmail label skill to
[03:20:24] through the Gmail label skill to understand what we're working with. So,
[03:20:26] understand what we're working with. So, it's going to read the skill. Then, it's
[03:20:27] it's going to read the skill. Then, it's also going to go through all of the
[03:20:28] also going to go through all of the scripts. Then, I basically want to take
[03:20:30] scripts. Then, I basically want to take these scripts and then apply our little
[03:20:32] these scripts and then apply our little flow. So the first thing it's going to
[03:20:34] flow. So the first thing it's going to do is run the code review agent on all
[03:20:35] do is run the code review agent on all four scripts. And as you can see here,
[03:20:37] four scripts. And as you can see here, we can run these in tandem in parallel.
[03:20:40] we can run these in tandem in parallel. So first we're going to code review and
[03:20:41] So first we're going to code review and then we're also going to generate tests
[03:20:43] then we're also going to generate tests and run them for the Gmail label
[03:20:45] and run them for the Gmail label scripts. So we're going to use both of
[03:20:46] scripts. So we're going to use both of these and then we're going to use them
[03:20:47] these and then we're going to use them to feed back to our parent agent. Our
[03:20:49] to feed back to our parent agent. Our parent agent is going to make changes to
[03:20:50] parent agent is going to make changes to this code and significantly improve the
[03:20:52] this code and significantly improve the quality of said code. Now is this like
[03:20:53] quality of said code. Now is this like required to do every single time? No. As
[03:20:55] required to do every single time? No. As you guys could see, we capable of
[03:20:57] you guys could see, we capable of writing some pretty damn good code
[03:20:58] writing some pretty damn good code without knowing a lick of code. Um, with
[03:21:00] without knowing a lick of code. Um, with just like the vanilla cloud code
[03:21:01] just like the vanilla cloud code installation, this sort of stuff becomes
[03:21:03] installation, this sort of stuff becomes more and more valuable when you're
[03:21:04] more and more valuable when you're working at enterprise and you're
[03:21:06] working at enterprise and you're creating code that requires uh the
[03:21:07] creating code that requires uh the ability to one be like really secure and
[03:21:10] ability to one be like really secure and uh verifiable by both agents and then
[03:21:12] uh verifiable by both agents and then human beings if they read them. And then
[03:21:14] human beings if they read them. And then two to like account for all possible
[03:21:15] two to like account for all possible edge cases. You know, in my case, I
[03:21:17] edge cases. You know, in my case, I don't really care too much about
[03:21:18] don't really care too much about counting for all possible edge cases
[03:21:20] counting for all possible edge cases because most of the software I'm making
[03:21:21] because most of the software I'm making is for my own internal tooling. you
[03:21:23] is for my own internal tooling. you know, it's like a one-off landing page
[03:21:24] know, it's like a one-off landing page for a client to use, that sort of stuff.
[03:21:26] for a client to use, that sort of stuff. You know, if I'm working in a big
[03:21:27] You know, if I'm working in a big business, working in a versell or I'm
[03:21:28] business, working in a versell or I'm working in an open AAI or working in a,
[03:21:30] working in an open AAI or working in a, you know, I don't know, Oracle big
[03:21:32] you know, I don't know, Oracle big database or whatnot, the stuff becomes
[03:21:34] database or whatnot, the stuff becomes significantly more important. And that's
[03:21:35] significantly more important. And that's where, um, these sorts of code design
[03:21:37] where, um, these sorts of code design patterns become valuable. Okay, so we're
[03:21:38] patterns become valuable. Okay, so we're still waiting on the output of the other
[03:21:40] still waiting on the output of the other task, but if I scroll down here, you can
[03:21:41] task, but if I scroll down here, you can see there's actually some
[03:21:42] see there's actually some recommendations already. Um, this is
[03:21:44] recommendations already. Um, this is being provided inside of this task
[03:21:45] being provided inside of this task output. So, it's not written very well
[03:21:47] output. So, it's not written very well or nice. So, we're going to have to
[03:21:48] or nice. So, we're going to have to squint a bit, but code is correct,
[03:21:50] squint a bit, but code is correct, readable, and handles errors
[03:21:51] readable, and handles errors appropriately. Batch fetching uses 100
[03:21:54] appropriately. Batch fetching uses 100 per batch, but could use the Gmail API
[03:21:55] per batch, but could use the Gmail API max of a thousand requests per batch.
[03:21:57] max of a thousand requests per batch. That means that we could significantly
[03:21:58] That means that we could significantly improve the total efficiency of this
[03:22:00] improve the total efficiency of this flow. Uh, and that's one piece of value
[03:22:02] flow. Uh, and that's one piece of value that the code reviewer's already given
[03:22:04] that the code reviewer's already given for us. Then, we have some callback
[03:22:05] for us. Then, we have some callback stuff. So, basically, it's identified an
[03:22:07] stuff. So, basically, it's identified an error or an issue, which is quite
[03:22:09] error or an issue, which is quite useful.
[03:22:10] useful. um it's giving us some insights on the
[03:22:12] um it's giving us some insights on the readability and you know little
[03:22:14] readability and you know little commenting that we could be doing to
[03:22:15] commenting that we could be doing to make the code better and so on and so
[03:22:17] make the code better and so on and so forth. Okay, now the tests are
[03:22:19] forth. Okay, now the tests are completed. So it looks like we've passed
[03:22:21] completed. So it looks like we've passed most of the test. There's only one that
[03:22:22] most of the test. There's only one that had a wrong exception and now it's
[03:22:24] had a wrong exception and now it's feeding in all of this information to
[03:22:26] feeding in all of this information to the parent agent. The parent agent is
[03:22:27] the parent agent. The parent agent is going to go through and do the fix. So
[03:22:29] going to go through and do the fix. So 16 to 18 characters.
[03:22:32] 16 to 18 characters. It's going to jump through accepting
[03:22:34] It's going to jump through accepting uppercase and variable length hex IDs.
[03:22:36] uppercase and variable length hex IDs. No idea what that means, but of course,
[03:22:37] No idea what that means, but of course, this agent is now thinking dozens of
[03:22:39] this agent is now thinking dozens of times faster than I'd be able to. So,
[03:22:40] times faster than I'd be able to. So, I'm just going to trust that it's doing
[03:22:41] I'm just going to trust that it's doing well and then uh frontload all of this
[03:22:44] well and then uh frontload all of this double-checking, triple checking, QA,
[03:22:46] double-checking, triple checking, QA, and so on and so forth to minimize the
[03:22:47] and so on and so forth to minimize the possibility of longerterm errors. So,
[03:22:50] possibility of longerterm errors. So, that looks great. We've now run our new
[03:22:51] that looks great. We've now run our new flow, which uh has, you know, yielded
[03:22:53] flow, which uh has, you know, yielded significantly better benefits. Okay,
[03:22:55] significantly better benefits. Okay, great. now use the research sub agent to
[03:22:58] great. now use the research sub agent to go and find me the best um MCP server
[03:23:03] go and find me the best um MCP server currently available for Panda do.
[03:23:06] currently available for Panda do. So now I want to show you guys the value
[03:23:08] So now I want to show you guys the value of the research sub agent. This is now
[03:23:10] of the research sub agent. This is now spawned one of my research. So it's
[03:23:12] spawned one of my research. So it's going through it's doing tons of
[03:23:14] going through it's doing tons of research simultaneously
[03:23:17] research simultaneously trying a bunch of different you know
[03:23:18] trying a bunch of different you know search queries and so on and so forth.
[03:23:20] search queries and so on and so forth. It's now returned uh one of the web
[03:23:22] It's now returned uh one of the web search um results and as you can see
[03:23:25] search um results and as you can see it's also doing tons of different like
[03:23:27] it's also doing tons of different like HTTP requests and stuff like that
[03:23:28] HTTP requests and stuff like that simultaneously. Now I should note that
[03:23:30] simultaneously. Now I should note that like we already technically have a
[03:23:31] like we already technically have a research sub agent built in but you can
[03:23:33] research sub agent built in but you can modify that research sub aent flow by
[03:23:35] modify that research sub aent flow by telling it hey you know I want you to
[03:23:36] telling it hey you know I want you to use specific sources. I want you to
[03:23:38] use specific sources. I want you to trust these websites. I want you to you
[03:23:39] trust these websites. I want you to you know preferentially go directly to the
[03:23:41] know preferentially go directly to the API docs and stuff like that. And so
[03:23:43] API docs and stuff like that. And so that's what that research sub agent
[03:23:44] that's what that research sub agent allows us to do. allows us to research
[03:23:45] allows us to do. allows us to research things the way that we typically
[03:23:46] things the way that we typically research things which is going to be
[03:23:48] research things which is going to be different from just like doing a general
[03:23:49] different from just like doing a general Google request for I don't know good
[03:23:51] Google request for I don't know good APIs for Panda do. So again just to
[03:23:53] APIs for Panda do. So again just to really impress upon you the value of
[03:23:55] really impress upon you the value of these um really a big chunk of value is
[03:23:59] these um really a big chunk of value is it's cheaper to use Sonnet as of right
[03:24:04] it's cheaper to use Sonnet as of right now versus Opus. And so rather than do
[03:24:07] now versus Opus. And so rather than do your research or do your low uh you know
[03:24:11] your research or do your low uh you know leverage or low ROI stuff like reading
[03:24:13] leverage or low ROI stuff like reading through a large amount of data to
[03:24:14] through a large amount of data to extract something, it's better to use
[03:24:16] extract something, it's better to use the cheaper models. The next is that
[03:24:18] the cheaper models. The next is that it's parallelizable
[03:24:20] it's parallelizable which just means that you can spin up
[03:24:22] which just means that you can spin up multiple simultaneously and then wait
[03:24:23] multiple simultaneously and then wait for all their inputs as opposed to going
[03:24:25] for all their inputs as opposed to going one at a time. Like for instance, if
[03:24:27] one at a time. Like for instance, if this is us and this is sort of our task
[03:24:28] this is us and this is sort of our task flow. Um let's say you know this is sort
[03:24:31] flow. Um let's say you know this is sort of the serial method which is what we
[03:24:32] of the serial method which is what we were doing before. Let's say every
[03:24:34] were doing before. Let's say every search takes one minute. So you know
[03:24:36] search takes one minute. So you know this is task one takes one minute. This
[03:24:38] this is task one takes one minute. This is task two which takes one minute and
[03:24:41] is task two which takes one minute and then this is task three which takes one
[03:24:44] then this is task three which takes one minute. I guess this is two and then
[03:24:46] minute. I guess this is two and then this is three. That means in order to
[03:24:48] this is three. That means in order to get to you know
[03:24:51] get to you know the start of our query to the end of our
[03:24:53] the start of our query to the end of our query cloud code takes 3 minutes in
[03:24:56] query cloud code takes 3 minutes in total. Right? Well obviously u the
[03:24:58] total. Right? Well obviously u the parallel approach here is a lot better.
[03:25:00] parallel approach here is a lot better. we start and then what we do is we just
[03:25:03] we start and then what we do is we just spin up three different boxes here
[03:25:07] spin up three different boxes here simultaneously
[03:25:09] simultaneously and now these all take 1 minute and you
[03:25:13] and now these all take 1 minute and you know by the time that we end what we've
[03:25:14] know by the time that we end what we've done is we basically taken one minute
[03:25:17] done is we basically taken one minute because each of these are executing
[03:25:18] because each of these are executing sidelong sort of um with each other. The
[03:25:20] sidelong sort of um with each other. The last major benefit is the way that the
[03:25:22] last major benefit is the way that the context works. And so there's some
[03:25:24] context works. And so there's some situations like a, you know, reviewer
[03:25:26] situations like a, you know, reviewer sub agent where it's actually beneficial
[03:25:28] sub agent where it's actually beneficial not to have any of the context of the
[03:25:30] not to have any of the context of the code. It's not to have any of the biases
[03:25:32] code. It's not to have any of the biases of the decision-m of the previous parent
[03:25:34] of the decision-m of the previous parent agent. And sometimes, you know, choosing
[03:25:36] agent. And sometimes, you know, choosing a different model to do some of the
[03:25:37] a different model to do some of the reasoning can uh, you know, reveal
[03:25:40] reasoning can uh, you know, reveal things that maybe the parent agent
[03:25:41] things that maybe the parent agent didn't necessarily think of. Sometimes
[03:25:43] didn't necessarily think of. Sometimes it makes more sense to look at the
[03:25:44] it makes more sense to look at the ground at your feet and for instance the
[03:25:46] ground at your feet and for instance the dumbness rather than look up in the sky
[03:25:48] dumbness rather than look up in the sky at like all the complex advanced stuff.
[03:25:50] at like all the complex advanced stuff. Same thing with sort of like a QA agent.
[03:25:52] Same thing with sort of like a QA agent. The value of both of these is they don't
[03:25:54] The value of both of these is they don't necessarily know what's going on um in
[03:25:56] necessarily know what's going on um in terms of the broader world. All they're
[03:25:58] terms of the broader world. All they're really focused on is the code itself,
[03:26:00] really focused on is the code itself, the way that it was written. And so they
[03:26:01] the way that it was written. And so they get to optimize objectively at like the
[03:26:03] get to optimize objectively at like the way to make that thing as efficient as
[03:26:05] way to make that thing as efficient as possible. And that's sub agents in a
[03:26:06] possible. And that's sub agents in a nutshell. Doesn't have to be any more
[03:26:07] nutshell. Doesn't have to be any more complicated than that. It's basically
[03:26:08] complicated than that. It's basically just a folder structure and it's very
[03:26:10] just a folder structure and it's very similar to skills. My recommendation is
[03:26:12] similar to skills. My recommendation is use this in conjunction with things like
[03:26:14] use this in conjunction with things like skills to accomplish pre-existing
[03:26:15] skills to accomplish pre-existing workflows. Um, many times faster because
[03:26:18] workflows. Um, many times faster because of parallelization, but don't rely on
[03:26:20] of parallelization, but don't rely on sub agents because a lot of the time the
[03:26:21] sub agents because a lot of the time the time it takes to spin up a sub agent for
[03:26:23] time it takes to spin up a sub agent for a simple query can be just as long as it
[03:26:25] a simple query can be just as long as it would take to use just a parent agent to
[03:26:26] would take to use just a parent agent to do the thing instead. While sub agents
[03:26:28] do the thing instead. While sub agents sound really sexy and obviously
[03:26:29] sound really sexy and obviously everybody wants to have giant fleets and
[03:26:31] everybody wants to have giant fleets and swarms of them working for you on your
[03:26:33] swarms of them working for you on your behalf, um, be pragmatic and be
[03:26:35] behalf, um, be pragmatic and be efficient here. And now it's time to
[03:26:37] efficient here. And now it's time to discuss one of Claude Code's most
[03:26:39] discuss one of Claude Code's most commonly hyped and misunderstood, but
[03:26:41] commonly hyped and misunderstood, but also pretty powerful features, agent
[03:26:43] also pretty powerful features, agent teams. If you're unaware, Claude Code
[03:26:46] teams. If you're unaware, Claude Code recently unveiled new functionality
[03:26:47] recently unveiled new functionality where you can orchestrate a team of
[03:26:49] where you can orchestrate a team of agents, and you actually don't do the
[03:26:51] agents, and you actually don't do the orchestration yourself. You can actually
[03:26:53] orchestration yourself. You can actually spin up a team of agents that are
[03:26:55] spin up a team of agents that are managed by another agent for you, and
[03:26:57] managed by another agent for you, and then all you really need to do is just
[03:26:58] then all you really need to do is just report back to that manager agent, let
[03:26:59] report back to that manager agent, let them know what you want to do, and so on
[03:27:01] them know what you want to do, and so on and so forth.
[03:27:02] and so forth. >> [sighs and gasps]
[03:27:02] >> [sighs and gasps] >> Obviously, given the fact that this is
[03:27:04] >> Obviously, given the fact that this is pretty interesting at first glance, a
[03:27:05] pretty interesting at first glance, a lot of people are pretty stoked about it
[03:27:07] lot of people are pretty stoked about it and they've made tons of videos talking
[03:27:08] and they've made tons of videos talking all about how agent teams run their
[03:27:10] all about how agent teams run their whole life and have revolutionized
[03:27:11] whole life and have revolutionized programming and so on and so forth.
[03:27:13] programming and so on and so forth. Hopefully, in this module, I'm going to
[03:27:14] Hopefully, in this module, I'm going to show you that this is more of the same.
[03:27:16] show you that this is more of the same. And agent teams are just another way
[03:27:18] And agent teams are just another way that you can parallelize your workflow.
[03:27:19] that you can parallelize your workflow. So, the way I want you to think about
[03:27:21] So, the way I want you to think about agent teams are basically just a more
[03:27:23] agent teams are basically just a more advanced version of sub aents.
[03:27:25] advanced version of sub aents. Basically, both agent teams and sub
[03:27:27] Basically, both agent teams and sub aents are a mechanism of
[03:27:29] aents are a mechanism of parallelization.
[03:27:30] parallelization. like we had earlier when I showed you
[03:27:32] like we had earlier when I showed you that example of doing a bunch of
[03:27:34] that example of doing a bunch of classification. You know, we have a task
[03:27:37] classification. You know, we have a task and we could do the task one by one. And
[03:27:40] and we could do the task one by one. And if we do the task one by one, what we're
[03:27:42] if we do the task one by one, what we're doing is we're incurring a fair amount
[03:27:44] doing is we're incurring a fair amount of fixed time cost. Not to mention,
[03:27:46] of fixed time cost. Not to mention, there are some instances where task
[03:27:48] there are some instances where task steps aren't even necessary. And so if
[03:27:50] steps aren't even necessary. And so if each of these are 1 minute, obviously
[03:27:52] each of these are 1 minute, obviously that's 1 minute plus 1 minute plus 1
[03:27:54] that's 1 minute plus 1 minute plus 1 minute equals a total time of 3 minutes
[03:27:56] minute equals a total time of 3 minutes to complete the task. Multiply this by
[03:27:58] to complete the task. Multiply this by 60, you get an hour, an hour, an hour, 3
[03:28:01] 60, you get an hour, an hour, an hour, 3 hours. Uh I'm sure you can start
[03:28:03] hours. Uh I'm sure you can start understanding why we parallelize work.
[03:28:05] understanding why we parallelize work. Much better to be able to spin up three
[03:28:07] Much better to be able to spin up three separate solutions, have those operate
[03:28:10] separate solutions, have those operate simultaneously and then merely integrate
[03:28:13] simultaneously and then merely integrate their results into one thread. Okay, in
[03:28:16] their results into one thread. Okay, in a situation like this, assuming 1 2 3
[03:28:18] a situation like this, assuming 1 2 3 take 1 minute, obviously the total time
[03:28:20] take 1 minute, obviously the total time spent is about 1 minute. So just like
[03:28:21] spent is about 1 minute. So just like sub agents allows one agent to spin up a
[03:28:23] sub agents allows one agent to spin up a bunch of these different tasks and then
[03:28:25] bunch of these different tasks and then parallelize them. So too do agent teams.
[03:28:28] parallelize them. So too do agent teams. It's just they operate one level even
[03:28:30] It's just they operate one level even higher. Instead of splitting one thread
[03:28:33] higher. Instead of splitting one thread into three, what you end up doing is you
[03:28:35] into three, what you end up doing is you basically end up splitting as many
[03:28:37] basically end up splitting as many threads as you want into as many
[03:28:40] threads as you want into as many subthreads as you want as well. And so
[03:28:43] subthreads as you want as well. And so in this specific case basically I have
[03:28:45] in this specific case basically I have one what's called team lead agent. And
[03:28:49] one what's called team lead agent. And this team lead agent, as opposed to
[03:28:51] this team lead agent, as opposed to doing one, two, three, you know, four,
[03:28:54] doing one, two, three, you know, four, five, and six himself, what he's doing
[03:28:57] five, and six himself, what he's doing is he's splitting things up into two
[03:28:59] is he's splitting things up into two separate agents here, having them both
[03:29:01] separate agents here, having them both run three sub agents on their own and
[03:29:04] run three sub agents on their own and then combine that into uh, you know, one
[03:29:06] then combine that into uh, you know, one call. At the end of it, this agent then
[03:29:09] call. At the end of it, this agent then combines them back into the main thread
[03:29:11] combines them back into the main thread and then can reason about things and so
[03:29:13] and then can reason about things and so on and so forth. much in the same way
[03:29:15] on and so forth. much in the same way that you know if you think about it um
[03:29:17] that you know if you think about it um organizational hierarchies work you'll
[03:29:19] organizational hierarchies work you'll have like a manager up here in a
[03:29:21] have like a manager up here in a business and then you'll have you know
[03:29:23] business and then you'll have you know for the better lack of better words like
[03:29:25] for the better lack of better words like grunts uh down at the bottom. The
[03:29:27] grunts uh down at the bottom. The manager tells the grunt what to do. The
[03:29:29] manager tells the grunt what to do. The grunt goes does what they want and then
[03:29:32] grunt goes does what they want and then reports back. So too do we have sort of
[03:29:35] reports back. So too do we have sort of this um same system with uh sub aents
[03:29:38] this um same system with uh sub aents and now manager agents as well. And then
[03:29:40] and now manager agents as well. And then you basically sit outside of this whole
[03:29:42] you basically sit outside of this whole thing just watching it all occur and
[03:29:43] thing just watching it all occur and then nudging different people within the
[03:29:45] then nudging different people within the organization or letting the team lead
[03:29:47] organization or letting the team lead know you want to change something where
[03:29:48] know you want to change something where necessary. So if you break things down,
[03:29:50] necessary. So if you break things down, sub agents own all of the context window
[03:29:53] sub agents own all of the context window and the results return to the agent that
[03:29:56] and the results return to the agent that called them. So in our case, we have a
[03:29:58] called them. So in our case, we have a parent agent, we have a child agent. Our
[03:29:59] parent agent, we have a child agent. Our child agent owns its own context window
[03:30:02] child agent owns its own context window and the results every time always go
[03:30:04] and the results every time always go directly to the person or the agent, I
[03:30:06] directly to the person or the agent, I should say. Look at me
[03:30:07] should say. Look at me anthropomorphizing these damn things
[03:30:09] anthropomorphizing these damn things that called it. On agent teams, they own
[03:30:12] that called it. On agent teams, they own their own context window completely.
[03:30:13] their own context window completely. They're also fully independent and so
[03:30:15] They're also fully independent and so they don't necessarily have to return
[03:30:17] they don't necessarily have to return their results back to the caller. In
[03:30:19] their results back to the caller. In fact, agent teams can communicate
[03:30:21] fact, agent teams can communicate between them. So earlier where we saw
[03:30:23] between them. So earlier where we saw the grunts communicating with the
[03:30:25] the grunts communicating with the manager, grunts also have the ability to
[03:30:27] manager, grunts also have the ability to basically communicate between each
[03:30:28] basically communicate between each other. And while I think that this is
[03:30:31] other. And while I think that this is ultimately less powerful or less
[03:30:32] ultimately less powerful or less effective than communicating with the
[03:30:33] effective than communicating with the manager because the manager is
[03:30:34] manager because the manager is responsible for synthes synthesis, there
[03:30:37] responsible for synthes synthesis, there are some instances where you know Grunt
[03:30:38] are some instances where you know Grunt one does have a interesting revelation
[03:30:41] one does have a interesting revelation or timesaver for Grunt 2 that could save
[03:30:42] or timesaver for Grunt 2 that could save him a fair amount of time. And in that
[03:30:44] him a fair amount of time. And in that way um this sort of cross contamination
[03:30:47] way um this sort of cross contamination and cross-pollination of ideas while
[03:30:48] and cross-pollination of ideas while consuming significantly more tokens can
[03:30:50] consuming significantly more tokens can lead to a better quality final product.
[03:30:52] lead to a better quality final product. And that takes us to communication,
[03:30:53] And that takes us to communication, right? Um, with sub agents, you always
[03:30:55] right? Um, with sub agents, you always report back to the main agent only. But
[03:30:57] report back to the main agent only. But here, teammates can message each other
[03:30:58] here, teammates can message each other directly. Basically, what occurs in an
[03:31:00] directly. Basically, what occurs in an agent team is they build this mutual
[03:31:02] agent team is they build this mutual scratch pad, which is almost like a like
[03:31:04] scratch pad, which is almost like a like a message board or a BBS board, if you
[03:31:06] a message board or a BBS board, if you guys remember from way back in the day.
[03:31:07] guys remember from way back in the day. It's like a forum. It's like their own
[03:31:09] It's like a forum. It's like their own mini Reddit. And they'll post tasks that
[03:31:11] mini Reddit. And they'll post tasks that they're currently working on. If they
[03:31:12] they're currently working on. If they have any questions, they'll ask specific
[03:31:14] have any questions, they'll ask specific people that are responsible for those
[03:31:16] people that are responsible for those things. Uh, and they'll always just have
[03:31:17] things. Uh, and they'll always just have that stored in their context. So if
[03:31:19] that stored in their context. So if they, you know, have a question from one
[03:31:20] they, you know, have a question from one person, they can prioritize that
[03:31:22] person, they can prioritize that question and then go and find it in, I
[03:31:24] question and then go and find it in, I don't know, their context and
[03:31:25] don't know, their context and immediately reply. In that way, you
[03:31:27] immediately reply. In that way, you could save individual agents significant
[03:31:29] could save individual agents significant amounts of time. Terms of coordination
[03:31:31] amounts of time. Terms of coordination here, the main agent manages all the
[03:31:32] here, the main agent manages all the work. But with agent teams, it's a
[03:31:34] work. But with agent teams, it's a shared task list with self-coordination.
[03:31:36] shared task list with self-coordination. So just like we had a little Trello
[03:31:37] So just like we had a little Trello board or maybe, you know, a ClickUp uh
[03:31:40] board or maybe, you know, a ClickUp uh task list or something like that, so too
[03:31:42] task list or something like that, so too do these agents work off the JSON
[03:31:43] do these agents work off the JSON equivalent.
[03:31:45] equivalent. They say that sub aents are best for
[03:31:46] They say that sub aents are best for focused tasks where only one result
[03:31:48] focused tasks where only one result matters whereas agent teams are best for
[03:31:50] matters whereas agent teams are best for complex work requiring discussion and
[03:31:52] complex work requiring discussion and collaboration. You know this is just one
[03:31:54] collaboration. You know this is just one of those like little marketing isms. The
[03:31:55] of those like little marketing isms. The definition between focused task and
[03:31:58] definition between focused task and complex task is very very fuzzy and
[03:32:00] complex task is very very fuzzy and there is no real delineation between
[03:32:02] there is no real delineation between them. Sort of like how there's a certain
[03:32:03] them. Sort of like how there's a certain point at which a hill becomes a mountain
[03:32:05] point at which a hill becomes a mountain but nobody could tell you exactly how
[03:32:06] but nobody could tell you exactly how many feet high the hill needs to be or
[03:32:09] many feet high the hill needs to be or whatever, right? It's just one of those
[03:32:11] whatever, right? It's just one of those things where when you know you know. And
[03:32:13] things where when you know you know. And finally, the token cost of sub agents
[03:32:14] finally, the token cost of sub agents are quite low, relatively speaking,
[03:32:16] are quite low, relatively speaking, whereas agent teams are very, very high
[03:32:18] whereas agent teams are very, very high because every teammate is actually a
[03:32:19] because every teammate is actually a whole separate cla instance. So when you
[03:32:22] whole separate cla instance. So when you scale up and spin up a bunch of these,
[03:32:24] scale up and spin up a bunch of these, you can use a fair amount of tokens
[03:32:25] you can use a fair amount of tokens quite quickly. Now, I should note that
[03:32:26] quite quickly. Now, I should note that agent teams are not enabled by default
[03:32:28] agent teams are not enabled by default because they are what we call an
[03:32:30] because they are what we call an experimental feature. This may not
[03:32:31] experimental feature. This may not necessarily be true by the time you're
[03:32:33] necessarily be true by the time you're watching, by the way, but for now they
[03:32:34] watching, by the way, but for now they are. Um, they have set them to off
[03:32:38] are. Um, they have set them to off essentially by default. And so only
[03:32:39] essentially by default. And so only advanced users really get to peer behind
[03:32:41] advanced users really get to peer behind the curtain and and use them. The way
[03:32:43] the curtain and and use them. The way that you enable them is you edit your
[03:32:46] that you enable them is you edit your settings.json in your current workspace
[03:32:48] settings.json in your current workspace and you just create this sort of little
[03:32:50] and you just create this sort of little string. You have this curly brace. You
[03:32:51] string. You have this curly brace. You have in env. You have cloud code
[03:32:54] have in env. You have cloud code experimental agent teams. You set that
[03:32:55] experimental agent teams. You set that to one and then you have some closing
[03:32:56] to one and then you have some closing curly brackets. You don't need to worry
[03:32:58] curly brackets. You don't need to worry too much about that. We'll do that in
[03:32:59] too much about that. We'll do that in like 5 seconds. Finally, the cool thing
[03:33:00] like 5 seconds. Finally, the cool thing about agent teams as mentioned is you
[03:33:02] about agent teams as mentioned is you can't just it's not only that you can
[03:33:04] can't just it's not only that you can communicate with the parent agent, you
[03:33:06] communicate with the parent agent, you can communicate with all of the agents.
[03:33:07] can communicate with all of the agents. So if uh I don't know you want to
[03:33:09] So if uh I don't know you want to context switch and tell agent 3 in the
[03:33:11] context switch and tell agent 3 in the se sequence to do something different
[03:33:13] se sequence to do something different than it was currently doing. You can
[03:33:14] than it was currently doing. You can absolutely do that really easily. There
[03:33:16] absolutely do that really easily. There are two different ways to do so. There's
[03:33:18] are two different ways to do so. There's what's called in process mode and then
[03:33:19] what's called in process mode and then split pane mode at least as of the time
[03:33:20] split pane mode at least as of the time of this recording. One is where you
[03:33:22] of this recording. One is where you basically just like alt tab through all
[03:33:24] basically just like alt tab through all of them. The other is where there's just
[03:33:25] of them. The other is where there's just multiple panes and so you'll see agent
[03:33:27] multiple panes and so you'll see agent one over here. You'll see agent two over
[03:33:28] one over here. You'll see agent two over here. Agent three over here. And then
[03:33:30] here. Agent three over here. And then you'll kind of get their feed. Um, I
[03:33:32] you'll kind of get their feed. Um, I will note I've done this before,
[03:33:33] will note I've done this before, unfortunately, because cloud code
[03:33:35] unfortunately, because cloud code renders your uh it's not just like a
[03:33:37] renders your uh it's not just like a simple text terminal. Basically, they're
[03:33:39] simple text terminal. Basically, they're like rendering this 2D image constantly
[03:33:42] like rendering this 2D image constantly on your screen. It can consume a fair
[03:33:44] on your screen. It can consume a fair amount of compute. So, I don't actually
[03:33:45] amount of compute. So, I don't actually like using it that way anymore. I I
[03:33:46] like using it that way anymore. I I basically always use an in process, but
[03:33:48] basically always use an in process, but I'll run you through what that looks
[03:33:49] I'll run you through what that looks like if you did want to use split pane
[03:33:51] like if you did want to use split pane mode. And then obligatory agent team
[03:33:52] mode. And then obligatory agent team tokens cost way more because you're
[03:33:55] tokens cost way more because you're spawning tons of different cloud
[03:33:56] spawning tons of different cloud instances and every single one has its
[03:33:58] instances and every single one has its own context window and can do its own
[03:34:00] own context window and can do its own stuff. So, if you have like 10 active
[03:34:02] stuff. So, if you have like 10 active agents running, you're going to consume
[03:34:03] agents running, you're going to consume about 10 times the context, if not more,
[03:34:05] about 10 times the context, if not more, because there's also going to be some
[03:34:06] because there's also going to be some coordination and communication um lag
[03:34:08] coordination and communication um lag and overhead. So, they have some
[03:34:10] and overhead. So, they have some recommendations here. They say use
[03:34:11] recommendations here. They say use Sonnet for teammates. Keep teams really
[03:34:13] Sonnet for teammates. Keep teams really small because every teammate runs its
[03:34:15] small because every teammate runs its own context window. So, token usage is
[03:34:16] own context window. So, token usage is roughly proportional to team size. Keep
[03:34:18] roughly proportional to team size. Keep the spawn prompts focused. We don't know
[03:34:20] the spawn prompts focused. We don't know what those are, so I'll tell you that in
[03:34:21] what those are, so I'll tell you that in a second. Teammates will load their own
[03:34:23] a second. Teammates will load their own cloud MD, MCP servers, and skills
[03:34:25] cloud MD, MCP servers, and skills automatically, but everything in the
[03:34:26] automatically, but everything in the spawn prompt will also add to their
[03:34:28] spawn prompt will also add to their context from the start. clean up teams
[03:34:30] context from the start. clean up teams when the work is done. So, you can
[03:34:31] when the work is done. So, you can actually roll them down or shut them
[03:34:33] actually roll them down or shut them down. And then, yeah, you know, agent
[03:34:34] down. And then, yeah, you know, agent teams are disabled by default because
[03:34:35] teams are disabled by default because they don't want anybody blowing $10,000
[03:34:37] they don't want anybody blowing $10,000 on agent teams in a day, which uh you
[03:34:40] on agent teams in a day, which uh you can absolutely do if you're not careful.
[03:34:41] can absolutely do if you're not careful. That's why limits are so important.
[03:34:42] That's why limits are so important. Okay, so first things first, we have to
[03:34:44] Okay, so first things first, we have to actually enable agent teams. So, I'm
[03:34:46] actually enable agent teams. So, I'm just going to jump over here to this
[03:34:47] just going to jump over here to this URL, and then I'm just going to copy all
[03:34:49] URL, and then I'm just going to copy all of the text on this page, and I'm going
[03:34:51] of the text on this page, and I'm going to go over to anti-gravity. Open that
[03:34:54] to go over to anti-gravity. Open that puppy up. And just for the purposes of
[03:34:56] puppy up. And just for the purposes of this example, I'm actually just going to
[03:34:57] this example, I'm actually just going to open a new folder. So, go to my Mac and
[03:34:59] open a new folder. So, go to my Mac and then I'll say agent teams example. Okay.
[03:35:03] then I'll say agent teams example. Okay. Going to open that and then what I'm
[03:35:05] Going to open that and then what I'm going to do is go over to Claude, paste
[03:35:07] going to do is go over to Claude, paste this in, and I'm going to say enable
[03:35:10] this in, and I'm going to say enable agent teams. I'm going to go bypass
[03:35:12] agent teams. I'm going to go bypass permissions. Close this puppy out so we
[03:35:14] permissions. Close this puppy out so we can all see it. Maybe bump this out a
[03:35:17] can all see it. Maybe bump this out a bit so you guys can always see the text.
[03:35:19] bit so you guys can always see the text. So, it's now added my um settings.json
[03:35:22] So, it's now added my um settings.json here, and it's kind of fixed it. Okay,
[03:35:24] here, and it's kind of fixed it. Okay, so this is now good to go. And it's
[03:35:25] so this is now good to go. And it's enabled this across uh my global
[03:35:27] enabled this across uh my global workspace. So, it's not actually even in
[03:35:29] workspace. So, it's not actually even in my file. Let's start with a really
[03:35:30] my file. Let's start with a really simple example of agent teams so I could
[03:35:32] simple example of agent teams so I could show you the parallelization aspect. And
[03:35:34] show you the parallelization aspect. And then what we'll do is we'll actually go
[03:35:35] then what we'll do is we'll actually go into an open-source codebase and I'll
[03:35:37] into an open-source codebase and I'll use agent teams to act as both uh code
[03:35:40] use agent teams to act as both uh code reviewers and then also debaters to
[03:35:42] reviewers and then also debaters to debate between each other until they
[03:35:44] debate between each other until they determine consensus on how to make the
[03:35:45] determine consensus on how to make the code even better. So, our first super
[03:35:47] code even better. So, our first super simple example is going to be I'm
[03:35:48] simple example is going to be I'm designing a simple personal website for
[03:35:50] designing a simple personal website for Nick Sarrive. Generate three agents
[03:35:51] Nick Sarrive. Generate three agents using a team and create three
[03:35:53] using a team and create three fundamentally different designs. Open
[03:35:54] fundamentally different designs. Open all three once done and I'll compare,
[03:35:56] all three once done and I'll compare, contrast, and give feedback.
[03:35:59] contrast, and give feedback. Also,
[03:36:02] Also, make sure they know everything there is
[03:36:05] make sure they know everything there is to know about me. So, nobody is waiting
[03:36:09] to know about me. So, nobody is waiting on anything. Okay, so I'm using the
[03:36:12] on anything. Okay, so I'm using the terminal for this just because the
[03:36:13] terminal for this just because the terminal UX is much nicer for agent
[03:36:15] terminal UX is much nicer for agent teams than the GUIX. I'm sure that'll
[03:36:17] teams than the GUIX. I'm sure that'll change at some point, but yeah, I also
[03:36:19] change at some point, but yeah, I also have fast mode on up here, which is just
[03:36:20] have fast mode on up here, which is just allowing me to do this a little bit
[03:36:22] allowing me to do this a little bit faster. And so, as you see, what's
[03:36:23] faster. And so, as you see, what's occurred is the agent, this parent agent
[03:36:26] occurred is the agent, this parent agent here, Opus 4.6, sort of made the
[03:36:27] here, Opus 4.6, sort of made the executive decision for its very first
[03:36:30] executive decision for its very first task basically. Oh, that's so cool. I
[03:36:33] task basically. Oh, that's so cool. I didn't even know I could do this to do
[03:36:34] didn't even know I could do this to do research um on Nick. And so, after it's
[03:36:37] research um on Nick. And so, after it's done the research, basically, it's now
[03:36:39] done the research, basically, it's now going to spin up um you know, three
[03:36:41] going to spin up um you know, three agents. One for site one, another for
[03:36:43] agents. One for site one, another for site two, and another for site three. I
[03:36:45] site two, and another for site three. I really got to figure out how to do this
[03:36:46] really got to figure out how to do this with hotkeys. It's super annoying.
[03:36:49] with hotkeys. It's super annoying. Um, and then these three agents are
[03:36:50] Um, and then these three agents are going to go working on this thing
[03:36:52] going to go working on this thing simultaneously and independently. And
[03:36:53] simultaneously and independently. And then they're going to combine those
[03:36:54] then they're going to combine those three websites back into just like we
[03:36:57] three websites back into just like we did with sub agents, sort of that main
[03:36:58] did with sub agents, sort of that main thread. Um, but what's cool is, you
[03:37:00] thread. Um, but what's cool is, you know, these three different agent teams
[03:37:02] know, these three different agent teams since they're all individual cloud code
[03:37:03] since they're all individual cloud code instances. They get to do a variety of
[03:37:04] instances. They get to do a variety of different um things. They also get to
[03:37:06] different um things. They also get to like access their own agents, use their
[03:37:08] like access their own agents, use their own codebase and stuff like that. So
[03:37:10] own codebase and stuff like that. So what's really cool is we have three
[03:37:13] what's really cool is we have three agents now working in parallel. The
[03:37:14] agents now working in parallel. The first is called design minimalist. The
[03:37:16] first is called design minimalist. The second is called design dark. And the
[03:37:18] second is called design dark. And the third is called design warm. I ask for
[03:37:19] third is called design warm. I ask for fundamentally different types of
[03:37:21] fundamentally different types of designs, which is why they're doing
[03:37:22] designs, which is why they're doing this. Now, if you wanted to see all
[03:37:23] this. Now, if you wanted to see all these agents run simultaneously, all
[03:37:24] these agents run simultaneously, all you'd have to do is just go shift up or
[03:37:26] you'd have to do is just go shift up or down. And so, right now, I'm in the team
[03:37:29] down. And so, right now, I'm in the team lead context, but I could actually go
[03:37:31] lead context, but I could actually go down here and then press enter. And now
[03:37:32] down here and then press enter. And now I'm in the design dark. As you see here,
[03:37:34] I'm in the design dark. As you see here, we got a ton of information here with
[03:37:36] we got a ton of information here with some uh context about who Nick Sarif is.
[03:37:38] some uh context about who Nick Sarif is. And then it says, "You're designing a
[03:37:39] And then it says, "You're designing a personal website. Create a single
[03:37:40] personal website. Create a single self-contained file." It's now creating
[03:37:42] self-contained file." It's now creating a bold dark tech website. We could also
[03:37:45] a bold dark tech website. We could also go up to the main team lead. And then
[03:37:46] go up to the main team lead. And then you can see that it's let me know that
[03:37:48] you can see that it's let me know that the design minimalist is done and it's
[03:37:50] the design minimalist is done and it's still waiting on design dark and design
[03:37:51] still waiting on design dark and design warm to finish their build. So I mean
[03:37:53] warm to finish their build. So I mean like how exactly is this different from
[03:37:55] like how exactly is this different from um I don't know like sub aents right
[03:37:57] um I don't know like sub aents right now. Well uh it's different from sub
[03:37:59] now. Well uh it's different from sub aents in that you can treat every one of
[03:38:02] aents in that you can treat every one of these as basically having its own whole
[03:38:04] these as basically having its own whole claude code instance available to it.
[03:38:06] claude code instance available to it. Okay, whereas before every individual
[03:38:08] Okay, whereas before every individual sub agent only had access to the
[03:38:10] sub agent only had access to the contacts that the parent agent gave.
[03:38:11] contacts that the parent agent gave. Realistically, what I could do is I
[03:38:13] Realistically, what I could do is I could add a claw.md and all three of
[03:38:15] could add a claw.md and all three of these would have access to claw.md um
[03:38:17] these would have access to claw.md um you know, style guides and stuff like
[03:38:19] you know, style guides and stuff like that. So, I'm going to take a look at
[03:38:20] that. So, I'm going to take a look at this. Okay, saying that it's all done
[03:38:22] this. Okay, saying that it's all done now. And it actually shut down all three
[03:38:24] now. And it actually shut down all three of those agents as well, which is
[03:38:25] of those agents as well, which is really, really important. If they're
[03:38:26] really, really important. If they're constantly running in the background, um
[03:38:28] constantly running in the background, um you're also going to be computing uh
[03:38:30] you're also going to be computing uh consuming compute resources just as well
[03:38:32] consuming compute resources just as well as you are tokens. [gasps] Now, I'm
[03:38:33] as you are tokens. [gasps] Now, I'm going to compare which ones I like more.
[03:38:35] going to compare which ones I like more. This one up here is building at the
[03:38:36] This one up here is building at the intersection of AI and human ambition.
[03:38:38] intersection of AI and human ambition. Wow, look at that. That's nice. Jeez.
[03:38:41] Wow, look at that. That's nice. Jeez. insane. It's got a couple things wrong
[03:38:43] insane. It's got a couple things wrong here. Definitely have more than 150k
[03:38:44] here. Definitely have more than 150k YouTube subs, but what are you gonna do?
[03:38:46] YouTube subs, but what are you gonna do? Looks like it does have my links, which
[03:38:48] Looks like it does have my links, which is kind of cool. This is like uh you
[03:38:50] is kind of cool. This is like uh you know, dark coding one. Look at that.
[03:38:52] know, dark coding one. Look at that. Isn't that neat? And [snorts] this one
[03:38:54] Isn't that neat? And [snorts] this one over here is uh very interesting.
[03:38:56] over here is uh very interesting. There's no picture of me on it, but hey,
[03:38:57] There's no picture of me on it, but hey, what are you going to do? [laughter]
[03:38:59] what are you going to do? [laughter] That's my little nightclub promotions
[03:39:01] That's my little nightclub promotions party business. That's a hell of a
[03:39:03] party business. That's a hell of a throwback. And uh yeah, what happens if
[03:39:05] throwback. And uh yeah, what happens if I click this? Okay, cool. We go we go
[03:39:06] I click this? Okay, cool. We go we go back to our YouTube. That's really
[03:39:08] back to our YouTube. That's really exciting. So, I mean, like I don't know,
[03:39:09] exciting. So, I mean, like I don't know, maybe h
[03:39:12] maybe h maybe I really like
[03:39:15] maybe I really like uh the first one. So, now what I'm going
[03:39:17] uh the first one. So, now what I'm going to do is I'm going to go back and I'm
[03:39:18] to do is I'm going to go back and I'm going to say, "Hey, I really liked the
[03:39:20] going to say, "Hey, I really liked the warm narrative option. Looks great. I'd
[03:39:23] warm narrative option. Looks great. I'd like now I'd like you now to spin up
[03:39:24] like now I'd like you now to spin up three more agents. I then want you guys
[03:39:26] three more agents. I then want you guys to do research on um
[03:39:30] to do research on um effective design principles and
[03:39:33] effective design principles and copywriting principles that convert. Uh
[03:39:36] copywriting principles that convert. Uh once done, I want you to spin up a bunch
[03:39:38] once done, I want you to spin up a bunch of agents to iterate on this design and
[03:39:41] of agents to iterate on this design and come out with their own flavors or
[03:39:43] come out with their own flavors or versions then to report back to me. So
[03:39:45] versions then to report back to me. So now what I'm doing is I'm taking uh you
[03:39:46] now what I'm doing is I'm taking uh you know this winning design here, the warm
[03:39:48] know this winning design here, the warm one. It's going to take this warm
[03:39:50] one. It's going to take this warm beautiful thing and then I basically
[03:39:51] beautiful thing and then I basically wanted to like iterate on it even more.
[03:39:53] wanted to like iterate on it even more. And as you saw this occurred pretty
[03:39:54] And as you saw this occurred pretty quickly, right? I mean this took me
[03:39:56] quickly, right? I mean this took me maybe like 2 minutes or so. Is it
[03:39:57] maybe like 2 minutes or so. Is it perfect? No. But um because it's not
[03:40:00] perfect? No. But um because it's not perfect, I basically just want to have
[03:40:01] perfect, I basically just want to have Claude do a bunch of iterations on it
[03:40:02] Claude do a bunch of iterations on it and then give me what I consider to be
[03:40:04] and then give me what I consider to be an even better version, which I think it
[03:40:05] an even better version, which I think it can do pretty quick. So, it's going to
[03:40:07] can do pretty quick. So, it's going to spin up a bunch more. We have research
[03:40:08] spin up a bunch more. We have research copy, research design, and research
[03:40:10] copy, research design, and research examples. This is a good um you know,
[03:40:12] examples. This is a good um you know, actual use case here. It's doing three
[03:40:15] actual use case here. It's doing three research agents in parallel. We have one
[03:40:18] research agents in parallel. We have one that's figuring out like strong design
[03:40:20] that's figuring out like strong design principles based off of, you know,
[03:40:21] principles based off of, you know, winning combinations. There's another
[03:40:23] winning combinations. There's another that's doing some copyrightiting
[03:40:24] that's doing some copyrightiting fundamentals. And then the third that is
[03:40:26] fundamentals. And then the third that is looking for highquality creator sites.
[03:40:28] looking for highquality creator sites. So Ali Abdal guy that I like, Hormosi,
[03:40:30] So Ali Abdal guy that I like, Hormosi, obviously Danco. These guys are perfect.
[03:40:33] obviously Danco. These guys are perfect. More or less exactly what I'm looking
[03:40:34] More or less exactly what I'm looking for. So it's going to go do a bunch of
[03:40:36] for. So it's going to go do a bunch of research on them. And then it's going to
[03:40:37] research on them. And then it's going to incorporate that in presumably some
[03:40:39] incorporate that in presumably some other type of designer. I could see the
[03:40:41] other type of designer. I could see the status by going shift up and down. So,
[03:40:43] status by going shift up and down. So, this person here, research copy, it's
[03:40:45] this person here, research copy, it's looking up uh I don't know, best hero
[03:40:48] looking up uh I don't know, best hero copy formulas, personal brand, scannable
[03:40:50] copy formulas, personal brand, scannable web copy, best practices, David
[03:40:53] web copy, best practices, David O'ilyriting Principles, headlines that
[03:40:55] O'ilyriting Principles, headlines that work. Right? If I go down here to
[03:40:57] work. Right? If I go down here to research examples, this agent is now
[03:41:00] research examples, this agent is now writing up a bunch of highquality
[03:41:02] writing up a bunch of highquality website styles. It's then analyzing the
[03:41:04] website styles. It's then analyzing the websites and, you know, giving me all of
[03:41:06] websites and, you know, giving me all of the copy and stuff like that.
[03:41:07] the copy and stuff like that. Presumably, it's going to integrate this
[03:41:08] Presumably, it's going to integrate this into something nice. [gasps] Then if I
[03:41:10] into something nice. [gasps] Then if I go back up to the team lead, then I can
[03:41:12] go back up to the team lead, then I can see that it's, you know, basically just
[03:41:13] see that it's, you know, basically just waiting on all three of these to finish.
[03:41:15] waiting on all three of these to finish. What's cool is these three all have
[03:41:17] What's cool is these three all have their own token usages as you see here.
[03:41:19] their own token usages as you see here. So 53,000. This one here is 56,000. This
[03:41:21] So 53,000. This one here is 56,000. This one here is 50,000. When they finish,
[03:41:23] one here is 50,000. When they finish, um, it then says idle and it tells you
[03:41:25] um, it then says idle and it tells you how many seconds that the agent is idle.
[03:41:27] how many seconds that the agent is idle. This is, you know, mildly useful.
[03:41:29] This is, you know, mildly useful. Obviously, not utilizing your clawed
[03:41:31] Obviously, not utilizing your clawed agents is one of like the biggest issues
[03:41:32] agents is one of like the biggest issues with them. So, what this thing is going
[03:41:34] with them. So, what this thing is going to do is basically wait for these other
[03:41:35] to do is basically wait for these other two to finish and then if these other
[03:41:37] two to finish and then if these other two um don't finish after a certain
[03:41:38] two um don't finish after a certain amount of time, it'll actually just wind
[03:41:40] amount of time, it'll actually just wind down the research design agent to stop
[03:41:41] down the research design agent to stop consuming my compute and stuff. Probably
[03:41:43] consuming my compute and stuff. Probably the research examples is going to take
[03:41:45] the research examples is going to take the longest time just cuz I think that
[03:41:46] the longest time just cuz I think that that's like less of a a clearcut
[03:41:49] that's like less of a a clearcut definition of done, but we'll see. And
[03:41:50] definition of done, but we'll see. And then what's really nice is these are
[03:41:52] then what's really nice is these are cheaper models, right? 58,000 tokens on
[03:41:55] cheaper models, right? 58,000 tokens on the cheaper model, 56,000 tokens on the
[03:41:57] the cheaper model, 56,000 tokens on the cheaper model, then only 2,000 tokens on
[03:41:59] cheaper model, then only 2,000 tokens on the most expensive model. And so we
[03:42:01] the most expensive model. And so we haven't actually integrated all of that
[03:42:02] haven't actually integrated all of that stuff back into the main yet. Um, but as
[03:42:04] stuff back into the main yet. Um, but as these finish, they will eventually, you
[03:42:06] these finish, they will eventually, you know, take all of their tokens and then
[03:42:07] know, take all of their tokens and then bring them back in. And so this token
[03:42:09] bring them back in. And so this token count will uh will increase
[03:42:10] count will uh will increase significantly. Okay, now that all three
[03:42:12] significantly. Okay, now that all three of these are done, we've collapsed these
[03:42:14] of these are done, we've collapsed these three agents into uh the team lead. Now
[03:42:17] three agents into uh the team lead. Now we have these big design principles doc,
[03:42:20] we have these big design principles doc, research copyrightiting doc, you know,
[03:42:21] research copyrightiting doc, you know, research site example doc. And because
[03:42:24] research site example doc. And because I've empowered the uh team lead to be
[03:42:26] I've empowered the uh team lead to be able to spin up new agents based off of,
[03:42:28] able to spin up new agents based off of, you know, various things like the
[03:42:30] you know, various things like the conversion rate, the the copy, the
[03:42:32] conversion rate, the the copy, the creative, and the style, it's now
[03:42:34] creative, and the style, it's now generating new ones. So, there's an
[03:42:36] generating new ones. So, there's an iterate dark iterate conversion. I don't
[03:42:39] iterate dark iterate conversion. I don't know how many of this these it's going
[03:42:41] know how many of this these it's going to spin up, but it's definitely going to
[03:42:42] to spin up, but it's definitely going to spin up some. In the meantime, we also
[03:42:44] spin up some. In the meantime, we also have these really dense research
[03:42:45] have these really dense research summaries. So, I can actually open this
[03:42:47] summaries. So, I can actually open this research design principles doc if I just
[03:42:50] research design principles doc if I just um scroll down a bit. So you can see we
[03:42:52] um scroll down a bit. So you can see we now have things like there's a Z pattern
[03:42:55] now have things like there's a Z pattern layout. Since the I starts in the top
[03:42:56] layout. Since the I starts in the top left and moves to the top right, your
[03:42:58] left and moves to the top right, your nav and CTA should be a particular
[03:42:59] nav and CTA should be a particular places. There's also an F pattern layout
[03:43:01] places. There's also an F pattern layout and different actionable recommendations
[03:43:03] and different actionable recommendations on color psychology and so on and so
[03:43:05] on color psychology and so on and so forth. I mean this is a tremendous
[03:43:06] forth. I mean this is a tremendous amount of text. Is this the most
[03:43:07] amount of text. Is this the most efficient way to like get all this
[03:43:09] efficient way to like get all this across? Probably not. But because these
[03:43:10] across? Probably not. But because these models just think so much quicker than
[03:43:12] models just think so much quicker than we do at this point, we don't really
[03:43:13] we do at this point, we don't really need it to be as efficient. We can
[03:43:14] need it to be as efficient. We can actually just throw a tremendous amount
[03:43:15] actually just throw a tremendous amount of text at a prompt and it can actually
[03:43:17] of text at a prompt and it can actually do a pretty good job. What I really like
[03:43:18] do a pretty good job. What I really like about this is it took key inspirations
[03:43:20] about this is it took key inspirations from different people. So in this case,
[03:43:22] from different people. So in this case, Justin Welsh's upside down homepage. I
[03:43:24] Justin Welsh's upside down homepage. I really like Justin Welsh. That's great.
[03:43:26] really like Justin Welsh. That's great. Dan Co and Seahill Bloom's dark premium
[03:43:28] Dan Co and Seahill Bloom's dark premium bold typography. Origin story is some
[03:43:30] bold typography. Origin story is some sort of cinematic centerpiece. Like it's
[03:43:32] sort of cinematic centerpiece. Like it's taken inspiration from all these
[03:43:33] taken inspiration from all these different people. Then it's combining
[03:43:35] different people. Then it's combining them with slightly different
[03:43:37] them with slightly different copyrightiting directions to create
[03:43:38] copyrightiting directions to create things that are ultimately new and
[03:43:40] things that are ultimately new and presumably going to be quite different.
[03:43:42] presumably going to be quite different. And you know, I think a lot of people
[03:43:43] And you know, I think a lot of people rag on agents and AI as not really being
[03:43:46] rag on agents and AI as not really being creative. Like what is creativity? Um,
[03:43:48] creative. Like what is creativity? Um, if not just like combining things over
[03:43:50] if not just like combining things over and over and over again in like a
[03:43:51] and over and over again in like a million different combinations. I'd
[03:43:52] million different combinations. I'd wager most things that you probably
[03:43:54] wager most things that you probably consider to be creative are things that
[03:43:56] consider to be creative are things that like whose pre-existing pieces and
[03:43:58] like whose pre-existing pieces and principles existed before and AI just
[03:44:00] principles existed before and AI just combined them into something that maybe
[03:44:02] combined them into something that maybe hadn't really been put together in that
[03:44:03] hadn't really been put together in that way. There are certain sentences that
[03:44:04] way. There are certain sentences that have never been said before or written
[03:44:06] have never been said before or written before. You could be the first to write
[03:44:08] before. You could be the first to write one. Some of them are quite creative.
[03:44:09] one. Some of them are quite creative. Okay. And we are done. So the first site
[03:44:11] Okay. And we are done. So the first site here is I help aspiring a entrepreneurs
[03:44:12] here is I help aspiring a entrepreneurs build their first 25K month automation
[03:44:14] build their first 25K month automation agency. I like this. This is really
[03:44:16] agency. I like this. This is really clean. That's actually quite the value
[03:44:17] clean. That's actually quite the value prop. We do have an issue with the
[03:44:18] prop. We do have an issue with the button obviously. So the thing is this
[03:44:20] button obviously. So the thing is this model does not uh was not given the
[03:44:22] model does not uh was not given the ability to screenshot. I bet you if I
[03:44:24] ability to screenshot. I bet you if I did that would have been pretty
[03:44:26] did that would have been pretty straightforward. So this is a good
[03:44:27] straightforward. So this is a good opportunity for me to update the
[03:44:28] opportunity for me to update the cloud.md and say hey you know you can do
[03:44:30] cloud.md and say hey you know you can do some screenshots still. This looks
[03:44:32] some screenshots still. This looks really great. Step one watch the free
[03:44:34] really great. Step one watch the free training. Step two join maker school.
[03:44:35] training. Step two join maker school. Step three build your agency. I mean,
[03:44:37] Step three build your agency. I mean, honestly, the fact that this is just a
[03:44:38] honestly, the fact that this is just a couple of minutes. This is so much
[03:44:40] couple of minutes. This is so much better than what um I could have done in
[03:44:42] better than what um I could have done in an equivalent amount of time, it's not
[03:44:43] an equivalent amount of time, it's not even funny. And not only did I generate
[03:44:45] even funny. And not only did I generate one, I generated three. So now I have a
[03:44:48] one, I generated three. So now I have a dark one, right? That's pretty clean. I
[03:44:50] dark one, right? That's pretty clean. I like that. This must be the Danco one.
[03:44:54] like that. This must be the Danco one. There has to be a faster way to matter.
[03:44:55] There has to be a faster way to matter. Oo, that's clean. Right? Again, it's
[03:44:58] Oo, that's clean. Right? Again, it's taken that main website and then it's
[03:45:00] taken that main website and then it's iterated on it based off of different
[03:45:02] iterated on it based off of different styles and different approaches, which
[03:45:04] styles and different approaches, which is more or less exactly what you do in
[03:45:05] is more or less exactly what you do in any sort of copywriting and and so on
[03:45:07] any sort of copywriting and and so on and so forth. So, I really like this
[03:45:08] and so forth. So, I really like this one. I mean, this one to me is probably
[03:45:10] one. I mean, this one to me is probably my favorite. You want to build an
[03:45:12] my favorite. You want to build an automation business, but you don't know
[03:45:13] automation business, but you don't know where to start. I really really like
[03:45:14] where to start. I really really like that. Um, so I think I'm actually going
[03:45:16] that. Um, so I think I'm actually going to take that. Great work. Uh, buildin
[03:45:19] to take that. Great work. Uh, buildin screenshot functionality because you
[03:45:21] screenshot functionality because you don't have the ability to screenshot. A
[03:45:22] don't have the ability to screenshot. A couple things stand out. Also, get uh
[03:45:24] couple things stand out. Also, get uh pictures of me to put on the site.
[03:45:29] Let's choose the first one, which is the
[03:45:32] Let's choose the first one, which is the conversion machine. I think it's the
[03:45:35] conversion machine. I think it's the conversion machine, right? Yep. Also, we
[03:45:38] conversion machine, right? Yep. Also, we need to update some stats. We have 2,100
[03:45:41] need to update some stats. We have 2,100 or 2,200 people in Maker School right
[03:45:43] or 2,200 people in Maker School right now. You can check that out just by
[03:45:44] now. You can check that out just by googling Maker School. And then, uh, let
[03:45:47] googling Maker School. And then, uh, let me see what else do we have. Grab the
[03:45:49] me see what else do we have. Grab the image of me, Alexi, and Sam Ovens, and
[03:45:52] image of me, Alexi, and Sam Ovens, and put that somewhere on the site and add
[03:45:54] put that somewhere on the site and add more to the site. Right now it's good,
[03:45:56] more to the site. Right now it's good, but I want it longer and with pictures
[03:46:00] but I want it longer and with pictures of me. Also, see if you could build some
[03:46:03] of me. Also, see if you could build some sort of animation on the main homepage.
[03:46:05] sort of animation on the main homepage. I think that would add a significant
[03:46:07] I think that would add a significant amount of visual appeal. Right now, it's
[03:46:10] amount of visual appeal. Right now, it's pretty vague. I do quite like the
[03:46:12] pretty vague. I do quite like the gradient, though. While you're at it,
[03:46:14] gradient, though. While you're at it, spin up another three and continue doing
[03:46:17] spin up another three and continue doing more iterations, more sections, etc. As
[03:46:19] more iterations, more sections, etc. As you can see, we're now searching
[03:46:21] you can see, we're now searching significantly more of the total space of
[03:46:24] significantly more of the total space of possible websites here because not only
[03:46:26] possible websites here because not only did I spin up, you know, three initially
[03:46:28] did I spin up, you know, three initially to build me these and then three
[03:46:30] to build me these and then three iterations on the one that I liked, I'm
[03:46:32] iterations on the one that I liked, I'm now spinning up another four um based
[03:46:34] now spinning up another four um based off of the one that I really liked from
[03:46:36] off of the one that I really liked from that previous iteration. And so in that
[03:46:38] that previous iteration. And so in that way, if you think about it, like what
[03:46:39] way, if you think about it, like what we're doing is we're taking this idea of
[03:46:42] we're doing is we're taking this idea of what I want. We're testing a few
[03:46:45] what I want. We're testing a few variants. We're seeing which ones
[03:46:47] variants. We're seeing which ones actually look good. These are two nos.
[03:46:50] actually look good. These are two nos. We're spinning up even more. We're
[03:46:52] We're spinning up even more. We're seeing which ones of these I really
[03:46:54] seeing which ones of these I really like. Okay, these ones are all now. And
[03:46:57] like. Okay, these ones are all now. And now we're spinning up another four. And
[03:46:59] now we're spinning up another four. And you know, eventually if you continuously
[03:47:01] you know, eventually if you continuously do this process, you'll get to a website
[03:47:06] do this process, you'll get to a website or a web app or a property that's like
[03:47:10] or a web app or a property that's like five times better because we have
[03:47:14] five times better because we have essentially instead of just picking one
[03:47:16] essentially instead of just picking one option and stopping there, uh we've
[03:47:18] option and stopping there, uh we've really thoroughly explored the space of
[03:47:20] really thoroughly explored the space of all possible opportunities and options.
[03:47:22] all possible opportunities and options. And so that's something that agent teams
[03:47:23] And so that's something that agent teams really help with. I know my text is kind
[03:47:25] really help with. I know my text is kind of slanting up, but bear with me. And
[03:47:27] of slanting up, but bear with me. And while I'm doing that, we see that some
[03:47:28] while I'm doing that, we see that some of these are already starting to finish.
[03:47:29] of these are already starting to finish. So, iterate scroll just finished. That
[03:47:31] So, iterate scroll just finished. That was pretty fast. Looks like the
[03:47:33] was pretty fast. Looks like the editorial magazine style site completed
[03:47:35] editorial magazine style site completed with all 13 sections as well. We got the
[03:47:37] with all 13 sections as well. We got the conversion site fully rebuilt with all
[03:47:39] conversion site fully rebuilt with all the changes now. And now we're just
[03:47:40] the changes now. And now we're just waiting on this split. There it is. It's
[03:47:42] waiting on this split. There it is. It's now going to open all four of these. And
[03:47:44] now going to open all four of these. And so, for 150,000 tokens or whatever the
[03:47:46] so, for 150,000 tokens or whatever the hell um I just spent essentially, I've
[03:47:49] hell um I just spent essentially, I've now been able to draft up what I'd
[03:47:51] now been able to draft up what I'd consider to be a pretty clean and sexy
[03:47:53] consider to be a pretty clean and sexy website. I have that picture that I was
[03:47:55] website. I have that picture that I was looking for. or I have this. I mean,
[03:47:57] looking for. or I have this. I mean, this is great, right? One thing I'm
[03:47:59] this is great, right? One thing I'm missing is that little um video page,
[03:48:01] missing is that little um video page, but hopefully it's clear. I mean, I
[03:48:02] but hopefully it's clear. I mean, I could build God, websites are just the
[03:48:05] could build God, websites are just the the tip of the iceberg in terms of what
[03:48:06] the tip of the iceberg in terms of what you could build. Have my picture here. I
[03:48:08] you could build. Have my picture here. I got my little business part B in a show.
[03:48:10] got my little business part B in a show. That's me during co doing a little
[03:48:11] That's me during co doing a little videography shoot. Um that's when we
[03:48:14] videography shoot. Um that's when we played bowling down in the Philippines.
[03:48:15] played bowling down in the Philippines. I mean, like this stuff's super
[03:48:17] I mean, like this stuff's super straightforward. Also, I really like
[03:48:18] straightforward. Also, I really like this other editorial site. I might end
[03:48:20] this other editorial site. I might end up just choosing that. That's super
[03:48:22] up just choosing that. That's super clean, right? Those harsh corners and
[03:48:24] clean, right? Those harsh corners and the photos and stuff. Very nice. Okay.
[03:48:26] the photos and stuff. Very nice. Okay. But if you just use agent teams to
[03:48:27] But if you just use agent teams to design a bunch of websites, you're
[03:48:29] design a bunch of websites, you're honestly leaving tons of potential on
[03:48:30] honestly leaving tons of potential on the table. Most people are kind of
[03:48:32] the table. Most people are kind of uncreative and so obviously most of the
[03:48:33] uncreative and so obviously most of the demos you're going to see on the
[03:48:34] demos you're going to see on the internet are going to be like, "Watch me
[03:48:36] internet are going to be like, "Watch me rebuild this website 400 ways like I
[03:48:38] rebuild this website 400 ways like I just showed you." Um, you can go a lot
[03:48:39] just showed you." Um, you can go a lot deeper than that. And actually, the
[03:48:40] deeper than that. And actually, the number one recommended use for agent
[03:48:42] number one recommended use for agent teams right now, at least my recommended
[03:48:43] teams right now, at least my recommended use, is using it on pre-existing repos
[03:48:46] use, is using it on pre-existing repos to do a tremendous amount of research in
[03:48:47] to do a tremendous amount of research in a short period of time. So, what I'm
[03:48:49] a short period of time. So, what I'm going to do next is I'm actually going
[03:48:50] going to do next is I'm actually going to go over here. I'm going to delete all
[03:48:51] to go over here. I'm going to delete all of these websites that I built because
[03:48:53] of these websites that I built because the websites are basically only worth
[03:48:55] the websites are basically only worth the tokens that they're printed on.
[03:48:57] the tokens that they're printed on. Okay, I'm going to full screen this and
[03:48:58] Okay, I'm going to full screen this and I'm going to say um clone this and then
[03:49:01] I'm going to say um clone this and then open an anti-gravity instance inside of
[03:49:03] open an anti-gravity instance inside of it. Then I'm going to paste in one of
[03:49:06] it. Then I'm going to paste in one of the repos for OpenClaw, which uh I've
[03:49:08] the repos for OpenClaw, which uh I've made some rather scathing videos of.
[03:49:11] made some rather scathing videos of. OpenClaw is totally open source, which
[03:49:13] OpenClaw is totally open source, which means you can muck around the code, take
[03:49:15] means you can muck around the code, take a peek at the way that things were
[03:49:16] a peek at the way that things were written, make improvements if you really
[03:49:18] written, make improvements if you really wanted to, and so on and so forth. Looks
[03:49:20] wanted to, and so on and so forth. Looks like it doesn't know what anti-gravity
[03:49:22] like it doesn't know what anti-gravity is. Anti-gravity
[03:49:24] is. Anti-gravity the app. It's like VS Code. Okay, cool.
[03:49:27] the app. It's like VS Code. Okay, cool. And it ended up opening up Open Claude
[03:49:30] And it ended up opening up Open Claude inside of this. As you see, we are now
[03:49:32] inside of this. As you see, we are now like in the folder of OpenCloud, it's
[03:49:35] like in the folder of OpenCloud, it's just instead of it being on GitHub, it's
[03:49:37] just instead of it being on GitHub, it's now on our computer. And so that's just
[03:49:39] now on our computer. And so that's just a quick and easy hack. You can basically
[03:49:40] a quick and easy hack. You can basically do whatever the heck you want with these
[03:49:42] do whatever the heck you want with these repos. Once you're inside, I'm just
[03:49:43] repos. Once you're inside, I'm just going to open in the terminal because I
[03:49:45] going to open in the terminal because I think I can probably go significantly
[03:49:46] think I can probably go significantly faster in the terminal. Um, let me just
[03:49:49] faster in the terminal. Um, let me just open [clears throat] this up. Okay, I
[03:49:50] open [clears throat] this up. Okay, I have it right down over here. I'm going
[03:49:52] have it right down over here. I'm going to pop this puppy open. Make it go full
[03:49:55] to pop this puppy open. Make it go full screen by clicking that button in the
[03:49:56] screen by clicking that button in the top right. And now I'm going to use
[03:49:58] top right. And now I'm going to use agent teams to go through this massive,
[03:50:01] agent teams to go through this massive, massive file and then make improvements.
[03:50:03] massive file and then make improvements. Taking a look at this prompt, I've wrote
[03:50:04] Taking a look at this prompt, I've wrote open clause great, but there are a bunch
[03:50:06] open clause great, but there are a bunch of security issues. I don't know exactly
[03:50:07] of security issues. I don't know exactly where they all are yet, but I want you
[03:50:09] where they all are yet, but I want you to find them. First, create a team with
[03:50:10] to find them. First, create a team with 10 teammates to look through the
[03:50:12] 10 teammates to look through the codebase very quickly. Split things up
[03:50:14] codebase very quickly. Split things up logically based on file size, etc. Then
[03:50:17] logically based on file size, etc. Then spin up four agents to document all of
[03:50:19] spin up four agents to document all of the security issues and a fifth and
[03:50:21] the security issues and a fifth and sixth debate agent that plays devil's
[03:50:22] sixth debate agent that plays devil's advocate back and forth. Use sonnet for
[03:50:24] advocate back and forth. Use sonnet for each teammate so as to make use of the
[03:50:26] each teammate so as to make use of the longer context window. When you've
[03:50:27] longer context window. When you've identified all the security issues, then
[03:50:29] identified all the security issues, then spin up one agent per security issue and
[03:50:31] spin up one agent per security issue and make changes. Ensure each agent works
[03:50:33] make changes. Ensure each agent works only on the security issue it is given
[03:50:34] only on the security issue it is given to minimize overlap. And if one agent
[03:50:36] to minimize overlap. And if one agent steps on another agent's toes, have them
[03:50:38] steps on another agent's toes, have them rectify by talking back and forth. Now,
[03:50:40] rectify by talking back and forth. Now, I'm not going to fix this codebase
[03:50:42] I'm not going to fix this codebase throughout the course of this video
[03:50:43] throughout the course of this video because that'll probably take several
[03:50:45] because that'll probably take several hours for it to go through, make
[03:50:47] hours for it to go through, make changes, and then obviously there's Q&A
[03:50:48] changes, and then obviously there's Q&A and testing and so on and so forth. This
[03:50:50] and testing and so on and so forth. This is pretty similar to the workflow that
[03:50:52] is pretty similar to the workflow that the creator of this godforsaken repo.
[03:50:54] the creator of this godforsaken repo. Uh, and if you're curious about why I
[03:50:56] Uh, and if you're curious about why I have strong opinions on this, just check
[03:50:57] have strong opinions on this, just check my channel for uh one of my videos from
[03:50:59] my channel for uh one of my videos from like two weeks ago or so. But uh this is
[03:51:01] like two weeks ago or so. But uh this is pretty similar to the workflow that
[03:51:02] pretty similar to the workflow that they're currently using in order to
[03:51:03] they're currently using in order to manage things. But suffice to say, you
[03:51:06] manage things. But suffice to say, you can use an approach like this on
[03:51:07] can use an approach like this on basically any open source library, not
[03:51:09] basically any open source library, not just to identify security issues, but
[03:51:10] just to identify security issues, but also to improve the product. You could
[03:51:12] also to improve the product. You could come up with different uh product
[03:51:14] come up with different uh product angles. You could have it, you know, go
[03:51:16] angles. You could have it, you know, go through spawn five agents each that
[03:51:19] through spawn five agents each that propose different product ideas, and
[03:51:20] propose different product ideas, and then you could have like debate agents
[03:51:21] then you could have like debate agents that debate back and forth about why
[03:51:23] that debate back and forth about why this would not be a good idea. And in
[03:51:24] this would not be a good idea. And in doing so, they come to a consensus and
[03:51:26] doing so, they come to a consensus and improve the quality of the product um at
[03:51:28] improve the quality of the product um at the end of the day. So what this just
[03:51:29] the end of the day. So what this just did is it spun up and listed all of the
[03:51:31] did is it spun up and listed all of the products here so that I could build a
[03:51:33] products here so that I could build a simple and straightforward way of
[03:51:36] simple and straightforward way of basically um splitting this work up. So
[03:51:38] basically um splitting this work up. So now we have 10 scanner agents that are
[03:51:40] now we have 10 scanner agents that are running in parallel across the codebase.
[03:51:42] running in parallel across the codebase. This first one here has 83k lines. The
[03:51:44] This first one here has 83k lines. The second one has 43 42 42 35 49. So
[03:51:48] second one has 43 42 42 35 49. So they're not all the same obviously, but
[03:51:49] they're not all the same obviously, but lines aren't all equal. So maybe this
[03:51:51] lines aren't all equal. So maybe this did some additional work uh behind the
[03:51:53] did some additional work uh behind the scenes or under the hood. Now this is
[03:51:54] scenes or under the hood. Now this is going to consume a lot of tokens. You
[03:51:55] going to consume a lot of tokens. You see here, we're already at 1.3 million
[03:51:57] see here, we're already at 1.3 million uh and counting. And you know, I'm
[03:51:59] uh and counting. And you know, I'm consuming a fair amount of my own token
[03:52:01] consuming a fair amount of my own token budget to do this, but I figured it
[03:52:02] budget to do this, but I figured it would just be interesting for us to do.
[03:52:04] would just be interesting for us to do. If you're operating at like a massive
[03:52:06] If you're operating at like a massive scale like this with dozens, if not
[03:52:07] scale like this with dozens, if not hundreds of these things, you know, you
[03:52:08] hundreds of these things, you know, you will eventually spend several thousand
[03:52:11] will eventually spend several thousand on said tokens. And so, you need to be
[03:52:12] on said tokens. And so, you need to be prepared for that. Don't spin up an
[03:52:14] prepared for that. Don't spin up an unlimited number of agents if you're not
[03:52:16] unlimited number of agents if you're not capable of paying the money for set
[03:52:18] capable of paying the money for set unlimited number of agents, obviously.
[03:52:20] unlimited number of agents, obviously. And be wary that the tokens that you are
[03:52:22] And be wary that the tokens that you are using here are tokens that uh
[03:52:23] using here are tokens that uh unfortunately you will never get back.
[03:52:25] unfortunately you will never get back. You can't spin this thing up and then
[03:52:26] You can't spin this thing up and then ask for a refund on any of these. So be
[03:52:29] ask for a refund on any of these. So be careful, I guess, to make a long story
[03:52:30] careful, I guess, to make a long story short. However, if you do have the
[03:52:32] short. However, if you do have the money, you can basically convert it and
[03:52:34] money, you can basically convert it and translate it directly into time as in
[03:52:36] translate it directly into time as in time savings. Um, what I've done here is
[03:52:38] time savings. Um, what I've done here is I've taken 1.3 million uh $1.3 million
[03:52:41] I've taken 1.3 million uh $1.3 million $1.3 million Sonnet 4.5 tokens and I've
[03:52:44] $1.3 million Sonnet 4.5 tokens and I've basically immediately translated them
[03:52:45] basically immediately translated them for probably several hours of my time
[03:52:47] for probably several hours of my time because I don't actually have to go
[03:52:48] because I don't actually have to go through this or do this a lot slower
[03:52:50] through this or do this a lot slower with like a more intelligent agent. So
[03:52:52] with like a more intelligent agent. So now that we've done this, the next step
[03:52:53] now that we've done this, the next step is we've compiled all of these security
[03:52:56] is we've compiled all of these security uh possibilities I should say. We're now
[03:52:59] uh possibilities I should say. We're now spawning specific agents all about
[03:53:02] spawning specific agents all about particular security issues. So we have a
[03:53:06] particular security issues. So we have a command injection and code execution
[03:53:08] command injection and code execution agent, an authentication and
[03:53:09] agent, an authentication and authorization agent, a path traversal
[03:53:11] authorization agent, a path traversal plus SSRF plus info disclosure agent,
[03:53:14] plus SSRF plus info disclosure agent, crypto plus race conditions plus config
[03:53:16] crypto plus race conditions plus config agent, challenges findings as notreal
[03:53:18] agent, challenges findings as notreal issues is devil number one. That's
[03:53:20] issues is devil number one. That's devil's advocate. Then devil number two
[03:53:22] devil's advocate. Then devil number two says argues findings are real and need
[03:53:24] says argues findings are real and need fixing. And so basically these agents
[03:53:25] fixing. And so basically these agents are all going to report over to these
[03:53:27] are all going to report over to these puppies. And these two are going to
[03:53:28] puppies. And these two are going to debate back and forth between each other
[03:53:30] debate back and forth between each other to determine whether or not this is
[03:53:32] to determine whether or not this is something that's real, whether or not
[03:53:33] something that's real, whether or not this is something that's actually super
[03:53:34] this is something that's actually super important. They're going to take
[03:53:35] important. They're going to take different uh principled positions and
[03:53:38] different uh principled positions and attempt to see whether these findings
[03:53:39] attempt to see whether these findings are not real issues or whether these
[03:53:41] are not real issues or whether these findings are real and need fixing.
[03:53:42] findings are real and need fixing. Usually when you have two agents work
[03:53:44] Usually when you have two agents work adversarily against each other like
[03:53:45] adversarily against each other like this, the end result is higher quality.
[03:53:47] this, the end result is higher quality. This is actually the core of a big chunk
[03:53:48] This is actually the core of a big chunk of machine learning um which is what AI
[03:53:50] of machine learning um which is what AI used to be called a few years back, not
[03:53:52] used to be called a few years back, not just large language models. generative
[03:53:54] just large language models. generative adversarial networks for one of the
[03:53:55] adversarial networks for one of the first image models for instance and they
[03:53:57] first image models for instance and they worked in a very similar fashion. You
[03:53:58] worked in a very similar fashion. You had something that generated and then
[03:54:00] had something that generated and then you had sort of like an adversary and
[03:54:01] you had sort of like an adversary and these two just went back and forth and
[03:54:03] these two just went back and forth and back and forth until you got a really
[03:54:04] back and forth until you got a really high quality result. So I can actually
[03:54:05] high quality result. So I can actually scroll down here and see what these two
[03:54:07] scroll down here and see what these two are saying. So these are literally
[03:54:08] are saying. So these are literally having a conversation right now. These
[03:54:10] having a conversation right now. These are actually discussing things. Looking
[03:54:12] are actually discussing things. Looking at devil number two, it's sending round
[03:54:14] at devil number two, it's sending round one its counter arguments. Now we're
[03:54:16] one its counter arguments. Now we're going back here and they're basically
[03:54:17] going back here and they're basically like fighting verbally. Mind you, sticks
[03:54:20] like fighting verbally. Mind you, sticks and stones may break my bones, but AI
[03:54:21] and stones may break my bones, but AI words will hurt you. Uh, to determine
[03:54:24] words will hurt you. Uh, to determine which is the best path forward. This
[03:54:26] which is the best path forward. This message over here, this wasn't mine.
[03:54:28] message over here, this wasn't mine. This was a message from the team lead.
[03:54:30] This was a message from the team lead. Basically, a devil number one responded
[03:54:33] Basically, a devil number one responded to team lead saying, "Hey, here's a key
[03:54:34] to team lead saying, "Hey, here's a key finding." Team lead responded back
[03:54:36] finding." Team lead responded back saying, "Hey, keep going and let me know
[03:54:38] saying, "Hey, keep going and let me know when the debate finishes. When it's
[03:54:39] when the debate finishes. When it's done, we're good to go." So to be clear
[03:54:41] done, we're good to go." So to be clear here, over the last, I don't know, maybe
[03:54:43] here, over the last, I don't know, maybe 15 minutes or so of this specific um
[03:54:45] 15 minutes or so of this specific um agent team instantiation, I've spent
[03:54:48] agent team instantiation, I've spent close to probably 80 or so dollars
[03:54:51] close to probably 80 or so dollars directly on this one query. And that's
[03:54:53] directly on this one query. And that's what I mean by trading money for time. I
[03:54:55] what I mean by trading money for time. I mean, like obviously if I had a team of
[03:54:57] mean, like obviously if I had a team of developers doing this, you know, they
[03:54:59] developers doing this, you know, they probably would have been more accurate,
[03:55:00] probably would have been more accurate, but it also would have taken them
[03:55:01] but it also would have taken them presumably several weeks to do the level
[03:55:03] presumably several weeks to do the level of research that this agent was capable
[03:55:05] of research that this agent was capable of doing in just a few minutes. Um I
[03:55:07] of doing in just a few minutes. Um I traded $80 for that time. And so in some
[03:55:09] traded $80 for that time. And so in some instances that's worth it, but in a lot
[03:55:12] instances that's worth it, but in a lot of other instances it isn't, which is
[03:55:13] of other instances it isn't, which is why agent teams need to be handled
[03:55:15] why agent teams need to be handled pretty carefully. They're almost like a
[03:55:17] pretty carefully. They're almost like a nuclear weapon, just one aimed directly
[03:55:18] nuclear weapon, just one aimed directly at your wallet. Now we've done the
[03:55:20] at your wallet. Now we've done the debate back and forth. The two have had
[03:55:22] debate back and forth. The two have had a great conversation. And so basically,
[03:55:23] a great conversation. And so basically, they found 15 total flaws. What it's
[03:55:26] they found 15 total flaws. What it's doing, this is now spawning 15 fixer
[03:55:28] doing, this is now spawning 15 fixer agents, one per isolated security issue
[03:55:30] agents, one per isolated security issue or grouped when they touch the same
[03:55:31] or grouped when they touch the same file. Now, I don't obviously want this
[03:55:33] file. Now, I don't obviously want this to consume all of my tokens, so I'm just
[03:55:35] to consume all of my tokens, so I'm just going to cancel this and I'll say shut
[03:55:37] going to cancel this and I'll say shut in caps. shut everything down ASAP. It's
[03:55:40] in caps. shut everything down ASAP. It's not going to shut down all active agents
[03:55:42] not going to shut down all active agents immediately. Unfortunately, just due to
[03:55:43] immediately. Unfortunately, just due to the nature of this um the shutdown
[03:55:45] the nature of this um the shutdown request doesn't occur immediately. It's
[03:55:46] request doesn't occur immediately. It's not just like we're, you know, alt f4ing
[03:55:48] not just like we're, you know, alt f4ing this whole puppy. Um there's a little
[03:55:50] this whole puppy. Um there's a little bit of time because every individual
[03:55:52] bit of time because every individual agent is still in the middle of a query
[03:55:53] agent is still in the middle of a query while it's doing the thing. Um so, you
[03:55:55] while it's doing the thing. Um so, you know, you're probably still going to
[03:55:56] know, you're probably still going to consume a little bit of token usage. Not
[03:55:58] consume a little bit of token usage. Not going to be that crazy, but it is going
[03:55:59] going to be that crazy, but it is going to be a little bit. Um but yeah, you
[03:56:00] to be a little bit. Um but yeah, you know, I've consumed enough at this point
[03:56:02] know, I've consumed enough at this point to know that this is something that I'm
[03:56:04] to know that this is something that I'm probably not going to want to do unless
[03:56:05] probably not going to want to do unless I'm hellbent on improving the OpenCloud
[03:56:07] I'm hellbent on improving the OpenCloud repo, which I am not. And that takes us
[03:56:08] repo, which I am not. And that takes us to the final module in this course,
[03:56:10] to the final module in this course, which is one on git work trees. Now, git
[03:56:13] which is one on git work trees. Now, git work trees used to basically be what
[03:56:15] work trees used to basically be what agent teams are today. Essentially, you
[03:56:17] agent teams are today. Essentially, you could have multiple agents all running
[03:56:19] could have multiple agents all running on their own individual what's called
[03:56:21] on their own individual what's called GitHub repo or GitHub branch. And in
[03:56:23] GitHub repo or GitHub branch. And in doing so, these agents could all work on
[03:56:25] doing so, these agents could all work on individual features, which allowed them
[03:56:27] individual features, which allowed them to do what they needed to do before
[03:56:29] to do what they needed to do before ultimately merging back to the main
[03:56:30] ultimately merging back to the main branch. To visualize this for you,
[03:56:32] branch. To visualize this for you, imagine we start with a job over here at
[03:56:34] imagine we start with a job over here at main. This is our main branch. And then
[03:56:37] main. This is our main branch. And then there's some bug. So what we do is we
[03:56:39] there's some bug. So what we do is we spin up a branch called hotfix. Now this
[03:56:41] spin up a branch called hotfix. Now this is given to a different agent. We then
[03:56:43] is given to a different agent. We then have another branch called develop which
[03:56:45] have another branch called develop which is given to a different agent. Then
[03:56:46] is given to a different agent. Then finally a branch called feature which is
[03:56:48] finally a branch called feature which is given to a different agent. So basically
[03:56:50] given to a different agent. So basically what occurs is we have one agent over
[03:56:51] what occurs is we have one agent over here extending on this branch. One agent
[03:56:53] here extending on this branch. One agent over here extending on this branch. One
[03:56:55] over here extending on this branch. One agent over here extending on this
[03:56:56] agent over here extending on this branch. Then one agent over here
[03:56:58] branch. Then one agent over here extending on this branch. And
[03:56:59] extending on this branch. And essentially each of these go through
[03:57:01] essentially each of these go through their own development process similar to
[03:57:02] their own development process similar to the agent teams like we just saw here
[03:57:04] the agent teams like we just saw here just managed through GitHub instead of
[03:57:06] just managed through GitHub instead of um just the anti-gravity IDE. And then
[03:57:08] um just the anti-gravity IDE. And then when they're done what they do is they
[03:57:09] when they're done what they do is they merge the results back into the mage
[03:57:11] merge the results back into the mage branch. Now if you're not a big into
[03:57:12] branch. Now if you're not a big into programming and you haven't used GitHub
[03:57:14] programming and you haven't used GitHub before this idea of a merge can be
[03:57:15] before this idea of a merge can be pretty difficult to understand but
[03:57:17] pretty difficult to understand but basically every branch just stores a
[03:57:19] basically every branch just stores a copy of the folder. And so this master
[03:57:21] copy of the folder. And so this master folder is basically the same thing as
[03:57:23] folder is basically the same thing as this new feature folder with just a
[03:57:25] this new feature folder with just a couple of minor differences. And it's
[03:57:26] couple of minor differences. And it's usually the new feature itself. So when
[03:57:28] usually the new feature itself. So when you merge, what you do is you're just
[03:57:30] you merge, what you do is you're just tabulating a list of all the changes
[03:57:32] tabulating a list of all the changes between these two and then you're taking
[03:57:33] between these two and then you're taking the new changes from the new feature
[03:57:35] the new changes from the new feature branch and then applying them to the
[03:57:36] branch and then applying them to the master branch. Um this merge process can
[03:57:39] master branch. Um this merge process can typically be pretty messy and so having
[03:57:41] typically be pretty messy and so having agents around to mediate the merges and
[03:57:43] agents around to mediate the merges and so on and so forth can be quite useful.
[03:57:44] so on and so forth can be quite useful. So first of all, I have a really simple
[03:57:46] So first of all, I have a really simple website setup here called leftclick-
[03:57:48] website setup here called leftclick- agency. I made this for my own website a
[03:57:50] agency. I made this for my own website a while ago and um you know had AI do the
[03:57:53] while ago and um you know had AI do the vast majority of the work in a very
[03:57:54] vast majority of the work in a very similar sort of workflow to what I just
[03:57:56] similar sort of workflow to what I just showed you guys a moment ago with agent
[03:57:58] showed you guys a moment ago with agent teams. And what I want to do is you know
[03:58:00] teams. And what I want to do is you know I want to design additional pages here.
[03:58:02] I want to design additional pages here. Uh one page that's really long is not
[03:58:04] Uh one page that's really long is not enough. So in addition to this homepage
[03:58:06] enough. So in addition to this homepage I also want to design an about page, a
[03:58:09] I also want to design an about page, a contact page and a services page. And I
[03:58:12] contact page and a services page. And I want to use the get work tree workflow
[03:58:16] want to use the get work tree workflow in order to do this. Now, because I've
[03:58:18] in order to do this. Now, because I've stored information on what I mean by git
[03:58:21] stored information on what I mean by git workree in my cloud.md,
[03:58:24] workree in my cloud.md, which is basically that we use git work
[03:58:25] which is basically that we use git work trees for parallel development with
[03:58:27] trees for parallel development with cloud code, where every work tree is an
[03:58:28] cloud code, where every work tree is an isolated working directory sharing the
[03:58:30] isolated working directory sharing the same git history, allowing multiple
[03:58:32] same git history, allowing multiple cloud code instances to work on
[03:58:33] cloud code instances to work on different tasks simultaneously without
[03:58:34] different tasks simultaneously without interference. Okay, this already knows
[03:58:36] interference. Okay, this already knows what to do. The very first thing that it
[03:58:38] what to do. The very first thing that it did was it basically took my main
[03:58:41] did was it basically took my main repository which was just called
[03:58:43] repository which was just called leftclick- agency and it made three
[03:58:46] leftclick- agency and it made three different ones. It made one called
[03:58:48] different ones. It made one called leftclick- agency-services that's a new
[03:58:50] leftclick- agency-services that's a new folder. Another called leftclick-
[03:58:53] folder. Another called leftclick- agency-about which is another folder and
[03:58:55] agency-about which is another folder and then another called leftclick- agency-
[03:58:58] then another called leftclick- agency- contact which is a third folder. So
[03:58:59] contact which is a third folder. So basically what it's doing now is it's
[03:59:01] basically what it's doing now is it's creating new GitHub repositories, new
[03:59:04] creating new GitHub repositories, new individual feature branches to work on
[03:59:06] individual feature branches to work on different pages for me. Now it did this
[03:59:08] different pages for me. Now it did this using the agent team functionality. And
[03:59:10] using the agent team functionality. And the reason why I did this is just
[03:59:11] the reason why I did this is just because it's much faster and they get to
[03:59:13] because it's much faster and they get to work on different GitHub repos
[03:59:14] work on different GitHub repos simultaneously. The only real advantage
[03:59:16] simultaneously. The only real advantage to using git work trees I think at this
[03:59:18] to using git work trees I think at this point is just that when you use git work
[03:59:20] point is just that when you use git work trees what you're doing is you're not
[03:59:21] trees what you're doing is you're not actually modifying the main folder. Like
[03:59:23] actually modifying the main folder. Like if you look up here we're not actually
[03:59:24] if you look up here we're not actually modifying any of this right now. What
[03:59:25] modifying any of this right now. What we're doing is we're basically creating
[03:59:27] we're doing is we're basically creating a new folder in our, you know, uh,
[03:59:29] a new folder in our, you know, uh, GitHub repository and you can see them
[03:59:31] GitHub repository and you can see them right over here. Um, and then working in
[03:59:34] right over here. Um, and then working in those different folders individually.
[03:59:36] those different folders individually. So, for instance, we have leftclick-
[03:59:38] So, for instance, we have leftclick- agency. This one here is my main folder,
[03:59:41] agency. This one here is my main folder, right? But then we have leftclick agency
[03:59:42] right? But then we have leftclick agency about. This is a new branch that's
[03:59:44] about. This is a new branch that's working specifically on the about. Then
[03:59:46] working specifically on the about. Then we have contact. This is a new branch
[03:59:48] we have contact. This is a new branch working specifically on the contact
[03:59:50] working specifically on the contact page. And then the finally we have
[03:59:51] page. And then the finally we have services, which is a new branch working
[03:59:53] services, which is a new branch working specifically on the services page. And
[03:59:54] specifically on the services page. And so the reason why this is valuable to
[03:59:56] so the reason why this is valuable to people that are non-programmers is
[03:59:58] people that are non-programmers is because you reduce the possibility of
[04:00:01] because you reduce the possibility of two different agents working on the same
[04:00:03] two different agents working on the same file uh which will occur. You will get
[04:00:05] file uh which will occur. You will get what are called agent conflicts over
[04:00:07] what are called agent conflicts over time naturally as you have multiple
[04:00:08] time naturally as you have multiple agents working on multiple things in the
[04:00:10] agents working on multiple things in the same base. And the reason why is because
[04:00:11] same base. And the reason why is because files aren't perfect separations of
[04:00:13] files aren't perfect separations of functionality. You know you'll have one
[04:00:14] functionality. You know you'll have one file and then that file will have like
[04:00:16] file and then that file will have like the snippet of a little bit of code
[04:00:18] the snippet of a little bit of code that's used by another file. And so in
[04:00:20] that's used by another file. And so in that way there's there's never like
[04:00:21] that way there's there's never like perfect separation. So if an agent
[04:00:22] perfect separation. So if an agent really wants to like totally encapsulate
[04:00:25] really wants to like totally encapsulate a function or something, sometimes it'll
[04:00:26] a function or something, sometimes it'll have to dump around from both and when
[04:00:28] have to dump around from both and when that happens, it'll step on the toes of
[04:00:29] that happens, it'll step on the toes of another one. So anyway, when you use
[04:00:31] another one. So anyway, when you use work trees in this way, you just
[04:00:32] work trees in this way, you just eliminate that um from being an option
[04:00:34] eliminate that um from being an option completely. Uh basically, there's just
[04:00:35] completely. Uh basically, there's just no way that these two can step on each
[04:00:37] no way that these two can step on each other's toes because they're actually
[04:00:38] other's toes because they're actually all working in separate folders
[04:00:40] all working in separate folders simultaneously. And because they work in
[04:00:41] simultaneously. And because they work in separate folders, that also means if
[04:00:43] separate folders, that also means if they do make changes, those changes
[04:00:45] they do make changes, those changes don't always perfectly harmonize right
[04:00:46] don't always perfectly harmonize right away. And that's where that merge step
[04:00:48] away. And that's where that merge step comes into into play. basically um you
[04:00:50] comes into into play. basically um you know now after we work on these three
[04:00:52] know now after we work on these three different branches what we also have to
[04:00:54] different branches what we also have to do is we need to unify them through some
[04:00:57] do is we need to unify them through some sort of merge uh function. You can see
[04:01:00] sort of merge uh function. You can see the prompt for the general purpose
[04:01:01] the prompt for the general purpose services.html one here is you're
[04:01:03] services.html one here is you're building the servicesh page for
[04:01:05] building the servicesh page for leftclick agency work in the work tree
[04:01:07] leftclick agency work in the work tree at this folder create the file in here
[04:01:10] at this folder create the file in here don't modify the index.html you know
[04:01:12] don't modify the index.html you know there's tons of information if I go back
[04:01:14] there's tons of information if I go back here we'll see the same thing for
[04:01:16] here we'll see the same thing for contact.html HTML. And so all you really
[04:01:18] contact.html HTML. And so all you really need in order to have a workflow like
[04:01:19] need in order to have a workflow like this that minimizes um you know
[04:01:21] this that minimizes um you know dependency risks is just have a cloudmd
[04:01:24] dependency risks is just have a cloudmd that outlines what to do with git work
[04:01:27] that outlines what to do with git work trees. I'll include this file down below
[04:01:29] trees. I'll include this file down below so you guys have everything that you
[04:01:30] so you guys have everything that you need. But taking a look at the
[04:01:31] need. But taking a look at the about.html here which is one of the
[04:01:34] about.html here which is one of the files that this thing just whipped up
[04:01:35] files that this thing just whipped up for me. Um you know we've now basically
[04:01:37] for me. Um you know we've now basically finished the page. It's used some
[04:01:39] finished the page. It's used some placeholder little flasks here because I
[04:01:41] placeholder little flasks here because I wasn't sure what I wanted to do for
[04:01:42] wasn't sure what I wanted to do for images. Um, and you know, I can add
[04:01:44] images. Um, and you know, I can add however much information I want here to
[04:01:46] however much information I want here to really flesh it out. Yeah, this looks
[04:01:47] really flesh it out. Yeah, this looks pretty clean to me. Our principles ready
[04:01:49] pretty clean to me. Our principles ready to work with us. We have That's really
[04:01:51] to work with us. We have That's really clean. I didn't realize I could do that.
[04:01:53] clean. I didn't realize I could do that. Uh, likewise with the contact. HTML
[04:01:56] Uh, likewise with the contact. HTML page. So, now we have a beautiful
[04:01:57] page. So, now we have a beautiful contact. HTML page with like a little
[04:02:00] contact. HTML page with like a little send us a message form and so on and so
[04:02:01] send us a message form and so on and so forth. I wonder if that works. Wow, it
[04:02:03] forth. I wonder if that works. Wow, it even has some validation. That's pretty
[04:02:04] even has some validation. That's pretty neat. Okay. And then after it's done,
[04:02:06] neat. Okay. And then after it's done, what it'll do is it'll merge everything
[04:02:07] what it'll do is it'll merge everything together. So, we also have um services
[04:02:11] together. So, we also have um services HTML up here, too, which is really
[04:02:13] HTML up here, too, which is really clean. This looks like a real chunky
[04:02:15] clean. This looks like a real chunky page, which probably explains why it
[04:02:17] page, which probably explains why it took much longer. And it looks like it
[04:02:18] took much longer. And it looks like it even um estimated some prices for me,
[04:02:20] even um estimated some prices for me, which is pretty nice. So, yeah, suffice
[04:02:22] which is pretty nice. So, yeah, suffice to say, get work trees, while not
[04:02:24] to say, get work trees, while not necessarily the end all beall, can be an
[04:02:26] necessarily the end all beall, can be an extra layer of insulation if you guys
[04:02:27] extra layer of insulation if you guys are using something like um you know,
[04:02:29] are using something like um you know, agent teams or even if you guys are
[04:02:31] agent teams or even if you guys are using sub agents um just using some sort
[04:02:33] using sub agents um just using some sort of merge functionality like I talked
[04:02:35] of merge functionality like I talked about. If you guys want more on that,
[04:02:36] about. If you guys want more on that, I'll include the cloud.mmd below so you
[04:02:38] I'll include the cloud.mmd below so you guys have everything that you need.
[04:02:39] guys have everything that you need. Okay, so we've talked a lot about using
[04:02:41] Okay, so we've talked a lot about using cloud code to build cool software apps
[04:02:42] cloud code to build cool software apps and stuff like that. The last thing I
[04:02:44] and stuff like that. The last thing I want to talk about is basically just
[04:02:45] want to talk about is basically just automating or significantly streamlining
[04:02:47] automating or significantly streamlining the process of deploying things to the
[04:02:48] the process of deploying things to the internet. You guys remember that first
[04:02:50] internet. You guys remember that first site that I made and then the proposal
[04:02:52] site that I made and then the proposal generator and stuff like that. I use a
[04:02:53] generator and stuff like that. I use a simple service called Netifi to
[04:02:55] simple service called Netifi to basically push my work live. And that
[04:02:56] basically push my work live. And that service works really well for static
[04:02:58] service works really well for static sites. I'm not affiliated with them
[04:02:59] sites. I'm not affiliated with them whatsoever, by the way. Use whatever the
[04:03:00] whatsoever, by the way. Use whatever the heck you want. Um, but what I want to
[04:03:02] heck you want. Um, but what I want to talk about next is using something
[04:03:03] talk about next is using something analogous to that just for backend
[04:03:05] analogous to that just for backend functions and skills and scripts and so
[04:03:08] functions and skills and scripts and so on. So what I'm going to do here is I'm
[04:03:10] on. So what I'm going to do here is I'm going to whip up a open conversation.
[04:03:13] going to whip up a open conversation. I'm going to jump into bypass
[04:03:14] I'm going to jump into bypass permissions and I'm going to say deploy
[04:03:15] permissions and I'm going to say deploy a simple API endpoint that returns happy
[04:03:17] a simple API endpoint that returns happy birthday Nick if it's my birthday or no
[04:03:19] birthday Nick if it's my birthday or no birth today MF if it's not. And what I
[04:03:22] birth today MF if it's not. And what I want to do is I want to show you guys
[04:03:23] want to do is I want to show you guys how easy it is to basically whip up your
[04:03:25] how easy it is to basically whip up your own URL that does something for you.
[04:03:28] own URL that does something for you. This is more of an advanced feature for
[04:03:29] This is more of an advanced feature for people that are into automation and
[04:03:31] people that are into automation and workflow building and stuff like that.
[04:03:33] workflow building and stuff like that. But basically, these services um in my
[04:03:35] But basically, these services um in my case I'm using one called modal allow
[04:03:37] case I'm using one called modal allow you to whip up like publicly available
[04:03:40] you to whip up like publicly available endpoints or publicly available URLs
[04:03:42] endpoints or publicly available URLs that you can use and integrate within
[04:03:44] that you can use and integrate within other applications. A lot of the time
[04:03:45] other applications. A lot of the time applications will use things called web
[04:03:47] applications will use things called web hooks to send and receive information to
[04:03:49] hooks to send and receive information to and from them uh to you know send events
[04:03:52] and from them uh to you know send events and trigger various pieces of
[04:03:53] and trigger various pieces of functionality. And this is a quick and
[04:03:54] functionality. And this is a quick and easy way that you can basically create a
[04:03:56] easy way that you can basically create a URL that does that for you as well as
[04:03:58] URL that does that for you as well as integrate it into things like no code
[04:04:00] integrate it into things like no code platforms like naden, make.com, zap
[04:04:02] platforms like naden, make.com, zap year, lindy, etc. So I have my endpoint
[04:04:04] year, lindy, etc. So I have my endpoint right over here. What I'm going to do is
[04:04:06] right over here. What I'm going to do is I'm going to take this curl. Okay, which
[04:04:08] I'm going to take this curl. Okay, which you may be wondering like what the
[04:04:09] you may be wondering like what the heck's going on over here. And then um
[04:04:10] heck's going on over here. And then um I'm actually going to open up my own
[04:04:12] I'm actually going to open up my own terminal instance and I'm going to paste
[04:04:13] terminal instance and I'm going to paste that in. And so basically what I've done
[04:04:15] that in. And so basically what I've done to make a long story short is I have
[04:04:18] to make a long story short is I have generated my own API. Zooming in here.
[04:04:21] generated my own API. Zooming in here. Okay, what I've done is I've sent a
[04:04:22] Okay, what I've done is I've sent a request to my own website which was nick
[04:04:25] request to my own website which was nick nicholas arrive--thrack-check-
[04:04:28] nicholas arrive--thrack-check- birthday.Motal run and then I sent some
[04:04:31] birthday.Motal run and then I sent some authorization credentials and stuff like
[04:04:33] authorization credentials and stuff like that. And now it's sending me back um
[04:04:35] that. And now it's sending me back um you know a little message which is
[04:04:37] you know a little message which is basically saying no birthday today MF
[04:04:40] basically saying no birthday today MF cuz it's not my birthday. So I'm going
[04:04:41] cuz it's not my birthday. So I'm going to do is I'm going to go back here and
[04:04:42] to do is I'm going to go back here and just to make it even clear for you guys.
[04:04:44] just to make it even clear for you guys. Okay, this is awesome. Remove the
[04:04:45] Okay, this is awesome. Remove the authentication. I want to be able to
[04:04:47] authentication. I want to be able to access this with my browser using a
[04:04:49] access this with my browser using a simple get and then I want to have like
[04:04:50] simple get and then I want to have like a cute little happy birthday or no
[04:04:52] a cute little happy birthday or no birthday message. What I'm going to do
[04:04:53] birthday message. What I'm going to do now is I'm going to show you that this
[04:04:54] now is I'm going to show you that this is analogous or equivalent to just a
[04:04:56] is analogous or equivalent to just a website. And so what you can do as well
[04:04:58] website. And so what you can do as well is you can basically take whatever you
[04:05:00] is you can basically take whatever you want, whatever piece of functionality
[04:05:01] want, whatever piece of functionality and then immediately deploy like single
[04:05:03] and then immediately deploy like single URLs that people can access to do things
[04:05:05] URLs that people can access to do things which you may not think is super
[04:05:06] which you may not think is super important. Um I just opened this up and
[04:05:08] important. Um I just opened this up and we have our own little website here.
[04:05:10] we have our own little website here. But, uh, as you saw there, I mean, all
[04:05:11] But, uh, as you saw there, I mean, all all I did was I literally sent like one
[04:05:12] all I did was I literally sent like one little message and then boom, it it
[04:05:14] little message and then boom, it it bumped this on like made this a publicly
[04:05:16] bumped this on like made this a publicly accessible website. You can do this with
[04:05:18] accessible website. You can do this with anything. You can do this with the
[04:05:18] anything. You can do this with the websites that we've designed so far. You
[04:05:20] websites that we've designed so far. You can do this with the web apps that we've
[04:05:21] can do this with the web apps that we've designed so far. Uh, and it's just like
[04:05:22] designed so far. Uh, and it's just like the simplest and easiest way to get
[04:05:24] the simplest and easiest way to get something web accessible. whether you
[04:05:25] something web accessible. whether you are giving a URL to somebody to have
[04:05:26] are giving a URL to somebody to have them do something with uh creating some
[04:05:29] them do something with uh creating some additional functionality in your app,
[04:05:31] additional functionality in your app, logging user visits for things like you
[04:05:32] logging user visits for things like you know ad campaigns and marketing uh
[04:05:34] know ad campaigns and marketing uh campaigns or um doing direct connections
[04:05:37] campaigns or um doing direct connections via web hooks and no code platforms like
[04:05:39] via web hooks and no code platforms like make.com naden etc. So how do you do it?
[04:05:41] make.com naden etc. So how do you do it? My favorite service right now is one
[04:05:43] My favorite service right now is one called modal. This is basically uh
[04:05:45] called modal. This is basically uh marketed as AI infrastructure that
[04:05:46] marketed as AI infrastructure that developers love. It's super easy and
[04:05:48] developers love. It's super easy and straightforward to set up. And every
[04:05:49] straightforward to set up. And every time you click on the page, it expands
[04:05:51] time you click on the page, it expands this damn square thing, which is super
[04:05:54] this damn square thing, which is super super cool to look at. I love cubes.
[04:05:56] super cool to look at. I love cubes. Clearly, their team has spent a lot of
[04:05:57] Clearly, their team has spent a lot of time and energy designing this website.
[04:05:59] time and energy designing this website. I wonder if they used cloud code.
[04:06:01] I wonder if they used cloud code. Anyway, [snorts] what you have to do
[04:06:02] Anyway, [snorts] what you have to do first, you have to sign up. So, I'm just
[04:06:03] first, you have to sign up. So, I'm just going to go over here into an incognito
[04:06:04] going to go over here into an incognito tab. I'm going to pretend that I don't
[04:06:06] tab. I'm going to pretend that I don't have an account yet. Then, I'm going to
[04:06:07] have an account yet. Then, I'm going to click sign up. Then, I'm going to
[04:06:09] click sign up. Then, I'm going to continue with Why don't we continue with
[04:06:11] continue with Why don't we continue with Google? Then, I'm just going to sign in.
[04:06:12] Google? Then, I'm just going to sign in. Cool. We are now signing in. And the
[04:06:14] Cool. We are now signing in. And the very first thing that happens is you'll
[04:06:15] very first thing that happens is you'll have some little onboarding screen that
[04:06:17] have some little onboarding screen that says welcome to modal. So I'm just going
[04:06:18] says welcome to modal. So I'm just going to say personal and how did we hear
[04:06:20] to say personal and how did we hear about us? Uh social media. I don't know.
[04:06:22] about us? Uh social media. I don't know. I just want to use this for other. Then
[04:06:24] I just want to use this for other. Then I'll click get started.
[04:06:26] I'll click get started. What it's going to do now is it's going
[04:06:27] What it's going to do now is it's going to give me access to all sorts of stuff.
[04:06:29] to give me access to all sorts of stuff. And in the top right hand corner, as you
[04:06:31] And in the top right hand corner, as you see, it's given us $5 in credits. You
[04:06:33] see, it's given us $5 in credits. You can actually claim up to $30 in credits
[04:06:35] can actually claim up to $30 in credits um just by doing a few additional like
[04:06:36] um just by doing a few additional like little onboarding tasks, adding a card
[04:06:38] little onboarding tasks, adding a card and stuff like that. I should note that
[04:06:40] and stuff like that. I should note that I've been using Model for quite a while
[04:06:41] I've been using Model for quite a while now. It's probably been like a few
[04:06:42] now. It's probably been like a few months and I think I'm still at like
[04:06:44] months and I think I'm still at like $4.50
[04:06:45] $4.50 of credit on my main account where we
[04:06:47] of credit on my main account where we probably have like an API request coming
[04:06:48] probably have like an API request coming in every day or two. So, yeah, pretty
[04:06:51] in every day or two. So, yeah, pretty cool stuff. Um, definitely a lot of
[04:06:52] cool stuff. Um, definitely a lot of usage there with the $5. It's way
[04:06:54] usage there with the $5. It's way cheaper of a service I want to say than
[04:06:57] cheaper of a service I want to say than um like a lot of the no code tools and
[04:06:58] um like a lot of the no code tools and automation platforms that I was using
[04:07:00] automation platforms that I was using before like make.com and naden. Over
[04:07:02] before like make.com and naden. Over here, what you need to do is create an
[04:07:03] here, what you need to do is create an API token. So, I'm going to click new
[04:07:05] API token. So, I'm going to click new token. I'll say for what did I what did
[04:07:08] token. I'll say for what did I what did I actually have over here? That was
[04:07:09] I actually have over here? That was pretty interesting. not genuine. Okay,
[04:07:12] pretty interesting. not genuine. Okay, let's do that. [gasps] And then we
[04:07:14] let's do that. [gasps] And then we actually have the token. So, I'm just
[04:07:15] actually have the token. So, I'm just going to copy the server. And then what
[04:07:17] going to copy the server. And then what I want to do is I just want to paste
[04:07:18] I want to do is I just want to paste this in. And um in the claw MD, there's
[04:07:21] this in. And um in the claw MD, there's instructions where basically you can
[04:07:22] instructions where basically you can just give it a new token and then it'll
[04:07:24] just give it a new token and then it'll go and create um you know, all of the
[04:07:25] go and create um you know, all of the stuff for you. So, I'm going to include
[04:07:27] stuff for you. So, I'm going to include this in, you know, the description down
[04:07:29] this in, you know, the description down below. You guys can take a peek at this.
[04:07:30] below. You guys can take a peek at this. If you're new to this, all you have to
[04:07:32] If you're new to this, all you have to do is just do what I just showed you.
[04:07:33] do is just do what I just showed you. And then now you have the ability to
[04:07:34] And then now you have the ability to basically run this on any account.
[04:07:36] basically run this on any account. [gasps] And you know this because this
[04:07:38] [gasps] And you know this because this new URL that I just popped up here, this
[04:07:40] new URL that I just popped up here, this is on a different um service now. It's
[04:07:42] is on a different um service now. It's on my Nick J. Wells account, not my
[04:07:44] on my Nick J. Wells account, not my Nicholas account, which I was on just a
[04:07:46] Nicholas account, which I was on just a moment ago. But let's say you want to
[04:07:47] moment ago. But let's say you want to extend this. You don't just want to do a
[04:07:48] extend this. You don't just want to do a simple URL that I don't know like tells
[04:07:50] simple URL that I don't know like tells you whether or not it's your birthday.
[04:07:52] you whether or not it's your birthday. You actually want to do something for
[04:07:53] You actually want to do something for business purposes. Well, here's where
[04:07:54] business purposes. Well, here's where things get really interesting. What you
[04:07:56] things get really interesting. What you can do is you can take a skill that
[04:07:58] can do is you can take a skill that you've developed before. Then you can
[04:08:00] you've developed before. Then you can just put it up on a URL so that every
[04:08:02] just put it up on a URL so that every time you or somebody else accesses URL,
[04:08:04] time you or somebody else accesses URL, it immediately triggers the workflow.
[04:08:06] it immediately triggers the workflow. Let me show you what I mean. Remember
[04:08:07] Let me show you what I mean. Remember how when we chatted about skills, I had
[04:08:09] how when we chatted about skills, I had this one called scrape leads. What if I
[04:08:11] this one called scrape leads. What if I just copy this and then paste this
[04:08:13] just copy this and then paste this directly into this folder? I'm also
[04:08:15] directly into this folder? I'm also going to wrap it in a dotcloud and then
[04:08:18] going to wrap it in a dotcloud and then a skills folder just for organization
[04:08:19] a skills folder just for organization sake cuz I could tell this is probably
[04:08:21] sake cuz I could tell this is probably going to get pretty complex if I don't.
[04:08:22] going to get pretty complex if I don't. Okay. And now I have it inside
[04:08:24] Okay. And now I have it inside of/skills/scrape.
[04:08:26] of/skills/scrape. Now what I'm going to do is I'm going to
[04:08:27] Now what I'm going to do is I'm going to say this is great. What I'd like you to
[04:08:29] say this is great. What I'd like you to do now is I'd like you to put the
[04:08:31] do now is I'd like you to put the scrape-ads workflow online. I want to be
[04:08:34] scrape-ads workflow online. I want to be able to access it via a simple URL.
[04:08:36] able to access it via a simple URL. Basically, when I access scrape-s, I
[04:08:39] Basically, when I access scrape-s, I want a little form to pop up and ask me
[04:08:41] want a little form to pop up and ask me what I want to scrape. I then fill out
[04:08:43] what I want to scrape. I then fill out that form and then you execute the
[04:08:46] that form and then you execute the scrape-s workflow and then return me the
[04:08:48] scrape-s workflow and then return me the leads in a CSV file when it's done. Now,
[04:08:50] leads in a CSV file when it's done. Now, this has taken us probably less than 2
[04:08:52] this has taken us probably less than 2 minutes in total. I just filled out the
[04:08:54] minutes in total. I just filled out the request. We now have a URL. Just going
[04:08:56] request. We now have a URL. Just going to open up this URL, which is, as
[04:08:58] to open up this URL, which is, as mentioned, the same as any other URL.
[04:09:00] mentioned, the same as any other URL. The search query I'm going to do is I'll
[04:09:01] The search query I'm going to do is I'll just do dentist. I'll say United States.
[04:09:04] just do dentist. I'll say United States. We want, I don't know, 100 results.
[04:09:06] We want, I don't know, 100 results. Let's make it really small. Now that
[04:09:08] Let's make it really small. Now that we've clicked, we're just going to take
[04:09:09] we've clicked, we're just going to take a few minutes to do the actual scrape.
[04:09:11] a few minutes to do the actual scrape. The instructions I gave it were to
[04:09:12] The instructions I gave it were to immediately download the CSV right as
[04:09:14] immediately download the CSV right as this is done. Okay. And then the top
[04:09:15] this is done. Okay. And then the top rightand corner, I have my leads dentist
[04:09:18] rightand corner, I have my leads dentist 100. So, I'm just going to take a peek
[04:09:19] 100. So, I'm just going to take a peek at this. And we have the data right over
[04:09:21] at this. And we have the data right over here. Okay, looking pretty good. We have
[04:09:24] here. Okay, looking pretty good. We have 100 leads. Most of these look like
[04:09:25] 100 leads. Most of these look like dentists, if not all. We also have a
[04:09:27] dentists, if not all. We also have a bunch of additional data about them,
[04:09:28] bunch of additional data about them, which is pretty badass. So, I could use
[04:09:30] which is pretty badass. So, I could use this to build a really cool campaign.
[04:09:31] this to build a really cool campaign. And yeah, hopefully you guys now see the
[04:09:33] And yeah, hopefully you guys now see the power in having something as simple as
[04:09:35] power in having something as simple as modal available to both whip up really
[04:09:37] modal available to both whip up really quick web pages and internal tooling and
[04:09:39] quick web pages and internal tooling and even some external tooling as well as
[04:09:41] even some external tooling as well as use this to do things like run
[04:09:43] use this to do things like run workflows, right? You can build your own
[04:09:44] workflows, right? You can build your own API call or build your own API endpoint,
[04:09:47] API call or build your own API endpoint, I should say. It really just a couple of
[04:09:48] I should say. It really just a couple of keystrokes and that's that. I hope you
[04:09:50] keystrokes and that's that. I hope you guys enjoyed learning everything and
[04:09:52] guys enjoyed learning everything and anything to do with cloud code today.
[04:09:54] anything to do with cloud code today. You now have everything that you need to
[04:09:56] You now have everything that you need to build the foundational base of
[04:09:58] build the foundational base of knowledge, whether or not you guys are
[04:09:59] knowledge, whether or not you guys are programmers or completely nontechnical
[04:10:01] programmers or completely nontechnical people coming into this to learn how to
[04:10:03] people coming into this to learn how to do things like build simple apps,
[04:10:04] do things like build simple apps, websites, or or workflows. I had a blast
[04:10:07] websites, or or workflows. I had a blast teaching you guys this sort of stuff. If
[04:10:09] teaching you guys this sort of stuff. If you've ever wondered how to monetize
[04:10:10] you've ever wondered how to monetize work like this, whether it is custom app
[04:10:12] work like this, whether it is custom app development or workflow building,
[04:10:14] development or workflow building, definitely check out Maker School. It's
[04:10:16] definitely check out Maker School. It's my 90-day accountability program where I
[04:10:18] my 90-day accountability program where I guide you through step by step and quite
[04:10:19] guide you through step by step and quite literally every single day through a
[04:10:21] literally every single day through a sequence of actions necessary to get you
[04:10:23] sequence of actions necessary to get you your very first customer. And I also
[04:10:25] your very first customer. And I also guarantee that you get your first
[04:10:26] guarantee that you get your first customer by the end of a 90-day period.
[04:10:28] customer by the end of a 90-day period. If you don't, I give you all your money
[04:10:29] If you don't, I give you all your money back. That's my last and only pitch of
[04:10:31] back. That's my last and only pitch of this video. Aside from that, I hope you
[04:10:33] this video. Aside from that, I hope you guys like what you saw. If you guys have
[04:10:34] guys like what you saw. If you guys have any questions or need help with anything
[04:10:36] any questions or need help with anything that I mentioned in the video, just drop
[04:10:37] that I mentioned in the video, just drop it as a comment down below. Aside from
[04:10:39] it as a comment down below. Aside from that, have a lovely rest of the day and
[04:10:40] that, have a lovely rest of the day and I'll catch all y'all in my next course.
[04:10:42] I'll catch all y'all in my next course. Bye.