All language subtitles for Build & Sell with Claude Code (10+ Hour Course) [English (auto-generated)] [DownloadYoutubeSubtitles.com]

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish Download
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,080 --> 00:00:03,600 I'm about to take you from a complete 2 00:00:01,520 --> 00:00:04,960 beginner to a pro cloud code user. Even 3 00:00:03,600 --> 00:00:06,319 if you've never touched the tool before, 4 00:00:04,960 --> 00:00:08,515 by the end of this video, you'll be able 5 00:00:06,319 --> 00:00:09,679 to build automations, websites, apps, 6 00:00:08,515 --> 00:00:11,280 [music] whatever you want. You'll even 7 00:00:09,679 --> 00:00:13,040 have your very own AI executive 8 00:00:11,280 --> 00:00:14,799 assistant. So, I have put a ton of time 9 00:00:13,040 --> 00:00:16,640 into making sure that this course is as 10 00:00:14,799 --> 00:00:18,080 comprehensive as possible, and I've laid 11 00:00:16,640 --> 00:00:19,680 it out in the exact order that I would 12 00:00:18,080 --> 00:00:21,439 have wanted to learn Cloud Code if I was 13 00:00:19,680 --> 00:00:22,560 starting over. So, we've got 24 14 00:00:21,439 --> 00:00:23,920 different chapters that are covered in 15 00:00:22,560 --> 00:00:25,119 this course. Let's take a quick look. 16 00:00:23,920 --> 00:00:27,039 I'm going to start off by telling you 17 00:00:25,119 --> 00:00:28,480 guys about the shift in the Agentic AI 18 00:00:27,039 --> 00:00:29,760 market and why you should be learning 19 00:00:28,480 --> 00:00:30,960 Claude Code. I'm going to help you guys 20 00:00:29,760 --> 00:00:32,559 get set up. We're going to go over the 21 00:00:30,960 --> 00:00:34,239 cloud code operations. We're going to 22 00:00:32,559 --> 00:00:35,680 talk about tokens and context when it 23 00:00:34,239 --> 00:00:36,559 comes to just dealing with AI in 24 00:00:35,680 --> 00:00:38,239 general. We're going to talk about 25 00:00:36,559 --> 00:00:40,079 cloud.md. You're going to build your 26 00:00:38,239 --> 00:00:41,680 first workflows. We're going to deploy 27 00:00:40,079 --> 00:00:43,520 those automations so that they actually 28 00:00:41,680 --> 00:00:45,520 can run 24/7. We'll talk about project 29 00:00:43,520 --> 00:00:47,680 architecture, the built-in commands, 30 00:00:45,520 --> 00:00:49,680 rag, building and deploying websites, 31 00:00:47,680 --> 00:00:51,520 APIs, and MCPs. We'll take a look at the 32 00:00:49,680 --> 00:00:53,360 Google CLI. I'll help you guys build 33 00:00:51,520 --> 00:00:54,719 your very own executive assistant. Then 34 00:00:53,360 --> 00:00:56,719 we're going to deep dive into skills, 35 00:00:54,719 --> 00:00:58,800 sub agents, agent teams, browser 36 00:00:56,719 --> 00:01:01,120 automations, permissions, context 37 00:00:58,800 --> 00:01:02,480 management, GitHub work trees. We've got 38 00:01:01,120 --> 00:01:03,920 some fun hacks for you guys and fun 39 00:01:02,480 --> 00:01:05,280 things that you can do with cloud code. 40 00:01:03,920 --> 00:01:06,880 And then finally talking about how you 41 00:01:05,280 --> 00:01:08,320 can actually monetize this new 42 00:01:06,880 --> 00:01:09,760 knowledge. So I don't want to waste any 43 00:01:08,320 --> 00:01:12,760 time. Let's just get straight into the 44 00:01:09,760 --> 00:01:12,760 course. 45 00:01:14,320 --> 00:01:16,880 All right. All right. So, before I have 46 00:01:15,360 --> 00:01:18,320 you guys open up Cloud Code and we start 47 00:01:16,880 --> 00:01:20,320 getting our hands dirty, I just wanted 48 00:01:18,320 --> 00:01:22,720 to sort of talk about the actual space 49 00:01:20,320 --> 00:01:23,920 and what this shift means and why it's 50 00:01:22,720 --> 00:01:25,439 so important. So, that's what we're 51 00:01:23,920 --> 00:01:28,759 going to be covering in this section. 52 00:01:25,439 --> 00:01:28,759 Check it out. 53 00:01:28,960 --> 00:01:31,920 Aentic workflows are not just [music] a 54 00:01:30,560 --> 00:01:33,280 trend. They're the future of the AI 55 00:01:31,920 --> 00:01:34,799 industry. More and more companies are 56 00:01:33,280 --> 00:01:36,000 making the shift to agentic workflows. 57 00:01:34,799 --> 00:01:37,600 And this is just getting started because 58 00:01:36,000 --> 00:01:39,600 it's estimated that the AI agentic 59 00:01:37,600 --> 00:01:41,920 market is going from about $7 billion 60 00:01:39,600 --> 00:01:43,360 this year to around 93 billion in the 61 00:01:41,920 --> 00:01:45,119 next couple of years. So, I can tell you 62 00:01:43,360 --> 00:01:46,720 right now that knowing how to build aic 63 00:01:45,119 --> 00:01:48,159 workflows is going to be one of the most 64 00:01:46,720 --> 00:01:49,360 valuable skills that you can have. So, 65 00:01:48,159 --> 00:01:51,119 in this video, I'm going to break down 66 00:01:49,360 --> 00:01:52,560 why you should be building aic workflows 67 00:01:51,119 --> 00:01:54,079 and then I'm going to actually build one 68 00:01:52,560 --> 00:01:55,520 live in front of you so you can see 69 00:01:54,079 --> 00:01:57,119 exactly how it works. And by the end, 70 00:01:55,520 --> 00:01:58,560 I'll show you how to actually sell these 71 00:01:57,119 --> 00:01:59,840 if you want to make some money with your 72 00:01:58,560 --> 00:02:01,280 skills. So, let's get into it. So, 73 00:01:59,840 --> 00:02:02,799 before we build anything, I want to show 74 00:02:01,280 --> 00:02:04,479 you why this all matters because it's 75 00:02:02,799 --> 00:02:06,320 not just hype. This is real money moving 76 00:02:04,479 --> 00:02:08,319 into real technology. Right now, the 77 00:02:06,320 --> 00:02:10,560 Aentic AI market is sitting at around $8 78 00:02:08,319 --> 00:02:12,239 billion. By 2030, that's expected to hit 79 00:02:10,560 --> 00:02:13,760 40 to 50 billion. That's not just a 80 00:02:12,239 --> 00:02:15,280 small jump. That's an entire industry 81 00:02:13,760 --> 00:02:17,280 being built in front of our eyes. And 82 00:02:15,280 --> 00:02:18,480 it's not just projections. About 25% of 83 00:02:17,280 --> 00:02:20,879 enterprises are already deploying 84 00:02:18,480 --> 00:02:23,120 Agentic pilots this year. And by 2027, 85 00:02:20,879 --> 00:02:24,640 that number will jump to 50%. So half of 86 00:02:23,120 --> 00:02:26,319 major companies will be running some 87 00:02:24,640 --> 00:02:27,599 version of Agentic Workflows within the 88 00:02:26,319 --> 00:02:29,520 next 2 years. And with that comes 89 00:02:27,599 --> 00:02:30,800 massive budget allocations, new security 90 00:02:29,520 --> 00:02:32,239 requirements, and a ton of new 91 00:02:30,800 --> 00:02:33,599 opportunities for people who know how to 92 00:02:32,239 --> 00:02:35,360 build these systems. So why is this 93 00:02:33,599 --> 00:02:36,640 happening now? What's driving the shift? 94 00:02:35,360 --> 00:02:38,000 It comes down to pretty much one thing 95 00:02:36,640 --> 00:02:39,280 which is companies are starting to hit 96 00:02:38,000 --> 00:02:40,640 that ceiling of what traditional 97 00:02:39,280 --> 00:02:42,400 automation can do and they're starting 98 00:02:40,640 --> 00:02:44,239 to realize they could move a lot faster 99 00:02:42,400 --> 00:02:45,680 with more agentic workflows. If you've 100 00:02:44,239 --> 00:02:47,040 been building workflows in tools like 101 00:02:45,680 --> 00:02:48,319 end to end or Zapier, you know the 102 00:02:47,040 --> 00:02:49,680 drill. You map out every step. You 103 00:02:48,319 --> 00:02:51,200 connect the different nodes or blocks. 104 00:02:49,680 --> 00:02:52,800 You handle the edge cases yourself and 105 00:02:51,200 --> 00:02:54,160 it works until it breaks because 106 00:02:52,800 --> 00:02:55,680 traditional workflows will break when 107 00:02:54,160 --> 00:02:57,280 they hit something unexpected. And when 108 00:02:55,680 --> 00:02:58,879 that happens, someone has to usually go 109 00:02:57,280 --> 00:03:00,239 in manually and fix that. And that's 110 00:02:58,879 --> 00:03:01,519 maintenance. That's time. That's 111 00:03:00,239 --> 00:03:02,879 ultimately money. Now, I do want to be 112 00:03:01,519 --> 00:03:04,640 real with you here because there's a lot 113 00:03:02,879 --> 00:03:05,840 of noise online about a dentic workflows 114 00:03:04,640 --> 00:03:07,440 that makes it sound like they're just 115 00:03:05,840 --> 00:03:09,040 completely magic and they fix themselves 116 00:03:07,440 --> 00:03:10,607 forever. And that is partially true, but 117 00:03:09,040 --> 00:03:11,760 only in a specific context, at least 118 00:03:10,607 --> 00:03:13,440 [music] right now. Cuz when you're 119 00:03:11,760 --> 00:03:15,040 actively working in a tool like Claude 120 00:03:13,440 --> 00:03:16,480 Code and you trigger a workflow yourself 121 00:03:15,040 --> 00:03:17,920 and say, "Hey, go research these 122 00:03:16,480 --> 00:03:19,280 competitors and build me a report." The 123 00:03:17,920 --> 00:03:20,640 agent is sitting right there with you. 124 00:03:19,280 --> 00:03:22,400 So, if something breaks, the agent can 125 00:03:20,640 --> 00:03:23,920 catch it mid-run. It can adjust its 126 00:03:22,400 --> 00:03:25,680 approach. It can update its tools and 127 00:03:23,920 --> 00:03:27,360 keep going. That self-healing piece is 128 00:03:25,680 --> 00:03:28,720 very, very real and it's incredibly 129 00:03:27,360 --> 00:03:30,319 powerful while you're building and while 130 00:03:28,720 --> 00:03:32,000 you're iterating. But once you deploy 131 00:03:30,319 --> 00:03:33,840 that workflow to run on its own on a 132 00:03:32,000 --> 00:03:35,280 schedule or triggered by a web hook or 133 00:03:33,840 --> 00:03:36,879 something like that, that is when you're 134 00:03:35,280 --> 00:03:38,959 deploying the code, you're deploying the 135 00:03:36,879 --> 00:03:40,400 tools, not the actual agent itself. So 136 00:03:38,959 --> 00:03:42,480 if you've seen my previous videos where 137 00:03:40,400 --> 00:03:44,720 we've used the WAT framework, we are 138 00:03:42,480 --> 00:03:46,959 basically deploying the W workflows and 139 00:03:44,720 --> 00:03:48,080 the T tools, but not the A agent. But 140 00:03:46,959 --> 00:03:49,120 I'll cover this more in depth later 141 00:03:48,080 --> 00:03:50,560 during the live build if you're 142 00:03:49,120 --> 00:03:52,400 confused. But what this means is that 143 00:03:50,560 --> 00:03:54,959 the self-healing ability ultimately goes 144 00:03:52,400 --> 00:03:56,400 away when the code is up in the cloud, 145 00:03:54,959 --> 00:03:57,680 you know, running automatically. And at 146 00:03:56,400 --> 00:03:58,879 that point, it does behave more like a 147 00:03:57,680 --> 00:04:00,319 traditional automation. But that's 148 00:03:58,879 --> 00:04:02,000 really a good thing because automations 149 00:04:00,319 --> 00:04:03,840 are predictable. They're deterministic. 150 00:04:02,000 --> 00:04:05,200 And those types are the best ones. So 151 00:04:03,840 --> 00:04:07,120 then where's the real advantage? Really, 152 00:04:05,200 --> 00:04:08,640 it sits in how you build. Traditional 153 00:04:07,120 --> 00:04:10,400 automation is like building a train 154 00:04:08,640 --> 00:04:12,000 track by hand. You're laying every rail, 155 00:04:10,400 --> 00:04:13,840 every switch, every connection all by 156 00:04:12,000 --> 00:04:14,799 yourself. Whereas with aentic workflows, 157 00:04:13,840 --> 00:04:16,320 it's like you're just telling a 158 00:04:14,799 --> 00:04:17,919 construction crew, "Hey, I need you to 159 00:04:16,320 --> 00:04:19,280 build a train track from here to there." 160 00:04:17,919 --> 00:04:20,639 And then they build it for you. Meaning, 161 00:04:19,280 --> 00:04:21,919 if they hit a problem during 162 00:04:20,639 --> 00:04:23,360 construction, they would figure it out. 163 00:04:21,919 --> 00:04:25,040 So you end up with a better train track. 164 00:04:23,360 --> 00:04:26,960 It's built faster with fewer mistakes 165 00:04:25,040 --> 00:04:28,479 because the agent handled the edge cases 166 00:04:26,960 --> 00:04:30,000 during the build process that you might 167 00:04:28,479 --> 00:04:31,840 have missed or not thought of. And then 168 00:04:30,000 --> 00:04:33,520 the idea is you battle test it before 169 00:04:31,840 --> 00:04:34,639 you ever actually deploy it. So then you 170 00:04:33,520 --> 00:04:36,320 have a lot of confidence that it will 171 00:04:34,639 --> 00:04:38,320 always work. So in our train analogy, 172 00:04:36,320 --> 00:04:39,680 before we deploy that train track, we 173 00:04:38,320 --> 00:04:41,360 would have like 10 different types of 174 00:04:39,680 --> 00:04:42,479 trains test drive on it. They would be 175 00:04:41,360 --> 00:04:43,919 different weights, different lengths, 176 00:04:42,479 --> 00:04:45,120 and maybe different wheels. And we'd 177 00:04:43,919 --> 00:04:46,639 want to make sure that our track can 178 00:04:45,120 --> 00:04:48,000 work for all different types of trains 179 00:04:46,639 --> 00:04:49,600 before we deploy it. And the reason this 180 00:04:48,000 --> 00:04:51,120 is actually possible now is because the 181 00:04:49,600 --> 00:04:52,720 technology has finally caught up. LM 182 00:04:51,120 --> 00:04:54,400 have gotten really reliable enough to 183 00:04:52,720 --> 00:04:55,680 use in production and we're not just 184 00:04:54,400 --> 00:04:57,040 playing around with chatbots anymore. 185 00:04:55,680 --> 00:04:58,240 These models can reason, they can make 186 00:04:57,040 --> 00:05:00,160 decisions and they can execute 187 00:04:58,240 --> 00:05:01,680 multi-step tasks with real consistency. 188 00:05:00,160 --> 00:05:04,479 On top of that, we've got things to use 189 00:05:01,680 --> 00:05:06,560 like skills or MCP or aa. We've also got 190 00:05:04,479 --> 00:05:08,240 infrastructure like trigger.dev, modal 191 00:05:06,560 --> 00:05:09,680 or versell that make deployment way 192 00:05:08,240 --> 00:05:11,199 simpler than it used to be. And most 193 00:05:09,680 --> 00:05:13,039 importantly, we've got tools like cloud 194 00:05:11,199 --> 00:05:14,960 code that make all of this accessible to 195 00:05:13,039 --> 00:05:16,479 non-developers. So, we can see that the 196 00:05:14,960 --> 00:05:18,400 market is absolutely shifting towards 197 00:05:16,479 --> 00:05:19,680 aic systems and the numbers back it up. 198 00:05:18,400 --> 00:05:20,800 But here's a question that's probably on 199 00:05:19,680 --> 00:05:22,240 your mind. Does this mean everything 200 00:05:20,800 --> 00:05:24,320 that I've learned about Naden or 201 00:05:22,240 --> 00:05:26,160 traditional automation is useless? Not 202 00:05:24,320 --> 00:05:27,199 even close. And let me explain why. The 203 00:05:26,160 --> 00:05:28,880 people who are going to struggle with 204 00:05:27,199 --> 00:05:30,479 agentic workflows are the ones who 205 00:05:28,880 --> 00:05:31,840 completely skip those fundamentals and 206 00:05:30,479 --> 00:05:33,680 jump straight into cloud code, tell it 207 00:05:31,840 --> 00:05:35,360 to build something, and have no idea if 208 00:05:33,680 --> 00:05:36,479 what is being built is actually good. 209 00:05:35,360 --> 00:05:38,320 They probably don't know what a web hook 210 00:05:36,479 --> 00:05:39,680 is or how APIs work. They won't be able 211 00:05:38,320 --> 00:05:40,880 to spot when the agent made a bad 212 00:05:39,680 --> 00:05:42,320 decision because they've never built the 213 00:05:40,880 --> 00:05:43,759 thing manually themselves. Now, that's 214 00:05:42,320 --> 00:05:45,199 not to say that a beginner can't learn 215 00:05:43,759 --> 00:05:46,560 cloud code. And because you actually 216 00:05:45,199 --> 00:05:48,479 understand how automations work under 217 00:05:46,560 --> 00:05:50,080 the hood, you can communicate precisely 218 00:05:48,479 --> 00:05:51,759 what you want much clearer. And you'll 219 00:05:50,080 --> 00:05:53,199 see once we hop into the live build just 220 00:05:51,759 --> 00:05:54,479 how important it is to actually be able 221 00:05:53,199 --> 00:05:56,320 to communicate really clearly. All 222 00:05:54,479 --> 00:05:57,840 right, so now you understand why agentic 223 00:05:56,320 --> 00:05:59,199 workflows are such a big deal. Now I'm 224 00:05:57,840 --> 00:06:00,720 going to show you how simple it is to 225 00:05:59,199 --> 00:06:02,160 build an agentic workflow using cloud 226 00:06:00,720 --> 00:06:03,280 code. And by the way, if you want to 227 00:06:02,160 --> 00:06:04,960 follow along with what I'm about to 228 00:06:03,280 --> 00:06:06,800 build, you can grab all the resources 229 00:06:04,960 --> 00:06:08,240 and files that you need completely for 230 00:06:06,800 --> 00:06:09,280 free in my free school community. The 231 00:06:08,240 --> 00:06:11,039 link for that is down in the 232 00:06:09,280 --> 00:06:12,800 description. All right, so we're now in 233 00:06:11,039 --> 00:06:14,800 Visual Studio Code, which is where we're 234 00:06:12,800 --> 00:06:16,479 going to actually use Cloud Code. Visual 235 00:06:14,800 --> 00:06:18,000 Studio Code is just an IDE or an 236 00:06:16,479 --> 00:06:18,960 integrated development environment. And 237 00:06:18,000 --> 00:06:20,479 that's where, like I said, we're going 238 00:06:18,960 --> 00:06:21,919 to be using Cloud Code. So, if you don't 239 00:06:20,479 --> 00:06:23,199 have this up and running yet, all you 240 00:06:21,919 --> 00:06:25,039 have to do is go to a browser and type 241 00:06:23,199 --> 00:06:26,479 in Visual Studio Code and download the 242 00:06:25,039 --> 00:06:27,600 right one for your operating system. And 243 00:06:26,479 --> 00:06:28,800 then once you open that up, it should 244 00:06:27,600 --> 00:06:30,960 look like this. The first thing you have 245 00:06:28,800 --> 00:06:32,000 to do is install the Cloud Code 246 00:06:30,960 --> 00:06:33,120 extension. So, you're going to go over 247 00:06:32,000 --> 00:06:34,880 here to the lefth hand side. You're 248 00:06:33,120 --> 00:06:36,560 going to open up extensions. And then 249 00:06:34,880 --> 00:06:37,919 you will see right here cloud code. Or 250 00:06:36,560 --> 00:06:39,600 if you don't, you will search Cloud 251 00:06:37,919 --> 00:06:41,039 Code. And once you pull that open, it'll 252 00:06:39,600 --> 00:06:42,560 ask you to install it. And then once you 253 00:06:41,039 --> 00:06:44,240 do, it'll basically just prompt you to 254 00:06:42,560 --> 00:06:45,919 sign in with your Claude subscription. 255 00:06:44,240 --> 00:06:47,759 Now, you do have to be on a paid plan 256 00:06:45,919 --> 00:06:48,800 for Claude in order to access Cloud 257 00:06:47,759 --> 00:06:50,400 Code. As you can see on the free 258 00:06:48,800 --> 00:06:52,080 version, you don't get Claude Code, but 259 00:06:50,400 --> 00:06:53,840 right here on the paid version, you do. 260 00:06:52,080 --> 00:06:56,080 So, you can start off with the pro plan 261 00:06:53,840 --> 00:06:57,440 at 17 bucks a month. And then, if you 262 00:06:56,080 --> 00:06:59,039 need to, if you keep hitting limits, you 263 00:06:57,440 --> 00:07:00,639 can upgrade to max, which honestly, you 264 00:06:59,039 --> 00:07:02,479 probably will. I'm on the max plan, and 265 00:07:00,639 --> 00:07:03,680 it is an amazing return on my 266 00:07:02,479 --> 00:07:04,880 investment. So, I would just go with the 267 00:07:03,680 --> 00:07:06,080 max. But anyways, you'll get 268 00:07:04,880 --> 00:07:07,360 authenticated, and then it will bring 269 00:07:06,080 --> 00:07:09,360 you back here. And now we can actually 270 00:07:07,360 --> 00:07:10,639 get going using cloud code and building 271 00:07:09,360 --> 00:07:12,160 workflows. So I'm going to close out of 272 00:07:10,639 --> 00:07:14,240 this screen. And what we're going to do 273 00:07:12,160 --> 00:07:15,599 now is we're going to open up a project. 274 00:07:14,240 --> 00:07:17,520 So on this lefth hand side, I'm going to 275 00:07:15,599 --> 00:07:18,800 go up here to explore. And this says you 276 00:07:17,520 --> 00:07:19,840 have not yet opened a folder. Open a 277 00:07:18,800 --> 00:07:21,199 folder. So essentially when we're in 278 00:07:19,840 --> 00:07:23,039 cloud code, we're going to be working 279 00:07:21,199 --> 00:07:24,479 within a certain folder. And that's kind 280 00:07:23,039 --> 00:07:25,680 of the way that I think of like this is 281 00:07:24,479 --> 00:07:26,960 the project that we're working on. So 282 00:07:25,680 --> 00:07:28,800 I'm going to click open folder and I'm 283 00:07:26,960 --> 00:07:30,000 going to open up a blank project. So you 284 00:07:28,800 --> 00:07:31,840 can see I'm in a folder called 285 00:07:30,000 --> 00:07:33,199 newsletters demo. And there's nothing in 286 00:07:31,840 --> 00:07:34,800 it. It's completely fresh. I'm going to 287 00:07:33,199 --> 00:07:36,319 click select folder. And now we can see 288 00:07:34,800 --> 00:07:37,680 we're in this project. I'm real quick 289 00:07:36,319 --> 00:07:39,440 just going to close out of this and 290 00:07:37,680 --> 00:07:41,199 close out of this just so we have a 291 00:07:39,440 --> 00:07:42,880 really clean interface to look at with 292 00:07:41,199 --> 00:07:44,080 not much going on and I can explain what 293 00:07:42,880 --> 00:07:45,840 we're actually about to do. So to make 294 00:07:44,080 --> 00:07:47,440 this as simple as possible in cloud code 295 00:07:45,840 --> 00:07:48,720 we have an agent and we have files. 296 00:07:47,440 --> 00:07:49,919 That's it. The lefth hand side is where 297 00:07:48,720 --> 00:07:51,199 we see those files. We'll see different 298 00:07:49,919 --> 00:07:52,319 workflows. We'll see tools. We'll see 299 00:07:51,199 --> 00:07:53,599 all these little things. And then on the 300 00:07:52,319 --> 00:07:55,199 right hand side we'll have the cloud 301 00:07:53,599 --> 00:07:56,800 code agent and that's where we talk to 302 00:07:55,199 --> 00:07:58,400 it. We plan with it. It asks us 303 00:07:56,800 --> 00:08:00,240 questions and it actually executes and 304 00:07:58,400 --> 00:08:01,840 writes the code or builds the workflow 305 00:08:00,240 --> 00:08:03,759 for us. So, if I switch back into Visual 306 00:08:01,840 --> 00:08:05,599 Studio Code and I double click right 307 00:08:03,759 --> 00:08:06,960 here and then I open up this button that 308 00:08:05,599 --> 00:08:08,400 says Claude Code, this is where we 309 00:08:06,960 --> 00:08:09,680 actually open up the actual Claude Code 310 00:08:08,400 --> 00:08:10,960 agent right there. So, I'll close out of 311 00:08:09,680 --> 00:08:12,319 this. You can see this is kind of what 312 00:08:10,960 --> 00:08:13,520 we're talking about now. Files on this 313 00:08:12,319 --> 00:08:14,720 side. There's nothing there yet. And the 314 00:08:13,520 --> 00:08:16,879 Claude Code agent right here. Now, what 315 00:08:14,720 --> 00:08:18,879 we have to do next is give Claude Code a 316 00:08:16,879 --> 00:08:20,639 cla.md file, which is basically just 317 00:08:18,879 --> 00:08:21,919 instructions for this specific project. 318 00:08:20,639 --> 00:08:24,080 And you can really just think of this as 319 00:08:21,919 --> 00:08:25,759 a system prompt. So that way when we the 320 00:08:24,080 --> 00:08:27,199 user send a message to our cloud code 321 00:08:25,759 --> 00:08:28,720 agent, it doesn't just process what we 322 00:08:27,199 --> 00:08:30,960 said and respond to us, but it also 323 00:08:28,720 --> 00:08:31,759 every time reads the claw.md file. So 324 00:08:30,960 --> 00:08:33,519 this is where you're going to put 325 00:08:31,759 --> 00:08:35,039 important things like how the folders 326 00:08:33,519 --> 00:08:36,640 are laid out. You know where to find 327 00:08:35,039 --> 00:08:38,080 your different files, what its end goal 328 00:08:36,640 --> 00:08:39,200 is, any frameworks that you might be 329 00:08:38,080 --> 00:08:40,479 using. So in this case, what we're going 330 00:08:39,200 --> 00:08:42,640 to be doing is we're going to be using a 331 00:08:40,479 --> 00:08:44,959 framework called WAT, which stands for 332 00:08:42,640 --> 00:08:46,080 workflows, agent, and tools. So, real 333 00:08:44,959 --> 00:08:47,760 quick, if you pop over to my free 334 00:08:46,080 --> 00:08:49,200 community and you go to the classroom 335 00:08:47,760 --> 00:08:51,440 and then you click on cloud code right 336 00:08:49,200 --> 00:08:52,560 here, you'll see the watclaw.mmd and you 337 00:08:51,440 --> 00:08:53,839 can go ahead and download this file 338 00:08:52,560 --> 00:08:55,519 right here. And once you've downloaded 339 00:08:53,839 --> 00:08:57,040 that file, you can actually just drag it 340 00:08:55,519 --> 00:08:59,120 over here to the lefth hand side and it 341 00:08:57,040 --> 00:09:00,480 should pop up as cloud.md. And if you 342 00:08:59,120 --> 00:09:02,320 wanted to, you could read through this 343 00:09:00,480 --> 00:09:03,839 entire basically system prompt to see 344 00:09:02,320 --> 00:09:05,680 what I'm telling it about how to build 345 00:09:03,839 --> 00:09:07,839 workflows, how to build tools, how to 346 00:09:05,680 --> 00:09:09,360 keep learning and how to, you know, set 347 00:09:07,839 --> 00:09:10,560 up its its folders and everything. But 348 00:09:09,360 --> 00:09:11,680 I'm not going to read that all out right 349 00:09:10,560 --> 00:09:13,680 now. What I'm going to do is just 350 00:09:11,680 --> 00:09:15,760 basically tell Claude Code to set up the 351 00:09:13,680 --> 00:09:18,000 project. read the claw.mmd file and then 352 00:09:15,760 --> 00:09:19,279 set up the project and the structure and 353 00:09:18,000 --> 00:09:20,320 then we'll start building workflows 354 00:09:19,279 --> 00:09:21,279 together. So I'm basically just going to 355 00:09:20,320 --> 00:09:22,560 shoot that off and it's going to go 356 00:09:21,279 --> 00:09:24,080 ahead and read that and get everything 357 00:09:22,560 --> 00:09:25,279 ready. So we'll see soon on the lefth 358 00:09:24,080 --> 00:09:26,640 hand side we've got all our different 359 00:09:25,279 --> 00:09:27,920 folders set up. But while it's going 360 00:09:26,640 --> 00:09:30,080 through and doing that let me just 361 00:09:27,920 --> 00:09:32,080 explain what these different things are. 362 00:09:30,080 --> 00:09:33,680 So agent that is the actual cloud code 363 00:09:32,080 --> 00:09:35,600 agent that we just talked to as you saw 364 00:09:33,680 --> 00:09:37,600 and the agent utilizes workflows and 365 00:09:35,600 --> 00:09:39,360 tools to help us automate things. So the 366 00:09:37,600 --> 00:09:41,279 first thing is workflows. These are 367 00:09:39,360 --> 00:09:43,040 markdown files which you just saw 368 00:09:41,279 --> 00:09:44,560 similar to the cloudMD and it looks like 369 00:09:43,040 --> 00:09:45,760 this. It's basically completely natural 370 00:09:44,560 --> 00:09:47,279 language. You could read through every 371 00:09:45,760 --> 00:09:49,600 line and understand exactly what's going 372 00:09:47,279 --> 00:09:52,880 on. It just uses things like pound signs 373 00:09:49,600 --> 00:09:54,399 and, you know, dashes and asterisks to 374 00:09:52,880 --> 00:09:56,880 separate like what's a header and what's 375 00:09:54,399 --> 00:09:58,959 bold to stress importance for the agent. 376 00:09:56,880 --> 00:10:01,040 Workflows are natural language 377 00:09:58,959 --> 00:10:02,959 processes, instructions. So, right now, 378 00:10:01,040 --> 00:10:04,560 let's just use an analogy of a recipe. 379 00:10:02,959 --> 00:10:06,480 The workflow is the recipe. So, you'd 380 00:10:04,560 --> 00:10:07,680 have a workflow for how to bake a 381 00:10:06,480 --> 00:10:09,120 chocolate cake. And when you want to 382 00:10:07,680 --> 00:10:11,200 bake that chocolate cake, it's going to 383 00:10:09,120 --> 00:10:12,399 tell you what to do in certain order. 384 00:10:11,200 --> 00:10:13,839 So, it's going to say, "Preheat the oven 385 00:10:12,399 --> 00:10:15,279 to this. Boil some water." I don't know 386 00:10:13,839 --> 00:10:16,640 why you'd boil water for a cake. Crack 387 00:10:15,279 --> 00:10:18,160 two eggs in a bowl, you know, measure 388 00:10:16,640 --> 00:10:19,760 out a cup of flour, whatever it is. And 389 00:10:18,160 --> 00:10:21,519 those are the tools. So, the tools are 390 00:10:19,760 --> 00:10:23,120 all of the ingredients, but without the 391 00:10:21,519 --> 00:10:25,760 structure of the workflow, saying use 392 00:10:23,120 --> 00:10:27,519 tool one, then tool 5, then tool 7, then 393 00:10:25,760 --> 00:10:29,120 tool 10. Without the order and the 394 00:10:27,519 --> 00:10:30,560 structure, the tools are useless. So, 395 00:10:29,120 --> 00:10:31,680 basically, the workflows tell the agent 396 00:10:30,560 --> 00:10:33,360 how to build the tools. And what's 397 00:10:31,680 --> 00:10:34,560 really cool about both of these is as 398 00:10:33,360 --> 00:10:36,320 they're being built and as they're being 399 00:10:34,560 --> 00:10:38,000 used, the agent will improve them over 400 00:10:36,320 --> 00:10:39,760 time if it makes mistakes or if it 401 00:10:38,000 --> 00:10:41,920 learns things. So that is why we use the 402 00:10:39,760 --> 00:10:43,279 WAT framework to build our workflows 403 00:10:41,920 --> 00:10:44,640 with cloud code. So now that that's 404 00:10:43,279 --> 00:10:46,079 done, you can see that this is finished 405 00:10:44,640 --> 00:10:47,360 up and it's basically said, okay, the 406 00:10:46,079 --> 00:10:48,800 project is set up. Here's a summary of 407 00:10:47,360 --> 00:10:50,160 the structure. Here's what I understand. 408 00:10:48,800 --> 00:10:51,839 We're going to be building workflows in 409 00:10:50,160 --> 00:10:53,839 this project likely around newsletter 410 00:10:51,839 --> 00:10:55,519 operations. WAT framework. I will act as 411 00:10:53,839 --> 00:10:56,959 the agent. I will read workflows. I will 412 00:10:55,519 --> 00:10:58,560 run tools. I will handle errors and 413 00:10:56,959 --> 00:10:59,760 improve the system. I've got Python 414 00:10:58,560 --> 00:11:02,240 ready to go. And I'm going to store 415 00:10:59,760 --> 00:11:04,160 secrets in thev. So this is where we're 416 00:11:02,240 --> 00:11:05,600 going to put our API keys rather than 417 00:11:04,160 --> 00:11:07,200 putting them straight into claw so that 418 00:11:05,600 --> 00:11:08,560 they could be exposed who knows where. 419 00:11:07,200 --> 00:11:10,560 Okay. So, what I'm going to do is go 420 00:11:08,560 --> 00:11:12,000 ahead and do a /cle just to get rid of 421 00:11:10,560 --> 00:11:14,000 this conversation and we can start 422 00:11:12,000 --> 00:11:15,440 fresh. And we're going to start to plan 423 00:11:14,000 --> 00:11:16,959 out this workflow that we want to build. 424 00:11:15,440 --> 00:11:18,640 Before we start planning, I'm going to 425 00:11:16,959 --> 00:11:20,160 switch this to plan mode. So, you can 426 00:11:18,640 --> 00:11:21,440 see we're in bypass permissions. You can 427 00:11:20,160 --> 00:11:22,959 go to ask before edits. You can go to 428 00:11:21,440 --> 00:11:24,079 edit automatically. But I want to go to 429 00:11:22,959 --> 00:11:25,600 plan mode. And it's really, really 430 00:11:24,079 --> 00:11:27,200 important, as we talked about earlier, 431 00:11:25,600 --> 00:11:28,560 to be able to communicate clearly what 432 00:11:27,200 --> 00:11:30,160 you want. And the cool thing about Cloud 433 00:11:28,560 --> 00:11:31,600 Code is when we give it a plan, even if 434 00:11:30,160 --> 00:11:32,800 it's pretty ambiguous, it will come back 435 00:11:31,600 --> 00:11:34,480 and say, "Okay, in order for this to be 436 00:11:32,800 --> 00:11:36,079 good, I need to know X, Y, and Z." So, 437 00:11:34,480 --> 00:11:37,200 I'm going to give it a fairly ambiguous 438 00:11:36,079 --> 00:11:38,800 prompt here. And then you're going to 439 00:11:37,200 --> 00:11:40,959 see it ask us questions and plan out 440 00:11:38,800 --> 00:11:42,800 this workflow for us. Hey Claude, I want 441 00:11:40,959 --> 00:11:44,560 to build a workflow which will basically 442 00:11:42,800 --> 00:11:45,680 be a newsletter automation. I want to be 443 00:11:44,560 --> 00:11:47,600 able to tell you that I need a 444 00:11:45,680 --> 00:11:50,320 newsletter about a certain topic and you 445 00:11:47,600 --> 00:11:52,160 will do research. You will structure it 446 00:11:50,320 --> 00:11:53,920 in HTML. You will make it look pretty 447 00:11:52,160 --> 00:11:56,160 and you will also create a few 448 00:11:53,920 --> 00:11:57,839 infographics to go with it. So help me 449 00:11:56,160 --> 00:11:59,920 figure out what text stack to use here 450 00:11:57,839 --> 00:12:00,959 and what else you might suggest that I 451 00:11:59,920 --> 00:12:02,399 haven't yet thought of. So I'm going to 452 00:12:00,959 --> 00:12:03,839 shoot that off. Now, whether we're in 453 00:12:02,399 --> 00:12:05,519 plan mode or, you know, bypass 454 00:12:03,839 --> 00:12:06,959 permissions, what happens is the agent 455 00:12:05,519 --> 00:12:08,399 starts thinking and it starts testing 456 00:12:06,959 --> 00:12:10,000 things out. So, it's thinking, it's 457 00:12:08,399 --> 00:12:11,440 reading through files, it has this 458 00:12:10,000 --> 00:12:13,279 little thing that will say computing or 459 00:12:11,440 --> 00:12:14,639 deciphering or wobbling or whatever it 460 00:12:13,279 --> 00:12:16,240 is, just a bunch of little silly words. 461 00:12:14,639 --> 00:12:17,519 Um, but that just basically shows you 462 00:12:16,240 --> 00:12:18,480 exactly what it's doing. All right, so 463 00:12:17,519 --> 00:12:20,000 we're just at the point where it's 464 00:12:18,480 --> 00:12:21,440 asking us some questions before it 465 00:12:20,000 --> 00:12:22,800 continues working on the plan. The first 466 00:12:21,440 --> 00:12:25,200 thing is for research, do you want to 467 00:12:22,800 --> 00:12:26,720 add an external search API to pull in 468 00:12:25,200 --> 00:12:28,079 data? So, what I'm going to do is say, 469 00:12:26,720 --> 00:12:29,760 yeah, sure. Let's just go ahead and do 470 00:12:28,079 --> 00:12:31,360 perplexity. for delivery. It asks us if 471 00:12:29,760 --> 00:12:33,200 we want to use Beehive or if we just 472 00:12:31,360 --> 00:12:34,399 want to send the HTML file for now. I'm 473 00:12:33,200 --> 00:12:36,720 actually just going to go ahead and say 474 00:12:34,399 --> 00:12:38,480 let's actually just send this over in 475 00:12:36,720 --> 00:12:40,079 Gmail. And now it asks us about brand 476 00:12:38,480 --> 00:12:42,000 assets, which is really cool. So, if we 477 00:12:40,079 --> 00:12:43,760 want to, we can send over some brand 478 00:12:42,000 --> 00:12:45,200 guidelines or logos and stuff like that 479 00:12:43,760 --> 00:12:47,600 to make sure that the newsletters are 480 00:12:45,200 --> 00:12:49,279 always formatted and they feel on brand. 481 00:12:47,600 --> 00:12:51,360 So, I'm going to go ahead and say yes, I 482 00:12:49,279 --> 00:12:52,720 will provide some brand assets. So, then 483 00:12:51,360 --> 00:12:54,000 what happens is it comes back with a 484 00:12:52,720 --> 00:12:55,440 final plan. Let me just zoom out a 485 00:12:54,000 --> 00:12:56,399 little bit so we can actually see that a 486 00:12:55,440 --> 00:12:57,920 little bit better. We'll go ahead and 487 00:12:56,399 --> 00:12:59,600 see what it came up with. So, newsletter 488 00:12:57,920 --> 00:13:02,079 automation workflow. We want to conduct 489 00:12:59,600 --> 00:13:03,839 research, generate HTML with polished 490 00:13:02,079 --> 00:13:05,120 visual design, create infographics to 491 00:13:03,839 --> 00:13:06,560 accompany the content. We've got a 492 00:13:05,120 --> 00:13:08,880 research layer. We've got the content 493 00:13:06,560 --> 00:13:10,880 generation. We got the infographics. So, 494 00:13:08,880 --> 00:13:13,519 it says that it could use data stats 495 00:13:10,880 --> 00:13:14,720 infographics or it could use SVG. Why 496 00:13:13,519 --> 00:13:16,240 not image generation? It's too 497 00:13:14,720 --> 00:13:17,200 unpredictable. It can't embed. I'm 498 00:13:16,240 --> 00:13:19,040 actually going to go ahead and say that 499 00:13:17,200 --> 00:13:20,720 I wanted to use nanobanana. So, I'm 500 00:13:19,040 --> 00:13:22,480 going to go ahead and type in here for 501 00:13:20,720 --> 00:13:24,639 the infographics. I want you to generate 502 00:13:22,480 --> 00:13:26,959 AI images using nano banana. You can use 503 00:13:24,639 --> 00:13:28,399 a platform called key.ai. So this just 504 00:13:26,959 --> 00:13:29,920 shows the importance of plan mode and 505 00:13:28,399 --> 00:13:31,120 reading through the plan so that you can 506 00:13:29,920 --> 00:13:32,959 make sure before it actually starts 507 00:13:31,120 --> 00:13:34,800 building everything you like what it's 508 00:13:32,959 --> 00:13:36,320 going to do. Okay. So now that new plan 509 00:13:34,800 --> 00:13:38,000 has been done you can see the text stack 510 00:13:36,320 --> 00:13:39,600 is going to be research with perplexity. 511 00:13:38,000 --> 00:13:41,279 The content will be written with claude. 512 00:13:39,600 --> 00:13:43,519 The infographics will be created with 513 00:13:41,279 --> 00:13:45,600 nano banana. We will write the email in 514 00:13:43,519 --> 00:13:47,040 HTML and then send that via Gmail. And 515 00:13:45,600 --> 00:13:49,040 it even comes up with a section here 516 00:13:47,040 --> 00:13:51,040 about things the user likely hasn't 517 00:13:49,040 --> 00:13:52,880 considered. So things like human review, 518 00:13:51,040 --> 00:13:54,480 subject line, metadata, brand 519 00:13:52,880 --> 00:13:55,600 consistency, all this type of stuff. 520 00:13:54,480 --> 00:13:57,440 Now, the last thing that I actually 521 00:13:55,600 --> 00:13:58,480 forgot to give it was my brand assets. 522 00:13:57,440 --> 00:14:00,160 So, what I'm going to do real quick 523 00:13:58,480 --> 00:14:01,360 before we accept or, you know, keep 524 00:14:00,160 --> 00:14:02,720 working on the plan, I'm going to create 525 00:14:01,360 --> 00:14:05,120 a new folder over here. I'm going to 526 00:14:02,720 --> 00:14:06,720 call this brand_assets. 527 00:14:05,120 --> 00:14:09,199 And you can see I dragged in two things. 528 00:14:06,720 --> 00:14:10,880 I dragged in AISPG, which is our logo, 529 00:14:09,199 --> 00:14:12,079 and I dragged in our brand guidelines. 530 00:14:10,880 --> 00:14:13,440 So, I want the newsletter to be 531 00:14:12,079 --> 00:14:14,880 formatted in this way. So, I'm going to 532 00:14:13,440 --> 00:14:16,959 click on no key planning, and I'm going 533 00:14:14,880 --> 00:14:18,720 to tell Claude that it needs to use 534 00:14:16,959 --> 00:14:20,320 those two assets. So, what's cool is 535 00:14:18,720 --> 00:14:21,600 that I can actually directly tag them. 536 00:14:20,320 --> 00:14:23,199 So I'm saying make sure the whole 537 00:14:21,600 --> 00:14:24,880 newsletter is branded based on my logo 538 00:14:23,199 --> 00:14:26,160 and brand guidelines. So for logo I'm 539 00:14:24,880 --> 00:14:27,839 going to do at and I'm going to type in 540 00:14:26,160 --> 00:14:30,560 AIS. You can see that it's going to show 541 00:14:27,839 --> 00:14:31,839 AIS PNG. And then here I can do at AIS 542 00:14:30,560 --> 00:14:33,519 and I'm going to click on brand 543 00:14:31,839 --> 00:14:35,199 guidelines. So now it's going to look at 544 00:14:33,519 --> 00:14:36,560 those exact two things and it's going to 545 00:14:35,199 --> 00:14:38,399 be able to make sure that the newsletter 546 00:14:36,560 --> 00:14:39,600 is branded. Okay. So this time the plan 547 00:14:38,399 --> 00:14:40,959 looks good to go and I'm just going to 548 00:14:39,600 --> 00:14:42,800 go ahead and auto accept and I'm going 549 00:14:40,959 --> 00:14:44,000 to turn on bypass permissions. So it's 550 00:14:42,800 --> 00:14:45,199 going to build everything out. It's 551 00:14:44,000 --> 00:14:46,560 going to put the different files that we 552 00:14:45,199 --> 00:14:48,320 need and then we should be able to 553 00:14:46,560 --> 00:14:49,760 basically just add our API keys and then 554 00:14:48,320 --> 00:14:51,440 test it. So, what it's doing now is it 555 00:14:49,760 --> 00:14:53,040 creates a to-do list. So, this is all of 556 00:14:51,440 --> 00:14:54,480 the things that it has to do and as it 557 00:14:53,040 --> 00:14:55,839 actually completes them, it crosses them 558 00:14:54,480 --> 00:14:57,040 out. So, it's really cool because you 559 00:14:55,839 --> 00:14:58,320 can work on something else on a 560 00:14:57,040 --> 00:15:00,079 different screen and just kind of check 561 00:14:58,320 --> 00:15:01,680 in on cloud code to see where it's at 562 00:15:00,079 --> 00:15:03,440 and if it needs any help. Now, you guys 563 00:15:01,680 --> 00:15:05,279 may be wondering about this bypass 564 00:15:03,440 --> 00:15:06,720 permissions mode. If you don't see this, 565 00:15:05,279 --> 00:15:08,320 you just have to go to your settings. In 566 00:15:06,720 --> 00:15:09,440 your settings, search for cloud code. 567 00:15:08,320 --> 00:15:11,600 And then right here, you'll be able to 568 00:15:09,440 --> 00:15:13,760 see allow dangerously skip permissions, 569 00:15:11,600 --> 00:15:15,839 which turns on allow bypass permissions 570 00:15:13,760 --> 00:15:17,279 mode. Okay, so that is finished up. It's 571 00:15:15,839 --> 00:15:19,040 telling us here's what it built. So it 572 00:15:17,279 --> 00:15:20,320 created two config files which we can 573 00:15:19,040 --> 00:15:22,000 see right here. It's got newsletter 574 00:15:20,320 --> 00:15:23,360 style which basically just shows like 575 00:15:22,000 --> 00:15:24,880 the colors and the text and the 576 00:15:23,360 --> 00:15:26,560 background and it's got recipients which 577 00:15:24,880 --> 00:15:27,760 is where we need to add who this is 578 00:15:26,560 --> 00:15:29,600 actually being sent to. So this is where 579 00:15:27,760 --> 00:15:31,519 we would add a huge list of you know our 580 00:15:29,600 --> 00:15:33,839 email list basically. Then it created 1 581 00:15:31,519 --> 00:15:35,839 2 3 4 five different tools. If I open up 582 00:15:33,839 --> 00:15:37,839 those right here the tools are research, 583 00:15:35,839 --> 00:15:39,600 generate infographic, assemble HTML, 584 00:15:37,839 --> 00:15:41,600 send via Gmail and archive to sheets. 585 00:15:39,600 --> 00:15:43,040 And here is what all of those five tools 586 00:15:41,600 --> 00:15:44,880 do. And then of course we have the 587 00:15:43,040 --> 00:15:46,720 actual workflow right here which is our 588 00:15:44,880 --> 00:15:48,480 markdown file which basically shows step 589 00:15:46,720 --> 00:15:50,079 by step how to actually build the 590 00:15:48,480 --> 00:15:51,680 newsletter and what tools to use. And 591 00:15:50,079 --> 00:15:53,600 this is the complete natural language 592 00:15:51,680 --> 00:15:55,040 just explaining the process. So now that 593 00:15:53,600 --> 00:15:56,160 those have all been created the last 594 00:15:55,040 --> 00:15:57,519 thing that we have to do before we 595 00:15:56,160 --> 00:15:59,920 actually test it out is we have to give 596 00:15:57,519 --> 00:16:02,320 it credentials. So anthropic perplexity 597 00:15:59,920 --> 00:16:04,480 key.ai and then our Gmail. So what I'd 598 00:16:02,320 --> 00:16:06,480 do is I go to Plexity grab my API key. I 599 00:16:04,480 --> 00:16:07,839 would come into thev and then over here 600 00:16:06,480 --> 00:16:09,519 it's created these placeholders. So all 601 00:16:07,839 --> 00:16:11,120 that I have to do is paste in my API key 602 00:16:09,519 --> 00:16:12,480 right there and then hit save to make 603 00:16:11,120 --> 00:16:13,600 sure that all this saves. So I'm going 604 00:16:12,480 --> 00:16:15,279 to go ahead and do this now for my other 605 00:16:13,600 --> 00:16:16,639 API keys. Okay, so we've done everything 606 00:16:15,279 --> 00:16:18,000 that it told us to do. We've set up all 607 00:16:16,639 --> 00:16:19,680 our credentials. At least I hope we 608 00:16:18,000 --> 00:16:21,279 have. If we run into any errors, Cloud 609 00:16:19,680 --> 00:16:22,720 Code should fix it or tell us what to 610 00:16:21,279 --> 00:16:24,800 do. What I'm going to do now is just 611 00:16:22,720 --> 00:16:27,440 kick off a prompt. Write me a newsletter 612 00:16:24,800 --> 00:16:29,040 about Aentic AI. So I literally just 613 00:16:27,440 --> 00:16:30,800 said, write me a newsletter about Aentic 614 00:16:29,040 --> 00:16:32,079 AI. And that's it. What it's doing now 615 00:16:30,800 --> 00:16:33,600 is it's looking through the relevant 616 00:16:32,079 --> 00:16:34,800 workflows and tools, and it's going to 617 00:16:33,600 --> 00:16:36,000 figure out what to do. Here you can see 618 00:16:34,800 --> 00:16:37,519 it said, "I found the newsletter 619 00:16:36,000 --> 00:16:39,040 workflow. Starting with step one, I'm 620 00:16:37,519 --> 00:16:40,160 going to do some research." You can see 621 00:16:39,040 --> 00:16:41,519 after that it's going to plan and 622 00:16:40,160 --> 00:16:43,040 generate the infographics. It's going to 623 00:16:41,519 --> 00:16:44,560 write the newsletter content and then we 624 00:16:43,040 --> 00:16:46,160 actually have a human review point. So 625 00:16:44,560 --> 00:16:47,519 it's going to get subject line approval 626 00:16:46,160 --> 00:16:49,360 and then if it's approved, it'll go 627 00:16:47,519 --> 00:16:50,800 ahead and send the newsletter. So now 628 00:16:49,360 --> 00:16:51,920 your job at this point is just to watch 629 00:16:50,800 --> 00:16:53,199 it and to make sure it's doing 630 00:16:51,920 --> 00:16:54,720 everything right. And if it runs into 631 00:16:53,199 --> 00:16:56,160 issues, it should fix itself. But 632 00:16:54,720 --> 00:16:57,279 sometimes it may need you to help steer 633 00:16:56,160 --> 00:16:58,800 it in the right direction. The first 634 00:16:57,279 --> 00:17:00,079 test run is the only one where it's 635 00:16:58,800 --> 00:17:01,519 really like this because you have to see 636 00:17:00,079 --> 00:17:02,720 how it works. But then after that, you 637 00:17:01,519 --> 00:17:04,000 should be able to just trust that it's 638 00:17:02,720 --> 00:17:05,199 going to run pretty much perfectly every 639 00:17:04,000 --> 00:17:06,720 time. Here you can see we've already run 640 00:17:05,199 --> 00:17:08,160 into our first issue. There was a unic 641 00:17:06,720 --> 00:17:09,600 code encoding issue, but it's just going 642 00:17:08,160 --> 00:17:10,640 to go ahead and fix it. And that's great 643 00:17:09,600 --> 00:17:12,000 because I don't really know what this 644 00:17:10,640 --> 00:17:13,839 means at all. So I'm glad that it 645 00:17:12,000 --> 00:17:15,360 understands what to do. Nice. So you can 646 00:17:13,839 --> 00:17:16,880 see it planned out three infographics. 647 00:17:15,360 --> 00:17:18,959 It's got a market growth. It's got 648 00:17:16,880 --> 00:17:20,720 Gartner road map and it's got impact 649 00:17:18,959 --> 00:17:22,160 metrics. So here's a good example. It 650 00:17:20,720 --> 00:17:24,240 was trying to generate those 651 00:17:22,160 --> 00:17:25,679 infographics using key.AI, and it was 652 00:17:24,240 --> 00:17:27,439 getting an error. So what it did is it 653 00:17:25,679 --> 00:17:28,720 looked into the problem. It said, "Let 654 00:17:27,439 --> 00:17:30,160 me investigate to find the correct 655 00:17:28,720 --> 00:17:31,600 endpoint." It did some web searching. It 656 00:17:30,160 --> 00:17:33,120 looked through the docs. It did multiple 657 00:17:31,600 --> 00:17:34,880 searches as you can see. And it figured 658 00:17:33,120 --> 00:17:36,720 out that the endpoints have changed. And 659 00:17:34,880 --> 00:17:38,160 now it's able to switch the tool so that 660 00:17:36,720 --> 00:17:39,520 it works this time. There we go. So, it 661 00:17:38,160 --> 00:17:41,280 said, "I found the fix. Here's the right 662 00:17:39,520 --> 00:17:42,640 endpoint. Let me update the tool so that 663 00:17:41,280 --> 00:17:44,400 this doesn't happen again." And now it 664 00:17:42,640 --> 00:17:45,840 just went ahead and fixed the tool. All 665 00:17:44,400 --> 00:17:47,440 right. At this point, it did a human 666 00:17:45,840 --> 00:17:48,799 review step. And we could obviously say 667 00:17:47,440 --> 00:17:49,919 we don't want this if we don't want it. 668 00:17:48,799 --> 00:17:51,679 But for now, let's just go ahead and see 669 00:17:49,919 --> 00:17:53,280 what it wants. It wants us to approve a 670 00:17:51,679 --> 00:17:54,960 subject line. It asks us to choose which 671 00:17:53,280 --> 00:17:57,440 one. I'll go ahead and send five. And 672 00:17:54,960 --> 00:17:58,640 then we will see the final output. Okay. 673 00:17:57,440 --> 00:17:59,919 So, a few things happened and I'm 674 00:17:58,640 --> 00:18:01,280 actually glad they did so I can show you 675 00:17:59,919 --> 00:18:02,880 how you need to troubleshoot this. So, 676 00:18:01,280 --> 00:18:04,480 the first thing is we got the email, but 677 00:18:02,880 --> 00:18:05,760 the HTML is all messed up. It came 678 00:18:04,480 --> 00:18:07,440 through with a background color, but 679 00:18:05,760 --> 00:18:08,640 then all of this just is horrible. So, 680 00:18:07,440 --> 00:18:10,160 we're going to have it fix this. The 681 00:18:08,640 --> 00:18:12,160 second thing is I gave it the wrong 682 00:18:10,160 --> 00:18:13,440 Google sheet ID to archive to sheets 683 00:18:12,160 --> 00:18:15,120 because there was some sort of access 684 00:18:13,440 --> 00:18:16,720 issue. So, I'm going to go ahead and fix 685 00:18:15,120 --> 00:18:18,320 that sheet ID and I'm just going to use 686 00:18:16,720 --> 00:18:20,480 my natural language to tell it that this 687 00:18:18,320 --> 00:18:22,240 is horrible. I've updated the sheet ID. 688 00:18:20,480 --> 00:18:24,559 However, the actual email that I 689 00:18:22,240 --> 00:18:26,240 received is completely awful. I can't 690 00:18:24,559 --> 00:18:27,919 read any of it. It doesn't even make any 691 00:18:26,240 --> 00:18:29,760 sense. take a look at figure out what 692 00:18:27,919 --> 00:18:31,039 happened and try to send me it again. 693 00:18:29,760 --> 00:18:32,720 So, it's going to go ahead and diagnose 694 00:18:31,039 --> 00:18:34,080 what happened and then hopefully send us 695 00:18:32,720 --> 00:18:35,520 a better version. So, once again, it 696 00:18:34,080 --> 00:18:37,200 found the issue. It found out exactly 697 00:18:35,520 --> 00:18:38,480 how to fix it and now it's updating the 698 00:18:37,200 --> 00:18:39,679 workflow in the tool so it doesn't 699 00:18:38,480 --> 00:18:40,960 happen again. Now, of course, cloud 700 00:18:39,679 --> 00:18:42,400 code's not perfect. You guys can see 701 00:18:40,960 --> 00:18:43,600 that in this demo, but think about if 702 00:18:42,400 --> 00:18:44,960 you were doing this in something else 703 00:18:43,600 --> 00:18:46,080 like ended or something that's a bit 704 00:18:44,960 --> 00:18:47,600 more manual and you were running into 705 00:18:46,080 --> 00:18:49,280 these issues and you'd have to go back 706 00:18:47,600 --> 00:18:50,720 and fix all of the logic yourself and 707 00:18:49,280 --> 00:18:52,160 try to debug all this. I've literally 708 00:18:50,720 --> 00:18:53,760 just been telling it to fix it and then 709 00:18:52,160 --> 00:18:55,039 like doing other work or going in the 710 00:18:53,760 --> 00:18:56,799 other room and waiting for it to figure 711 00:18:55,039 --> 00:18:58,080 it out on its own. Okay, now it fixed 712 00:18:56,799 --> 00:19:00,000 everything. And if I go over to my 713 00:18:58,080 --> 00:19:01,360 email, we see this newsletter. What 714 00:19:00,000 --> 00:19:02,480 happens when AI stops waiting for 715 00:19:01,360 --> 00:19:04,080 instructions? We can see that we've got 716 00:19:02,480 --> 00:19:05,760 our logo up top. We've got AIS 717 00:19:04,080 --> 00:19:07,600 intelligence brief. It does think that 718 00:19:05,760 --> 00:19:08,960 it's June 2026, which is wrong, but we 719 00:19:07,600 --> 00:19:10,400 could obviously fix that very easily. 720 00:19:08,960 --> 00:19:11,760 But now we move into the actual 721 00:19:10,400 --> 00:19:13,120 newsletter. And keep in mind, this 722 00:19:11,760 --> 00:19:15,039 started with one prompt that said, 723 00:19:13,120 --> 00:19:16,240 "Write me a newsletter about Aentkai." 724 00:19:15,039 --> 00:19:17,520 That was it. Also, throughout the 725 00:19:16,240 --> 00:19:19,120 newsletter, pay attention to the fact 726 00:19:17,520 --> 00:19:20,960 that it's using our fonts. It's using 727 00:19:19,120 --> 00:19:22,400 our brand guidelines, our colors, all of 728 00:19:20,960 --> 00:19:23,919 that in this newsletter. So, the first 729 00:19:22,400 --> 00:19:25,600 section is about the market landscape, 730 00:19:23,919 --> 00:19:26,799 an explosion that cannot be ignored. I'm 731 00:19:25,600 --> 00:19:28,080 not going to go ahead and read all of 732 00:19:26,799 --> 00:19:30,480 this text. It would just take too long. 733 00:19:28,080 --> 00:19:32,559 A nanobanana AI generated image with 734 00:19:30,480 --> 00:19:34,160 text with graphics. And this infographic 735 00:19:32,559 --> 00:19:35,440 is also adhering to our brand 736 00:19:34,160 --> 00:19:36,799 guidelines. In section two, we have 737 00:19:35,440 --> 00:19:38,400 architecture. We've got a little bit of 738 00:19:36,799 --> 00:19:39,760 a quote here. And if we keep scrolling 739 00:19:38,400 --> 00:19:41,200 down, we've got some more statistics. 740 00:19:39,760 --> 00:19:42,480 We've got section three. We've got 741 00:19:41,200 --> 00:19:44,559 another quote. And we have another 742 00:19:42,480 --> 00:19:46,880 infographic. Once again, adhering to our 743 00:19:44,559 --> 00:19:48,080 brand guidelines and using a little logo 744 00:19:46,880 --> 00:19:49,280 up here as well. And that's pretty much 745 00:19:48,080 --> 00:19:50,799 how the rest of the newsletter goes. 746 00:19:49,280 --> 00:19:52,960 We've got section four. And we can see 747 00:19:50,799 --> 00:19:54,720 our third and final infographic that has 748 00:19:52,960 --> 00:19:56,559 a different version of the AIS logo as 749 00:19:54,720 --> 00:19:58,160 well as our brand guidelines. So this 750 00:19:56,559 --> 00:19:59,280 was literally iteration one. There's a 751 00:19:58,160 --> 00:20:00,480 lot of things that we can improve here. 752 00:19:59,280 --> 00:20:02,160 And all we would do is we'd open up 753 00:20:00,480 --> 00:20:03,840 Cloud Code and we'd ask it to make it 754 00:20:02,160 --> 00:20:04,640 better using natural language. We could 755 00:20:03,840 --> 00:20:06,720 actually make sure that every 756 00:20:04,640 --> 00:20:08,640 infographic it creates uses our actual 757 00:20:06,720 --> 00:20:10,799 logo rather than prompting some sort of 758 00:20:08,640 --> 00:20:12,720 AIS logo in there. It ends with some key 759 00:20:10,799 --> 00:20:14,799 takeaways and then we have it ends with 760 00:20:12,720 --> 00:20:16,160 some key takeaways. We have a call to 761 00:20:14,799 --> 00:20:17,760 action down here and then all of the 762 00:20:16,160 --> 00:20:19,200 sources we could actually click on and 763 00:20:17,760 --> 00:20:21,039 it would take us to that actual site 764 00:20:19,200 --> 00:20:23,039 where it pulled the data from. So that 765 00:20:21,039 --> 00:20:24,480 was version one of the newsletter and I 766 00:20:23,039 --> 00:20:25,840 think that that's pretty solid. Now the 767 00:20:24,480 --> 00:20:27,679 cool thing about these projects in cloud 768 00:20:25,840 --> 00:20:28,960 code is as you use them more they get 769 00:20:27,679 --> 00:20:30,559 better and better because every time I 770 00:20:28,960 --> 00:20:32,000 run this workflow it might find 771 00:20:30,559 --> 00:20:33,440 something else out and it will update 772 00:20:32,000 --> 00:20:34,960 its cloud MD, it'll update its 773 00:20:33,440 --> 00:20:36,559 workflows. It'll update its tools. As I 774 00:20:34,960 --> 00:20:38,080 give it more brand asset, as I give it 775 00:20:36,559 --> 00:20:39,679 more context and more knowledge, it just 776 00:20:38,080 --> 00:20:41,280 gets better and better. And then once 777 00:20:39,679 --> 00:20:43,120 you really trust the actual workflows 778 00:20:41,280 --> 00:20:44,640 and tools, that's when you go ahead and 779 00:20:43,120 --> 00:20:46,000 you come back into this. And then once 780 00:20:44,640 --> 00:20:47,440 you really trust the workflows and the 781 00:20:46,000 --> 00:20:48,960 tools that you've created using cloud 782 00:20:47,440 --> 00:20:50,480 code, you would basically take these two 783 00:20:48,960 --> 00:20:52,080 things and you would push those into 784 00:20:50,480 --> 00:20:53,600 like a GitHub repository and you'd sync 785 00:20:52,080 --> 00:20:55,280 those to something like trigger.dev or 786 00:20:53,600 --> 00:20:57,679 modal in order to actually have them run 787 00:20:55,280 --> 00:20:58,799 every single Monday at 6 a.m. or daily, 788 00:20:57,679 --> 00:21:00,080 something like that. I'm not going to 789 00:20:58,799 --> 00:21:01,760 dive into that in this video, but if you 790 00:21:00,080 --> 00:21:03,280 want to see one where I did, then I'll 791 00:21:01,760 --> 00:21:05,440 tag one right up here. So, what you guys 792 00:21:03,280 --> 00:21:06,960 just saw here was me using hardly any 793 00:21:05,440 --> 00:21:08,880 prompting, just using my natural 794 00:21:06,960 --> 00:21:10,240 language, giving it a few logos and 795 00:21:08,880 --> 00:21:12,000 colors, and then giving us a really, 796 00:21:10,240 --> 00:21:13,280 really good output for a newsletter. 797 00:21:12,000 --> 00:21:14,720 Now, one thing that we didn't cover in 798 00:21:13,280 --> 00:21:16,240 this video, but we will be covering a 799 00:21:14,720 --> 00:21:17,679 lot more in the future, is how you could 800 00:21:16,240 --> 00:21:19,280 actually make your workflows even better 801 00:21:17,679 --> 00:21:21,200 and better, and that's the idea of using 802 00:21:19,280 --> 00:21:22,559 skills. Whether it is a skill that you 803 00:21:21,200 --> 00:21:24,080 create yourself or whether it's a skill 804 00:21:22,559 --> 00:21:25,919 that someone else has already built. So, 805 00:21:24,080 --> 00:21:27,360 skills are basically just system prompts 806 00:21:25,919 --> 00:21:28,880 that you could load in when you need 807 00:21:27,360 --> 00:21:30,640 them. So, let's say you ask Cloud for 808 00:21:28,880 --> 00:21:32,000 help. Hey, can you design me a website? 809 00:21:30,640 --> 00:21:33,760 The agent will then check through all of 810 00:21:32,000 --> 00:21:35,679 the skills it has access to and it will 811 00:21:33,760 --> 00:21:37,440 see based on all of these skills, does 812 00:21:35,679 --> 00:21:38,799 my current request require this? So, 813 00:21:37,440 --> 00:21:40,240 it's almost like the same way it decides 814 00:21:38,799 --> 00:21:41,760 if it should use a tool or not. So, for 815 00:21:40,240 --> 00:21:43,520 example, there is a front-end design 816 00:21:41,760 --> 00:21:45,200 skill that makes Claude Code so much 817 00:21:43,520 --> 00:21:47,039 better at designing websites. And so, if 818 00:21:45,200 --> 00:21:48,880 I'm ever building a project where I need 819 00:21:47,039 --> 00:21:50,480 it to be able to build websites, I would 820 00:21:48,880 --> 00:21:51,600 tell it to always invoke the front-end 821 00:21:50,480 --> 00:21:52,799 design skill. And the reason I'm 822 00:21:51,600 --> 00:21:54,320 bringing this up is because you can 823 00:21:52,799 --> 00:21:56,159 create your own. So, what I might do in 824 00:21:54,320 --> 00:21:57,280 this version is once I realize what I 825 00:21:56,159 --> 00:21:59,120 really like about how it creates 826 00:21:57,280 --> 00:22:01,280 newsletters, I will tell it to turn that 827 00:21:59,120 --> 00:22:03,280 into a skill. So maybe it is the skill 828 00:22:01,280 --> 00:22:05,600 of making infographics look really 829 00:22:03,280 --> 00:22:07,120 really polished with the AIS logo in the 830 00:22:05,600 --> 00:22:08,480 top left corner and I could create that 831 00:22:07,120 --> 00:22:10,240 skill so that every time it needs to 832 00:22:08,480 --> 00:22:12,080 create a new infographic it reads that 833 00:22:10,240 --> 00:22:13,360 first and then it makes its outputs a 834 00:22:12,080 --> 00:22:14,720 lot more consistent. So I know that this 835 00:22:13,360 --> 00:22:16,000 seems a little bit intimidating at first 836 00:22:14,720 --> 00:22:17,600 but hopefully you guys realize after 837 00:22:16,000 --> 00:22:19,440 watching this how easy it was for me to 838 00:22:17,600 --> 00:22:20,640 actually do this once again with hardly 839 00:22:19,440 --> 00:22:22,080 any technical knowledge. We didn't set 840 00:22:20,640 --> 00:22:23,679 up any API calls. We didn't do anything 841 00:22:22,080 --> 00:22:25,200 like that. We just talked to it. But now 842 00:22:23,679 --> 00:22:27,679 the question is how do you actually turn 843 00:22:25,200 --> 00:22:28,880 a skill like this into income? So this 844 00:22:27,679 --> 00:22:30,240 is something that I see all the time. a 845 00:22:28,880 --> 00:22:31,760 business owner watches your YouTube 846 00:22:30,240 --> 00:22:33,760 videos or LinkedIn posts or whatever it 847 00:22:31,760 --> 00:22:35,760 is and sees flashy AI demo. Maybe that's 848 00:22:33,760 --> 00:22:37,600 a voice agent or a really cool chatbot 849 00:22:35,760 --> 00:22:39,039 or a crazy looking dashboard and they 850 00:22:37,600 --> 00:22:40,880 come to you or some sort of like, you 851 00:22:39,039 --> 00:22:42,240 know, AI agency and they say, "I want 852 00:22:40,880 --> 00:22:43,520 that." But when you actually sit down 853 00:22:42,240 --> 00:22:44,960 and you look at their business and their 854 00:22:43,520 --> 00:22:46,240 operations, that's not what they need at 855 00:22:44,960 --> 00:22:47,360 all. The real problem is that leads 856 00:22:46,240 --> 00:22:49,120 might be falling through the cracks or 857 00:22:47,360 --> 00:22:50,640 the onboarding is taking way too long or 858 00:22:49,120 --> 00:22:52,159 there's tons of manual data entry going 859 00:22:50,640 --> 00:22:53,840 on. Just think about it like plumbing. 860 00:22:52,159 --> 00:22:55,120 If you have a pipe that's clogged, it 861 00:22:53,840 --> 00:22:56,320 doesn't matter how much water you pour 862 00:22:55,120 --> 00:22:57,840 into it, it's not going to flow any 863 00:22:56,320 --> 00:22:59,760 faster if there's a clog. Most 864 00:22:57,840 --> 00:23:01,039 businesses are out here trying to put as 865 00:22:59,760 --> 00:23:02,480 much water into the pipe as possible, 866 00:23:01,039 --> 00:23:03,760 hiring more people, throwing AI at 867 00:23:02,480 --> 00:23:05,360 random problems. But what they actually 868 00:23:03,760 --> 00:23:07,039 need is someone who can come in, find 869 00:23:05,360 --> 00:23:08,320 the clog, and then clear that, and then 870 00:23:07,039 --> 00:23:09,440 start to add more water in. That's 871 00:23:08,320 --> 00:23:11,039 really the skill. And if you can cut 872 00:23:09,440 --> 00:23:12,799 through the noise and identify real 873 00:23:11,039 --> 00:23:14,320 constraints and unclog that pipe, that's 874 00:23:12,799 --> 00:23:15,840 worth way more than building some super 875 00:23:14,320 --> 00:23:17,360 flashy agent that looks cool, but 876 00:23:15,840 --> 00:23:19,520 doesn't actually move the needle. The 877 00:23:17,360 --> 00:23:21,039 build itself is also not what businesses 878 00:23:19,520 --> 00:23:22,320 are paying for because building is 879 00:23:21,039 --> 00:23:24,000 getting easier and easier every day, 880 00:23:22,320 --> 00:23:25,440 which is good news, but it also kind of 881 00:23:24,000 --> 00:23:26,720 brings about some panic because more 882 00:23:25,440 --> 00:23:28,400 people can spin up these automations 883 00:23:26,720 --> 00:23:29,840 much quicker and that's becoming a 884 00:23:28,400 --> 00:23:31,600 little bit more commoditized. So, if 885 00:23:29,840 --> 00:23:33,360 you're trying to compete on I can build 886 00:23:31,600 --> 00:23:34,720 AI automations, you're going to be in a 887 00:23:33,360 --> 00:23:36,080 race to the bottom. What you need to do 888 00:23:34,720 --> 00:23:37,600 is act as the doctor, not the 889 00:23:36,080 --> 00:23:39,360 pharmacist. I've used this analogy a lot 890 00:23:37,600 --> 00:23:40,720 on my channel. A pharmacist just fills a 891 00:23:39,360 --> 00:23:42,559 prescription that someone else wrote, 892 00:23:40,720 --> 00:23:44,720 but a doctor sits down with the patient, 893 00:23:42,559 --> 00:23:46,559 asks questions, runs diagnostics, and 894 00:23:44,720 --> 00:23:48,400 figures out what's actually wrong before 895 00:23:46,559 --> 00:23:49,440 anything is then prescribed. That's the 896 00:23:48,400 --> 00:23:50,720 difference between someone who just 897 00:23:49,440 --> 00:23:52,159 builds workflows and someone that 898 00:23:50,720 --> 00:23:53,360 businesses will pay serious money to 899 00:23:52,159 --> 00:23:55,200 work with. So, when you're talking to a 900 00:23:53,360 --> 00:23:57,120 business owner, you're not leading with 901 00:23:55,200 --> 00:23:58,080 I build aic workflows in cloud code. 902 00:23:57,120 --> 00:23:59,840 They don't care about that. You're 903 00:23:58,080 --> 00:24:01,760 leading with I can save you x amount of 904 00:23:59,840 --> 00:24:04,080 time per month. You're leading with I 905 00:24:01,760 --> 00:24:05,440 can save this process x percentage of 906 00:24:04,080 --> 00:24:07,280 errors. And that's exactly why you 907 00:24:05,440 --> 00:24:08,640 should not be pricing yourself hourly. 908 00:24:07,280 --> 00:24:09,840 Because if you can build something in 30 909 00:24:08,640 --> 00:24:11,200 minutes, that ends up saving the 910 00:24:09,840 --> 00:24:12,960 business, let's just say, 20 hours a 911 00:24:11,200 --> 00:24:14,880 week, that's not a 30-minute job. That's 912 00:24:12,960 --> 00:24:16,159 tens of thousands of dollars in value 913 00:24:14,880 --> 00:24:17,679 over the course of a year. So if you 914 00:24:16,159 --> 00:24:19,120 price yourself at an hourly rate, you're 915 00:24:17,679 --> 00:24:20,240 putting a ceiling on your income and 916 00:24:19,120 --> 00:24:21,360 you're completely ignoring the value 917 00:24:20,240 --> 00:24:23,520 that you're actually delivering. Now, 918 00:24:21,360 --> 00:24:24,720 hourly can be fine early on when you're 919 00:24:23,520 --> 00:24:26,240 just getting started and you're building 920 00:24:24,720 --> 00:24:27,919 trust and you need to get your first few 921 00:24:26,240 --> 00:24:29,679 wins. But once you can clearly show the 922 00:24:27,919 --> 00:24:31,200 ROI, the hours saved, the cost 923 00:24:29,679 --> 00:24:32,480 eliminated, the revenue generated, all 924 00:24:31,200 --> 00:24:34,080 that kind of stuff, then your pricing 925 00:24:32,480 --> 00:24:36,000 should really be reflecting that value, 926 00:24:34,080 --> 00:24:37,279 not your time. Trading time for money is 927 00:24:36,000 --> 00:24:38,320 not very scalable. So, here's a simple 928 00:24:37,279 --> 00:24:39,440 way to think about it. You sit down with 929 00:24:38,320 --> 00:24:41,120 a client and you figure out their 930 00:24:39,440 --> 00:24:43,200 processes, and you calculate that this 931 00:24:41,120 --> 00:24:45,120 system is going to save them $10,000 a 932 00:24:43,200 --> 00:24:46,240 month. Now, let's say you charge $5,000 933 00:24:45,120 --> 00:24:47,440 for that build. That should be a 934 00:24:46,240 --> 00:24:48,720 no-brainer for them. They make their 935 00:24:47,440 --> 00:24:50,240 money back in 2 weeks, and then 936 00:24:48,720 --> 00:24:51,600 everything else is just profit for the 937 00:24:50,240 --> 00:24:53,360 business. And it's also a great deal for 938 00:24:51,600 --> 00:24:55,279 you because that build might just have 939 00:24:53,360 --> 00:24:57,200 taken you a few days, maybe a few weeks. 940 00:24:55,279 --> 00:24:58,640 That is basically valuebased pricing. 941 00:24:57,200 --> 00:25:00,080 Everybody wins. Now, in terms of 942 00:24:58,640 --> 00:25:01,919 actually finding clients, I've done a 943 00:25:00,080 --> 00:25:03,039 full deep dive on that in another video, 944 00:25:01,919 --> 00:25:04,159 which I will go ahead and link right up 945 00:25:03,039 --> 00:25:05,200 here. But at a high level, the approach 946 00:25:04,159 --> 00:25:06,400 is simple. You don't need a huge 947 00:25:05,200 --> 00:25:07,679 audience. You don't need to start a 948 00:25:06,400 --> 00:25:08,720 full-blown agency. You just need to 949 00:25:07,679 --> 00:25:10,080 start conversations with the right 950 00:25:08,720 --> 00:25:11,440 people. You need to be transparent about 951 00:25:10,080 --> 00:25:12,799 what you're building and lead with how 952 00:25:11,440 --> 00:25:14,480 you can help them. Once you deliver the 953 00:25:12,799 --> 00:25:15,760 solution, you stick around because once 954 00:25:14,480 --> 00:25:16,960 that first system is running and they 955 00:25:15,760 --> 00:25:17,840 see the results, they're going to want 956 00:25:16,960 --> 00:25:18,880 more. They're going to want you to 957 00:25:17,840 --> 00:25:20,080 optimize the build. They're going to 958 00:25:18,880 --> 00:25:21,279 want you to expand on it. They're going 959 00:25:20,080 --> 00:25:22,559 to want you to help find new 960 00:25:21,279 --> 00:25:24,640 opportunities inside their business. 961 00:25:22,559 --> 00:25:26,960 That's how a $3,000 build turns into a 962 00:25:24,640 --> 00:25:29,200 $50,000 a year relationship. But the key 963 00:25:26,960 --> 00:25:30,400 there is that you have to be the one to 964 00:25:29,200 --> 00:25:31,520 track the metrics. You have to take 965 00:25:30,400 --> 00:25:32,960 ownership over that. You have to 966 00:25:31,520 --> 00:25:34,320 practively show them the value that the 967 00:25:32,960 --> 00:25:35,520 system is actually adding. That's super 968 00:25:34,320 --> 00:25:37,520 super important. And that's exactly the 969 00:25:35,520 --> 00:25:38,480 path freelancer to consultant to trusted 970 00:25:37,520 --> 00:25:40,000 partner. You're not just building 971 00:25:38,480 --> 00:25:41,520 workflows. You're becoming the person 972 00:25:40,000 --> 00:25:43,440 businesses rely on to make their 973 00:25:41,520 --> 00:25:44,720 operations smarter. So we just went from 974 00:25:43,440 --> 00:25:46,559 understanding what's happening in the 975 00:25:44,720 --> 00:25:48,080 agentic workflow market to actually 976 00:25:46,559 --> 00:25:49,760 building one live and seeing how to sell 977 00:25:48,080 --> 00:25:51,120 these systems for premium prices. Here's 978 00:25:49,760 --> 00:25:52,559 the thing though. This isn't just the 979 00:25:51,120 --> 00:25:53,919 future of automation. It's happening 980 00:25:52,559 --> 00:25:55,520 right now. Companies are already making 981 00:25:53,919 --> 00:25:57,039 the shift and the demand for people who 982 00:25:55,520 --> 00:25:58,240 can build these systems is only going to 983 00:25:57,039 --> 00:25:59,520 grow. So, if you want to dive deeper 984 00:25:58,240 --> 00:26:00,880 into this kind of stuff, I've got a 985 00:25:59,520 --> 00:26:02,400 community with over a quarter million 986 00:26:00,880 --> 00:26:04,799 members where I share templates, 987 00:26:02,400 --> 00:26:08,320 resources, and all the files from videos 988 00:26:04,799 --> 00:26:09,919 just like this one. 989 00:26:08,320 --> 00:26:11,360 Okay, so now we're going to start to get 990 00:26:09,919 --> 00:26:12,400 into it a little bit. So, the first 991 00:26:11,360 --> 00:26:13,919 thing I want to talk to you guys about 992 00:26:12,400 --> 00:26:15,520 is the different ways that you can 993 00:26:13,919 --> 00:26:17,440 actually use Cloud Code so that I can 994 00:26:15,520 --> 00:26:18,640 help you figure out which way is best 995 00:26:17,440 --> 00:26:20,240 for you. And then we're going to move 996 00:26:18,640 --> 00:26:22,720 into some foundational concepts like 997 00:26:20,240 --> 00:26:24,799 prompting, AI models, you know, tokens, 998 00:26:22,720 --> 00:26:26,559 context, windows, cloud.mmd, what does 999 00:26:24,799 --> 00:26:30,679 all that stuff mean. So that's what 1000 00:26:26,559 --> 00:26:30,679 we've got coming in this chapter. 1001 00:26:30,960 --> 00:26:33,679 One of the most common questions I've 1002 00:26:32,320 --> 00:26:35,039 been getting lately is where should I be 1003 00:26:33,679 --> 00:26:37,200 running cloud code? Whether that's in 1004 00:26:35,039 --> 00:26:38,559 anti-gravity or VS Code or desktop app 1005 00:26:37,200 --> 00:26:39,760 or in the terminal. And it's important 1006 00:26:38,559 --> 00:26:41,039 to understand that they're all a little 1007 00:26:39,760 --> 00:26:42,480 bit different, but they're all a little 1008 00:26:41,039 --> 00:26:43,840 bit the same. So in this video, I'm 1009 00:26:42,480 --> 00:26:45,200 going to break down the five best 1010 00:26:43,840 --> 00:26:46,480 methods. For each of those, I'm going to 1011 00:26:45,200 --> 00:26:48,080 show you what it looks like, what it 1012 00:26:46,480 --> 00:26:50,080 does, the pros and cons, how you can get 1013 00:26:48,080 --> 00:26:51,279 it set up, and who it's actually for, so 1014 00:26:50,080 --> 00:26:53,360 that by the end of this video, you'll 1015 00:26:51,279 --> 00:26:55,120 100% know which way that you should be 1016 00:26:53,360 --> 00:26:56,559 running Claude Code. So, let's not waste 1017 00:26:55,120 --> 00:26:59,120 any time and get straight into number 1018 00:26:56,559 --> 00:27:00,799 one. All right, so number one, we have 1019 00:26:59,120 --> 00:27:02,080 running Claude Code in the terminal. 1020 00:27:00,799 --> 00:27:03,520 When you run in the terminal, this is 1021 00:27:02,080 --> 00:27:04,640 typically what it looks like. And it may 1022 00:27:03,520 --> 00:27:06,320 feel a little bit more intimidating if 1023 00:27:04,640 --> 00:27:07,520 you've never used the terminal before, 1024 00:27:06,320 --> 00:27:09,039 but it's important to understand that 1025 00:27:07,520 --> 00:27:10,480 this is the foundation. So, even if you 1026 00:27:09,039 --> 00:27:12,400 never used this directly, you need to 1027 00:27:10,480 --> 00:27:14,240 understand that this exists because it's 1028 00:27:12,400 --> 00:27:15,840 kind of the core. You open the terminal, 1029 00:27:14,240 --> 00:27:17,360 you type in Claude, and then you 1030 00:27:15,840 --> 00:27:18,799 instantly have Claude right there, and 1031 00:27:17,360 --> 00:27:20,159 you start chatting. It can read the 1032 00:27:18,799 --> 00:27:22,799 files. It can edit the folders that 1033 00:27:20,159 --> 00:27:24,640 you're in and do work like Cloud Code 1034 00:27:22,799 --> 00:27:26,240 should. Everything though is pretty much 1035 00:27:24,640 --> 00:27:28,240 text. There's no buttons. There's no 1036 00:27:26,240 --> 00:27:30,799 menus. It's not very visual. It's just 1037 00:27:28,240 --> 00:27:33,120 text. It is a CLI. And the engine that 1038 00:27:30,799 --> 00:27:35,200 powers this, every other Surface uses as 1039 00:27:33,120 --> 00:27:36,960 well. So, the desktop app, the VS Code 1040 00:27:35,200 --> 00:27:38,880 extension, they're all wrapping around 1041 00:27:36,960 --> 00:27:41,279 the same engine. And moving on to pros 1042 00:27:38,880 --> 00:27:42,880 and cons. The pros are that you have the 1043 00:27:41,279 --> 00:27:43,919 most control. So running in the 1044 00:27:42,880 --> 00:27:45,440 terminal, you're going to have the most 1045 00:27:43,919 --> 00:27:47,600 amount of commands and the most amount 1046 00:27:45,440 --> 00:27:49,039 of like hackability. A lot of times also 1047 00:27:47,600 --> 00:27:50,799 features are coming first to the 1048 00:27:49,039 --> 00:27:52,480 terminal and it works with any editor 1049 00:27:50,799 --> 00:27:53,760 because it just needs a terminal window, 1050 00:27:52,480 --> 00:27:55,600 which means if I'm using something like 1051 00:27:53,760 --> 00:27:57,120 VS Code, I can use the extension if I 1052 00:27:55,600 --> 00:27:59,039 want something more graphical and I can 1053 00:27:57,120 --> 00:28:00,960 use the terminal in there if I want more 1054 00:27:59,039 --> 00:28:02,640 power. The cons are that it's text only. 1055 00:28:00,960 --> 00:28:04,399 So it's sometimes not great to 1056 00:28:02,640 --> 00:28:06,159 understand like what's going on behind 1057 00:28:04,399 --> 00:28:08,159 the scenes or what's going on with your 1058 00:28:06,159 --> 00:28:09,279 files and folders and a bit of a steeper 1059 00:28:08,159 --> 00:28:10,799 learning curve if you're not comfortable 1060 00:28:09,279 --> 00:28:12,320 in a terminal. For instance, I don't 1061 00:28:10,799 --> 00:28:13,679 love working in the terminal, but now I 1062 00:28:12,320 --> 00:28:15,440 can do it and I understand it and 1063 00:28:13,679 --> 00:28:17,520 sometimes I have to. So, who is this 1064 00:28:15,440 --> 00:28:18,880 for? For people that already live in the 1065 00:28:17,520 --> 00:28:20,480 terminal. They understand it. This is 1066 00:28:18,880 --> 00:28:21,840 their home. If the word terminal makes 1067 00:28:20,480 --> 00:28:23,520 you nervous, then just keep watching 1068 00:28:21,840 --> 00:28:26,320 because there are other options that let 1069 00:28:23,520 --> 00:28:27,840 you use cloud code and still achieve the 1070 00:28:26,320 --> 00:28:28,799 power you need. So, real quick, I just 1071 00:28:27,840 --> 00:28:31,279 wanted to show you what this could look 1072 00:28:28,799 --> 00:28:32,720 like. I'm opening up my terminal that's 1073 00:28:31,279 --> 00:28:34,880 going to pop up right here. You can see 1074 00:28:32,720 --> 00:28:37,120 that right now I am in my kind of home 1075 00:28:34,880 --> 00:28:38,399 directory in Nate H. If I wanted to get 1076 00:28:37,120 --> 00:28:40,720 into a different project, I would just 1077 00:28:38,399 --> 00:28:42,720 need to do a CD to switch into that 1078 00:28:40,720 --> 00:28:44,399 folder. And so that's what I mean by 1079 00:28:42,720 --> 00:28:46,480 command line interface. We switch into a 1080 00:28:44,399 --> 00:28:48,320 folder with text rather than if I pulled 1081 00:28:46,480 --> 00:28:49,679 up like my actual file explorer rather 1082 00:28:48,320 --> 00:28:51,039 than being able to just switch folders 1083 00:28:49,679 --> 00:28:52,240 over here or clicking on different 1084 00:28:51,039 --> 00:28:54,480 buttons. So that's kind of the 1085 00:28:52,240 --> 00:28:55,919 difference between a GUI and a CLI. But 1086 00:28:54,480 --> 00:28:57,679 all you have to do to install it is go 1087 00:28:55,919 --> 00:28:59,200 to cloud code docs and you can see this 1088 00:28:57,679 --> 00:29:00,799 quick start and it basically just says 1089 00:28:59,200 --> 00:29:02,720 make sure you have this stuff. And so 1090 00:29:00,799 --> 00:29:04,559 you do need a paid cloud subscription. 1091 00:29:02,720 --> 00:29:06,480 So either the pro, max, teams or 1092 00:29:04,559 --> 00:29:08,000 enterprise. And then you basically just 1093 00:29:06,480 --> 00:29:10,159 have to run one command. So whether 1094 00:29:08,000 --> 00:29:12,080 you're Mac OS, Linux, Windows 1095 00:29:10,159 --> 00:29:13,760 PowerShell, Windows command line, you 1096 00:29:12,080 --> 00:29:14,960 just run this command and then it will 1097 00:29:13,760 --> 00:29:16,159 take you through some onboarding. So it 1098 00:29:14,960 --> 00:29:18,000 will say, "Hey, can you please log into 1099 00:29:16,159 --> 00:29:19,360 your account? Can you do this? Can you 1100 00:29:18,000 --> 00:29:20,720 acknowledge that this is blah blah 1101 00:29:19,360 --> 00:29:22,559 blah?" And here's where you can see you 1102 00:29:20,720 --> 00:29:24,159 basically would CD into your project. 1103 00:29:22,559 --> 00:29:26,159 And then all you have to do is open up 1104 00:29:24,159 --> 00:29:28,080 your terminal and type in Claude. And 1105 00:29:26,159 --> 00:29:30,000 now after I trust this workspace, I have 1106 00:29:28,080 --> 00:29:31,760 Claude and I can say hello and I can 1107 00:29:30,000 --> 00:29:33,760 talk to it the same way that I would in 1108 00:29:31,760 --> 00:29:35,360 anything else. I can hit question mark 1109 00:29:33,760 --> 00:29:37,279 to see the shortcuts. I can start doing 1110 00:29:35,360 --> 00:29:38,960 slash commands if I want and see front 1111 00:29:37,279 --> 00:29:41,360 end design skill or I can change the 1112 00:29:38,960 --> 00:29:44,080 model or I can even do something like 1113 00:29:41,360 --> 00:29:45,679 ultrathink which you can't really see in 1114 00:29:44,080 --> 00:29:47,039 other ways. And like I said, it just has 1115 00:29:45,679 --> 00:29:48,640 the most power because I can also do 1116 00:29:47,039 --> 00:29:50,399 something like customizing my status 1117 00:29:48,640 --> 00:29:51,919 line, which means that I could basically 1118 00:29:50,399 --> 00:29:53,520 customize what I see down here. So I 1119 00:29:51,919 --> 00:29:55,440 could see the cloud info like model 1120 00:29:53,520 --> 00:29:56,799 name, context usage, or I could even 1121 00:29:55,440 --> 00:29:58,480 describe other information that I want 1122 00:29:56,799 --> 00:29:59,760 to see about this session. And then if I 1123 00:29:58,480 --> 00:30:03,039 want to exit out the session, I can just 1124 00:29:59,760 --> 00:30:04,880 hit C twice and cloud code has now been 1125 00:30:03,039 --> 00:30:07,520 terminated. And now moving on to number 1126 00:30:04,880 --> 00:30:08,799 two, we have the desktop app. So this is 1127 00:30:07,520 --> 00:30:10,640 what it looks like. In the desktop app, 1128 00:30:08,799 --> 00:30:11,840 you have chat, you have co-work, and you 1129 00:30:10,640 --> 00:30:13,520 have code. So if you're already using 1130 00:30:11,840 --> 00:30:14,720 the desktop app for these things, then 1131 00:30:13,520 --> 00:30:16,720 you're probably really used to the way 1132 00:30:14,720 --> 00:30:18,159 that this looks and feels. And you also 1133 00:30:16,720 --> 00:30:19,919 get a cool little animated crab that 1134 00:30:18,159 --> 00:30:21,919 will do funny things right there. So 1135 00:30:19,919 --> 00:30:23,120 this is a visual GUI first experience 1136 00:30:21,919 --> 00:30:24,720 for people who don't want to touch a 1137 00:30:23,120 --> 00:30:26,000 terminal. It's the same cloud code 1138 00:30:24,720 --> 00:30:27,679 engine, of course, but it's just wrapped 1139 00:30:26,000 --> 00:30:30,559 in a different type of interface with 1140 00:30:27,679 --> 00:30:31,840 buttons and panels and visual feedback. 1141 00:30:30,559 --> 00:30:33,279 So you basically just Google, how do I 1142 00:30:31,840 --> 00:30:34,640 install cloud desktop? It's going to go 1143 00:30:33,279 --> 00:30:36,320 over some system requirements and then 1144 00:30:34,640 --> 00:30:37,679 you go to the downloads page and then 1145 00:30:36,320 --> 00:30:39,360 you basically just go through the setup 1146 00:30:37,679 --> 00:30:40,799 in order to actually download this for 1147 00:30:39,360 --> 00:30:42,320 your operating system. So, what are the 1148 00:30:40,799 --> 00:30:43,679 pros and cons? Well, we have visual 1149 00:30:42,320 --> 00:30:45,120 differences because you can see the 1150 00:30:43,679 --> 00:30:46,880 changes that Claude made line by line 1151 00:30:45,120 --> 00:30:48,240 and accept to reject them. It's just a 1152 00:30:46,880 --> 00:30:49,840 bit easier to actually tell what's going 1153 00:30:48,240 --> 00:30:51,520 on in my mind. They also have a really 1154 00:30:49,840 --> 00:30:52,799 cool built-in app preview. So, in the 1155 00:30:51,520 --> 00:30:53,919 desktop version, if you're building an 1156 00:30:52,799 --> 00:30:55,440 app or something like that, it'll start 1157 00:30:53,919 --> 00:30:56,799 up the dev server and you can see it 1158 00:30:55,440 --> 00:30:58,240 right in the app itself, which is kind 1159 00:30:56,799 --> 00:30:59,520 of a cool little feature. You can have 1160 00:30:58,240 --> 00:31:01,679 multiple sessions running in parallel, 1161 00:30:59,520 --> 00:31:02,880 which you can do in all of these, but 1162 00:31:01,679 --> 00:31:04,320 it's just a little bit different because 1163 00:31:02,880 --> 00:31:05,440 these get isolated in their own branch 1164 00:31:04,320 --> 00:31:07,279 and you can click through them pretty 1165 00:31:05,440 --> 00:31:09,440 easily. And it probably is the easiest 1166 00:31:07,279 --> 00:31:10,960 and least intimidating for non- terminal 1167 00:31:09,440 --> 00:31:12,720 type of people. And you still get the 1168 00:31:10,960 --> 00:31:14,640 same local file access. Now, for the 1169 00:31:12,720 --> 00:31:16,640 cons, this is a bit more of a manage 1170 00:31:14,640 --> 00:31:18,559 experience. It's less customizable. It's 1171 00:31:16,640 --> 00:31:21,360 less hackable. The desktop releases can 1172 00:31:18,559 --> 00:31:23,520 sometimes lag behind the CLI. And right 1173 00:31:21,360 --> 00:31:26,000 now, it's just Mac and Windows only. 1174 00:31:23,520 --> 00:31:27,760 Okay. So, here is typical Claude that 1175 00:31:26,000 --> 00:31:29,679 you would see, but I've got chat, I've 1176 00:31:27,760 --> 00:31:31,520 got co-work, and then I've also got 1177 00:31:29,679 --> 00:31:33,440 Claude code. And so, this is what it 1178 00:31:31,520 --> 00:31:34,480 looks like in the desktop app. You can 1179 00:31:33,440 --> 00:31:36,240 see that we still have our same 1180 00:31:34,480 --> 00:31:37,519 conversation feel. Up in the top right 1181 00:31:36,240 --> 00:31:39,360 is where you can see we could start our 1182 00:31:37,519 --> 00:31:40,799 actual preview if we have, you know, 1183 00:31:39,360 --> 00:31:42,320 some sort of app that we're building or 1184 00:31:40,799 --> 00:31:44,240 a website. But something else that we 1185 00:31:42,320 --> 00:31:45,840 get in Cloud Code is that we get our 1186 00:31:44,240 --> 00:31:47,120 scheduled tasks. And that's a really 1187 00:31:45,840 --> 00:31:49,200 cool native feature that will run 1188 00:31:47,120 --> 00:31:51,279 whenever we have this desktop app open. 1189 00:31:49,200 --> 00:31:53,679 And we can have tasks scheduled for once 1190 00:31:51,279 --> 00:31:55,519 a week, once a day, whatever we want. We 1191 00:31:53,679 --> 00:31:57,200 also have the ability to kind of look at 1192 00:31:55,519 --> 00:31:58,399 what we have for customization. So in 1193 00:31:57,200 --> 00:32:00,080 this project, we can look at our 1194 00:31:58,399 --> 00:32:02,000 connectors and our skills. And here's, 1195 00:32:00,080 --> 00:32:03,840 like I said, the crab does some funny 1196 00:32:02,000 --> 00:32:05,279 things every once in a while. You can 1197 00:32:03,840 --> 00:32:06,640 change your chat model down here. You 1198 00:32:05,279 --> 00:32:08,480 can still use different slash commands. 1199 00:32:06,640 --> 00:32:09,919 As you can see, we've got access to all 1200 00:32:08,480 --> 00:32:11,279 of these different commands. But there 1201 00:32:09,919 --> 00:32:13,279 are probably some where you might try to 1202 00:32:11,279 --> 00:32:15,440 invoke them. Like let's try if we try to 1203 00:32:13,279 --> 00:32:16,960 use agents. And as you can see, I don't 1204 00:32:15,440 --> 00:32:19,279 think it did anything. But if I open up 1205 00:32:16,960 --> 00:32:21,120 the terminal and I do / aents, we have 1206 00:32:19,279 --> 00:32:22,880 this actual command which lets us create 1207 00:32:21,120 --> 00:32:24,080 new ones or you know play with other 1208 00:32:22,880 --> 00:32:26,720 ones that we've already built in this 1209 00:32:24,080 --> 00:32:28,159 project. So who is this for? This is if 1210 00:32:26,720 --> 00:32:29,600 you want the power of cloud code but you 1211 00:32:28,159 --> 00:32:31,120 like clicking buttons instead of typing 1212 00:32:29,600 --> 00:32:32,399 commands. It's a really good place to 1213 00:32:31,120 --> 00:32:33,760 start especially if you've already been 1214 00:32:32,399 --> 00:32:35,600 using co-work and you want to start 1215 00:32:33,760 --> 00:32:37,039 dabbling with cloud code. But just stay 1216 00:32:35,600 --> 00:32:38,559 tuned because you might also like option 1217 00:32:37,039 --> 00:32:40,720 four which is what I use every single 1218 00:32:38,559 --> 00:32:43,120 day. And now moving on to number three 1219 00:32:40,720 --> 00:32:45,039 we have the web. Now, this is a research 1220 00:32:43,120 --> 00:32:46,799 preview, an experimental type of 1221 00:32:45,039 --> 00:32:48,159 product, but it is pretty cool that you 1222 00:32:46,799 --> 00:32:49,519 can access this on the web, so you could 1223 00:32:48,159 --> 00:32:50,880 use it from your phone. So, there's no 1224 00:32:49,519 --> 00:32:52,799 local setup needed, which is really 1225 00:32:50,880 --> 00:32:54,799 nice. And it runs entirely on the cloud. 1226 00:32:52,799 --> 00:32:56,399 So, you go to claw.ai, you open the code 1227 00:32:54,799 --> 00:32:58,799 service, you connect your GitHub repo, 1228 00:32:56,399 --> 00:33:00,399 and that's what it uses. So, it 1229 00:32:58,799 --> 00:33:01,600 basically clones into your repo in a 1230 00:33:00,399 --> 00:33:02,799 cloud environment, and it will do all 1231 00:33:01,600 --> 00:33:04,559 the work for you. So, it can still 1232 00:33:02,799 --> 00:33:05,840 manage those files and folders. You 1233 00:33:04,559 --> 00:33:07,360 review the changes, and then you can 1234 00:33:05,840 --> 00:33:08,960 create a pull request, and you can do 1235 00:33:07,360 --> 00:33:10,480 all of that from your browser. And a big 1236 00:33:08,960 --> 00:33:12,320 deal here is that it keeps running even 1237 00:33:10,480 --> 00:33:14,000 if you actually turn off your computer 1238 00:33:12,320 --> 00:33:16,240 because it's running on Anthropics cloud 1239 00:33:14,000 --> 00:33:18,399 environment. So pros and cons, we've got 1240 00:33:16,240 --> 00:33:20,320 almost no local setup, just a browser, 1241 00:33:18,399 --> 00:33:22,480 just to add a GitHub account. It works 1242 00:33:20,320 --> 00:33:24,320 from any device, whatever you need. 1243 00:33:22,480 --> 00:33:26,000 Sessions persist, so Cloud keeps working 1244 00:33:24,320 --> 00:33:27,919 while you're away, and it's great for 1245 00:33:26,000 --> 00:33:29,919 kicking off long tasks and checking back 1246 00:33:27,919 --> 00:33:31,840 later. So Boris Churnney, the guy who 1247 00:33:29,919 --> 00:33:33,440 created Claude Code, did a tweet about 1248 00:33:31,840 --> 00:33:35,120 how he actually uses it. And what he 1249 00:33:33,440 --> 00:33:36,880 said here is that he runs five clouds in 1250 00:33:35,120 --> 00:33:39,679 parallel in his terminal and he also 1251 00:33:36,880 --> 00:33:41,200 runs five to 10 on claw.ai/code. So in 1252 00:33:39,679 --> 00:33:42,720 the web. So really that's just to say 1253 00:33:41,200 --> 00:33:44,159 that you don't have to use just one and 1254 00:33:42,720 --> 00:33:45,360 stick to just one. But it's important to 1255 00:33:44,159 --> 00:33:46,240 understand the differences. So right 1256 00:33:45,360 --> 00:33:48,640 here you can see that I'm at 1257 00:33:46,240 --> 00:33:50,720 claw.ai/code. I could here connect a 1258 00:33:48,640 --> 00:33:52,159 GitHub repository as you can see. I 1259 00:33:50,720 --> 00:33:53,760 could choose that over right here as 1260 00:33:52,159 --> 00:33:55,120 well. I could be in testing or a 1261 00:33:53,760 --> 00:33:56,799 different environment and I could start 1262 00:33:55,120 --> 00:33:58,240 all my sessions off right here and then 1263 00:33:56,799 --> 00:33:59,760 they would keep running. So you can see 1264 00:33:58,240 --> 00:34:01,760 here I just started a new session. I'm 1265 00:33:59,760 --> 00:34:03,360 actually not even in any repo right now. 1266 00:34:01,760 --> 00:34:04,640 and I said hello. And you can see that 1267 00:34:03,360 --> 00:34:07,840 it's going to give you a very similar 1268 00:34:04,640 --> 00:34:09,280 feel to the desktop app version with our 1269 00:34:07,840 --> 00:34:11,119 sessions on the left and then kind of 1270 00:34:09,280 --> 00:34:13,280 our chat interface right here. So, who 1271 00:34:11,119 --> 00:34:14,879 is this for? If you want to hand claw a 1272 00:34:13,280 --> 00:34:16,960 task and walk away or if you want to 1273 00:34:14,879 --> 00:34:18,320 code from your iPad. But of course, you 1274 00:34:16,960 --> 00:34:20,159 could also use that new feature which 1275 00:34:18,320 --> 00:34:21,440 was the remote control. So, you can kind 1276 00:34:20,159 --> 00:34:22,879 of see how these all kind of blend 1277 00:34:21,440 --> 00:34:24,159 together. They're similar, but they're 1278 00:34:22,879 --> 00:34:27,040 different. All right, let's move on to 1279 00:34:24,159 --> 00:34:28,879 number four, which is idees. And this 1280 00:34:27,040 --> 00:34:30,480 has also caused a lot of confusion 1281 00:34:28,879 --> 00:34:32,240 because there's multiple different IDEs 1282 00:34:30,480 --> 00:34:34,399 out there. So this image right here is 1283 00:34:32,240 --> 00:34:35,919 how I use it in Visual Studio Code. An 1284 00:34:34,399 --> 00:34:37,200 IDE stands for integrated development 1285 00:34:35,919 --> 00:34:40,000 environment and it's basically just a 1286 00:34:37,200 --> 00:34:41,919 GUI for editing files and folders. So VS 1287 00:34:40,000 --> 00:34:43,440 Code is an IDE. Cursor is an IDE. 1288 00:34:41,919 --> 00:34:45,040 Anti-gravity is an ID. I don't know why 1289 00:34:43,440 --> 00:34:46,960 I have cursor twice right here. But 1290 00:34:45,040 --> 00:34:48,399 those are all IDEs, which is why I said 1291 00:34:46,960 --> 00:34:49,520 that this has caused some confusion cuz 1292 00:34:48,399 --> 00:34:51,440 people are like, why would you use this 1293 00:34:49,520 --> 00:34:53,280 in VS Code over cursor or over 1294 00:34:51,440 --> 00:34:54,639 anti-gravity? And then anti-gravity has 1295 00:34:53,280 --> 00:34:56,000 its own agents. So people get confused 1296 00:34:54,639 --> 00:34:57,839 about that too. But they're all just 1297 00:34:56,000 --> 00:34:59,599 code editors. And Cloud Code has an 1298 00:34:57,839 --> 00:35:01,760 extension that allows us to run Cloud 1299 00:34:59,599 --> 00:35:03,200 Code inside of them. And I like it 1300 00:35:01,760 --> 00:35:04,720 because I can see the files that I'm 1301 00:35:03,200 --> 00:35:06,240 looking at. And Cloud can see what I've 1302 00:35:04,720 --> 00:35:08,079 highlighted and I can see my project 1303 00:35:06,240 --> 00:35:09,680 structure and my folders and files. I 1304 00:35:08,079 --> 00:35:11,520 can drop things in and I can reorganize 1305 00:35:09,680 --> 00:35:13,200 it. Now, some of these IDs do have their 1306 00:35:11,520 --> 00:35:14,160 own built-in agents, which is why it 1307 00:35:13,200 --> 00:35:15,680 might get a little weird because 1308 00:35:14,160 --> 00:35:17,440 anti-gravity has some Gemini agents. 1309 00:35:15,680 --> 00:35:19,119 Cursor has its own. VS Code even has its 1310 00:35:17,440 --> 00:35:20,480 own agents, too. And there's lots of 1311 00:35:19,119 --> 00:35:22,079 other extensions and different ways that 1312 00:35:20,480 --> 00:35:23,520 you can customize your IDE. All right. 1313 00:35:22,079 --> 00:35:24,880 Right. So, starting with the pros, we 1314 00:35:23,520 --> 00:35:26,560 have zero context switching because 1315 00:35:24,880 --> 00:35:28,400 Claude can see exactly what you see in 1316 00:35:26,560 --> 00:35:29,680 the editor. You can also review changes 1317 00:35:28,400 --> 00:35:31,280 using your editor's built-in tools, 1318 00:35:29,680 --> 00:35:32,800 which is really nice. You have really 1319 00:35:31,280 --> 00:35:34,720 quick access to opening up different 1320 00:35:32,800 --> 00:35:36,079 sessions and using keyboard shortcuts. 1321 00:35:34,720 --> 00:35:37,680 And like I said, I just feel very 1322 00:35:36,079 --> 00:35:39,680 productive in there. And it also works 1323 00:35:37,680 --> 00:35:41,040 in multiple IDEs as far as the cloud 1324 00:35:39,680 --> 00:35:42,880 code extension. So, you can pick 1325 00:35:41,040 --> 00:35:44,560 whichever editor that you prefer. Now, 1326 00:35:42,880 --> 00:35:46,400 some of the cons are similar to some of 1327 00:35:44,560 --> 00:35:47,839 the cons on the other ones. You don't 1328 00:35:46,400 --> 00:35:49,359 get some of the advanced features that 1329 00:35:47,839 --> 00:35:51,119 are CLI only, but I'm going to show you 1330 00:35:49,359 --> 00:35:52,640 guys why that's not a big deal at all. 1331 00:35:51,119 --> 00:35:54,400 Your experience is also tied to the 1332 00:35:52,640 --> 00:35:55,839 performance of the editor. So if VS Code 1333 00:35:54,400 --> 00:35:57,119 is slow or it's crashing, then that's 1334 00:35:55,839 --> 00:35:58,400 going to make Cloud Code feel like it's 1335 00:35:57,119 --> 00:36:00,640 crashing. But really, it's just your 1336 00:35:58,400 --> 00:36:02,000 IDE. And each IDE has its own agent, 1337 00:36:00,640 --> 00:36:03,200 which can be a little bit confusing. But 1338 00:36:02,000 --> 00:36:04,880 if you're just using the Cloud Code 1339 00:36:03,200 --> 00:36:06,400 extension, then it's not too bad at all. 1340 00:36:04,880 --> 00:36:08,000 So when you open up VS Code, which is 1341 00:36:06,400 --> 00:36:10,880 free to download, or anti-gravity or 1342 00:36:08,000 --> 00:36:12,880 cursor, this is what it looks like. And 1343 00:36:10,880 --> 00:36:14,400 you can basically open files, you can go 1344 00:36:12,880 --> 00:36:16,160 into folders, you can clone a GitHub 1345 00:36:14,400 --> 00:36:17,920 repo. But where the magic really comes 1346 00:36:16,160 --> 00:36:20,640 in is when you go over to the lefth hand 1347 00:36:17,920 --> 00:36:22,240 side and you open up your extensions. 1348 00:36:20,640 --> 00:36:24,320 And this is where you would search for 1349 00:36:22,240 --> 00:36:26,079 claude code for VS Code and you would 1350 00:36:24,320 --> 00:36:27,599 install this. And this basically pops up 1351 00:36:26,079 --> 00:36:29,440 a little button in the top right which 1352 00:36:27,599 --> 00:36:31,200 says cloud code. And when I click on 1353 00:36:29,440 --> 00:36:33,200 that now I have the ability to actually 1354 00:36:31,200 --> 00:36:34,240 talk to a cloud code agent. And then it 1355 00:36:33,200 --> 00:36:35,680 also gets pretty powerful because 1356 00:36:34,240 --> 00:36:37,599 there's tons of other extensions you can 1357 00:36:35,680 --> 00:36:39,280 use. So then when you actually open up a 1358 00:36:37,599 --> 00:36:40,880 project it's really nice because you can 1359 00:36:39,280 --> 00:36:42,480 see all of the folders and all of the 1360 00:36:40,880 --> 00:36:44,160 files over here. And not only can you 1361 00:36:42,480 --> 00:36:46,000 see them here, but you can open them up. 1362 00:36:44,160 --> 00:36:47,520 So, if I click on my cloud MD, I could 1363 00:36:46,000 --> 00:36:49,200 go ahead and read this right here as 1364 00:36:47,520 --> 00:36:50,880 markdown. I can also see that these are 1365 00:36:49,200 --> 00:36:52,079 new lines because they're green. And I 1366 00:36:50,880 --> 00:36:53,839 can see over here that all of the things 1367 00:36:52,079 --> 00:36:55,359 that are green or yellow haven't been 1368 00:36:53,839 --> 00:36:57,520 yet pushed to my GitHub because they're 1369 00:36:55,359 --> 00:36:59,440 either new or they have been edited. So, 1370 00:36:57,520 --> 00:37:01,200 that visually helps me a ton. Also, when 1371 00:36:59,440 --> 00:37:02,960 Cloud Code is making a plan, so in this 1372 00:37:01,200 --> 00:37:04,880 session, I had it build a random plan. 1373 00:37:02,960 --> 00:37:06,480 It pops that out right here as text. And 1374 00:37:04,880 --> 00:37:08,400 what I can do is I can leave comments on 1375 00:37:06,480 --> 00:37:10,720 specific elements if I want to correct 1376 00:37:08,400 --> 00:37:12,000 it or have it, you know, fix some 1377 00:37:10,720 --> 00:37:13,920 things. And we all know the importance 1378 00:37:12,000 --> 00:37:15,440 of planning. So, this really helps me be 1379 00:37:13,920 --> 00:37:16,960 able to make the plans better so that 1380 00:37:15,440 --> 00:37:19,119 the automations or the skills end up 1381 00:37:16,960 --> 00:37:20,960 being better in the end. Now, we also 1382 00:37:19,119 --> 00:37:22,079 have some status indicators. So, at the 1383 00:37:20,960 --> 00:37:23,359 top of this window, if we see that 1384 00:37:22,079 --> 00:37:24,960 there's a blue dot, it means that 1385 00:37:23,359 --> 00:37:26,400 Claude's waiting for us. And over here, 1386 00:37:24,960 --> 00:37:28,320 if there's an orange dot, it means that 1387 00:37:26,400 --> 00:37:29,599 Claude has finished up. If I want to, I 1388 00:37:28,320 --> 00:37:31,040 can also have multiple different 1389 00:37:29,599 --> 00:37:32,880 sessions running in different little 1390 00:37:31,040 --> 00:37:34,480 areas. So, I could have, you know, split 1391 00:37:32,880 --> 00:37:36,240 pane view where I have four windows and 1392 00:37:34,480 --> 00:37:38,480 I can talk to all four agents. And then 1393 00:37:36,240 --> 00:37:40,160 finally, we talked about how sometimes 1394 00:37:38,480 --> 00:37:42,720 we need some features that don't allow 1395 00:37:40,160 --> 00:37:44,480 us to work in VS Code. So, for example, 1396 00:37:42,720 --> 00:37:45,839 if I try to run the / agents command 1397 00:37:44,480 --> 00:37:47,280 right here, it says, hey, you need to do 1398 00:37:45,839 --> 00:37:48,880 this in the terminal. So, that's fine. I 1399 00:37:47,280 --> 00:37:50,880 go to the terminal, but then I can just 1400 00:37:48,880 --> 00:37:52,480 bring it back in the session. So, now I 1401 00:37:50,880 --> 00:37:54,240 have my cloud code terminal running 1402 00:37:52,480 --> 00:37:55,599 right here, and then I also still have 1403 00:37:54,240 --> 00:37:57,200 the ability to look at all of my 1404 00:37:55,599 --> 00:37:58,720 different files and folders over here. 1405 00:37:57,200 --> 00:38:00,480 So, it's really the best of both worlds. 1406 00:37:58,720 --> 00:38:01,920 So, who is this for? If you want to 1407 00:38:00,480 --> 00:38:03,599 spend your day in a code editor and you 1408 00:38:01,920 --> 00:38:05,599 want cloud code right there next to your 1409 00:38:03,599 --> 00:38:06,720 code, this is the way to go. It's really 1410 00:38:05,599 --> 00:38:07,920 not that overwhelming. So, if you're 1411 00:38:06,720 --> 00:38:10,480 currently deciding if you should switch 1412 00:38:07,920 --> 00:38:12,160 from the desktop app to VS Code, I would 1413 00:38:10,480 --> 00:38:13,680 probably go ahead and do that. And last 1414 00:38:12,160 --> 00:38:16,400 but not least, we have number five, 1415 00:38:13,680 --> 00:38:18,320 which is VPS. So, this means that you 1416 00:38:16,400 --> 00:38:20,320 can actually run Cloud Code on some sort 1417 00:38:18,320 --> 00:38:22,079 of virtual private server rather than on 1418 00:38:20,320 --> 00:38:23,839 your local machine. So, similar to the 1419 00:38:22,079 --> 00:38:26,240 cloud on the web, except for rather than 1420 00:38:23,839 --> 00:38:28,000 anthropics cloud, you pay for some sort 1421 00:38:26,240 --> 00:38:29,520 of cloud yourself. And the way that I 1422 00:38:28,000 --> 00:38:30,880 like to do that is with Hostinger. And 1423 00:38:29,520 --> 00:38:32,720 because it's running on a remote server, 1424 00:38:30,880 --> 00:38:34,800 it can always stay on. So, why would you 1425 00:38:32,720 --> 00:38:36,640 do this? The code and the services on 1426 00:38:34,800 --> 00:38:37,760 there have to live somewhere. So if 1427 00:38:36,640 --> 00:38:39,680 you're running Docker containers, 1428 00:38:37,760 --> 00:38:41,680 databases, and automations, Cloud can 1429 00:38:39,680 --> 00:38:43,839 sit right next to them at all times with 1430 00:38:41,680 --> 00:38:45,359 access. And we have persistence, meaning 1431 00:38:43,839 --> 00:38:47,040 you can start a task, you can close your 1432 00:38:45,359 --> 00:38:49,599 laptop, and cloud keeps working on the 1433 00:38:47,040 --> 00:38:51,440 server. So I actually have a VPS session 1434 00:38:49,599 --> 00:38:53,599 of Cloud Code set up. And I've connected 1435 00:38:51,440 --> 00:38:55,839 it to a Telegram bridge. So I can now 1436 00:38:53,599 --> 00:38:57,359 talk to my Cloud Code wherever I am from 1437 00:38:55,839 --> 00:38:58,720 my phone right here. And it can respond 1438 00:38:57,359 --> 00:39:00,560 to me. It can look through my files. It 1439 00:38:58,720 --> 00:39:02,240 can create files. It's basically cloud 1440 00:39:00,560 --> 00:39:03,599 code in your pocket. And what else is 1441 00:39:02,240 --> 00:39:05,839 cool is if you have it running on a 1442 00:39:03,599 --> 00:39:07,839 virtual private server, you can SSH into 1443 00:39:05,839 --> 00:39:09,920 that from your own terminal locally or 1444 00:39:07,839 --> 00:39:11,760 from VS Code locally or even the desktop 1445 00:39:09,920 --> 00:39:13,359 app. So you can pretty much get all the 1446 00:39:11,760 --> 00:39:14,720 power. So the pros here it is it's next 1447 00:39:13,359 --> 00:39:16,480 to your real infrastructure direct 1448 00:39:14,720 --> 00:39:18,800 access to all of that. It's always on 1449 00:39:16,480 --> 00:39:20,160 and you can work across any device. The 1450 00:39:18,800 --> 00:39:21,760 cons are that you kind of need some 1451 00:39:20,160 --> 00:39:24,079 basic server knowledge. Although what I 1452 00:39:21,760 --> 00:39:27,920 did is I set up a cloud code project to 1453 00:39:24,079 --> 00:39:29,119 help me spin up and maintain my VPS. 1454 00:39:27,920 --> 00:39:30,880 It's also a little bit more setup 1455 00:39:29,119 --> 00:39:32,480 friction than the others. And Claude 1456 00:39:30,880 --> 00:39:34,000 does have real power if it's on a server 1457 00:39:32,480 --> 00:39:35,359 and can see everything on the server. So 1458 00:39:34,000 --> 00:39:36,960 you obviously want to be careful with 1459 00:39:35,359 --> 00:39:38,000 permissions and things like that. So if 1460 00:39:36,960 --> 00:39:40,000 you go to the link in the description, 1461 00:39:38,000 --> 00:39:42,000 you can see that Hostinger has a plan to 1462 00:39:40,000 --> 00:39:43,680 specifically help you launch Cloud Code 1463 00:39:42,000 --> 00:39:45,280 VPS. You can get started for as little 1464 00:39:43,680 --> 00:39:46,800 as six bucks a month. So that's pretty 1465 00:39:45,280 --> 00:39:47,920 cool. When you come down and choose an 1466 00:39:46,800 --> 00:39:49,599 option, you basically just get to 1467 00:39:47,920 --> 00:39:52,320 compare these different options of RAM 1468 00:39:49,599 --> 00:39:53,520 or CPU cores or bandwidth. I would 1469 00:39:52,320 --> 00:39:55,119 probably just start with this one. And 1470 00:39:53,520 --> 00:39:56,640 you can always scale up or scale down as 1471 00:39:55,119 --> 00:39:57,920 needed. And if you have no idea what 1472 00:39:56,640 --> 00:40:00,320 you're doing here, then basically just 1473 00:39:57,920 --> 00:40:01,760 use the Kodi AI assistant and tell it 1474 00:40:00,320 --> 00:40:03,040 about what you're trying to run and it 1475 00:40:01,760 --> 00:40:04,480 will probably help you be able to make 1476 00:40:03,040 --> 00:40:05,599 the right choice. And then once you get 1477 00:40:04,480 --> 00:40:06,880 in there, you'll have a dashboard, which 1478 00:40:05,599 --> 00:40:08,400 I'll show you guys. And you can also use 1479 00:40:06,880 --> 00:40:09,920 that if you need to help scale down or 1480 00:40:08,400 --> 00:40:11,520 up. And once you go through the setup, 1481 00:40:09,920 --> 00:40:13,839 you will see that you can choose a 1482 00:40:11,520 --> 00:40:15,200 24-month, 12-month, or 1-month plan. If 1483 00:40:13,839 --> 00:40:16,880 you're on one of the annual plans, you 1484 00:40:15,200 --> 00:40:19,119 can use code Nate Herk, and you can get 1485 00:40:16,880 --> 00:40:20,800 10% off, which ends up saving you a ton 1486 00:40:19,119 --> 00:40:22,560 of money. You can also get daily auto 1487 00:40:20,800 --> 00:40:23,839 backups. You choose your location. And 1488 00:40:22,560 --> 00:40:25,680 right here, you can basically launch 1489 00:40:23,839 --> 00:40:27,359 this with an app. So right here they 1490 00:40:25,680 --> 00:40:29,200 have cloud code which makes it super 1491 00:40:27,359 --> 00:40:30,560 easy to set up and get going. And then 1492 00:40:29,200 --> 00:40:32,960 once you're in your dashboard, you can 1493 00:40:30,560 --> 00:40:34,560 see the CPU usage, the memory, the disk, 1494 00:40:32,960 --> 00:40:35,920 all of this kind of stuff. And once you 1495 00:40:34,560 --> 00:40:37,280 notice that this is getting a bit too 1496 00:40:35,920 --> 00:40:38,960 high, then you can just scale up your 1497 00:40:37,280 --> 00:40:40,160 plan with a click of a button. But 1498 00:40:38,960 --> 00:40:43,359 basically all you need to do from here 1499 00:40:40,160 --> 00:40:44,720 is SSH into your actual server and then 1500 00:40:43,359 --> 00:40:46,800 install Cloud the same way you would do 1501 00:40:44,720 --> 00:40:48,160 on a terminal or anywhere else. And then 1502 00:40:46,800 --> 00:40:49,520 you have Cloud Code running there. And 1503 00:40:48,160 --> 00:40:50,960 you can set up sessions that last 1504 00:40:49,520 --> 00:40:52,400 forever. And you don't even have to 1505 00:40:50,960 --> 00:40:53,920 actually SSH in. You could literally 1506 00:40:52,400 --> 00:40:56,079 just hit this button right here, which 1507 00:40:53,920 --> 00:40:57,359 brings up the actual server terminal. As 1508 00:40:56,079 --> 00:40:58,800 you can see, we have this really ugly 1509 00:40:57,359 --> 00:41:00,079 terminal looking thing right here. And 1510 00:40:58,800 --> 00:41:01,680 then you can go to this doc, which 1511 00:41:00,079 --> 00:41:03,520 basically shows you exactly what you 1512 00:41:01,680 --> 00:41:05,359 need to do in order to actually install 1513 00:41:03,520 --> 00:41:06,800 and log into cloud code. And then it 1514 00:41:05,359 --> 00:41:08,800 looks the exact same as you would have 1515 00:41:06,800 --> 00:41:10,079 used it anywhere else. So, who is this 1516 00:41:08,800 --> 00:41:11,760 for? If you're running servers, 1517 00:41:10,079 --> 00:41:13,920 deploying apps, or you want an always on 1518 00:41:11,760 --> 00:41:15,599 AI assistant working on your code 24/7, 1519 00:41:13,920 --> 00:41:17,119 then this is the setup. All right. Well, 1520 00:41:15,599 --> 00:41:18,079 that is going to do it for today. Now 1521 00:41:17,119 --> 00:41:19,280 that you guys have watched this 1522 00:41:18,079 --> 00:41:21,839 breakdown, hopefully you understand 1523 00:41:19,280 --> 00:41:23,440 exactly which way you want to use or 1524 00:41:21,839 --> 00:41:24,960 which ways you want to use Cloud Code 1525 00:41:23,440 --> 00:41:28,280 and now you're ready to actually start 1526 00:41:24,960 --> 00:41:28,280 diving in. 1527 00:41:28,400 --> 00:41:33,119 Okay, so what does Cloud Code actually 1528 00:41:30,720 --> 00:41:35,280 do? Well, the short answer is that it 1529 00:41:33,119 --> 00:41:37,119 can do basically anything, which is why 1530 00:41:35,280 --> 00:41:39,680 it has been blowing up and which is why 1531 00:41:37,119 --> 00:41:41,119 I'm having so much fun using it. But you 1532 00:41:39,680 --> 00:41:42,640 can build apps, you can build websites, 1533 00:41:41,119 --> 00:41:45,119 and you can build automations. You can 1534 00:41:42,640 --> 00:41:47,200 even build like games. You can enhance 1535 00:41:45,119 --> 00:41:50,000 your personal workflows. You can debug, 1536 00:41:47,200 --> 00:41:51,440 refactor, and test and write code. You 1537 00:41:50,000 --> 00:41:53,200 can create API integrations. You can 1538 00:41:51,440 --> 00:41:54,800 generate documentation, handle git 1539 00:41:53,200 --> 00:41:56,480 workflows, data analysis, and content 1540 00:41:54,800 --> 00:41:59,760 pipelines. You can pretty much do 1541 00:41:56,480 --> 00:42:01,200 anything even now that we have like 1542 00:41:59,760 --> 00:42:04,640 browser use. So you can literally give 1543 00:42:01,200 --> 00:42:06,400 Claude Code the access to open up a 1544 00:42:04,640 --> 00:42:08,560 browser tab and look at it, screenshot 1545 00:42:06,400 --> 00:42:11,359 it, screen record it, click on things, 1546 00:42:08,560 --> 00:42:12,960 fill out forms. It's just really cool. 1547 00:42:11,359 --> 00:42:15,520 And the one mindset shift that I really 1548 00:42:12,960 --> 00:42:17,119 want you guys to adopt is genuine 1549 00:42:15,520 --> 00:42:19,040 curiosity. 1550 00:42:17,119 --> 00:42:20,400 Because when you first get into Cloud 1551 00:42:19,040 --> 00:42:21,920 Code, obviously you'll be following this 1552 00:42:20,400 --> 00:42:23,680 program, so I'm going to have things 1553 00:42:21,920 --> 00:42:25,520 pretty structured, but it might just 1554 00:42:23,680 --> 00:42:27,520 feel like 1555 00:42:25,520 --> 00:42:30,240 this is a very like loose program. not 1556 00:42:27,520 --> 00:42:31,920 not my course but like cloud code and it 1557 00:42:30,240 --> 00:42:34,079 was built in a way that it's insanely 1558 00:42:31,920 --> 00:42:36,240 customizable insanely hackable so that 1559 00:42:34,079 --> 00:42:39,119 you have unlimited possibilities so when 1560 00:42:36,240 --> 00:42:41,200 I say be genuine cur genuinely curious I 1561 00:42:39,119 --> 00:42:44,160 just mean if you are confused about 1562 00:42:41,200 --> 00:42:46,240 something ask it if you are wondering if 1563 00:42:44,160 --> 00:42:47,520 something's possible ask it if you want 1564 00:42:46,240 --> 00:42:49,440 to understand how you build something 1565 00:42:47,520 --> 00:42:50,640 just ask it and you can ask follow-ups 1566 00:42:49,440 --> 00:42:52,720 and follow-ups and follow-ups you can 1567 00:42:50,640 --> 00:42:54,480 have it design exercises for you to 1568 00:42:52,720 --> 00:42:56,720 understand concepts it's going to be 1569 00:42:54,480 --> 00:42:58,960 your best friend because anything that 1570 00:42:56,720 --> 00:43:00,960 is technical, it will know better than 1571 00:42:58,960 --> 00:43:03,040 you. Whether that's an API or whether 1572 00:43:00,960 --> 00:43:05,760 that's a tool or whether that's um some 1573 00:43:03,040 --> 00:43:08,319 command line, you know, interface 1574 00:43:05,760 --> 00:43:10,800 function that it's running, just ask it. 1575 00:43:08,319 --> 00:43:13,680 So, what I really like to do is when I'm 1576 00:43:10,800 --> 00:43:15,440 in my cloud code and I'm talking to it, 1577 00:43:13,680 --> 00:43:16,720 you can see what it's thinking, right? 1578 00:43:15,440 --> 00:43:18,000 So, I literally just like to read what 1579 00:43:16,720 --> 00:43:20,000 it's thinking and I like to read the 1580 00:43:18,000 --> 00:43:22,640 lines of command that it runs. And the 1581 00:43:20,000 --> 00:43:25,119 more and more you read what it's doing, 1582 00:43:22,640 --> 00:43:26,400 the more you understand it. So in this 1583 00:43:25,119 --> 00:43:28,240 section, we're just going to get some 1584 00:43:26,400 --> 00:43:30,319 initial kind of like setup and concepts 1585 00:43:28,240 --> 00:43:32,240 talked about. So cost, prompting, 1586 00:43:30,319 --> 00:43:34,160 permission modes, cloud models, tokens, 1587 00:43:32,240 --> 00:43:37,200 context, windows, built-in tools, and 1588 00:43:34,160 --> 00:43:38,560 cloud.md. So let's dive in. So the first 1589 00:43:37,200 --> 00:43:41,119 thing is cost, right? You have to be on 1590 00:43:38,560 --> 00:43:42,640 a paid plan. Um, you can start off with 1591 00:43:41,119 --> 00:43:44,400 pro. It's 17 bucks a month build 1592 00:43:42,640 --> 00:43:47,200 annually, but I would definitely 1593 00:43:44,400 --> 00:43:48,319 recommend you just go for the max. If if 1594 00:43:47,200 --> 00:43:49,520 you want to start with pro, you'll 1595 00:43:48,319 --> 00:43:50,800 probably just hit your limits pretty 1596 00:43:49,520 --> 00:43:52,079 quick and then you'll get frustrated and 1597 00:43:50,800 --> 00:43:55,119 you'll either upgrade or you just have 1598 00:43:52,079 --> 00:43:56,400 to wait an hour or a couple hours. 1599 00:43:55,119 --> 00:43:59,280 And real quick, I wanted to talk about 1600 00:43:56,400 --> 00:44:01,599 the ROI because yes, 100 bucks a month 1601 00:43:59,280 --> 00:44:03,119 is an expensive subscription in the 1602 00:44:01,599 --> 00:44:04,880 grand scheme of things, right? Like you 1603 00:44:03,119 --> 00:44:06,240 have n bucks a month subscriptions, 29. 1604 00:44:04,880 --> 00:44:09,599 100 seems like a lot and even if you 1605 00:44:06,240 --> 00:44:12,000 push it to 200, but it's all relative. 1606 00:44:09,599 --> 00:44:14,800 Think about the fact that a software 1607 00:44:12,000 --> 00:44:16,960 engineer costs around 11,000 bucks a 1608 00:44:14,800 --> 00:44:18,880 month or an annual salary of maybe in 1609 00:44:16,960 --> 00:44:20,800 this range 1610 00:44:18,880 --> 00:44:22,400 and you can get the output of a software 1611 00:44:20,800 --> 00:44:24,319 engineer, a full-time software engineer 1612 00:44:22,400 --> 00:44:25,440 for 100 bucks a month. That is crazy. 1613 00:44:24,319 --> 00:44:27,119 And that's the way I want you to think 1614 00:44:25,440 --> 00:44:29,280 about this. Not a subscription. Think 1615 00:44:27,119 --> 00:44:31,040 about it as a software engineer on your 1616 00:44:29,280 --> 00:44:33,040 laptop. 1617 00:44:31,040 --> 00:44:35,040 It's a complete mindset shift, right? 1618 00:44:33,040 --> 00:44:37,280 Because they can do everything that a 1619 00:44:35,040 --> 00:44:39,520 developer does. Basically, Enthropic, 1620 00:44:37,280 --> 00:44:42,319 the company that built cloud code, uses 1621 00:44:39,520 --> 00:44:44,079 cloud code for everything. They built a 1622 00:44:42,319 --> 00:44:46,160 tool called cloud co-work and they built 1623 00:44:44,079 --> 00:44:48,079 that in like 10 days with a team of two 1624 00:44:46,160 --> 00:44:49,760 or three developers only using cloud 1625 00:44:48,079 --> 00:44:51,119 code. That would have taken months and 1626 00:44:49,760 --> 00:44:54,160 that would have taken a massive team of 1627 00:44:51,119 --> 00:44:56,640 developers. They're even right now using 1628 00:44:54,160 --> 00:44:58,000 AI to write and review all their code 1629 00:44:56,640 --> 00:45:00,560 because humans were missing things that 1630 00:44:58,000 --> 00:45:03,760 the AI is catching. So, it's just like 1631 00:45:00,560 --> 00:45:05,440 it's crazy crazy leverage. It's not 1632 00:45:03,760 --> 00:45:08,160 marginal ROI. It is truly 1633 00:45:05,440 --> 00:45:10,720 transformational ROI. [snorts] 1634 00:45:08,160 --> 00:45:12,640 So prompting prompting matters, right? 1635 00:45:10,720 --> 00:45:15,280 Because cloud code at under the hood is 1636 00:45:12,640 --> 00:45:16,720 an AI model that can talk to your tools, 1637 00:45:15,280 --> 00:45:18,400 that can do things, that has access to 1638 00:45:16,720 --> 00:45:20,720 your files. And so prompting is so 1639 00:45:18,400 --> 00:45:23,440 important because the quality of the 1640 00:45:20,720 --> 00:45:26,240 clearness of your prompt and the context 1641 00:45:23,440 --> 00:45:28,960 that you feed it is directly tied to the 1642 00:45:26,240 --> 00:45:30,960 quality of output it gives you. So a 1643 00:45:28,960 --> 00:45:33,520 vague prompt produces vague results. 1644 00:45:30,960 --> 00:45:35,040 Garbage in, garbage out. Think of Claude 1645 00:45:33,520 --> 00:45:36,880 as a brilliant contractor that you just 1646 00:45:35,040 --> 00:45:38,079 hired. They have tons of skills, but 1647 00:45:36,880 --> 00:45:40,960 they have never seen your project 1648 00:45:38,079 --> 00:45:42,640 before. So, the more precisely 1649 00:45:40,960 --> 00:45:44,240 precisely the more precisely that you 1650 00:45:42,640 --> 00:45:45,440 explain what you want, including your 1651 00:45:44,240 --> 00:45:47,599 context, your constraints, and your 1652 00:45:45,440 --> 00:45:49,119 expected outcomes, the far better the 1653 00:45:47,599 --> 00:45:50,480 result will be. And as you guys, you 1654 00:45:49,119 --> 00:45:51,680 know, it's all about the reps. As you 1655 00:45:50,480 --> 00:45:54,400 guys start to talk to Cloud Code more 1656 00:45:51,680 --> 00:45:58,640 and more, you'll realize just how good 1657 00:45:54,400 --> 00:46:02,079 it is. And one key thing there is using 1658 00:45:58,640 --> 00:46:04,640 voice to text. So, just to show you guys 1659 00:46:02,079 --> 00:46:07,280 what that means real quick, when I speak 1660 00:46:04,640 --> 00:46:10,240 in natural language with my voice, I can 1661 00:46:07,280 --> 00:46:13,119 speak way faster than I can type. And I 1662 00:46:10,240 --> 00:46:15,119 speak way more, I guess, naturally. 1663 00:46:13,119 --> 00:46:16,640 Like, when I speak, I feel like I 1664 00:46:15,119 --> 00:46:18,400 actually unlock more thoughts because 1665 00:46:16,640 --> 00:46:21,440 I'm not having to be restricted by my 1666 00:46:18,400 --> 00:46:24,960 fingers. I'm restricted by just oxygen, 1667 00:46:21,440 --> 00:46:27,040 I suppose. So, I use this tool, which um 1668 00:46:24,960 --> 00:46:28,240 there will be a link for in the 1669 00:46:27,040 --> 00:46:30,480 description. Just go ahead and check out 1670 00:46:28,240 --> 00:46:31,520 the voice to text tool down there or I 1671 00:46:30,480 --> 00:46:33,359 can go like this. You see this little 1672 00:46:31,520 --> 00:46:35,839 thing at the bottom of my screen. I hold 1673 00:46:33,359 --> 00:46:37,760 this and now I can basically just talk 1674 00:46:35,839 --> 00:46:39,280 and I can even hit the space bar. So now 1675 00:46:37,760 --> 00:46:41,280 my hands can be off and I can just be 1676 00:46:39,280 --> 00:46:42,400 talking. So I can be brain dumping and I 1677 00:46:41,280 --> 00:46:43,520 can be talking about whatever and 1678 00:46:42,400 --> 00:46:45,920 telling Cloud Go, "Hey, I want you to 1679 00:46:43,520 --> 00:46:48,240 build this." And then boom, all of a 1680 00:46:45,920 --> 00:46:50,560 sudden my words have just appeared. So 1681 00:46:48,240 --> 00:46:52,480 that has been a major major productivity 1682 00:46:50,560 --> 00:46:54,319 boost, major unlock for me. And if you 1683 00:46:52,480 --> 00:46:56,079 guys don't have that tool, I would a 1684 00:46:54,319 --> 00:46:58,880 thousand% recommend that you get that 1685 00:46:56,079 --> 00:47:01,359 tool and you use that tool. Okay, let's 1686 00:46:58,880 --> 00:47:04,079 keep on moving here. [snorts] 1687 00:47:01,359 --> 00:47:05,119 So, bad versus good prompt example. Bad 1688 00:47:04,079 --> 00:47:06,560 would be something like build me a 1689 00:47:05,119 --> 00:47:08,000 website for my dog walking business. 1690 00:47:06,560 --> 00:47:09,520 It's going to look generic. Good would 1691 00:47:08,000 --> 00:47:11,119 be create me a simple landing page for a 1692 00:47:09,520 --> 00:47:12,400 dog walking business called Happy Paws. 1693 00:47:11,119 --> 00:47:13,920 It should have a hero section with a 1694 00:47:12,400 --> 00:47:15,520 headline, a list of three services with 1695 00:47:13,920 --> 00:47:17,359 prices, and a contact form at the 1696 00:47:15,520 --> 00:47:19,680 bottom. Use a clean, modern style with a 1697 00:47:17,359 --> 00:47:21,680 blue and white color scheme. Now, the 1698 00:47:19,680 --> 00:47:23,280 cool thing about this is this still 1699 00:47:21,680 --> 00:47:25,119 honestly isn't a great prompt, but what 1700 00:47:23,280 --> 00:47:27,359 you can do is you can feed that prompt 1701 00:47:25,119 --> 00:47:28,880 right here into Cloud Code. You can 1702 00:47:27,359 --> 00:47:30,640 utilize plan mode, which you guys will 1703 00:47:28,880 --> 00:47:32,319 understand in just a bit, and you can 1704 00:47:30,640 --> 00:47:33,839 let Claude code ask you the difficult 1705 00:47:32,319 --> 00:47:35,119 questions that it needs. So, pretend 1706 00:47:33,839 --> 00:47:37,280 right now you you want to build a 1707 00:47:35,119 --> 00:47:39,599 website. You are talking to the world's 1708 00:47:37,280 --> 00:47:42,240 best website designer. 1709 00:47:39,599 --> 00:47:43,680 You give that person this prompt. That 1710 00:47:42,240 --> 00:47:45,280 person is going to come back to you with 1711 00:47:43,680 --> 00:47:46,640 tons of questions. Okay. Um, what's the 1712 00:47:45,280 --> 00:47:48,880 this? What's this? What's this? Tell me 1713 00:47:46,640 --> 00:47:50,400 more. And you can let them adopt that 1714 00:47:48,880 --> 00:47:52,079 role of asking you questions. So it 1715 00:47:50,400 --> 00:47:54,240 makes your job so easy. You can say 1716 00:47:52,079 --> 00:47:56,480 things like you should be 95% sure 1717 00:47:54,240 --> 00:47:57,680 before you move on or ask me any 1718 00:47:56,480 --> 00:48:00,000 questions to make sure you understand 1719 00:47:57,680 --> 00:48:01,359 me. And that will literally make sure 1720 00:48:00,000 --> 00:48:02,880 that cloud code doesn't start building 1721 00:48:01,359 --> 00:48:06,640 anything until it completely understands 1722 00:48:02,880 --> 00:48:08,240 your request. So permission modes, we've 1723 00:48:06,640 --> 00:48:10,319 got three kind of main ones that I'm 1724 00:48:08,240 --> 00:48:13,520 going to cover. We've got plan mode, 1725 00:48:10,319 --> 00:48:15,680 which means Cloud can help you plan. It 1726 00:48:13,520 --> 00:48:18,400 thinks, it can read things. It can do 1727 00:48:15,680 --> 00:48:19,920 web search, but it won't actually build. 1728 00:48:18,400 --> 00:48:21,839 We have accept edits, which means that 1729 00:48:19,920 --> 00:48:24,079 cloud can read things, write files, edit 1730 00:48:21,839 --> 00:48:25,839 files without asking. But it still has 1731 00:48:24,079 --> 00:48:27,359 to ask permission for bash commands, 1732 00:48:25,839 --> 00:48:29,760 which means kind of like actually taking 1733 00:48:27,359 --> 00:48:31,680 action. And we have bypass permissions 1734 00:48:29,760 --> 00:48:34,000 mode, which basically means you talk to 1735 00:48:31,680 --> 00:48:36,079 Claude, it can go do whatever it wants, 1736 00:48:34,000 --> 00:48:37,920 full autonomy. 1737 00:48:36,079 --> 00:48:39,599 Now, this is beneficial sometimes when 1738 00:48:37,920 --> 00:48:41,200 you have come to a plan that you like 1739 00:48:39,599 --> 00:48:42,800 and then you shoot it off in permission 1740 00:48:41,200 --> 00:48:44,480 mode, in bypass permission mode, because 1741 00:48:42,800 --> 00:48:47,040 you don't want it to babysit it. So 1742 00:48:44,480 --> 00:48:49,359 there's some value there. 1743 00:48:47,040 --> 00:48:50,640 Now, here's what they look like in cloud 1744 00:48:49,359 --> 00:48:54,000 code. You can see at the bottom I'm 1745 00:48:50,640 --> 00:48:55,920 switching between plan, bypass, ask 1746 00:48:54,000 --> 00:48:58,000 before edits, and you literally just 1747 00:48:55,920 --> 00:49:00,160 toggle that with a button. So this is 1748 00:48:58,000 --> 00:49:01,359 the GUI, and we can just toggle it. You 1749 00:49:00,160 --> 00:49:03,760 can notice that this kind of looks like 1750 00:49:01,359 --> 00:49:05,359 the way that, you know, maybe Claude in 1751 00:49:03,760 --> 00:49:06,960 the browser looks or chatbt in the 1752 00:49:05,359 --> 00:49:10,640 browser looks. So that's your different 1753 00:49:06,960 --> 00:49:13,200 modes. Super easy. Now we have models. 1754 00:49:10,640 --> 00:49:14,640 So the number that's attached to the 1755 00:49:13,200 --> 00:49:16,240 back, don't worry about that. Right? 1756 00:49:14,640 --> 00:49:19,440 Like right now we're on Opus 4.6, SA 1757 00:49:16,240 --> 00:49:21,040 4x6. But these are the model families in 1758 00:49:19,440 --> 00:49:23,680 Claude. So we have Claude Haiku, Claude 1759 00:49:21,040 --> 00:49:25,040 Sonnet, and Claude Opus. 1760 00:49:23,680 --> 00:49:26,000 They have different strengths. They have 1761 00:49:25,040 --> 00:49:27,520 different weaknesses, and they have 1762 00:49:26,000 --> 00:49:30,640 different costs. And it's important to 1763 00:49:27,520 --> 00:49:31,920 understand. So Haiku is the fastest. It 1764 00:49:30,640 --> 00:49:34,000 is the simplest, and it's the most 1765 00:49:31,920 --> 00:49:35,760 lightweight, lightweight, and it's also 1766 00:49:34,000 --> 00:49:37,440 the cheapest. So it makes sense, right? 1767 00:49:35,760 --> 00:49:38,960 Sonnet is kind of like the balanced 1768 00:49:37,440 --> 00:49:40,880 version. So, daily coding, it's very 1769 00:49:38,960 --> 00:49:43,359 balanced, it's fast, and it's mid-range. 1770 00:49:40,880 --> 00:49:44,800 And Opus is a heavy reasoning model. So, 1771 00:49:43,359 --> 00:49:46,880 it's probably going to take the longest, 1772 00:49:44,800 --> 00:49:48,960 and it's probably the smartest, but it's 1773 00:49:46,880 --> 00:49:51,200 also the most expensive. Now, I will be 1774 00:49:48,960 --> 00:49:53,359 very upfront with you guys. I use Opus 1775 00:49:51,200 --> 00:49:54,880 for everything. The only time I will 1776 00:49:53,359 --> 00:49:56,480 switch to Haiku is maybe if I have 1777 00:49:54,880 --> 00:49:58,960 certain sub agents or I have tons and 1778 00:49:56,480 --> 00:50:00,400 tons of tokens to process. But when 1779 00:49:58,960 --> 00:50:02,880 you're just starting out, just keep it 1780 00:50:00,400 --> 00:50:05,440 on default or just keep it on Opus just 1781 00:50:02,880 --> 00:50:07,839 to get a feel for it, right? So here are 1782 00:50:05,440 --> 00:50:09,520 the models in the same interface. You 1783 00:50:07,839 --> 00:50:13,040 can type /model and it lets you choose 1784 00:50:09,520 --> 00:50:15,200 between default set or opus, right? And 1785 00:50:13,040 --> 00:50:16,559 it's just as simple as literally you saw 1786 00:50:15,200 --> 00:50:18,800 at the beginning of this clip. All I did 1787 00:50:16,559 --> 00:50:21,040 was I typed /mod and it popped up with 1788 00:50:18,800 --> 00:50:22,960 this option to change my model. So very 1789 00:50:21,040 --> 00:50:24,880 easy. 1790 00:50:22,960 --> 00:50:25,920 Now what do the numbers mean? I'm not 1791 00:50:24,880 --> 00:50:27,359 going to spend too much time here, but 1792 00:50:25,920 --> 00:50:28,400 it's basically just like the version. So 1793 00:50:27,359 --> 00:50:30,480 cloud [clears throat] 3 was the 1794 00:50:28,400 --> 00:50:32,960 original. Cloud 3.5 had improvements. 1795 00:50:30,480 --> 00:50:34,240 Cloud 4 was introduced. Cloud 4.5 had, 1796 00:50:32,960 --> 00:50:36,240 you know, more improvements. Cloud 4.6 1797 00:50:34,240 --> 00:50:40,640 Six has more improvements. So the models 1798 00:50:36,240 --> 00:50:41,920 just increase the number, right? So use 1799 00:50:40,640 --> 00:50:43,680 the model slash command. A good 1800 00:50:41,920 --> 00:50:45,200 strategy. Use Sonic for 80% of work. 1801 00:50:43,680 --> 00:50:46,720 Switch to Opus for complex architecture 1802 00:50:45,200 --> 00:50:48,559 decisions or tricky bugs. Then switch 1803 00:50:46,720 --> 00:50:50,319 back. Kind of like best practice. But 1804 00:50:48,559 --> 00:50:54,160 like I just told you guys, I just like 1805 00:50:50,319 --> 00:50:56,400 to use Opus, right? So what is a token? 1806 00:50:54,160 --> 00:50:57,839 A token is a unit. And that is basically 1807 00:50:56,400 --> 00:51:00,720 how you know we read in words and 1808 00:50:57,839 --> 00:51:02,640 letters. AI reads in tokens. So it's not 1809 00:51:00,720 --> 00:51:04,240 exactly one word. You know, a token is 1810 00:51:02,640 --> 00:51:05,680 not exactly one word. It's roughly three 1811 00:51:04,240 --> 00:51:07,119 to four characters. And I say roughly 1812 00:51:05,680 --> 00:51:09,040 because sometimes you'll notice like 1813 00:51:07,119 --> 00:51:12,400 this punctuation mark like this comma is 1814 00:51:09,040 --> 00:51:13,920 one. This period is one. Um here we have 1815 00:51:12,400 --> 00:51:16,800 in and that's two. And that also 1816 00:51:13,920 --> 00:51:18,319 accounts for the spaces as you notice. 1817 00:51:16,800 --> 00:51:20,480 This is also one. So it's like it's not 1818 00:51:18,319 --> 00:51:22,960 also it's not completely consistent. But 1819 00:51:20,480 --> 00:51:28,240 roughly 1820 00:51:22,960 --> 00:51:30,160 one token is about 75% of a word. So, 1821 00:51:28,240 --> 00:51:32,640 this is important to understand because 1822 00:51:30,160 --> 00:51:34,960 tokens cost money. 1823 00:51:32,640 --> 00:51:37,200 And we have something with all of our AI 1824 00:51:34,960 --> 00:51:38,960 models called a context window. The 1825 00:51:37,200 --> 00:51:40,559 context window is Claude's working 1826 00:51:38,960 --> 00:51:42,480 memory. So, just imagine that Claude has 1827 00:51:40,559 --> 00:51:44,400 a notepad. And when you're talking to 1828 00:51:42,480 --> 00:51:45,920 it, it writes down everything that you 1829 00:51:44,400 --> 00:51:47,440 said and everything that it said back to 1830 00:51:45,920 --> 00:51:49,920 you in this notepad. And when the 1831 00:51:47,440 --> 00:51:53,200 notepad fills up, it's bad, right? Like, 1832 00:51:49,920 --> 00:51:54,960 it's going to start to um lose track of 1833 00:51:53,200 --> 00:51:56,640 what's going on. And it also might just 1834 00:51:54,960 --> 00:51:59,040 have to reset. 1835 00:51:56,640 --> 00:52:01,200 So things that go into this context 1836 00:51:59,040 --> 00:52:04,800 window are the system prompt, your 1837 00:52:01,200 --> 00:52:06,800 tools, your cloud.MD files, MCP servers, 1838 00:52:04,800 --> 00:52:08,720 all of your conversation history, all of 1839 00:52:06,800 --> 00:52:10,559 the files, everything that Claude said, 1840 00:52:08,720 --> 00:52:12,720 everything that you said. And the con 1841 00:52:10,559 --> 00:52:14,480 standard context window is about 200,000 1842 00:52:12,720 --> 00:52:16,000 tokens at least at the time of recording 1843 00:52:14,480 --> 00:52:18,160 this. The models are getting better 1844 00:52:16,000 --> 00:52:20,160 every day. So it's important to know 1845 00:52:18,160 --> 00:52:22,400 that and it's important to contextualize 1846 00:52:20,160 --> 00:52:24,480 that one huge huge principle of cloud 1847 00:52:22,400 --> 00:52:27,119 code once we get more advanced is 1848 00:52:24,480 --> 00:52:28,559 minimizing token usage and keeping you 1849 00:52:27,119 --> 00:52:29,839 know they call it context management. So 1850 00:52:28,559 --> 00:52:32,160 that will be covered later in the course 1851 00:52:29,839 --> 00:52:34,240 but for now don't worry too much about 1852 00:52:32,160 --> 00:52:36,319 that. Just be aware of that concept. 1853 00:52:34,240 --> 00:52:40,160 Okay. 1854 00:52:36,319 --> 00:52:42,000 So here's why it matters. It fills up 1855 00:52:40,160 --> 00:52:43,119 and as it fills up you consume more 1856 00:52:42,000 --> 00:52:45,920 tokens which means you're going to hit 1857 00:52:43,119 --> 00:52:47,599 your limits. You also have this dilemma 1858 00:52:45,920 --> 00:52:49,760 or this problem of being lost in the 1859 00:52:47,599 --> 00:52:51,359 middle. Meaning information at the start 1860 00:52:49,760 --> 00:52:53,520 of the conversation and at the end of 1861 00:52:51,359 --> 00:52:54,960 the conversation get prioritized because 1862 00:52:53,520 --> 00:52:56,319 stuff in the middle can tend to get lost 1863 00:52:54,960 --> 00:52:58,640 because there's just so much data, 1864 00:52:56,319 --> 00:53:01,040 right? And then of course you have your 1865 00:52:58,640 --> 00:53:04,640 cost. More tokens is more computational 1866 00:53:01,040 --> 00:53:06,880 cost and um hitting your limit faster 1867 00:53:04,640 --> 00:53:08,480 because your subscription is based on 1868 00:53:06,880 --> 00:53:10,800 tokens. 1869 00:53:08,480 --> 00:53:13,040 So here is what we also call context 1870 00:53:10,800 --> 00:53:16,880 rot. So as you have more tokens build up 1871 00:53:13,040 --> 00:53:18,559 in a session, we significantly see or we 1872 00:53:16,880 --> 00:53:21,119 see a significant drop in the quality 1873 00:53:18,559 --> 00:53:22,319 and accuracy of the LLM. So if your LLM 1874 00:53:21,119 --> 00:53:24,079 all of a sudden, if Cloud Code all of a 1875 00:53:22,319 --> 00:53:26,800 sudden starts making things up, then 1876 00:53:24,079 --> 00:53:28,559 maybe compact your token window or maybe 1877 00:53:26,800 --> 00:53:30,559 open up a new session because as you can 1878 00:53:28,559 --> 00:53:32,319 see as there's more tokens the quality 1879 00:53:30,559 --> 00:53:34,079 just kind of takes a steep drop off and 1880 00:53:32,319 --> 00:53:35,599 this is seen across all the models. This 1881 00:53:34,079 --> 00:53:37,040 is a handdrawn sketch, right? But this 1882 00:53:35,599 --> 00:53:39,359 is basically how it works across all the 1883 00:53:37,040 --> 00:53:41,040 models. Context rot is a real thing with 1884 00:53:39,359 --> 00:53:43,119 AI. 1885 00:53:41,040 --> 00:53:45,359 So, here are some helpful commands that 1886 00:53:43,119 --> 00:53:47,440 help you with some context stuff. So, 1887 00:53:45,359 --> 00:53:50,079 slashcontext, it shows you the current 1888 00:53:47,440 --> 00:53:51,920 token usage breakdown. Slash compact 1889 00:53:50,079 --> 00:53:53,760 compresses the conversation and saves 1890 00:53:51,920 --> 00:53:55,280 key information so you can keep going as 1891 00:53:53,760 --> 00:53:57,440 if you still have all that history 1892 00:53:55,280 --> 00:54:00,000 there. Slashcle just wipes everything 1893 00:53:57,440 --> 00:54:01,599 and starts fresh. And SLR goes back to 1894 00:54:00,000 --> 00:54:03,920 an earlier point in the conversation 1895 00:54:01,599 --> 00:54:06,079 after a code change. There is something 1896 00:54:03,920 --> 00:54:07,520 that Cloud Code does called autocompact, 1897 00:54:06,079 --> 00:54:08,960 which means that it'll automatically 1898 00:54:07,520 --> 00:54:10,720 compress your conversation once you hit 1899 00:54:08,960 --> 00:54:12,800 that limit. So, when you're first 1900 00:54:10,720 --> 00:54:15,440 getting started, don't stress too much 1901 00:54:12,800 --> 00:54:17,200 about context Windows. It'll 1902 00:54:15,440 --> 00:54:19,119 autocompact, but just something, like I 1903 00:54:17,200 --> 00:54:21,359 said, I wanted you to keep in mind. So, 1904 00:54:19,119 --> 00:54:22,880 here's an example. I'm typing in /clear, 1905 00:54:21,359 --> 00:54:25,280 and that clears the conversation as you 1906 00:54:22,880 --> 00:54:26,720 saw. And now I'm typing in /context, and 1907 00:54:25,280 --> 00:54:28,160 it's pulling up all of the different 1908 00:54:26,720 --> 00:54:31,040 things in this project that are eating 1909 00:54:28,160 --> 00:54:32,319 up token usage. So, here you can see, 1910 00:54:31,040 --> 00:54:35,440 oops, didn't mean to go forward. I meant 1911 00:54:32,319 --> 00:54:38,559 to pause. Here you can see that in this 1912 00:54:35,440 --> 00:54:42,480 session, I'm using model cloud is 4.6 1913 00:54:38,559 --> 00:54:46,319 and my tokens are at 225,000 1914 00:54:42,480 --> 00:54:48,480 or sorry 22,000 out of 200,000. So I've 1915 00:54:46,319 --> 00:54:50,559 already eaten up 11% of my context 1916 00:54:48,480 --> 00:54:52,160 window. If I was to then scroll down, 1917 00:54:50,559 --> 00:54:53,920 you can see that there are other things 1918 00:54:52,160 --> 00:54:55,680 in here that are eating tokens. So I 1919 00:54:53,920 --> 00:54:57,359 have um you know all of these system 1920 00:54:55,680 --> 00:54:59,040 prompts, these system tools, these MCP 1921 00:54:57,359 --> 00:55:00,880 tools. I have MCP servers that are 1922 00:54:59,040 --> 00:55:03,520 taking up some context and I've also got 1923 00:55:00,880 --> 00:55:04,640 like skills and agent files, right? So 1924 00:55:03,520 --> 00:55:06,319 the more things you have in your 1925 00:55:04,640 --> 00:55:09,200 project, the more tokens that are going 1926 00:55:06,319 --> 00:55:09,200 to be consumed. 1927 00:55:09,839 --> 00:55:16,640 Okay, so now I wanted to talk about 1928 00:55:12,079 --> 00:55:18,240 built-in tools in Cloud Code. Now, when 1929 00:55:16,640 --> 00:55:20,240 you're using Cloud Code, it'll basically 1930 00:55:18,240 --> 00:55:21,599 tell you which tool it's using, and you 1931 00:55:20,240 --> 00:55:22,800 don't have to memorize these at all. 1932 00:55:21,599 --> 00:55:24,960 They're very intuitive, right? Like 1933 00:55:22,800 --> 00:55:26,960 read, write, edit, bash, glob, they're 1934 00:55:24,960 --> 00:55:28,160 pretty much intuitive. Bash means you're 1935 00:55:26,960 --> 00:55:29,520 running a shell command in your 1936 00:55:28,160 --> 00:55:30,480 terminal. So, if you open up your 1937 00:55:29,520 --> 00:55:32,559 terminal and type something, that's 1938 00:55:30,480 --> 00:55:34,240 that's a bash. A glob is looking for 1939 00:55:32,559 --> 00:55:36,559 things. A GP is also searching for 1940 00:55:34,240 --> 00:55:39,200 things. An ls is listing files that 1941 00:55:36,559 --> 00:55:41,200 exist. Web fetch is getting content from 1942 00:55:39,200 --> 00:55:43,599 a URL. Web search is searching the web 1943 00:55:41,200 --> 00:55:46,079 for a URL. And this is just a quick 1944 00:55:43,599 --> 00:55:49,839 breakdown so you're familiar with tools. 1945 00:55:46,079 --> 00:55:50,960 Um, now like I said, I off the top of my 1946 00:55:49,839 --> 00:55:53,280 head wouldn't be able to tell you what 1947 00:55:50,960 --> 00:55:54,400 they all do. Well, maybe I would now 1948 00:55:53,280 --> 00:55:56,160 because I've just read them so many 1949 00:55:54,400 --> 00:55:57,599 times, but you don't need to memorize 1950 00:55:56,160 --> 00:55:58,960 these. The reason I bring this up is 1951 00:55:57,599 --> 00:56:00,400 because when you hop into Cloud Code and 1952 00:55:58,960 --> 00:56:01,680 you see these words, you're probably 1953 00:56:00,400 --> 00:56:04,079 going to think to yourself, "What in the 1954 00:56:01,680 --> 00:56:05,200 world is a glob? What is a GP?" So, I 1955 00:56:04,079 --> 00:56:06,400 just wanted to get you familiar with the 1956 00:56:05,200 --> 00:56:08,000 fact that this just means it's looking 1957 00:56:06,400 --> 00:56:09,520 through files or it's executing 1958 00:56:08,000 --> 00:56:11,040 commands. 1959 00:56:09,520 --> 00:56:13,280 So, here's an example, right? I said, 1960 00:56:11,040 --> 00:56:15,680 can you create me an image using my AIS 1961 00:56:13,280 --> 00:56:17,280 logo? Um, it's computing. So, it has 1962 00:56:15,680 --> 00:56:19,440 these little things that will pop up. It 1963 00:56:17,280 --> 00:56:20,799 executed a skill called generate image. 1964 00:56:19,440 --> 00:56:22,960 We can see it's thinking. We can see 1965 00:56:20,799 --> 00:56:25,680 it's searching. It's using the glob. We 1966 00:56:22,960 --> 00:56:27,280 can see that it found the logo. We can 1967 00:56:25,680 --> 00:56:29,680 see that once again it's computing or 1968 00:56:27,280 --> 00:56:31,680 it's finagling or whatever words. Here's 1969 00:56:29,680 --> 00:56:33,760 a bash command. And this bash command 1970 00:56:31,680 --> 00:56:37,200 was running a script to go generate 1971 00:56:33,760 --> 00:56:39,200 that, you know, AI generated image. So 1972 00:56:37,200 --> 00:56:40,799 that's just a quick preview on what it 1973 00:56:39,200 --> 00:56:44,640 actually looks like and why I wanted to 1974 00:56:40,799 --> 00:56:47,280 bring up those different built-in tools. 1975 00:56:44,640 --> 00:56:48,799 Okay, so claw.md. 1976 00:56:47,280 --> 00:56:51,040 This is something you're going to hear 1977 00:56:48,799 --> 00:56:52,640 so many times. If you've ever built an 1978 00:56:51,040 --> 00:56:54,480 AI agent before or a chatbot or 1979 00:56:52,640 --> 00:56:57,119 anything, you've given it a system 1980 00:56:54,480 --> 00:56:58,880 prompt. Cloud.md is just a system 1981 00:56:57,119 --> 00:57:00,240 prompt. That's all. The reason it's 1982 00:56:58,880 --> 00:57:02,799 called claude is because we're using 1983 00:57:00,240 --> 00:57:03,760 claude code and MD means markdown. So 1984 00:57:02,799 --> 00:57:05,359 I'll show you guys an example of what 1985 00:57:03,760 --> 00:57:08,240 markdown looks like in a sec. It's not 1986 00:57:05,359 --> 00:57:10,240 scary. It's not code. So this system 1987 00:57:08,240 --> 00:57:12,559 prompt gives claude code instructions 1988 00:57:10,240 --> 00:57:14,640 about the project. Every single time 1989 00:57:12,559 --> 00:57:15,839 before like when you send cloud code a 1990 00:57:14,640 --> 00:57:18,319 message, every single time before it 1991 00:57:15,839 --> 00:57:22,319 reads your message, it reads its claw.md 1992 00:57:18,319 --> 00:57:24,079 file first. So it's a system prompt. 1993 00:57:22,319 --> 00:57:26,160 Now, there's kind of three main layers 1994 00:57:24,079 --> 00:57:28,400 that you want to put in your cloud.MMD 1995 00:57:26,160 --> 00:57:29,920 because if you think about tokens and 1996 00:57:28,400 --> 00:57:32,640 you think about what I just said, if 1997 00:57:29,920 --> 00:57:34,160 your cloudmd file is huge, that means 1998 00:57:32,640 --> 00:57:35,760 every single time you ask it a question, 1999 00:57:34,160 --> 00:57:37,280 it reads that whole thing and consumes 2000 00:57:35,760 --> 00:57:40,720 tokens really fast. So, keeping your 2001 00:57:37,280 --> 00:57:42,400 cloud.MD file lean is important. So, we 2002 00:57:40,720 --> 00:57:44,079 want the what, which is your text stack, 2003 00:57:42,400 --> 00:57:47,040 your product structure, any key packages 2004 00:57:44,079 --> 00:57:48,880 or skills. We have the why, which is the 2005 00:57:47,040 --> 00:57:51,520 purpose of each component. And we have 2006 00:57:48,880 --> 00:57:54,880 the how, which is how you want Claude to 2007 00:57:51,520 --> 00:57:57,119 work. Now, the good thing is Claude is 2008 00:57:54,880 --> 00:57:59,440 really good at building CloudMD files, 2009 00:57:57,119 --> 00:58:01,280 right? So, here is an example of the 2010 00:57:59,440 --> 00:58:03,599 beginning of my cloud.MMD file for my 2011 00:58:01,280 --> 00:58:05,119 executive assistant. You are Nate Herk's 2012 00:58:03,599 --> 00:58:06,480 executive assistant. Your job is to help 2013 00:58:05,119 --> 00:58:08,319 him spend less time on operations, 2014 00:58:06,480 --> 00:58:09,760 people management, and admin so he can 2015 00:58:08,319 --> 00:58:11,359 focus on learning AI tools and making 2016 00:58:09,760 --> 00:58:12,880 YouTube videos. This is his number one 2017 00:58:11,359 --> 00:58:15,680 priority. Everything else supports it, 2018 00:58:12,880 --> 00:58:17,440 right? Very clear goal. Now I also give 2019 00:58:15,680 --> 00:58:19,599 it other information so it can read 2020 00:58:17,440 --> 00:58:21,280 context about me, about work, about my 2021 00:58:19,599 --> 00:58:22,880 team, about my priorities and then I 2022 00:58:21,280 --> 00:58:24,160 list my tools and then I list you know 2023 00:58:22,880 --> 00:58:25,599 other you know project management 2024 00:58:24,160 --> 00:58:27,565 frameworks or anything that it needs to 2025 00:58:25,599 --> 00:58:28,240 know anything that's really important. 2026 00:58:27,565 --> 00:58:30,720 [snorts] 2027 00:58:28,240 --> 00:58:32,400 Now we have a cool command called /init 2028 00:58:30,720 --> 00:58:33,920 which basically initializes your project 2029 00:58:32,400 --> 00:58:36,240 by scanning your codebase and creating a 2030 00:58:33,920 --> 00:58:38,559 cloud.MD file. So if you opened up a 2031 00:58:36,240 --> 00:58:40,000 project and you don't have a cloudmd 2032 00:58:38,559 --> 00:58:43,760 just run slashinit and it will make you 2033 00:58:40,000 --> 00:58:46,000 one. So that's a pretty cool command. 2034 00:58:43,760 --> 00:58:47,119 Okay, that is going to do it for now. 2035 00:58:46,000 --> 00:58:49,119 Hopefully I didn't bore you guys too 2036 00:58:47,119 --> 00:58:51,359 much. You're done with slides. Let's go 2037 00:58:49,119 --> 00:58:53,760 actually get our hands a little bit 2038 00:58:51,359 --> 00:58:55,440 dirty with cloud code and start building 2039 00:58:53,760 --> 00:58:57,200 your first agentic workflows. So, super 2040 00:58:55,440 --> 00:58:58,880 excited. I'll see you guys over there. 2041 00:58:57,200 --> 00:59:00,720 Aenic workflows are changing how we 2042 00:58:58,880 --> 00:59:02,000 build AI automations. But not only that, 2043 00:59:00,720 --> 00:59:03,200 they're also changing the entire 2044 00:59:02,000 --> 00:59:05,359 industry with more businesses [music] 2045 00:59:03,200 --> 00:59:06,880 investing in Aentic AI to improve their 2046 00:59:05,359 --> 00:59:08,319 workflows. So, if you're looking to 2047 00:59:06,880 --> 00:59:09,839 start building AI automations to make 2048 00:59:08,319 --> 00:59:11,040 your life easier or you want to make 2049 00:59:09,839 --> 00:59:12,319 money building these for businesses, 2050 00:59:11,040 --> 00:59:13,839 then this is [music] the best place to 2051 00:59:12,319 --> 00:59:15,280 start. I've been building AI automations 2052 00:59:13,839 --> 00:59:16,559 for a little over a year now and I've 2053 00:59:15,280 --> 00:59:18,240 already helped thousands of people build 2054 00:59:16,559 --> 00:59:19,760 their first AI automation. So I do know 2055 00:59:18,240 --> 00:59:21,040 how intimidating everything can look at 2056 00:59:19,760 --> 00:59:22,079 first. So that's why in this video I'll 2057 00:59:21,040 --> 00:59:23,200 be telling you everything you need to 2058 00:59:22,079 --> 00:59:24,640 know and then I'm going to show you how 2059 00:59:23,200 --> 00:59:26,559 to build your first agentic workflow 2060 00:59:24,640 --> 00:59:27,920 from absolutely zero. My job is to make 2061 00:59:26,559 --> 00:59:29,200 this as easy to understand as possible 2062 00:59:27,920 --> 00:59:30,400 for you. So let's get into it. All 2063 00:59:29,200 --> 00:59:31,599 right. So before we actually build 2064 00:59:30,400 --> 00:59:33,200 anything, let's make sure that we're on 2065 00:59:31,599 --> 00:59:34,720 the same page about what aentic 2066 00:59:33,200 --> 00:59:36,079 workflows actually are. If you've been 2067 00:59:34,720 --> 00:59:37,599 building traditional automations, you 2068 00:59:36,079 --> 00:59:39,920 know the drill. You use a tool like make 2069 00:59:37,599 --> 00:59:41,280 or n. You drag a node onto the canvas. 2070 00:59:39,920 --> 00:59:42,400 You configure it. You connect it to the 2071 00:59:41,280 --> 00:59:43,920 next one. You make sure the right 2072 00:59:42,400 --> 00:59:45,599 variables are passing through. You test 2073 00:59:43,920 --> 00:59:46,880 it. You add another node. And you keep 2074 00:59:45,599 --> 00:59:48,319 going. And when you hit an error, which 2075 00:59:46,880 --> 00:59:49,760 you will, you read the error message. 2076 00:59:48,319 --> 00:59:51,599 You figure out what went wrong. You fix 2077 00:59:49,760 --> 00:59:52,960 it. You test again. And you repeat until 2078 00:59:51,599 --> 00:59:54,240 it works. You're basically building the 2079 00:59:52,960 --> 00:59:55,599 whole thing manually. And if it breaks 2080 00:59:54,240 --> 00:59:57,040 again later, you're the one who has to 2081 00:59:55,599 --> 00:59:58,559 go back in there and fix it yourself. 2082 00:59:57,040 --> 00:59:59,760 Now, this was a huge leap in the AI 2083 00:59:58,559 --> 01:00:01,119 automation space because it 2084 00:59:59,760 --> 01:00:02,880 significantly lowered the barrier to 2085 01:00:01,119 --> 01:00:04,240 entry and it allowed anyone from any 2086 01:00:02,880 --> 01:00:05,599 background to learn these tools and 2087 01:00:04,240 --> 01:00:07,359 build some really powerful automations 2088 01:00:05,599 --> 01:00:08,960 in a matter of days. But agentic 2089 01:00:07,359 --> 01:00:10,400 workflows completely flip that whole 2090 01:00:08,960 --> 01:00:12,079 process because instead of telling the 2091 01:00:10,400 --> 01:00:13,599 system how to do something step by step, 2092 01:00:12,079 --> 01:00:15,520 you're just telling it what you want and 2093 01:00:13,599 --> 01:00:16,640 then the agent figures out the rest. So 2094 01:00:15,520 --> 01:00:18,079 think about it like hiring a really 2095 01:00:16,640 --> 01:00:19,359 talented developer. You don't sit there 2096 01:00:18,079 --> 01:00:21,040 explaining the code or walking them 2097 01:00:19,359 --> 01:00:22,400 through the logic line by line. You walk 2098 01:00:21,040 --> 01:00:23,599 in and you explain the problem. You 2099 01:00:22,400 --> 01:00:25,040 describe the outcome you want and then 2100 01:00:23,599 --> 01:00:26,799 you ask, okay, what else do you need 2101 01:00:25,040 --> 01:00:28,960 from me? So that's what makes it aic. 2102 01:00:26,799 --> 01:00:30,720 The system reasons, it adapts, it asks 2103 01:00:28,960 --> 01:00:32,559 clarifying questions when it needs to. 2104 01:00:30,720 --> 01:00:34,240 It makes decisions. It fixes itself when 2105 01:00:32,559 --> 01:00:35,760 something breaks. And it does research 2106 01:00:34,240 --> 01:00:36,960 all to make your job as easy as 2107 01:00:35,760 --> 01:00:38,319 possible. Now I do believe that 2108 01:00:36,960 --> 01:00:40,000 traditional automation with a tool like 2109 01:00:38,319 --> 01:00:41,520 Naden isn't going anywhere. It's still 2110 01:00:40,000 --> 01:00:42,960 perfect for repetitive predictable 2111 01:00:41,520 --> 01:00:44,480 tasks. And there are two terms that we 2112 01:00:42,960 --> 01:00:46,240 use in the AI automation space. 2113 01:00:44,480 --> 01:00:48,000 Deterministic and non-deterministic. 2114 01:00:46,240 --> 01:00:49,359 Deterministic means predictable. And in 2115 01:00:48,000 --> 01:00:50,720 automation, predictable is beautiful. 2116 01:00:49,359 --> 01:00:52,000 Boring is beautiful because you know 2117 01:00:50,720 --> 01:00:53,440 exactly what's going to happen every 2118 01:00:52,000 --> 01:00:55,200 single time the automation runs. 2119 01:00:53,440 --> 01:00:56,400 Non-deterministic means that given an 2120 01:00:55,200 --> 01:00:58,079 input and you don't know exactly what 2121 01:00:56,400 --> 01:01:00,240 the output will be. There's variability, 2122 01:00:58,079 --> 01:01:02,319 there's judgment, there's AI, and AI is 2123 01:01:00,240 --> 01:01:03,839 non-deterministic. So our job as AI 2124 01:01:02,319 --> 01:01:05,599 automation builders is to make a 2125 01:01:03,839 --> 01:01:07,440 non-deterministic process as 2126 01:01:05,599 --> 01:01:09,280 deterministic as possible because 2127 01:01:07,440 --> 01:01:10,720 typically business processes are pretty 2128 01:01:09,280 --> 01:01:12,400 deterministic or at least as 2129 01:01:10,720 --> 01:01:14,160 deterministic as they can be. So that's 2130 01:01:12,400 --> 01:01:16,319 exactly where agentic workflows shine. 2131 01:01:14,160 --> 01:01:17,839 They unlock tasks that are too variable 2132 01:01:16,319 --> 01:01:19,280 for traditional automation stuff that 2133 01:01:17,839 --> 01:01:20,880 needs judgment calls at every step just 2134 01:01:19,280 --> 01:01:22,319 to be a little bit more dynamic. Maybe 2135 01:01:20,880 --> 01:01:24,000 research, maybe content creation, 2136 01:01:22,319 --> 01:01:25,599 customer support, lead genen. These are 2137 01:01:24,000 --> 01:01:27,040 messy processes that can involve a lot 2138 01:01:25,599 --> 01:01:28,079 of moving pieces. So with aentic 2139 01:01:27,040 --> 01:01:29,520 workflows, we can handle that 2140 01:01:28,079 --> 01:01:30,880 variability and the system actually gets 2141 01:01:29,520 --> 01:01:32,559 better over time instead of just setting 2142 01:01:30,880 --> 01:01:34,160 it and forgetting it or having to go 2143 01:01:32,559 --> 01:01:35,599 manually in and make improvements by 2144 01:01:34,160 --> 01:01:37,359 yourself. There's a reason why so many 2145 01:01:35,599 --> 01:01:38,640 builders right now are shifting to tools 2146 01:01:37,359 --> 01:01:40,400 that are a little bit more genetic like 2147 01:01:38,640 --> 01:01:41,920 cloud code or anti-gravity because they 2148 01:01:40,400 --> 01:01:43,359 fix a lot of the common struggles with 2149 01:01:41,920 --> 01:01:45,040 traditional automation. There's no more 2150 01:01:43,359 --> 01:01:46,720 finding and fixing errors manually. No 2151 01:01:45,040 --> 01:01:48,559 more setting up API calls yourself. No 2152 01:01:46,720 --> 01:01:50,000 more manually connecting to MCP servers. 2153 01:01:48,559 --> 01:01:51,040 No more getting stuck on the logic. So 2154 01:01:50,000 --> 01:01:52,240 here's a really simple way to think 2155 01:01:51,040 --> 01:01:53,839 about that evolution. Let's say you 2156 01:01:52,240 --> 01:01:55,280 wanted to get to a carnival across town 2157 01:01:53,839 --> 01:01:56,640 and you know roughly where it is, but 2158 01:01:55,280 --> 01:01:58,319 you still need directions. Traditional 2159 01:01:56,640 --> 01:01:59,520 automation is like using a paper map and 2160 01:01:58,319 --> 01:02:00,720 a compass and you're looking at the 2161 01:01:59,520 --> 01:02:02,240 street names and you're trying to figure 2162 01:02:00,720 --> 01:02:04,079 out your own routes. You're choosing the 2163 01:02:02,240 --> 01:02:05,280 streets to walk down and you can get 2164 01:02:04,079 --> 01:02:06,400 there and you will get there. It just 2165 01:02:05,280 --> 01:02:07,599 takes a little bit more effort and if 2166 01:02:06,400 --> 01:02:09,200 you make the wrong turn, you'd have to 2167 01:02:07,599 --> 01:02:10,640 figure that out and course correct. But 2168 01:02:09,200 --> 01:02:12,000 with Aentic Workflows, that's just like 2169 01:02:10,640 --> 01:02:13,359 pulling out your phone, googling for the 2170 01:02:12,000 --> 01:02:14,480 carnival, and then it basically gives 2171 01:02:13,359 --> 01:02:15,920 you this blue line and all you have to 2172 01:02:14,480 --> 01:02:17,839 do is follow it. And if you go off the 2173 01:02:15,920 --> 01:02:19,119 path, it will like recalculate and it 2174 01:02:17,839 --> 01:02:20,400 will make sure that you go back to the 2175 01:02:19,119 --> 01:02:22,160 actual outcome that you're looking for. 2176 01:02:20,400 --> 01:02:23,440 So in both scenarios, you can get to the 2177 01:02:22,160 --> 01:02:24,559 same destination, but it's just a 2178 01:02:23,440 --> 01:02:26,000 completely different experience getting 2179 01:02:24,559 --> 01:02:27,520 there. So let's talk about what's 2180 01:02:26,000 --> 01:02:29,040 actually happening under the hood and 2181 01:02:27,520 --> 01:02:30,559 what you need to know in order to build 2182 01:02:29,040 --> 01:02:32,799 an agentic workflow. So we're using a 2183 01:02:30,559 --> 01:02:34,240 framework called WAT. You could just hop 2184 01:02:32,799 --> 01:02:35,599 into Cloud Code right now and start 2185 01:02:34,240 --> 01:02:36,720 talking to the agent and honestly it 2186 01:02:35,599 --> 01:02:38,400 would do just fine. But without 2187 01:02:36,720 --> 01:02:39,920 structure, things get messy fast. Think 2188 01:02:38,400 --> 01:02:41,359 about it like a school locker. If you 2189 01:02:39,920 --> 01:02:42,799 just threw every piece of paper, every 2190 01:02:41,359 --> 01:02:44,720 homework assignment, every note from 2191 01:02:42,799 --> 01:02:46,160 every subject into a locker with no 2192 01:02:44,720 --> 01:02:47,599 organization, you could get straight 2193 01:02:46,160 --> 01:02:49,119 A's, but it would be tough because you'd 2194 01:02:47,599 --> 01:02:50,799 be digging through piles of paper. you'd 2195 01:02:49,119 --> 01:02:52,559 probably forget things or lose things 2196 01:02:50,799 --> 01:02:54,240 and that's why you would have finders, 2197 01:02:52,559 --> 01:02:55,520 shelves, folders, notebooks. Structure 2198 01:02:54,240 --> 01:02:56,799 makes everything easier. So, it's the 2199 01:02:55,520 --> 01:02:58,480 exact same thing here. We need to tell 2200 01:02:56,799 --> 01:02:59,599 cloud code how to stay organized and 2201 01:02:58,480 --> 01:03:01,839 that's why we do that using our 2202 01:02:59,599 --> 01:03:03,839 framework called WAT. W stands for 2203 01:03:01,839 --> 01:03:05,839 workflows, A stands for agent and T 2204 01:03:03,839 --> 01:03:07,520 stands for tools. Each piece of that 2205 01:03:05,839 --> 01:03:08,720 framework has its own job. So, let me 2206 01:03:07,520 --> 01:03:10,079 break that down. All right. So, first we 2207 01:03:08,720 --> 01:03:11,359 have the workflows which are the 2208 01:03:10,079 --> 01:03:12,880 instructions. These are instruction 2209 01:03:11,359 --> 01:03:14,160 files that are written in markdown, 2210 01:03:12,880 --> 01:03:15,839 which is basically just natural 2211 01:03:14,160 --> 01:03:17,520 language, but it uses things like pound 2212 01:03:15,839 --> 01:03:18,799 signs and asterisks so that the agent 2213 01:03:17,520 --> 01:03:20,000 knows what are the headers, what are the 2214 01:03:18,799 --> 01:03:21,280 subheaders, what's bold, what's 2215 01:03:20,000 --> 01:03:22,400 important, stuff like that. So, I'll put 2216 01:03:21,280 --> 01:03:23,280 a quick example right up here on the 2217 01:03:22,400 --> 01:03:24,799 screen if you've never heard of 2218 01:03:23,280 --> 01:03:26,400 Markdown, but just know it's super 2219 01:03:24,799 --> 01:03:27,599 simple and you could go read that and 2220 01:03:26,400 --> 01:03:28,960 you would not be confused at all. So, 2221 01:03:27,599 --> 01:03:30,960 think of a workflow like a job 2222 01:03:28,960 --> 01:03:32,079 description or an SOP, just a process. 2223 01:03:30,960 --> 01:03:33,520 It tells the agent what to do. For 2224 01:03:32,079 --> 01:03:35,119 example, we might have a workflow called 2225 01:03:33,520 --> 01:03:36,720 competitor analysis. The workflow tells 2226 01:03:35,119 --> 01:03:38,079 the agent to research businesses, then 2227 01:03:36,720 --> 01:03:39,680 gather data from five competitor 2228 01:03:38,079 --> 01:03:41,359 sources, then analyze those findings, 2229 01:03:39,680 --> 01:03:42,720 and then analyze our business, and then 2230 01:03:41,359 --> 01:03:44,400 create a PDF report. So, it's just 2231 01:03:42,720 --> 01:03:45,920 basically a process, a sequence of 2232 01:03:44,400 --> 01:03:47,520 steps. They're guidelines. The agent 2233 01:03:45,920 --> 01:03:49,359 then uses these guidelines to figure out 2234 01:03:47,520 --> 01:03:50,880 how to achieve that end goal. And here's 2235 01:03:49,359 --> 01:03:52,319 the cool part. As the agent works and it 2236 01:03:50,880 --> 01:03:53,680 gives you outputs, you can say, I liked 2237 01:03:52,319 --> 01:03:54,799 this, but I didn't like that, or go 2238 01:03:53,680 --> 01:03:56,400 ahead and change this, and it'll 2239 01:03:54,799 --> 01:03:57,680 actually update its workflow file so 2240 01:03:56,400 --> 01:03:59,280 that next time it calls on the workflow, 2241 01:03:57,680 --> 01:04:00,799 it will do better. Now, the A stands for 2242 01:03:59,280 --> 01:04:02,480 agent, which is the coordinator. This is 2243 01:04:00,799 --> 01:04:04,319 the actual AI. This is claude code 2244 01:04:02,480 --> 01:04:05,440 itself. This is the brain. It reads your 2245 01:04:04,319 --> 01:04:07,039 workflows and it reads those 2246 01:04:05,440 --> 01:04:08,400 instructions and it looks at what tools 2247 01:04:07,039 --> 01:04:09,839 it has available. And then it makes 2248 01:04:08,400 --> 01:04:11,280 decisions about which tool to use and 2249 01:04:09,839 --> 01:04:12,720 when. And if something breaks, it will 2250 01:04:11,280 --> 01:04:14,240 handle the error. It will research it. 2251 01:04:12,720 --> 01:04:15,599 It will figure it out and it will adapt 2252 01:04:14,240 --> 01:04:16,880 for you. So really just think of this as 2253 01:04:15,599 --> 01:04:18,480 like a project manager. You hand them 2254 01:04:16,880 --> 01:04:19,839 the instructions and they will delegate 2255 01:04:18,480 --> 01:04:21,599 tasks to the right people. Except for 2256 01:04:19,839 --> 01:04:23,440 not people. It's more so they delegate 2257 01:04:21,599 --> 01:04:24,400 tasks to the right tools and workflows. 2258 01:04:23,440 --> 01:04:26,000 So you don't have to figure out the 2259 01:04:24,400 --> 01:04:27,680 sequencing or the logic. Cloud code does 2260 01:04:26,000 --> 01:04:29,119 it. And then the T are the tools which 2261 01:04:27,680 --> 01:04:30,880 are kind of the workers or the actions. 2262 01:04:29,119 --> 01:04:32,240 Tools are Python scripts that actually 2263 01:04:30,880 --> 01:04:33,520 do the work. And this is where the ugly 2264 01:04:32,240 --> 01:04:35,119 code lives. But don't worry, you don't 2265 01:04:33,520 --> 01:04:36,960 have to touch it. Each tool will have 2266 01:04:35,119 --> 01:04:38,720 one specific job. The workflow is a big 2267 01:04:36,960 --> 01:04:40,400 process. A tool is just one specific 2268 01:04:38,720 --> 01:04:42,160 action like scraping a website or 2269 01:04:40,400 --> 01:04:43,760 generating a PDF. The agent then calls 2270 01:04:42,160 --> 01:04:45,119 these tools when it needs to based on 2271 01:04:43,760 --> 01:04:47,039 what it says in the workflow 2272 01:04:45,119 --> 01:04:48,720 instructions. So for research workflow, 2273 01:04:47,039 --> 01:04:50,319 your tools might be one to scrape a 2274 01:04:48,720 --> 01:04:51,920 website, one to analyze findings, and 2275 01:04:50,319 --> 01:04:53,440 one to generate a PDF. And here's the 2276 01:04:51,920 --> 01:04:54,960 best part. These tools also get 2277 01:04:53,440 --> 01:04:56,400 automatically built by cloud code, and 2278 01:04:54,960 --> 01:04:58,240 if they fail, they get automatically 2279 01:04:56,400 --> 01:05:00,160 updated and fixed by cloud code. They're 2280 01:04:58,240 --> 01:05:01,599 super modular, so you can call a tool 2281 01:05:00,160 --> 01:05:02,880 with a different workflow if you want to 2282 01:05:01,599 --> 01:05:04,319 later. So, how do these three layers 2283 01:05:02,880 --> 01:05:05,599 work together? Let me just show you how 2284 01:05:04,319 --> 01:05:07,839 this connects. Let's say that we give an 2285 01:05:05,599 --> 01:05:09,599 agent a task like research company X's 2286 01:05:07,839 --> 01:05:11,119 pricing and then create a PDF report for 2287 01:05:09,599 --> 01:05:12,559 me. The agent reads the workflow, the 2288 01:05:11,119 --> 01:05:14,240 instructions, looks at the available 2289 01:05:12,559 --> 01:05:15,440 tools and decides the sequence. So, 2290 01:05:14,240 --> 01:05:17,039 first it would call something like a web 2291 01:05:15,440 --> 01:05:18,160 search tool to find the relevant info. 2292 01:05:17,039 --> 01:05:20,160 Then it would call something like a 2293 01:05:18,160 --> 01:05:22,240 scrape website tool to pull content from 2294 01:05:20,160 --> 01:05:23,760 those URLs. Then it calls the analyze 2295 01:05:22,240 --> 01:05:25,200 finding tool to synthesize everything. 2296 01:05:23,760 --> 01:05:27,680 And finally, it could call the generate 2297 01:05:25,200 --> 01:05:29,039 PDF tool to create that branded report. 2298 01:05:27,680 --> 01:05:30,400 Now, the whole time it's reasoning and 2299 01:05:29,039 --> 01:05:31,839 it's making decisions based on what you 2300 01:05:30,400 --> 01:05:33,200 told it to do in the workflow and you're 2301 01:05:31,839 --> 01:05:35,039 not mapping it out step by step. The 2302 01:05:33,200 --> 01:05:36,079 agent handles the logic and updates it. 2303 01:05:35,039 --> 01:05:37,280 All right, so that's what I wanted you 2304 01:05:36,079 --> 01:05:38,480 guys to understand about Agentic 2305 01:05:37,280 --> 01:05:39,599 Workflows. All right, but before we 2306 01:05:38,480 --> 01:05:41,039 continue, if you want to follow along 2307 01:05:39,599 --> 01:05:42,799 with the video, you can download this 2308 01:05:41,039 --> 01:05:43,839 resource I'll be using in my community. 2309 01:05:42,799 --> 01:05:45,280 Once you're there, you just need to look 2310 01:05:43,839 --> 01:05:47,359 for the post with this video and you'll 2311 01:05:45,280 --> 01:05:48,559 find it attached as a markdown file. 2312 01:05:47,359 --> 01:05:50,319 Now, let's get back to building your 2313 01:05:48,559 --> 01:05:51,520 first agentic workflow. Okay, so we got 2314 01:05:50,319 --> 01:05:53,280 all of that stuff out of the way. The 2315 01:05:51,520 --> 01:05:55,920 first thing I need you to do is go to 2316 01:05:53,280 --> 01:05:57,839 Google or a browser and type in VS Code 2317 01:05:55,920 --> 01:05:59,359 or Visual Studio Code and go ahead and 2318 01:05:57,839 --> 01:06:00,960 download this. This is where we're going 2319 01:05:59,359 --> 01:06:01,920 to be using Cloud Code. So once you 2320 01:06:00,960 --> 01:06:03,280 install that, it's going to look like 2321 01:06:01,920 --> 01:06:04,880 this when you open it up. It's just kind 2322 01:06:03,280 --> 01:06:06,160 of like a welcome onboarding screen. 2323 01:06:04,880 --> 01:06:07,520 What I'm going to do is just break 2324 01:06:06,160 --> 01:06:08,720 everything down as far as what you 2325 01:06:07,520 --> 01:06:10,240 actually need to click on, what you need 2326 01:06:08,720 --> 01:06:11,440 to know because there's a lot of buttons 2327 01:06:10,240 --> 01:06:12,640 in here and it's probably a new 2328 01:06:11,440 --> 01:06:13,839 interface which makes it overwhelming, 2329 01:06:12,640 --> 01:06:15,280 but it's going to be simple. You'll see. 2330 01:06:13,839 --> 01:06:17,039 So before we do anything else, we have 2331 01:06:15,280 --> 01:06:18,480 to actually install the Claude Code 2332 01:06:17,039 --> 01:06:19,760 extension. You can see up here I've got 2333 01:06:18,480 --> 01:06:21,440 this little button where if I click on 2334 01:06:19,760 --> 01:06:22,880 it, it opens up Claude Code and we get 2335 01:06:21,440 --> 01:06:24,000 the little crab and we can now talk to 2336 01:06:22,880 --> 01:06:25,280 Claude Code. So, you're not going to 2337 01:06:24,000 --> 01:06:26,319 have that by default. The way you get 2338 01:06:25,280 --> 01:06:27,680 that is you go over to the lefth hand 2339 01:06:26,319 --> 01:06:29,359 side to the menu bar and you're going to 2340 01:06:27,680 --> 01:06:30,960 click on extensions. You are then going 2341 01:06:29,359 --> 01:06:32,559 to search for claude code. So, if you 2342 01:06:30,960 --> 01:06:33,760 just type in claude, it should pop up 2343 01:06:32,559 --> 01:06:35,359 over here and you'll click on it and 2344 01:06:33,760 --> 01:06:36,799 then you just have to install this 2345 01:06:35,359 --> 01:06:38,640 extension. Now, once you install this, 2346 01:06:36,799 --> 01:06:40,480 it will prompt you to sign in with your 2347 01:06:38,640 --> 01:06:42,240 anthropic or your claude subscription. 2348 01:06:40,480 --> 01:06:43,920 And so, you do have to be on a paid 2349 01:06:42,240 --> 01:06:45,039 cloud subscription in order to use cloud 2350 01:06:43,920 --> 01:06:47,119 code. You can see here on the free 2351 01:06:45,039 --> 01:06:48,880 version you don't have it but pro or max 2352 01:06:47,119 --> 01:06:51,039 or the higher max you will have cloud 2353 01:06:48,880 --> 01:06:52,640 code with opus 4.5. So once you're on a 2354 01:06:51,039 --> 01:06:54,400 pro or max plan then you will come back 2355 01:06:52,640 --> 01:06:56,000 into VS Code. You'll sign in with that 2356 01:06:54,400 --> 01:06:57,440 and you should be all set to start using 2357 01:06:56,000 --> 01:06:58,799 cloud code right here. So we've got that 2358 01:06:57,440 --> 01:07:00,240 configured. Now what I want you to do is 2359 01:06:58,799 --> 01:07:01,839 click on the button up in the top right 2360 01:07:00,240 --> 01:07:02,960 and close out of this window and you 2361 01:07:01,839 --> 01:07:04,559 should be able to see that you have 2362 01:07:02,960 --> 01:07:06,480 cloud code right here. So now in order 2363 01:07:04,559 --> 01:07:08,480 to really use cloud code we have to be 2364 01:07:06,480 --> 01:07:10,000 in some sort of project. So, if I go 2365 01:07:08,480 --> 01:07:11,680 over to the lefth hand side and I go all 2366 01:07:10,000 --> 01:07:13,520 the way up to the explorer, you can see 2367 01:07:11,680 --> 01:07:15,359 that it says no folder open, which means 2368 01:07:13,520 --> 01:07:16,160 basically we're not in a project. So, 2369 01:07:15,359 --> 01:07:17,520 you're going to go ahead and click on 2370 01:07:16,160 --> 01:07:19,200 open folder and you can see what I did 2371 01:07:17,520 --> 01:07:20,880 is I created a folder right here called 2372 01:07:19,200 --> 01:07:22,400 first agentic workflow and it's 2373 01:07:20,880 --> 01:07:24,160 completely blank. So, open up a blank 2374 01:07:22,400 --> 01:07:25,440 folder or go create a new one and then 2375 01:07:24,160 --> 01:07:26,960 select it. So, this is what your screen 2376 01:07:25,440 --> 01:07:28,480 should now look like. You've got your 2377 01:07:26,960 --> 01:07:30,000 folder on the lefth hand side with no 2378 01:07:28,480 --> 01:07:31,119 files in there. You've got these other 2379 01:07:30,000 --> 01:07:33,119 panels on the right and what we're going 2380 01:07:31,119 --> 01:07:34,400 to do is close out of the VS Code agent 2381 01:07:33,119 --> 01:07:35,440 and then we're going to open up Cloud 2382 01:07:34,400 --> 01:07:37,119 Code and then we're just going to get 2383 01:07:35,440 --> 01:07:38,720 rid of the welcome VS Code screen. So 2384 01:07:37,119 --> 01:07:39,920 what we have here is files on the lefth 2385 01:07:38,720 --> 01:07:41,839 hand side and this is where we're going 2386 01:07:39,920 --> 01:07:43,599 to see any folders that we create, any 2387 01:07:41,839 --> 01:07:45,119 of the files that Claude actually makes 2388 01:07:43,599 --> 01:07:46,640 for us. And then right here is where we 2389 01:07:45,119 --> 01:07:48,160 can actually talk to Claude code and 2390 01:07:46,640 --> 01:07:50,079 just think of this as your typical chat 2391 01:07:48,160 --> 01:07:51,440 GBT interface, your Gemini interface or 2392 01:07:50,079 --> 01:07:52,799 of course your Claude interface. This is 2393 01:07:51,440 --> 01:07:54,319 where the agent lives and then this is 2394 01:07:52,799 --> 01:07:55,839 where the files live. So this is where 2395 01:07:54,319 --> 01:07:57,039 we'll see the workflows and tools as we 2396 01:07:55,839 --> 01:07:58,319 mentioned. So you remember earlier I 2397 01:07:57,039 --> 01:08:00,160 talked about how we had to make sure 2398 01:07:58,319 --> 01:08:01,440 that our agent understands our structure 2399 01:08:00,160 --> 01:08:03,119 just like it wouldn't want to throw 2400 01:08:01,440 --> 01:08:04,240 notes and random stuff in a locker. We 2401 01:08:03,119 --> 01:08:05,359 have to give it structure. So, what 2402 01:08:04,240 --> 01:08:07,599 we're going to do is we're going to give 2403 01:08:05,359 --> 01:08:08,799 it this file that's called a claw.md 2404 01:08:07,599 --> 01:08:10,400 file. And if you want to get this, I 2405 01:08:08,799 --> 01:08:12,240 will have it available for download in 2406 01:08:10,400 --> 01:08:14,160 my free school community. So, this is 2407 01:08:12,240 --> 01:08:15,839 basically the onboarding document. We're 2408 01:08:14,160 --> 01:08:16,960 catching the agent up to speed as far as 2409 01:08:15,839 --> 01:08:18,159 how do we want to work. So, you can see 2410 01:08:16,960 --> 01:08:19,759 what we're doing is we're explaining 2411 01:08:18,159 --> 01:08:21,759 you're working inside the WAT 2412 01:08:19,759 --> 01:08:23,440 frameworks, agents, tools. So, then we 2413 01:08:21,759 --> 01:08:25,600 go ahead and explain. Layer 1 is the 2414 01:08:23,440 --> 01:08:27,040 instructions. Layer two is you. Layer 2415 01:08:25,600 --> 01:08:28,640 three are the tools. I'm not going to 2416 01:08:27,040 --> 01:08:30,239 read out this whole markdown file line 2417 01:08:28,640 --> 01:08:31,679 by line. You guys can access it like I 2418 01:08:30,239 --> 01:08:33,120 said, but I'll hit on a few of the 2419 01:08:31,679 --> 01:08:34,880 important things. So, we go over how to 2420 01:08:33,120 --> 01:08:36,880 operate. So we tell it first look in 2421 01:08:34,880 --> 01:08:38,560 your existing tools. Then you learn and 2422 01:08:36,880 --> 01:08:40,239 adapt when things fail. So when you hit 2423 01:08:38,560 --> 01:08:41,759 an error you read it, you fix the script 2424 01:08:40,239 --> 01:08:43,359 and you reset. So for example, if you 2425 01:08:41,759 --> 01:08:44,640 get rate limited on an API, you would 2426 01:08:43,359 --> 01:08:46,159 dig into the docs. You would see if you 2427 01:08:44,640 --> 01:08:47,520 could discover a batch endpoint. You 2428 01:08:46,159 --> 01:08:48,880 would refactor the tool to use it, 2429 01:08:47,520 --> 01:08:50,560 verify it works, and then update the 2430 01:08:48,880 --> 01:08:51,679 workflow so that error never happens 2431 01:08:50,560 --> 01:08:53,279 again. And then of course, you want to 2432 01:08:51,679 --> 01:08:54,799 keep the workflows current. We explain 2433 01:08:53,279 --> 01:08:56,239 the self-improvement loop. We explain 2434 01:08:54,799 --> 01:08:57,440 the file structure, which is going to 2435 01:08:56,239 --> 01:08:58,400 look like this. These are the different 2436 01:08:57,440 --> 01:08:59,839 folders we're going to have. We'll have 2437 01:08:58,400 --> 01:09:01,520 one for temporary files. We'll have one 2438 01:08:59,839 --> 01:09:02,960 for tools. We'll have one for workflows. 2439 01:09:01,520 --> 01:09:04,799 And then we'll of course have some other 2440 01:09:02,960 --> 01:09:06,880 different files in here as well. So 2441 01:09:04,799 --> 01:09:07,839 anyways, that is our cloud.MD file. So 2442 01:09:06,880 --> 01:09:09,520 what I'm going to do is I'm going to 2443 01:09:07,839 --> 01:09:11,199 drag it over here into the lefth hand 2444 01:09:09,520 --> 01:09:12,799 side because this is where we have our 2445 01:09:11,199 --> 01:09:14,239 project files and folders. So I drop it 2446 01:09:12,799 --> 01:09:15,679 in there. You can see it opens up over 2447 01:09:14,239 --> 01:09:16,719 here. We could also read it right there, 2448 01:09:15,679 --> 01:09:19,040 but I'm just going to go ahead and close 2449 01:09:16,719 --> 01:09:20,239 out of that. And now we have claw.md set 2450 01:09:19,040 --> 01:09:22,239 up right here. So what you can do now 2451 01:09:20,239 --> 01:09:24,080 that we have cla.md is you could do a 2452 01:09:22,239 --> 01:09:25,359 slash command, which is /init. And that 2453 01:09:24,080 --> 01:09:26,480 basically just initializes the 2454 01:09:25,359 --> 01:09:27,679 environment. But we could also just do 2455 01:09:26,480 --> 01:09:29,040 this in natural language. So, I'm going 2456 01:09:27,679 --> 01:09:30,960 to go ahead and say, "Hey, Claude, I 2457 01:09:29,040 --> 01:09:32,560 just dropped in a claw.md file that 2458 01:09:30,960 --> 01:09:34,480 explains how I want you to work in this 2459 01:09:32,560 --> 01:09:35,839 project. Go ahead and initialize the 2460 01:09:34,480 --> 01:09:36,960 project and get everything set up and 2461 01:09:35,839 --> 01:09:38,080 ask me any questions if you have any." 2462 01:09:36,960 --> 01:09:39,040 So, when I shoot that off, what you're 2463 01:09:38,080 --> 01:09:40,080 going to notice is that we can see 2464 01:09:39,040 --> 01:09:41,040 everything that Claude's doing. We're 2465 01:09:40,080 --> 01:09:42,080 going to see its thinking. We're going 2466 01:09:41,040 --> 01:09:43,199 to see its thoughts. We're going to see 2467 01:09:42,080 --> 01:09:44,640 what it's doing. So, in this case, it 2468 01:09:43,199 --> 01:09:46,560 literally says, "Okay, I'll read the 2469 01:09:44,640 --> 01:09:47,600 claw.md file to understand your project 2470 01:09:46,560 --> 01:09:48,640 requirements, and then I'm going to get 2471 01:09:47,600 --> 01:09:50,319 everything set up." And then, what's 2472 01:09:48,640 --> 01:09:51,520 cool is we can actually see what it's 2473 01:09:50,319 --> 01:09:52,560 doing. So, we can see that it read the 2474 01:09:51,520 --> 01:09:53,839 file. We can see now that it 2475 01:09:52,560 --> 01:09:55,520 understands, and now it's going to 2476 01:09:53,839 --> 01:09:57,520 create a to-do list and start to make us 2477 01:09:55,520 --> 01:09:59,040 those folders. So, temporary tools, 2478 01:09:57,520 --> 01:10:00,480 workflows, and you can see on the lefth 2479 01:09:59,040 --> 01:10:01,440 hand side, it actually just built those. 2480 01:10:00,480 --> 01:10:02,640 Now, one thing you may have noticed 2481 01:10:01,440 --> 01:10:03,920 right here is that when we're talking to 2482 01:10:02,640 --> 01:10:05,199 Claude, yours might look a little bit 2483 01:10:03,920 --> 01:10:06,719 different because you may be looking for 2484 01:10:05,199 --> 01:10:08,080 this bypass permissions mode. When we 2485 01:10:06,719 --> 01:10:09,600 talk to Claude code, we can either use 2486 01:10:08,080 --> 01:10:10,800 bypass permissions, we can use ask 2487 01:10:09,600 --> 01:10:12,400 before edits, we can use edit 2488 01:10:10,800 --> 01:10:13,600 automatically, or we can use just plan 2489 01:10:12,400 --> 01:10:15,360 mode. So, if you want to be able to get 2490 01:10:13,600 --> 01:10:16,480 bypass permissions mode, you have to go 2491 01:10:15,360 --> 01:10:18,320 to your settings, and then you're going 2492 01:10:16,480 --> 01:10:20,080 to type in cloud code, and then you just 2493 01:10:18,320 --> 01:10:21,760 have to allow dangerously bypassed 2494 01:10:20,080 --> 01:10:23,360 permissions. Now, yes, I know it sounds 2495 01:10:21,760 --> 01:10:24,719 dangerous because the word dangerous is 2496 01:10:23,360 --> 01:10:26,159 explicitly in there, but it's not too 2497 01:10:24,719 --> 01:10:27,920 bad. It's really just more so if you 2498 01:10:26,159 --> 01:10:29,040 give it a huge task and you don't do any 2499 01:10:27,920 --> 01:10:30,320 planning and you don't know what it 2500 01:10:29,040 --> 01:10:31,760 could do, it's just going to go execute 2501 01:10:30,320 --> 01:10:33,360 everything without asking. So typically 2502 01:10:31,760 --> 01:10:34,800 the flow that we like to follow is use 2503 01:10:33,360 --> 01:10:36,400 plan mode, have it build out a really 2504 01:10:34,800 --> 01:10:37,840 nice plan, ask you questions, and then 2505 01:10:36,400 --> 01:10:39,199 once you're confident in it, say, "Yep, 2506 01:10:37,840 --> 01:10:40,320 go ahead." And you turn on bypass 2507 01:10:39,199 --> 01:10:41,520 permissions, which you guys will see me 2508 01:10:40,320 --> 01:10:42,800 do that exact thing when we start 2509 01:10:41,520 --> 01:10:43,840 building this workflow. So it did ask 2510 01:10:42,800 --> 01:10:44,719 some questions. Do you want me to 2511 01:10:43,840 --> 01:10:46,640 continue with the straightforward 2512 01:10:44,719 --> 01:10:47,920 initialization? Do you want any Python 2513 01:10:46,640 --> 01:10:49,360 packages? Do you want to do a git 2514 01:10:47,920 --> 01:10:50,560 repository? Are there any specific tools 2515 01:10:49,360 --> 01:10:51,840 or workflows? Right now, we're not going 2516 01:10:50,560 --> 01:10:53,440 to worry about that. All I wanted to do 2517 01:10:51,840 --> 01:10:55,120 was just get this folder structure set 2518 01:10:53,440 --> 01:10:56,400 up. As you can see, we've got workflows, 2519 01:10:55,120 --> 01:10:57,360 nothing in there. We've got tools with 2520 01:10:56,400 --> 01:10:58,800 nothing in there. And we've got a 2521 01:10:57,360 --> 01:10:59,840 temporary folder with nothing in there. 2522 01:10:58,800 --> 01:11:01,600 So, I'm just going to go ahead and do 2523 01:10:59,840 --> 01:11:02,800 /clear, which is just going to reset our 2524 01:11:01,600 --> 01:11:03,920 conversation. All right. So, let's talk 2525 01:11:02,800 --> 01:11:05,440 about the actual workflow that we want 2526 01:11:03,920 --> 01:11:07,520 to build today. What I want to build is 2527 01:11:05,440 --> 01:11:09,760 a competitor research workflow. And I 2528 01:11:07,520 --> 01:11:11,360 want the deliverable to be branded PDFs, 2529 01:11:09,760 --> 01:11:12,960 meaning I want to give Cloud Code my 2530 01:11:11,360 --> 01:11:14,320 logo, my brand guidelines, and 2531 01:11:12,960 --> 01:11:16,000 information about my business. And then 2532 01:11:14,320 --> 01:11:17,199 it has to go research competitors. It's 2533 01:11:16,000 --> 01:11:19,600 going to create, you know, like maybe a 2534 01:11:17,199 --> 01:11:20,880 SWAT analysis or opportunities for us or 2535 01:11:19,600 --> 01:11:22,239 tracking what they're doing really well. 2536 01:11:20,880 --> 01:11:24,080 and then it's going to report all back 2537 01:11:22,239 --> 01:11:25,120 with a PDF that once again is branded. 2538 01:11:24,080 --> 01:11:26,320 So that's basically what I'm going to 2539 01:11:25,120 --> 01:11:27,840 start with because I know what I want, 2540 01:11:26,320 --> 01:11:29,520 but I don't know maybe the tools we're 2541 01:11:27,840 --> 01:11:30,960 going to use or the exact structure. So 2542 01:11:29,520 --> 01:11:32,560 I'm going to switch over here to plan 2543 01:11:30,960 --> 01:11:34,159 mode and I'm just going to say exactly 2544 01:11:32,560 --> 01:11:36,159 that. Hey Clude, so I've got an idea for 2545 01:11:34,159 --> 01:11:38,080 a workflow that I want you to build. I 2546 01:11:36,159 --> 01:11:39,679 basically at the end of it want a PDF 2547 01:11:38,080 --> 01:11:41,600 and I want it to be branded. So I want 2548 01:11:39,679 --> 01:11:43,840 to be able to give you my company logo 2549 01:11:41,600 --> 01:11:46,000 and my company brand guidelines and the 2550 01:11:43,840 --> 01:11:47,280 whole PDF output should have my logo on 2551 01:11:46,000 --> 01:11:48,640 there and have our colors and our 2552 01:11:47,280 --> 01:11:50,320 typography and stuff like that. But what 2553 01:11:48,640 --> 01:11:52,159 I want you to do is it's basically a 2554 01:11:50,320 --> 01:11:54,000 competitor analysis and research 2555 01:11:52,159 --> 01:11:55,440 workflow. So I want to also give you 2556 01:11:54,000 --> 01:11:56,960 information about my business that you 2557 01:11:55,440 --> 01:11:58,159 need to save. And based on that 2558 01:11:56,960 --> 01:12:00,320 information, you need to go find 2559 01:11:58,159 --> 01:12:02,320 competitors and you need to find me 2560 01:12:00,320 --> 01:12:03,679 areas to improve my business. Maybe see 2561 01:12:02,320 --> 01:12:05,280 what's working well for them and just 2562 01:12:03,679 --> 01:12:06,719 build me out a good way for me to keep 2563 01:12:05,280 --> 01:12:08,080 tabs on the market and what's going on 2564 01:12:06,719 --> 01:12:09,360 with my competitors. Yeah, that's kind 2565 01:12:08,080 --> 01:12:10,880 of what I'm looking for. So help me 2566 01:12:09,360 --> 01:12:12,159 build a plan for this workflow. And once 2567 01:12:10,880 --> 01:12:13,199 again, of course, you can ask me any 2568 01:12:12,159 --> 01:12:14,480 questions that you have if you're 2569 01:12:13,199 --> 01:12:15,840 confused. All right, so that was my 2570 01:12:14,480 --> 01:12:17,120 request. You can see it was all natural 2571 01:12:15,840 --> 01:12:18,159 language. It's very simple. It's 2572 01:12:17,120 --> 01:12:19,360 probably the way I would just speak to 2573 01:12:18,159 --> 01:12:20,880 like a human. And what it's going to do 2574 01:12:19,360 --> 01:12:22,159 now that it's on plan mode is it's going 2575 01:12:20,880 --> 01:12:23,520 to think. It's going to look at some 2576 01:12:22,159 --> 01:12:25,040 stuff. It might even do some initial 2577 01:12:23,520 --> 01:12:26,480 research in order to help build a plan. 2578 01:12:25,040 --> 01:12:28,239 And then what it's going to do is it is 2579 01:12:26,480 --> 01:12:29,360 going to actually ask us questions. Now, 2580 01:12:28,239 --> 01:12:30,880 I know that this might seem a little 2581 01:12:29,360 --> 01:12:32,159 intimidating, but really when I was 2582 01:12:30,880 --> 01:12:33,520 learning Claude Code, the way that I did 2583 01:12:32,159 --> 01:12:35,040 it was I would ask it a question and 2584 01:12:33,520 --> 01:12:36,320 then I would just read every single line 2585 01:12:35,040 --> 01:12:38,640 of what it's doing. If any of these 2586 01:12:36,320 --> 01:12:40,239 tasks or glob pattern like what is that? 2587 01:12:38,640 --> 01:12:42,080 If anything confused me, I would just 2588 01:12:40,239 --> 01:12:43,360 say what is this? What did you do here? 2589 01:12:42,080 --> 01:12:44,960 Why did you do that? So, it's really 2590 01:12:43,360 --> 01:12:46,480 about if you're genuinely curious and 2591 01:12:44,960 --> 01:12:48,239 you just read and pay attention, you 2592 01:12:46,480 --> 01:12:49,760 will pick this up really, really fast. 2593 01:12:48,239 --> 01:12:51,199 So, you can see it first of all explored 2594 01:12:49,760 --> 01:12:52,560 existing workflows and tools and then 2595 01:12:51,199 --> 01:12:53,920 it's looking at branding and PDF 2596 01:12:52,560 --> 01:12:56,080 capabilities. This was basically just 2597 01:12:53,920 --> 01:12:57,840 seeing if it could find any tools in the 2598 01:12:56,080 --> 01:12:59,120 folder for Python. It's reading other 2599 01:12:57,840 --> 01:13:00,480 files in our environment to see what's 2600 01:12:59,120 --> 01:13:02,239 going on. And now you can see that we 2601 01:13:00,480 --> 01:13:03,679 are in the question phase. So, it's got 2602 01:13:02,239 --> 01:13:05,280 four questions to start. First one is 2603 01:13:03,679 --> 01:13:07,120 discovery. How should competitors be 2604 01:13:05,280 --> 01:13:08,719 identified for analysis? I can either 2605 01:13:07,120 --> 01:13:10,719 provide a list. It can autodiscocover 2606 01:13:08,719 --> 01:13:11,679 based on my business info or hybrid. You 2607 01:13:10,719 --> 01:13:13,280 know what? So, let's just go ahead and 2608 01:13:11,679 --> 01:13:15,040 try autodiscocover based on my business 2609 01:13:13,280 --> 01:13:16,400 info. Then it asks us what business 2610 01:13:15,040 --> 01:13:17,920 information should the workflow collect 2611 01:13:16,400 --> 01:13:19,600 and save about your company. Company 2612 01:13:17,920 --> 01:13:21,440 description and value prop, product, 2613 01:13:19,600 --> 01:13:22,800 service, and pricing, target market, and 2614 01:13:21,440 --> 01:13:24,239 customer segments, key features. Let's 2615 01:13:22,800 --> 01:13:25,679 just do all of that. We wanted to get as 2616 01:13:24,239 --> 01:13:27,840 much information about us as possible. 2617 01:13:25,679 --> 01:13:29,360 For analysis, it asks what aspects of 2618 01:13:27,840 --> 01:13:30,880 competitors should be analyzed. We've 2619 01:13:29,360 --> 01:13:32,320 got products, services, features, 2620 01:13:30,880 --> 01:13:33,600 pricing and business model, marketing, 2621 01:13:32,320 --> 01:13:34,640 messaging. I want to analyze all of 2622 01:13:33,600 --> 01:13:35,679 this. Why would we not? So, I'm going to 2623 01:13:34,640 --> 01:13:37,600 choose all of it. For branding, it says, 2624 01:13:35,679 --> 01:13:39,520 "Can I use the existing branding assets 2625 01:13:37,600 --> 01:13:41,280 I found in your YouTube analysis 2626 01:13:39,520 --> 01:13:43,120 project?" And this is basically because 2627 01:13:41,280 --> 01:13:44,880 I've got a big project that this first 2628 01:13:43,120 --> 01:13:46,159 agentic workflow project sits in and it 2629 01:13:44,880 --> 01:13:47,280 can search through those as well. But 2630 01:13:46,159 --> 01:13:48,719 I'm going to assume that this is like 2631 01:13:47,280 --> 01:13:50,080 you guys setting up a first workflow. So 2632 01:13:48,719 --> 01:13:51,120 I'm going to say no, which is I will 2633 01:13:50,080 --> 01:13:52,320 provide different branding. So I'm going 2634 01:13:51,120 --> 01:13:53,760 to go ahead and submit those answers. 2635 01:13:52,320 --> 01:13:55,120 It's going to take those adjust the plan 2636 01:13:53,760 --> 01:13:56,480 a little bit and it may come back with 2637 01:13:55,120 --> 01:13:57,760 more questions. It may not. So we'll 2638 01:13:56,480 --> 01:13:59,199 see. And this is pretty cool because it 2639 01:13:57,760 --> 01:14:01,120 said I have all the information I need. 2640 01:13:59,199 --> 01:14:02,800 Let me launch a plan agent to actually 2641 01:14:01,120 --> 01:14:04,080 design the implementation approach. It's 2642 01:14:02,800 --> 01:14:05,199 asking us how often do we want to run 2643 01:14:04,080 --> 01:14:06,800 this. I'm just going to go with monthly 2644 01:14:05,199 --> 01:14:08,640 for now. For the output, it asks if we 2645 01:14:06,800 --> 01:14:09,600 want anything else besides a PDF. That's 2646 01:14:08,640 --> 01:14:11,280 pretty cool. But I'm just going to go 2647 01:14:09,600 --> 01:14:13,280 PDF. And then for the budget, what's 2648 01:14:11,280 --> 01:14:14,719 your comfort level with API cost for 2649 01:14:13,280 --> 01:14:15,920 this workflow? I like how it's showing 2650 01:14:14,719 --> 01:14:16,960 us different approaches here. And I'm 2651 01:14:15,920 --> 01:14:18,159 just going to continue to go with the 2652 01:14:16,960 --> 01:14:19,760 recommended approach. And we're going to 2653 01:14:18,159 --> 01:14:20,880 go ahead and do this middle one. All 2654 01:14:19,760 --> 01:14:22,239 right. So, at this point, it actually 2655 01:14:20,880 --> 01:14:23,520 finished the plan. So, if I scroll all 2656 01:14:22,239 --> 01:14:25,040 the way back up to when it started 2657 01:14:23,520 --> 01:14:27,360 telling us, you can see this is super 2658 01:14:25,040 --> 01:14:28,800 comprehensive. So, I'm still scrolling. 2659 01:14:27,360 --> 01:14:30,239 Okay. Competitor analysis workflow 2660 01:14:28,800 --> 01:14:31,679 implementation plan. Build a monthly 2661 01:14:30,239 --> 01:14:32,880 recurring competitor analysis system 2662 01:14:31,679 --> 01:14:34,400 that automatically discovers 2663 01:14:32,880 --> 01:14:35,920 competitors, researches their offerings, 2664 01:14:34,400 --> 01:14:37,440 generates a fully branded PDF report 2665 01:14:35,920 --> 01:14:38,880 with actionable insights. So user 2666 01:14:37,440 --> 01:14:40,880 requirements would be discovery, 2667 01:14:38,880 --> 01:14:42,239 business info, analysis, output, 2668 01:14:40,880 --> 01:14:43,920 frequency, budget. We've got the 2669 01:14:42,239 --> 01:14:45,280 architecture. We've got the text stack. 2670 01:14:43,920 --> 01:14:46,320 So it's going to be using cloud sonnet. 2671 01:14:45,280 --> 01:14:48,000 It's going to use firecraw and 2672 01:14:46,320 --> 01:14:49,920 perplexity. It's going to use sonnet. 2673 01:14:48,000 --> 01:14:51,440 And it's going to use report lab for pdf 2674 01:14:49,920 --> 01:14:53,280 generation. So it'll probably prompt us 2675 01:14:51,440 --> 01:14:54,480 to go grab an API key there. And it's 2676 01:14:53,280 --> 01:14:56,080 also going to generate charts using 2677 01:14:54,480 --> 01:14:57,920 mattplot liib, which I believe is a 2678 01:14:56,080 --> 01:14:59,199 python extension or plugin. And it's 2679 01:14:57,920 --> 01:15:00,560 going to help with charts. It's also 2680 01:14:59,199 --> 01:15:01,520 going to add some things in our folders 2681 01:15:00,560 --> 01:15:03,120 over here. So you can see it's going to 2682 01:15:01,520 --> 01:15:04,640 add a new folder called brand assets, 2683 01:15:03,120 --> 01:15:06,159 and that's where we will upload our logo 2684 01:15:04,640 --> 01:15:07,760 and our brand guidelines. And it's 2685 01:15:06,159 --> 01:15:08,800 basically planning to create a few 2686 01:15:07,760 --> 01:15:10,800 different things. It's going to create 2687 01:15:08,800 --> 01:15:11,840 some files in the temporary folder. As 2688 01:15:10,800 --> 01:15:13,520 you can see, it's going to create a 2689 01:15:11,840 --> 01:15:14,880 workflow called competitor analysis. And 2690 01:15:13,520 --> 01:15:16,400 it's going to create these five tools. 2691 01:15:14,880 --> 01:15:17,760 So, collect business info, discover 2692 01:15:16,400 --> 01:15:19,360 competitors, research competitors, 2693 01:15:17,760 --> 01:15:21,199 analyze competitors, and generate 2694 01:15:19,360 --> 01:15:22,640 competitor PDF. So, exactly like I said, 2695 01:15:21,199 --> 01:15:24,880 it's going to create this workflow. It's 2696 01:15:22,640 --> 01:15:26,080 going to create these tools, and then we 2697 01:15:24,880 --> 01:15:27,440 should be good to run it. Now, one thing 2698 01:15:26,080 --> 01:15:29,040 I noticed is it has a brand 2699 01:15:27,440 --> 01:15:30,800 configuration file, and this basically 2700 01:15:29,040 --> 01:15:32,159 made up our brand information, and it 2701 01:15:30,800 --> 01:15:34,560 would probably want us to come in here 2702 01:15:32,159 --> 01:15:36,000 and choose, you know, a name and maybe a 2703 01:15:34,560 --> 01:15:37,199 logo path. But what we're going to do is 2704 01:15:36,000 --> 01:15:38,400 we want to actually just drop in those 2705 01:15:37,199 --> 01:15:39,600 files for it. So that's something that 2706 01:15:38,400 --> 01:15:40,800 we will have to change, but we'll just 2707 01:15:39,600 --> 01:15:42,480 keep going for now. We can see that it 2708 01:15:40,800 --> 01:15:44,480 decided how to handle edge cases like 2709 01:15:42,480 --> 01:15:46,480 competitor websites block scraping or 2710 01:15:44,480 --> 01:15:49,120 insufficient competitors found, rate 2711 01:15:46,480 --> 01:15:50,960 limiting, invalid brand assets, and data 2712 01:15:49,120 --> 01:15:52,400 completeness issues. It's also giving us 2713 01:15:50,960 --> 01:15:54,159 a cost breakdown, which is pretty cool. 2714 01:15:52,400 --> 01:15:55,679 So the first run will be about a dollar 2715 01:15:54,159 --> 01:15:57,520 and a half. It's also going to be doing 2716 01:15:55,679 --> 01:15:59,120 subsequent runs on a 30-day cycle, which 2717 01:15:57,520 --> 01:16:00,400 will be a huge cost savings because it's 2718 01:15:59,120 --> 01:16:01,520 going to cache some of the data. And 2719 01:16:00,400 --> 01:16:03,360 then if you're adding some new 2720 01:16:01,520 --> 01:16:05,040 competitors, it'll be maybe another 50. 2721 01:16:03,360 --> 01:16:06,560 So anyways, that is the end of the plan. 2722 01:16:05,040 --> 01:16:08,320 We could basically go ahead now and auto 2723 01:16:06,560 --> 01:16:09,840 accept or we could keep planning. And I 2724 01:16:08,320 --> 01:16:10,960 do want to say no keep planning because 2725 01:16:09,840 --> 01:16:12,719 there's one thing I want to change, 2726 01:16:10,960 --> 01:16:14,000 which was our brand assets. So what I'm 2727 01:16:12,719 --> 01:16:15,360 going to do is I'm going to take a logo, 2728 01:16:14,000 --> 01:16:16,960 drag it into the lefth hand side. Take 2729 01:16:15,360 --> 01:16:18,159 the brand guidelines and drag that into 2730 01:16:16,960 --> 01:16:19,760 the lefth hand side. And you can see 2731 01:16:18,159 --> 01:16:21,520 that we have these things up here that 2732 01:16:19,760 --> 01:16:23,520 pop in and we can actually see them. 2733 01:16:21,520 --> 01:16:24,560 That plan looks good. The only change I 2734 01:16:23,520 --> 01:16:26,480 want to make is about the brand 2735 01:16:24,560 --> 01:16:29,360 guidelines and the assets. So I just 2736 01:16:26,480 --> 01:16:32,480 dropped you in two files, AISpng.png 2737 01:16:29,360 --> 01:16:34,080 and AIS brand guidelines.png. 2738 01:16:32,480 --> 01:16:36,400 Those are the ones that I want you to 2739 01:16:34,080 --> 01:16:38,000 use to create the branded PDF. So look 2740 01:16:36,400 --> 01:16:39,600 at those, extract the information out of 2741 01:16:38,000 --> 01:16:41,199 them and make sure that the logo and the 2742 01:16:39,600 --> 01:16:43,120 colors and everything appear on the 2743 01:16:41,199 --> 01:16:44,800 final output PDF. And if you need to, 2744 01:16:43,120 --> 01:16:46,400 you can throw those into a folder in 2745 01:16:44,800 --> 01:16:47,840 this project to keep things organized. 2746 01:16:46,400 --> 01:16:49,760 So this is awesome. It said, "I found 2747 01:16:47,840 --> 01:16:51,760 your logos and I'm creating a brand 2748 01:16:49,760 --> 01:16:54,080 asset guide." So we've got the logo and 2749 01:16:51,760 --> 01:16:55,679 then it also extracted our colors and 2750 01:16:54,080 --> 01:16:57,520 typography and now it's going to update 2751 01:16:55,679 --> 01:16:58,719 the plan to use those assets. And now 2752 01:16:57,520 --> 01:17:00,560 since that has been changed, we're going 2753 01:16:58,719 --> 01:17:02,080 to go ahead and auto accept the plan. 2754 01:17:00,560 --> 01:17:03,199 Hopefully it will get working for us. Of 2755 01:17:02,080 --> 01:17:04,320 course, it's going to create a to-do 2756 01:17:03,199 --> 01:17:05,840 list and then it's just going to start 2757 01:17:04,320 --> 01:17:07,360 building all these different scripts, 2758 01:17:05,840 --> 01:17:08,480 whether that's a workflow or a tool. And 2759 01:17:07,360 --> 01:17:10,159 then it's going to test the workflow. 2760 01:17:08,480 --> 01:17:12,239 And like I said, it'll probably have to 2761 01:17:10,159 --> 01:17:13,199 come back and ask us for an API key or 2762 01:17:12,239 --> 01:17:14,800 something like that. All right, so the 2763 01:17:13,199 --> 01:17:16,159 workflow is ready. We can see that we 2764 01:17:14,800 --> 01:17:17,440 have our branded assets set up. We've 2765 01:17:16,159 --> 01:17:18,960 got the workflow completed. We've got 2766 01:17:17,440 --> 01:17:20,560 the Python tools completed. We've got 2767 01:17:18,960 --> 01:17:21,840 some setup files. So, we also have a 2768 01:17:20,560 --> 01:17:23,199 readme that we could open up, which 2769 01:17:21,840 --> 01:17:24,960 should basically just tell us pretty 2770 01:17:23,199 --> 01:17:26,320 much how this actual workflow works. So, 2771 01:17:24,960 --> 01:17:28,400 that's pretty cool. Now, we do have to 2772 01:17:26,320 --> 01:17:30,080 go get two API keys to start. We need an 2773 01:17:28,400 --> 01:17:31,520 entropic key and we need a firecrawl 2774 01:17:30,080 --> 01:17:32,640 key. So it does actually tell us that 2775 01:17:31,520 --> 01:17:34,239 here again we have to install 2776 01:17:32,640 --> 01:17:36,080 dependencies. We have to set up those 2777 01:17:34,239 --> 01:17:37,520 API keys and then we have to run the 2778 01:17:36,080 --> 01:17:39,120 workflow. So first of all to install the 2779 01:17:37,520 --> 01:17:41,600 dependencies I'm just going to say can 2780 01:17:39,120 --> 01:17:42,880 you do this and then paste in exactly 2781 01:17:41,600 --> 01:17:44,320 what it gave me. And so it's interesting 2782 01:17:42,880 --> 01:17:45,840 it asks us to do that when it could have 2783 01:17:44,320 --> 01:17:47,600 just done it itself. As you can see it's 2784 01:17:45,840 --> 01:17:49,120 able to just run that command for us. So 2785 01:17:47,600 --> 01:17:51,199 once it did that now it says okay you 2786 01:17:49,120 --> 01:17:53,120 have to go create two API keys. So we 2787 01:17:51,199 --> 01:17:55,520 need to create av file which is just 2788 01:17:53,120 --> 01:17:56,719 going to be a copy fromv.ample. 2789 01:17:55,520 --> 01:17:58,320 So I'm actually just going to run this 2790 01:17:56,719 --> 01:18:00,400 command and it's going to copy that file 2791 01:17:58,320 --> 01:18:01,600 for us. And now we have an actualv file 2792 01:18:00,400 --> 01:18:03,040 right here. And so you can see it says, 2793 01:18:01,600 --> 01:18:04,560 "Okay, cool. Now we need your enthropic 2794 01:18:03,040 --> 01:18:06,800 key, your firecall key." And if I open 2795 01:18:04,560 --> 01:18:08,000 up the it gives us those placeholders. 2796 01:18:06,800 --> 01:18:09,440 So basically all we have to do is go 2797 01:18:08,000 --> 01:18:11,199 grab those keys and then put them in 2798 01:18:09,440 --> 01:18:12,719 here instead of these placeholders that 2799 01:18:11,199 --> 01:18:14,239 you can see right there. So first let's 2800 01:18:12,719 --> 01:18:16,159 go to Enthropic. I'm going to go to my 2801 01:18:14,239 --> 01:18:17,600 cloud developer platform. I'm going to 2802 01:18:16,159 --> 01:18:20,960 create a new key. This one's going to be 2803 01:18:17,600 --> 01:18:22,320 called competitor analysis demo. We're 2804 01:18:20,960 --> 01:18:24,560 going to have this key right here. Copy 2805 01:18:22,320 --> 01:18:25,760 that and go into VS Code. Paste it in 2806 01:18:24,560 --> 01:18:27,440 there. And then the next one we need to 2807 01:18:25,760 --> 01:18:28,880 get is the firewall key. So, you can use 2808 01:18:27,440 --> 01:18:30,560 the link in the description to go to 2809 01:18:28,880 --> 01:18:32,960 Firecrawl. You can actually get 10% off 2810 01:18:30,560 --> 01:18:33,840 and 1,000 free credits if you use code 2811 01:18:32,960 --> 01:18:34,880 Nate and use the link in the 2812 01:18:33,840 --> 01:18:36,159 description. But I'm going to go to my 2813 01:18:34,880 --> 01:18:38,640 dashboard here. And then all I have to 2814 01:18:36,159 --> 01:18:40,880 do is grab my API key from right here, 2815 01:18:38,640 --> 01:18:41,840 paste it into this section. And then 2816 01:18:40,880 --> 01:18:43,679 what you have to do is make sure you 2817 01:18:41,840 --> 01:18:45,280 save this file. So you could do crl S or 2818 01:18:43,679 --> 01:18:46,880 you could just go file, save. But now 2819 01:18:45,280 --> 01:18:48,400 that that file has been saved, we 2820 01:18:46,880 --> 01:18:50,320 actually should be good to go ahead and 2821 01:18:48,400 --> 01:18:51,600 run the workflow to see if it works. So 2822 01:18:50,320 --> 01:18:52,719 before I do that, you can see that we 2823 01:18:51,600 --> 01:18:54,800 have this little thing down here, which 2824 01:18:52,719 --> 01:18:56,400 is context. So 23% of your context 2825 01:18:54,800 --> 01:18:58,640 remaining until autoco compact. So, 2826 01:18:56,400 --> 01:18:59,840 usually when this goes over 60%, I 2827 01:18:58,640 --> 01:19:01,440 usually just like to clear because 2828 01:18:59,840 --> 01:19:02,640 there's this thing called context rot, 2829 01:19:01,440 --> 01:19:04,560 which basically means the more and more 2830 01:19:02,640 --> 01:19:05,760 you use one conversation, the worse the 2831 01:19:04,560 --> 01:19:06,880 model kind of gets. So, we're going to 2832 01:19:05,760 --> 01:19:08,560 clear the conversation. We're going to 2833 01:19:06,880 --> 01:19:09,920 go ahead and ask it to run competitor 2834 01:19:08,560 --> 01:19:11,440 analysis and then we're going to go 2835 01:19:09,920 --> 01:19:12,960 ahead and see what happens. Now, the one 2836 01:19:11,440 --> 01:19:14,480 thing I did notice is that we still 2837 01:19:12,960 --> 01:19:16,239 haven't given it a ton of information 2838 01:19:14,480 --> 01:19:17,600 about our business. So, I am a little 2839 01:19:16,239 --> 01:19:18,800 confused why it hasn't asked about that, 2840 01:19:17,600 --> 01:19:20,400 but we will see what happens. I'm going 2841 01:19:18,800 --> 01:19:21,600 to keep it on bypass permissions mode to 2842 01:19:20,400 --> 01:19:22,880 just see what it does. And I'm going to 2843 01:19:21,600 --> 01:19:24,159 ask it to generate a competitive 2844 01:19:22,880 --> 01:19:26,000 analysis. and I'm going to give it a 2845 01:19:24,159 --> 01:19:27,520 really small amount of information about 2846 01:19:26,000 --> 01:19:29,679 our business. Hey Claude, I need you to 2847 01:19:27,520 --> 01:19:32,159 help me run a competitor analysis. My 2848 01:19:29,679 --> 01:19:34,159 business is called Get Leads with AI and 2849 01:19:32,159 --> 01:19:36,320 we basically help you scrape leads, 2850 01:19:34,159 --> 01:19:38,800 build lead lists, and do personalized 2851 01:19:36,320 --> 01:19:40,640 outreach at scale using AI. And we're 2852 01:19:38,800 --> 01:19:41,920 starting to see a lot of competitors pop 2853 01:19:40,640 --> 01:19:43,199 up. So, I want to understand our 2854 01:19:41,920 --> 01:19:44,480 opportunities and what we need to be 2855 01:19:43,199 --> 01:19:45,760 doing better. All right. So, what 2856 01:19:44,480 --> 01:19:48,239 happened there is I just shot off a 2857 01:19:45,760 --> 01:19:50,080 prompt and I didn't explicitly say like, 2858 01:19:48,239 --> 01:19:51,600 "Hey, go use your competitor analysis 2859 01:19:50,080 --> 01:19:53,120 workflow." But what it's going to do is 2860 01:19:51,600 --> 01:19:54,159 it's going to think about what we have. 2861 01:19:53,120 --> 01:19:55,199 So you can see that it just searched 2862 01:19:54,159 --> 01:19:56,400 through our workflows. It searched 2863 01:19:55,199 --> 01:19:57,840 through our tools. It said we already 2864 01:19:56,400 --> 01:19:59,280 have a competitor analysis workflow set 2865 01:19:57,840 --> 01:20:00,880 up. Let me read how this works and let 2866 01:19:59,280 --> 01:20:02,080 me just go do it. So let's just see what 2867 01:20:00,880 --> 01:20:03,840 it comes up with. I'll let you guys know 2868 01:20:02,080 --> 01:20:04,960 if we have any questions. Otherwise, 2869 01:20:03,840 --> 01:20:06,320 I'll check in with you guys when we get 2870 01:20:04,960 --> 01:20:07,679 that output. Okay. So here we are 2871 01:20:06,320 --> 01:20:08,800 getting some questions. So this is the 2872 01:20:07,679 --> 01:20:09,840 part where it realized it didn't 2873 01:20:08,800 --> 01:20:11,440 actually have enough information about 2874 01:20:09,840 --> 01:20:13,199 us yet. So what's your primary target 2875 01:20:11,440 --> 01:20:15,120 for get leads with AI? We're just going 2876 01:20:13,199 --> 01:20:16,800 to go with um we'll just say marketing 2877 01:20:15,120 --> 01:20:19,120 agencies. For pricing, I'm going to go 2878 01:20:16,800 --> 01:20:20,320 with credit based usage. What's your key 2879 01:20:19,120 --> 01:20:21,600 differentiator? I'm actually going to go 2880 01:20:20,320 --> 01:20:23,360 ahead and say other and I'm just going 2881 01:20:21,600 --> 01:20:24,880 to say our key differentiator is an 2882 01:20:23,360 --> 01:20:26,239 all-in-one platform. But make sure 2883 01:20:24,880 --> 01:20:27,679 you're saving all of this information 2884 01:20:26,239 --> 01:20:29,040 that I'm telling you about my business 2885 01:20:27,679 --> 01:20:30,159 somewhere in this project so I don't 2886 01:20:29,040 --> 01:20:31,040 have to tell you it again. And so I'm 2887 01:20:30,159 --> 01:20:32,239 pretty sure it would have done that 2888 01:20:31,040 --> 01:20:33,760 either way because that's kind of the 2889 01:20:32,239 --> 01:20:34,960 whole point here. But just to make sure 2890 01:20:33,760 --> 01:20:36,480 that it does it for the sake of the 2891 01:20:34,960 --> 01:20:37,760 example, I wanted to show you guys you 2892 01:20:36,480 --> 01:20:39,040 have the ability to just tell it to do 2893 01:20:37,760 --> 01:20:40,239 things. So got it. I'll save the 2894 01:20:39,040 --> 01:20:41,360 information. So that's all you have to 2895 01:20:40,239 --> 01:20:42,880 do. And now it's going to continue on 2896 01:20:41,360 --> 01:20:44,239 with its to-do list. And actually it 2897 01:20:42,880 --> 01:20:45,920 does come up with some more questions. 2898 01:20:44,239 --> 01:20:47,760 So we're a single all-in-one product and 2899 01:20:45,920 --> 01:20:49,360 our price range, let's just say 200 to 2900 01:20:47,760 --> 01:20:50,880 500 a month. Now this is good. I know 2901 01:20:49,360 --> 01:20:52,320 what you guys may be thinking is that's 2902 01:20:50,880 --> 01:20:53,920 a lot of questions. Well, the thing is 2903 01:20:52,320 --> 01:20:55,280 as you use it more and more, it gets 2904 01:20:53,920 --> 01:20:56,640 smarter and smarter because each time 2905 01:20:55,280 --> 01:20:57,840 you use it, you know, it has more 2906 01:20:56,640 --> 01:20:59,600 information and you you give it 2907 01:20:57,840 --> 01:21:00,960 feedback. So, yes, the initial setup may 2908 01:20:59,600 --> 01:21:02,159 seem like a lot, but think about the 2909 01:21:00,960 --> 01:21:03,760 questions it's asking and think about 2910 01:21:02,159 --> 01:21:04,960 how good it's going to get now that it 2911 01:21:03,760 --> 01:21:06,239 has all this info. So, you can see what 2912 01:21:04,960 --> 01:21:08,159 it did is it created this file right 2913 01:21:06,239 --> 01:21:09,600 here called business profile JSON. And 2914 01:21:08,159 --> 01:21:11,360 this is where it decided to store all of 2915 01:21:09,600 --> 01:21:12,400 the information about our business. And 2916 01:21:11,360 --> 01:21:14,159 now, if we ever tell it something else 2917 01:21:12,400 --> 01:21:15,520 and it needs to add like a new memory or 2918 01:21:14,159 --> 01:21:17,280 fact about us, it will just go ahead and 2919 01:21:15,520 --> 01:21:18,960 update this JSON file. Here's a great 2920 01:21:17,280 --> 01:21:20,400 example of it fixing itself. So, it 2921 01:21:18,960 --> 01:21:21,920 basically went ahead and started looking 2922 01:21:20,400 --> 01:21:23,440 up for competitors and it found an 2923 01:21:21,920 --> 01:21:24,880 error. So, I see there's a uni-ode 2924 01:21:23,440 --> 01:21:26,480 encoding issue with the script on 2925 01:21:24,880 --> 01:21:27,679 Windows. Let me fix that. It reads how 2926 01:21:26,480 --> 01:21:29,199 to fix it and then it goes ahead and 2927 01:21:27,679 --> 01:21:30,320 fixes it because there were some emoji 2928 01:21:29,199 --> 01:21:31,679 characters or something like that. And 2929 01:21:30,320 --> 01:21:32,880 then it said, "Let me update it." And 2930 01:21:31,679 --> 01:21:34,800 what it's doing now is it's actually 2931 01:21:32,880 --> 01:21:36,080 changing the script and changing the 2932 01:21:34,800 --> 01:21:37,440 tool to make sure that that error 2933 01:21:36,080 --> 01:21:39,040 doesn't happen again. It's also now 2934 01:21:37,440 --> 01:21:40,800 created a new file called competitor 2935 01:21:39,040 --> 01:21:42,880 list. So, it was able to do research and 2936 01:21:40,800 --> 01:21:45,280 find different competitors like Apollo, 2937 01:21:42,880 --> 01:21:46,880 Outreach, Clay, Instantly, Lemlist. And 2938 01:21:45,280 --> 01:21:48,159 now if it ever needs to save more 2939 01:21:46,880 --> 01:21:49,440 information about different competitors, 2940 01:21:48,159 --> 01:21:50,880 it will just put it here. All right, 2941 01:21:49,440 --> 01:21:52,320 looks like it's finishing up right now. 2942 01:21:50,880 --> 01:21:53,760 So it found some key insights. You're 2943 01:21:52,320 --> 01:21:55,440 positioned as a mid-market blah blah 2944 01:21:53,760 --> 01:21:57,120 blah. Your eight main competitors, what 2945 01:21:55,440 --> 01:21:58,320 you're doing right, critical gaps you 2946 01:21:57,120 --> 01:21:59,520 need to address, top three 2947 01:21:58,320 --> 01:22:01,600 recommendations. Let's see what those 2948 01:21:59,520 --> 01:22:04,159 are. Add white labeling, introduced $99 2949 01:22:01,600 --> 01:22:05,840 to $149 starter tier, and double down on 2950 01:22:04,159 --> 01:22:07,520 build for agency's positioning. So it 2951 01:22:05,840 --> 01:22:08,639 created three different files or sorry, 2952 01:22:07,520 --> 01:22:10,159 four different files. It created the 2953 01:22:08,639 --> 01:22:12,080 business profile, which we looked at. It 2954 01:22:10,159 --> 01:22:14,000 created the analysis, competitor data, 2955 01:22:12,080 --> 01:22:15,440 and the PDF report. Wow. So it created a 2956 01:22:14,000 --> 01:22:17,520 new folder called competitors and it 2957 01:22:15,440 --> 01:22:19,120 made an individual file for every single 2958 01:22:17,520 --> 01:22:20,719 one of our competitors. So that's really 2959 01:22:19,120 --> 01:22:22,000 cool. We can actually see a lot of data 2960 01:22:20,719 --> 01:22:23,600 about them now. It created a folder 2961 01:22:22,000 --> 01:22:25,040 called analysis history. So this is 2962 01:22:23,600 --> 01:22:26,960 where we can see pretty much all of the 2963 01:22:25,040 --> 01:22:28,719 data that it ran and got for this 2964 01:22:26,960 --> 01:22:30,320 specific run. And now of course it has 2965 01:22:28,719 --> 01:22:31,760 the PDF. So let's check out the final 2966 01:22:30,320 --> 01:22:33,120 output. All right. So here it is. Now I 2967 01:22:31,760 --> 01:22:34,800 can definitely say that these are my 2968 01:22:33,120 --> 01:22:36,320 colors and the typography. So that's 2969 01:22:34,800 --> 01:22:38,320 good. But I don't see the logo. And I 2970 01:22:36,320 --> 01:22:40,480 really I think it's just because it is a 2971 01:22:38,320 --> 01:22:41,600 white PNG logo. So I bet that it's up 2972 01:22:40,480 --> 01:22:42,880 here. I just think that we probably 2973 01:22:41,600 --> 01:22:44,159 can't see it. But anyways, we'll see if 2974 01:22:42,880 --> 01:22:45,600 we can fix that. For now, we've got 2975 01:22:44,159 --> 01:22:47,360 executive summary. We've got business 2976 01:22:45,600 --> 01:22:48,880 profile. We've got competitive landscape 2977 01:22:47,360 --> 01:22:50,880 with feature analysis. We've got 2978 01:22:48,880 --> 01:22:52,320 competitor profiles, so high threat, 2979 01:22:50,880 --> 01:22:53,840 medium threats. We've got all these 2980 01:22:52,320 --> 01:22:55,520 different companies with strengths and 2981 01:22:53,840 --> 01:22:57,600 our advantages. And then we also have 2982 01:22:55,520 --> 01:22:59,360 our strategic recommendations at the end 2983 01:22:57,600 --> 01:23:00,960 that we saw earlier. So, really the 2984 01:22:59,360 --> 01:23:03,040 problem with this report is that our 2985 01:23:00,960 --> 01:23:04,320 logo isn't visible because it's white. 2986 01:23:03,040 --> 01:23:07,120 You can also see that it said that that 2987 01:23:04,320 --> 01:23:08,639 run costed $143. So, not too bad. But 2988 01:23:07,120 --> 01:23:10,239 what I'm saying now is that's great, but 2989 01:23:08,639 --> 01:23:11,199 we can't see the charts or logos. I'm 2990 01:23:10,239 --> 01:23:12,719 assuming because they're the same color 2991 01:23:11,199 --> 01:23:14,239 as the background. Investigate and fix 2992 01:23:12,719 --> 01:23:15,840 these issues. Now, typically I would put 2993 01:23:14,239 --> 01:23:17,040 this in plan mode and go back and forth 2994 01:23:15,840 --> 01:23:18,560 a little bit again, but for the sake of 2995 01:23:17,040 --> 01:23:20,239 the demo, I want to see how good it's 2996 01:23:18,560 --> 01:23:22,239 able to do when we just let it run with 2997 01:23:20,239 --> 01:23:23,520 a super super vague request, as you can 2998 01:23:22,239 --> 01:23:25,120 see. All right, so here's the thing. It 2999 01:23:23,520 --> 01:23:26,320 said the PDF generator has several 3000 01:23:25,120 --> 01:23:27,360 problems and listed those out. And now 3001 01:23:26,320 --> 01:23:28,880 it's going to go ahead and fix those 3002 01:23:27,360 --> 01:23:30,320 issues. So once again, this is just me 3003 01:23:28,880 --> 01:23:32,159 telling you guys about you have to run 3004 01:23:30,320 --> 01:23:33,679 the workflow a few times to discover 3005 01:23:32,159 --> 01:23:35,199 those holes. And once you discover those 3006 01:23:33,679 --> 01:23:36,560 holes, it'll fix them. And then you'll 3007 01:23:35,199 --> 01:23:38,159 get to a place where you have more of a 3008 01:23:36,560 --> 01:23:40,000 battle tested workflow. Okay, so it 3009 01:23:38,159 --> 01:23:41,440 regenerated the PDF. And once again, we 3010 01:23:40,000 --> 01:23:43,199 talked earlier about the caching. It's 3011 01:23:41,440 --> 01:23:44,400 saving all the data it had already. So, 3012 01:23:43,199 --> 01:23:45,920 it doesn't have to do a new search, 3013 01:23:44,400 --> 01:23:47,920 which is really good. And in the future, 3014 01:23:45,920 --> 01:23:49,600 it will still do current research, but 3015 01:23:47,920 --> 01:23:51,040 it already has the business profile 3016 01:23:49,600 --> 01:23:52,159 about all of our competitors, and it's 3017 01:23:51,040 --> 01:23:53,360 already researched them. So, now it just 3018 01:23:52,159 --> 01:23:54,960 has to see if there's anything new. But 3019 01:23:53,360 --> 01:23:56,320 anyways, let's open up the new report 3020 01:23:54,960 --> 01:23:57,760 and see how it looks. All right, so 3021 01:23:56,320 --> 01:23:59,199 here's the new report. Okay, so we've 3022 01:23:57,760 --> 01:24:00,880 got competitive intelligence report, get 3023 01:23:59,199 --> 01:24:02,480 leads with AI, today's date, and now we 3024 01:24:00,880 --> 01:24:04,320 do see the logo. So, executive summary, 3025 01:24:02,480 --> 01:24:06,239 we can see this business profile once 3026 01:24:04,320 --> 01:24:08,320 again, competitive landscape, competitor 3027 01:24:06,239 --> 01:24:09,840 profiles. However, there we go. But we 3028 01:24:08,320 --> 01:24:11,520 can finally see a pricing analysis chart 3029 01:24:09,840 --> 01:24:12,639 which looks pretty solid. Cool. So, at 3030 01:24:11,520 --> 01:24:14,080 this point, it would just be a matter of 3031 01:24:12,639 --> 01:24:15,120 making tweaks cuz obviously this isn't 3032 01:24:14,080 --> 01:24:16,800 perfect. There's some things we might 3033 01:24:15,120 --> 01:24:18,320 want. We might want more details cuz 3034 01:24:16,800 --> 01:24:19,600 like up here, you know, it's pretty it's 3035 01:24:18,320 --> 01:24:20,800 not super super wordy and super 3036 01:24:19,600 --> 01:24:22,159 detailed. So, maybe you like that, maybe 3037 01:24:20,800 --> 01:24:24,080 you don't. At this point, you've got 3038 01:24:22,159 --> 01:24:25,360 enough info and you've got every tool 3039 01:24:24,080 --> 01:24:26,560 you kind of need. And you just go back 3040 01:24:25,360 --> 01:24:27,920 and forth and ask for feature 3041 01:24:26,560 --> 01:24:29,199 enhancements. And once again, you can do 3042 01:24:27,920 --> 01:24:30,560 that all with completely natural 3043 01:24:29,199 --> 01:24:32,480 language. But you can see I didn't have 3044 01:24:30,560 --> 01:24:33,679 to go look at any API documentation. I 3045 01:24:32,480 --> 01:24:35,199 didn't have to figure out how to prompt 3046 01:24:33,679 --> 01:24:36,400 something to run a competitive analysis. 3047 01:24:35,199 --> 01:24:38,320 I didn't have to go figure out how to 3048 01:24:36,400 --> 01:24:39,679 generate these PDF reports or charts. It 3049 01:24:38,320 --> 01:24:40,960 handled all of that for me. So, I hope 3050 01:24:39,679 --> 01:24:42,239 you guys were able to follow along and I 3051 01:24:40,960 --> 01:24:44,000 hope you're excited to go build your 3052 01:24:42,239 --> 01:24:45,280 first agentic workflow. So, as you can 3053 01:24:44,000 --> 01:24:47,040 see, building your first agentic 3054 01:24:45,280 --> 01:24:48,159 workflow is actually so simple. But if 3055 01:24:47,040 --> 01:24:49,440 you still have doubts about what you 3056 01:24:48,159 --> 01:24:50,719 need to do or where to start, you can 3057 01:24:49,440 --> 01:24:52,080 always join my community. In here, you 3058 01:24:50,719 --> 01:24:54,080 can get every single resource that I've 3059 01:24:52,080 --> 01:24:55,600 ever used in my YouTube videos. All the 3060 01:24:54,080 --> 01:24:57,440 templates, the workflows, the prompts, 3061 01:24:55,600 --> 01:24:58,639 the files, all completely free. Also, if 3062 01:24:57,440 --> 01:25:00,239 you ever have a problem making something 3063 01:24:58,639 --> 01:25:01,520 work, you've got tutorials in there on 3064 01:25:00,239 --> 01:25:03,280 different topics, and the support of 3065 01:25:01,520 --> 01:25:04,560 over a quarter million people willing to 3066 01:25:03,280 --> 01:25:07,679 help you. The link for this is down in 3067 01:25:04,560 --> 01:25:08,800 the description. 3068 01:25:07,679 --> 01:25:10,320 All right. So, even if you don't know 3069 01:25:08,800 --> 01:25:12,000 how to code or if you've never touched 3070 01:25:10,320 --> 01:25:13,679 an IDE before, you're going to be just 3071 01:25:12,000 --> 01:25:14,800 fine. IDE stands for integrated 3072 01:25:13,679 --> 01:25:16,000 development environment, and you don't 3073 01:25:14,800 --> 01:25:17,600 even need to know that it's said for 3074 01:25:16,000 --> 01:25:18,800 that. So, what we're going to do is 3075 01:25:17,600 --> 01:25:19,840 we're going to get into cloud code and 3076 01:25:18,800 --> 01:25:21,360 I'm going to walk through everything 3077 01:25:19,840 --> 01:25:22,560 that you need to know because it can be 3078 01:25:21,360 --> 01:25:23,760 a little intimidating, but I'm going to 3079 01:25:22,560 --> 01:25:25,040 show you exactly what you need to look 3080 01:25:23,760 --> 01:25:26,320 at and what you don't need to look at. 3081 01:25:25,040 --> 01:25:27,440 And by the end, it's going to be so much 3082 01:25:26,320 --> 01:25:28,560 easier than you probably thought. So, 3083 01:25:27,440 --> 01:25:30,320 the first step is you need to go to 3084 01:25:28,560 --> 01:25:31,520 Google, search for Visual Studio Code, 3085 01:25:30,320 --> 01:25:32,960 and then just download this. It's 3086 01:25:31,520 --> 01:25:34,080 completely free to download. And this is 3087 01:25:32,960 --> 01:25:35,280 where we're going to be using Claude 3088 01:25:34,080 --> 01:25:36,480 Code. Once you open that up, this is 3089 01:25:35,280 --> 01:25:37,760 what it's going to look like. And the 3090 01:25:36,480 --> 01:25:39,280 first thing that I want you to do is go 3091 01:25:37,760 --> 01:25:40,880 over to the lefth hand side and click on 3092 01:25:39,280 --> 01:25:42,560 extensions. And once you get in here, 3093 01:25:40,880 --> 01:25:43,760 just search for Claude Code. And then 3094 01:25:42,560 --> 01:25:45,360 when you click on that, it's going to 3095 01:25:43,760 --> 01:25:47,280 allow you to install the Claude Code 3096 01:25:45,360 --> 01:25:48,639 extension for VS Code. And that's how we 3097 01:25:47,280 --> 01:25:50,400 actually use it. So if you don't have a 3098 01:25:48,639 --> 01:25:52,159 Claude plan, you are going to have to go 3099 01:25:50,400 --> 01:25:54,320 get on a paid plan for Claude. You can 3100 01:25:52,159 --> 01:25:56,239 start at 17 bucks a month. And this 3101 01:25:54,320 --> 01:25:57,600 actually allows you to get Claude Code. 3102 01:25:56,239 --> 01:25:59,520 As you can see, includes Claude Code 3103 01:25:57,600 --> 01:26:00,880 with Opus 4.5. So you do have to be on a 3104 01:25:59,520 --> 01:26:02,400 plan. And then once you open up the 3105 01:26:00,880 --> 01:26:03,920 extension in here, it will prompt you to 3106 01:26:02,400 --> 01:26:05,199 log in with that email that you have 3107 01:26:03,920 --> 01:26:06,560 that plan for. And then it will 3108 01:26:05,199 --> 01:26:08,000 basically sync it everything over here 3109 01:26:06,560 --> 01:26:10,400 and you'll be able to use it. So the 3110 01:26:08,000 --> 01:26:11,840 next step then is to open up a project. 3111 01:26:10,400 --> 01:26:13,120 So on the lefth hand side, instead of 3112 01:26:11,840 --> 01:26:14,880 clicking on extensions, you're going to 3113 01:26:13,120 --> 01:26:16,320 click on explorer. And this says you're 3114 01:26:14,880 --> 01:26:18,000 not in a project yet, you don't have a 3115 01:26:16,320 --> 01:26:19,679 folder open, you need to open one up. So 3116 01:26:18,000 --> 01:26:21,440 I've got a folder right in here called 3117 01:26:19,679 --> 01:26:22,480 Agentic Workflows Demo. And that's the 3118 01:26:21,440 --> 01:26:23,840 one that I'm going to open. If you don't 3119 01:26:22,480 --> 01:26:25,120 already have one made, just go ahead and 3120 01:26:23,840 --> 01:26:26,320 create one first and then you can open 3121 01:26:25,120 --> 01:26:27,600 that up. And so you'll see if I click 3122 01:26:26,320 --> 01:26:29,280 into this one, there's nothing in here. 3123 01:26:27,600 --> 01:26:30,719 It's a completely blank project. So, I'm 3124 01:26:29,280 --> 01:26:32,320 going to select that folder. And now we 3125 01:26:30,719 --> 01:26:33,679 have this right here. So, this is our 3126 01:26:32,320 --> 01:26:35,360 file explorer. This is where we can see 3127 01:26:33,679 --> 01:26:36,800 Aentic Workflows demo. And then on the 3128 01:26:35,360 --> 01:26:38,159 right hand side, what I'm going to do is 3129 01:26:36,800 --> 01:26:39,600 click on this button up here, which 3130 01:26:38,159 --> 01:26:41,199 looks like the Claude logo, and it says 3131 01:26:39,600 --> 01:26:42,400 cloud code open. So, I open that up. I'm 3132 01:26:41,199 --> 01:26:44,000 going to close out of this main window. 3133 01:26:42,400 --> 01:26:46,080 And now, what we have is cloud code, 3134 01:26:44,000 --> 01:26:47,679 which kind of looks like a chat GBT or a 3135 01:26:46,080 --> 01:26:49,760 regular claude interface where we can 3136 01:26:47,679 --> 01:26:50,880 talk with our coding assistant. So, this 3137 01:26:49,760 --> 01:26:52,320 is what your screen should look like. 3138 01:26:50,880 --> 01:26:54,000 Once you get here, let's talk about what 3139 01:26:52,320 --> 01:26:55,440 comes next. Okay, the environment that 3140 01:26:54,000 --> 01:26:57,040 we're currently working in, cloud code 3141 01:26:55,440 --> 01:26:58,880 within VS Code. On the lefth hand side, 3142 01:26:57,040 --> 01:27:00,560 we've got our files. So in ours right 3143 01:26:58,880 --> 01:27:01,840 now we have one called agentic workflows 3144 01:27:00,560 --> 01:27:03,440 demo but there's no other files in 3145 01:27:01,840 --> 01:27:04,800 there. This is where cloud code will 3146 01:27:03,440 --> 01:27:06,239 actually build workflows for us and 3147 01:27:04,800 --> 01:27:07,440 build files and things like that and 3148 01:27:06,239 --> 01:27:08,800 we'll see them populate on the lefth 3149 01:27:07,440 --> 01:27:10,080 hand side. Now on the right hand side 3150 01:27:08,800 --> 01:27:11,520 this is where we have our chat interface 3151 01:27:10,080 --> 01:27:13,120 with the agent itself. This is where we 3152 01:27:11,520 --> 01:27:14,560 do our planning. This is where it asks 3153 01:27:13,120 --> 01:27:16,239 us questions and this is where it 3154 01:27:14,560 --> 01:27:17,840 actually executes actions and once again 3155 01:27:16,239 --> 01:27:19,040 we'll be able to see all of that live. 3156 01:27:17,840 --> 01:27:20,400 So now I wanted to tell you guys about 3157 01:27:19,040 --> 01:27:22,320 the framework that we're actually using 3158 01:27:20,400 --> 01:27:23,920 today to build our agentic workflows. 3159 01:27:22,320 --> 01:27:26,639 It's called WAT which stands for 3160 01:27:23,920 --> 01:27:28,480 workflows agent and tools. So the agent 3161 01:27:26,639 --> 01:27:30,639 itself is cloud code. That's who we talk 3162 01:27:28,480 --> 01:27:32,560 with. That's what the AI brain uses to 3163 01:27:30,639 --> 01:27:34,480 build workflows and tools. The workflows 3164 01:27:32,560 --> 01:27:36,000 are going to come in a format called 3165 01:27:34,480 --> 01:27:37,920 markdown, which just looks like this. 3166 01:27:36,000 --> 01:27:39,679 It's natural language. It has headers 3167 01:27:37,920 --> 01:27:41,280 and it has bullet points and bold font 3168 01:27:39,679 --> 01:27:42,560 just to make it easier to read, but it's 3169 01:27:41,280 --> 01:27:44,400 literally just a natural language 3170 01:27:42,560 --> 01:27:46,800 document. And then the tools come in 3171 01:27:44,400 --> 01:27:48,400 Python. So this is the logo. It'll be a 3172 01:27:46,800 --> 01:27:50,000 py file, which I'll show you guys. And 3173 01:27:48,400 --> 01:27:51,600 this is the ugly stuff. This is where we 3174 01:27:50,000 --> 01:27:52,800 actually have code that I don't really 3175 01:27:51,600 --> 01:27:54,159 want to look at. You guys don't want to 3176 01:27:52,800 --> 01:27:55,040 look at, but luckily we don't have to. 3177 01:27:54,159 --> 01:27:56,639 So, what's the difference between these 3178 01:27:55,040 --> 01:27:59,040 workflows and tools? Well, workflows are 3179 01:27:56,639 --> 01:28:00,639 processes and tools are actions to take. 3180 01:27:59,040 --> 01:28:03,120 So, let's go back to our analogy of 3181 01:28:00,639 --> 01:28:04,320 like, you know, food and maybe making a 3182 01:28:03,120 --> 01:28:05,600 cake. So, when you want to make a cake, 3183 01:28:04,320 --> 01:28:06,800 you've got a recipe and then you've got 3184 01:28:05,600 --> 01:28:07,920 a bunch of ingredients and you have to 3185 01:28:06,800 --> 01:28:09,679 figure out what to do with them. So, 3186 01:28:07,920 --> 01:28:11,280 basically, the agent is a chef and the 3187 01:28:09,679 --> 01:28:13,280 chef needs to make a cake. The chef is 3188 01:28:11,280 --> 01:28:15,040 going to either read a pre-existing 3189 01:28:13,280 --> 01:28:16,400 workflow, which is a recipe to how to 3190 01:28:15,040 --> 01:28:17,760 make the cake, or the chef is going to 3191 01:28:16,400 --> 01:28:19,199 build its own recipe. And within the 3192 01:28:17,760 --> 01:28:20,960 recipe, it'll say, you know, like crack 3193 01:28:19,199 --> 01:28:22,960 two eggs into a bowl, add a cup of 3194 01:28:20,960 --> 01:28:24,880 flour, whatever. Those are the tools. So 3195 01:28:22,960 --> 01:28:26,560 eggs are tools, flour is a tool, sugar 3196 01:28:24,880 --> 01:28:29,040 is a tool. And so that's how the chef, 3197 01:28:26,560 --> 01:28:31,199 the agent uses a combination of recipes, 3198 01:28:29,040 --> 01:28:32,560 workflows, ingredients, tools in order 3199 01:28:31,199 --> 01:28:34,639 to make something, which is either a 3200 01:28:32,560 --> 01:28:36,000 cake or an agentic workflow automation. 3201 01:28:34,639 --> 01:28:37,600 So now that you guys understand that 3202 01:28:36,000 --> 01:28:38,960 framework, we need to make sure that cla 3203 01:28:37,600 --> 01:28:40,800 code understands that framework. So what 3204 01:28:38,960 --> 01:28:42,960 I'm going to do is I'm going to drag in 3205 01:28:40,800 --> 01:28:44,480 a file. And this file will be available 3206 01:28:42,960 --> 01:28:45,600 for download in my free school 3207 01:28:44,480 --> 01:28:46,960 community. The link for that is down in 3208 01:28:45,600 --> 01:28:49,040 the description. And this is our 3209 01:28:46,960 --> 01:28:50,800 claude.md file. So every time that you 3210 01:28:49,040 --> 01:28:52,639 set up a new project in cloud code, you 3211 01:28:50,800 --> 01:28:53,760 have to give it a cloud. and file. They 3212 01:28:52,639 --> 01:28:55,040 won't always be the same, but when 3213 01:28:53,760 --> 01:28:56,560 you're building agentic workflows and 3214 01:28:55,040 --> 01:28:58,080 you're using a WAT framework, you can 3215 01:28:56,560 --> 01:28:59,440 just use this and copy and paste it 3216 01:28:58,080 --> 01:29:01,199 every single time. This is basically 3217 01:28:59,440 --> 01:29:03,120 telling Cloud Code how to work. This is 3218 01:29:01,199 --> 01:29:04,239 its job instructions and description. 3219 01:29:03,120 --> 01:29:05,679 So, if you were to go get a job at a 3220 01:29:04,239 --> 01:29:06,960 grocery store on your first day, they 3221 01:29:05,679 --> 01:29:07,760 wouldn't just let you loose. They would 3222 01:29:06,960 --> 01:29:09,280 say, "Hey, we're going to get you 3223 01:29:07,760 --> 01:29:11,120 onboarded. Here's what you do. Here's 3224 01:29:09,280 --> 01:29:13,040 what you wear. You know, here is 3225 01:29:11,120 --> 01:29:14,480 specific tasks you do." So, here we're 3226 01:29:13,040 --> 01:29:16,080 telling the agent, you're working inside 3227 01:29:14,480 --> 01:29:17,440 the WAT framework, which stands for 3228 01:29:16,080 --> 01:29:18,560 workflows, agents, and tools. We have 3229 01:29:17,440 --> 01:29:20,080 three layers. The first one is 3230 01:29:18,560 --> 01:29:22,159 workflows, which are the instructions. 3231 01:29:20,080 --> 01:29:24,159 The second one is agents, which is you, 3232 01:29:22,159 --> 01:29:26,000 the decision-maker. And the third one is 3233 01:29:24,159 --> 01:29:27,360 tools, which are the executions. So we 3234 01:29:26,000 --> 01:29:28,800 talk about why this matters. The AI 3235 01:29:27,360 --> 01:29:31,120 tries to handle every step directly, 3236 01:29:28,800 --> 01:29:33,120 accuracy drops fast. So if each step is 3237 01:29:31,120 --> 01:29:34,800 90% accurate, then you're down to 59% 3238 01:29:33,120 --> 01:29:36,080 success after just five steps. So 3239 01:29:34,800 --> 01:29:37,440 basically, we're just explaining why 3240 01:29:36,080 --> 01:29:39,040 we're doing it like this. We then talk 3241 01:29:37,440 --> 01:29:40,719 about how to operate. So you look for 3242 01:29:39,040 --> 01:29:42,560 existing tools first. You learn and 3243 01:29:40,719 --> 01:29:44,080 adapt when things fail. You keep your 3244 01:29:42,560 --> 01:29:45,360 workflows current, blah blah blah. We've 3245 01:29:44,080 --> 01:29:47,120 got a self-improvement loop. And then 3246 01:29:45,360 --> 01:29:48,639 we've also got a file structure. So, 3247 01:29:47,120 --> 01:29:49,679 like I said, Claude Code when we're 3248 01:29:48,639 --> 01:29:51,120 working with it is going to create 3249 01:29:49,679 --> 01:29:52,560 files. It's going to create tools. It's 3250 01:29:51,120 --> 01:29:54,400 going to create maybe temporary docs to 3251 01:29:52,560 --> 01:29:56,000 look at notepads. And when it does this, 3252 01:29:54,400 --> 01:29:57,760 it adds them on the lefth hand side. So, 3253 01:29:56,000 --> 01:29:59,360 if we don't tell Claude how to organize 3254 01:29:57,760 --> 01:30:00,560 its files, it's going to get messy quick 3255 01:29:59,360 --> 01:30:01,760 to the point where I don't understand 3256 01:30:00,560 --> 01:30:03,280 where things are, and neither does 3257 01:30:01,760 --> 01:30:05,440 Claude code. So, we're just giving it a 3258 01:30:03,280 --> 01:30:06,719 nice structure for workflows, tools, 3259 01:30:05,440 --> 01:30:07,920 temporary files, things like that. And 3260 01:30:06,719 --> 01:30:09,120 so, obviously, you guys can read this 3261 01:30:07,920 --> 01:30:10,719 whole thing. I don't want to spend time 3262 01:30:09,120 --> 01:30:12,320 reading this line by line. But really 3263 01:30:10,719 --> 01:30:13,920 the moral of the story here is this 3264 01:30:12,320 --> 01:30:15,440 helps Cloud Code understand the 3265 01:30:13,920 --> 01:30:16,960 framework we want to use, how to build 3266 01:30:15,440 --> 01:30:18,320 workflows, so that when I'm talking to 3267 01:30:16,960 --> 01:30:19,840 it, we're on the same page. All right, 3268 01:30:18,320 --> 01:30:21,360 so what we want to do now is have Cloud 3269 01:30:19,840 --> 01:30:22,880 Code read that and then set up our 3270 01:30:21,360 --> 01:30:24,159 actual file structure. But before that, 3271 01:30:22,880 --> 01:30:25,520 I wanted to show you guys one thing at 3272 01:30:24,159 --> 01:30:27,040 the bottom when you're talking to Cloud 3273 01:30:25,520 --> 01:30:29,199 Code, which is the mode. So you can be 3274 01:30:27,040 --> 01:30:31,120 on ask before edits, you can be on edit 3275 01:30:29,199 --> 01:30:32,800 automatically, you can be on plan mode, 3276 01:30:31,120 --> 01:30:34,159 and you can be on bypass permissions. So 3277 01:30:32,800 --> 01:30:35,360 all of that just gives Cloud Code a 3278 01:30:34,159 --> 01:30:36,560 different level of autonomy. If you 3279 01:30:35,360 --> 01:30:37,920 don't want it to do anything and you 3280 01:30:36,560 --> 01:30:39,120 just want to make a plan, you start with 3281 01:30:37,920 --> 01:30:40,320 plan mode. And this is really important. 3282 01:30:39,120 --> 01:30:41,679 and I'll show you guys how this works. 3283 01:30:40,320 --> 01:30:42,800 If you wanted to ask for edits, you can 3284 01:30:41,679 --> 01:30:44,159 have it do that. If you want it to just 3285 01:30:42,800 --> 01:30:45,600 edit automatically, you can have it do 3286 01:30:44,159 --> 01:30:47,040 that. Or if you want to have it just 3287 01:30:45,600 --> 01:30:48,400 bypass permissions and just completely 3288 01:30:47,040 --> 01:30:49,679 go, then you choose that. Now, if you 3289 01:30:48,400 --> 01:30:51,040 don't see this option in yours, you have 3290 01:30:49,679 --> 01:30:52,800 to go to your settings, and then you'll 3291 01:30:51,040 --> 01:30:54,400 type in Claude code, and then you will 3292 01:30:52,800 --> 01:30:55,760 enable allow dangerously skip 3293 01:30:54,400 --> 01:30:57,280 permissions. And I only really like to 3294 01:30:55,760 --> 01:30:59,040 do this if I'm sitting next to Claude 3295 01:30:57,280 --> 01:31:00,480 watching it work. And if I realize it's 3296 01:30:59,040 --> 01:31:01,679 going off track, I can just kind of poke 3297 01:31:00,480 --> 01:31:03,120 it and steer it back in the right 3298 01:31:01,679 --> 01:31:04,480 direction. So, now that we've covered 3299 01:31:03,120 --> 01:31:05,600 that, I'm going to be on bypass 3300 01:31:04,480 --> 01:31:08,239 permissions mode, and I'm going to say, 3301 01:31:05,600 --> 01:31:09,840 "Hey, Claude, I just gave you a claw.md 3302 01:31:08,239 --> 01:31:11,280 file. I want you to go ahead and set up 3303 01:31:09,840 --> 01:31:12,719 this project so that we're ready to go. 3304 01:31:11,280 --> 01:31:14,080 We're ready to build a workflows 3305 01:31:12,719 --> 01:31:15,520 together. So, as I shoot that off, you 3306 01:31:14,080 --> 01:31:17,679 can see that this is very similar to 3307 01:31:15,520 --> 01:31:19,040 chatbt except for in here, we can see 3308 01:31:17,679 --> 01:31:20,080 everything that it's thinking and doing. 3309 01:31:19,040 --> 01:31:21,280 So, let's just start from the top. It 3310 01:31:20,080 --> 01:31:23,199 says, "Okay, cool. Let me read the 3311 01:31:21,280 --> 01:31:24,639 cloud.MD file to understand the project 3312 01:31:23,199 --> 01:31:26,400 setup requirements." And then we can see 3313 01:31:24,639 --> 01:31:27,840 it actually did this action. It read it 3314 01:31:26,400 --> 01:31:29,280 read this file that lives here. And now 3315 01:31:27,840 --> 01:31:30,960 it said, "Okay, cool. I understand the 3316 01:31:29,280 --> 01:31:32,320 WT framework. Let me check what already 3317 01:31:30,960 --> 01:31:33,679 exists in the project and then I'll set 3318 01:31:32,320 --> 01:31:35,360 up the required structure." As you can 3319 01:31:33,679 --> 01:31:36,719 see, it then goes to list the current 3320 01:31:35,360 --> 01:31:38,000 project contents. And there's nothing. 3321 01:31:36,719 --> 01:31:39,920 The product is empty except for the 3322 01:31:38,000 --> 01:31:41,040 claw.md file. Let me set up the right 3323 01:31:39,920 --> 01:31:43,280 structure. And so you can see it creates 3324 01:31:41,040 --> 01:31:44,719 a to-do list. It thinks, it searches, it 3325 01:31:43,280 --> 01:31:46,159 updates the to-dos, and it basically 3326 01:31:44,719 --> 01:31:48,000 goes through this step-by-step process 3327 01:31:46,159 --> 01:31:49,280 that you can have full visibility into 3328 01:31:48,000 --> 01:31:50,480 and see what it's doing, see how it's 3329 01:31:49,280 --> 01:31:51,679 thinking until we're done. So now it 3330 01:31:50,480 --> 01:31:52,880 looks like the to-dos are pretty much 3331 01:31:51,679 --> 01:31:54,239 all the way done. And it's going to come 3332 01:31:52,880 --> 01:31:55,520 back and say, "Nice, we're all set up. 3333 01:31:54,239 --> 01:31:56,719 What do you want me to do next?" And you 3334 01:31:55,520 --> 01:31:58,080 can actually see in real time on the 3335 01:31:56,719 --> 01:31:59,600 lefth hand side, we now have different 3336 01:31:58,080 --> 01:32:00,880 files. We've got our temporary folder, 3337 01:31:59,600 --> 01:32:02,080 we've got our tools folder, we've got 3338 01:32:00,880 --> 01:32:03,600 our workflows. Obviously, there's 3339 01:32:02,080 --> 01:32:05,360 nothing in these yet besides just some 3340 01:32:03,600 --> 01:32:07,040 read me and some basic stuff, but that's 3341 01:32:05,360 --> 01:32:08,320 why we gave it this folder structure so 3342 01:32:07,040 --> 01:32:09,440 that it keeps it organized and it 3343 01:32:08,320 --> 01:32:10,960 doesn't just throw a bunch of things in 3344 01:32:09,440 --> 01:32:12,480 a random order. Cool. So, it says ready 3345 01:32:10,960 --> 01:32:14,000 to build a workflow. Let me know what 3346 01:32:12,480 --> 01:32:15,199 you want to accomplish. Awesome. So, 3347 01:32:14,000 --> 01:32:16,320 we're all set up. Let's actually start 3348 01:32:15,199 --> 01:32:18,400 talking about the workflow that we want 3349 01:32:16,320 --> 01:32:20,159 to build. So, what I've got is this list 3350 01:32:18,400 --> 01:32:22,639 of remote jobs. So, I searched for 3351 01:32:20,159 --> 01:32:24,000 social media. There's 622 remote jobs. 3352 01:32:22,639 --> 01:32:25,280 And let's say I want to apply to all of 3353 01:32:24,000 --> 01:32:26,960 these. Well, that would be really tough 3354 01:32:25,280 --> 01:32:28,719 to log all of these manually. And 3355 01:32:26,960 --> 01:32:30,239 there's multiple pages. There's 21 pages 3356 01:32:28,719 --> 01:32:32,000 of these jobs. So, what we can do is we 3357 01:32:30,239 --> 01:32:33,440 can have Claude Code look at this stuff, 3358 01:32:32,000 --> 01:32:35,120 get all the jobs we need, and then put 3359 01:32:33,440 --> 01:32:36,320 it into an Excel sheet for us. And for 3360 01:32:35,120 --> 01:32:38,159 this, we're going to be using a tool 3361 01:32:36,320 --> 01:32:40,080 called Firecraw. Firecrawl lets us do 3362 01:32:38,159 --> 01:32:41,840 tons of different actions, and it lets 3363 01:32:40,080 --> 01:32:43,679 us basically take a website like 3364 01:32:41,840 --> 01:32:45,440 McDonald's right here. I can drop in the 3365 01:32:43,679 --> 01:32:46,800 URL, and I can ask for a scrape, and 3366 01:32:45,440 --> 01:32:48,480 it's going to go ahead and grab all of 3367 01:32:46,800 --> 01:32:50,000 the information from that website. So, 3368 01:32:48,480 --> 01:32:51,679 in this case, I just requested markdown, 3369 01:32:50,000 --> 01:32:53,360 and it just pulls back all of the text 3370 01:32:51,679 --> 01:32:54,800 from the website. As you can see, it is 3371 01:32:53,360 --> 01:32:56,560 a lot more powerful than that. It can 3372 01:32:54,800 --> 01:32:57,760 turn websites into LLM ready data. 3373 01:32:56,560 --> 01:32:59,920 Whether that's scraping the data, 3374 01:32:57,760 --> 01:33:01,360 getting screenshots, mapping the data, 3375 01:32:59,920 --> 01:33:02,719 crawling the data, searching, 3376 01:33:01,360 --> 01:33:04,239 extracting. There's a lot of different 3377 01:33:02,719 --> 01:33:05,440 things that we can do with firecrawl. 3378 01:33:04,239 --> 01:33:07,440 Now, the thing is we want to just say, 3379 01:33:05,440 --> 01:33:08,960 "Hey, cloud code, use firecrawl. Just go 3380 01:33:07,440 --> 01:33:10,719 after it. Use whatever the different 3381 01:33:08,960 --> 01:33:12,000 tools that firewall offers in order to 3382 01:33:10,719 --> 01:33:13,679 accomplish the job that I've got for 3383 01:33:12,000 --> 01:33:15,440 you." And so, we do this using a 3384 01:33:13,679 --> 01:33:17,040 framework called MCP, which stands for 3385 01:33:15,440 --> 01:33:18,080 model context protocol. Now, I know that 3386 01:33:17,040 --> 01:33:19,600 this may just sound like some tech 3387 01:33:18,080 --> 01:33:20,800 jargon or some gibberish. So, let's try 3388 01:33:19,600 --> 01:33:22,719 to contextualize this a little bit. 3389 01:33:20,800 --> 01:33:24,320 Think about Gmail, for example. In 3390 01:33:22,719 --> 01:33:25,679 Gmail, you've got an action to send an 3391 01:33:24,320 --> 01:33:27,199 email. You've got an action to draft an 3392 01:33:25,679 --> 01:33:28,400 email. You've got an action to get a 3393 01:33:27,199 --> 01:33:30,239 bunch of emails. There's so many 3394 01:33:28,400 --> 01:33:31,840 different tools within that tool. So, 3395 01:33:30,239 --> 01:33:33,360 MCP basically says, "Okay, cool. The 3396 01:33:31,840 --> 01:33:35,040 agent is going to figure out how to use 3397 01:33:33,360 --> 01:33:36,719 all the tools, when to use all of them, 3398 01:33:35,040 --> 01:33:37,920 what parameters to fill over, all that 3399 01:33:36,719 --> 01:33:38,880 kind of stuff so that you, the human, 3400 01:33:37,920 --> 01:33:40,239 don't have to think about that. So, if 3401 01:33:38,880 --> 01:33:42,239 we go back to our example of making a 3402 01:33:40,239 --> 01:33:44,320 cake, let's say we realize, okay, so for 3403 01:33:42,239 --> 01:33:45,679 this cake, we need eggs, flour, and 3404 01:33:44,320 --> 01:33:47,199 frosting." Okay, well, how do we do 3405 01:33:45,679 --> 01:33:49,280 that? Well, let's just give our agent 3406 01:33:47,199 --> 01:33:50,480 access to the supermarket MCP and say, 3407 01:33:49,280 --> 01:33:52,080 "Okay, whenever you need a new 3408 01:33:50,480 --> 01:33:53,840 ingredient, just go to the supermarket 3409 01:33:52,080 --> 01:33:55,199 MCP, grab what you need. I don't really 3410 01:33:53,840 --> 01:33:56,719 care. Just figure it out and then come 3411 01:33:55,199 --> 01:33:58,320 back with the right ingredients." Rather 3412 01:33:56,719 --> 01:34:00,000 than saying, "Okay, cool. So, like eggs, 3413 01:33:58,320 --> 01:34:01,440 let's go to the egg store. Flour, let's 3414 01:34:00,000 --> 01:34:02,880 go to the flower store. Frosting, let me 3415 01:34:01,440 --> 01:34:04,159 go to the candy store." We're just going 3416 01:34:02,880 --> 01:34:05,679 to get everything in one spot. And 3417 01:34:04,159 --> 01:34:07,199 that's the power of MCP. So, in 3418 01:34:05,679 --> 01:34:08,880 Firecalls Docs, you can see that they 3419 01:34:07,199 --> 01:34:11,360 have an MCP server, which is amazing. 3420 01:34:08,880 --> 01:34:13,280 And this lets us get stuff like web 3421 01:34:11,360 --> 01:34:14,719 scraping, crawling, searching, all this 3422 01:34:13,280 --> 01:34:15,920 kind of stuff that we want in any of the 3423 01:34:14,719 --> 01:34:17,600 tools that we want to use. So right 3424 01:34:15,920 --> 01:34:19,280 here, I can click on running on cloud 3425 01:34:17,600 --> 01:34:21,440 code. And this shows us how to add the 3426 01:34:19,280 --> 01:34:23,120 firewall MCP server using the Cloud Code 3427 01:34:21,440 --> 01:34:25,120 CLI. So what I'm going to do is go ahead 3428 01:34:23,120 --> 01:34:26,320 and copy this message right here. I'm 3429 01:34:25,120 --> 01:34:27,440 going to come into Cloud Code and I'm 3430 01:34:26,320 --> 01:34:28,639 going to clear out this conversation 3431 01:34:27,440 --> 01:34:30,239 history. And I'm going to say, "Hey 3432 01:34:28,639 --> 01:34:32,480 Claude, I want you to help me install 3433 01:34:30,239 --> 01:34:34,639 the Firecrawl MCP server. You need to 3434 01:34:32,480 --> 01:34:36,480 install it using this command in the 3435 01:34:34,639 --> 01:34:37,600 Cloud Code CLI." And then I paste in 3436 01:34:36,480 --> 01:34:39,280 that command. And what you'll notice 3437 01:34:37,600 --> 01:34:41,199 here is that it's prompting us for our 3438 01:34:39,280 --> 01:34:42,560 API key. And so an API key is basically 3439 01:34:41,199 --> 01:34:43,920 like a password. And I don't actually 3440 01:34:42,560 --> 01:34:45,760 want to give it to cloud code. I don't 3441 01:34:43,920 --> 01:34:47,440 want my API key to be stored in the 3442 01:34:45,760 --> 01:34:49,520 conversation history of cloud code. I 3443 01:34:47,440 --> 01:34:51,600 want to just put it into the file or 3444 01:34:49,520 --> 01:34:52,960 into the project locally myself just to 3445 01:34:51,600 --> 01:34:54,719 do it a bit more secure. So I'm going to 3446 01:34:52,960 --> 01:34:56,560 say go ahead and get this initialized, 3447 01:34:54,719 --> 01:34:58,800 but I'm not going to give you my API key 3448 01:34:56,560 --> 01:35:00,719 directly. I'm going to put it into the 3449 01:34:58,800 --> 01:35:02,320 EMV file. So help me get that set up as 3450 01:35:00,719 --> 01:35:03,520 well. So I shoot off that message. It's 3451 01:35:02,320 --> 01:35:04,719 going to think about how to actually 3452 01:35:03,520 --> 01:35:06,239 help me set all this up. So it's 3453 01:35:04,719 --> 01:35:07,760 checking in on the existing file. It's 3454 01:35:06,239 --> 01:35:08,960 checking in on our project configuration 3455 01:35:07,760 --> 01:35:10,239 and then it's going to help us actually 3456 01:35:08,960 --> 01:35:12,320 do this. Okay, so it said that I've 3457 01:35:10,239 --> 01:35:13,920 added the API key placeholder to yourv 3458 01:35:12,320 --> 01:35:16,000 file. Now you just need to add it there. 3459 01:35:13,920 --> 01:35:17,120 So thev file is on this lefth hand side. 3460 01:35:16,000 --> 01:35:19,520 I'm going to open that up and you can 3461 01:35:17,120 --> 01:35:21,040 see now it says cool firecall mcp server 3462 01:35:19,520 --> 01:35:22,159 put in your API key right here. So I'm 3463 01:35:21,040 --> 01:35:23,679 going to delete this. I'm going to go 3464 01:35:22,159 --> 01:35:25,040 into firecrawl and I'm going to go to my 3465 01:35:23,679 --> 01:35:26,320 dashboard. So if you haven't already 3466 01:35:25,040 --> 01:35:27,679 sign up for firecrawl, you can get 3467 01:35:26,320 --> 01:35:28,960 started for free and you can get 500 3468 01:35:27,679 --> 01:35:30,320 credits right away which is more than 3469 01:35:28,960 --> 01:35:31,920 enough to play around with. And then you 3470 01:35:30,320 --> 01:35:33,199 can see right here API key. So I'm going 3471 01:35:31,920 --> 01:35:35,600 to copy this. I'm going to paste it 3472 01:35:33,199 --> 01:35:37,120 right here into the actual MV file. And 3473 01:35:35,600 --> 01:35:38,719 then I'm going to go to file and save 3474 01:35:37,120 --> 01:35:40,639 this to make sure that it actually gets 3475 01:35:38,719 --> 01:35:42,560 saved on our project. And then you can 3476 01:35:40,639 --> 01:35:43,760 see it says then run the MCP add 3477 01:35:42,560 --> 01:35:45,360 command. And it gives me all this 3478 01:35:43,760 --> 01:35:46,719 reasons and I actually don't understand 3479 01:35:45,360 --> 01:35:48,960 what this means. So I'm just going to 3480 01:35:46,719 --> 01:35:50,560 ask it to see if it can do it itself. I 3481 01:35:48,960 --> 01:35:53,600 don't exactly understand how to do that. 3482 01:35:50,560 --> 01:35:55,199 I have added my firewall API key to thev 3483 01:35:53,600 --> 01:35:56,639 file. Would you be able to actually just 3484 01:35:55,199 --> 01:35:58,400 run this command to make sure we can 3485 01:35:56,639 --> 01:36:00,159 install the firewall MCP server? Okay, 3486 01:35:58,400 --> 01:36:01,280 so it went ahead and installed the MCP 3487 01:36:00,159 --> 01:36:03,040 server. Now, something I did want to 3488 01:36:01,280 --> 01:36:05,280 bring up is that when it actually runs 3489 01:36:03,040 --> 01:36:07,040 that command with this bash operation, 3490 01:36:05,280 --> 01:36:08,480 it does put in the API key right here, 3491 01:36:07,040 --> 01:36:10,159 which technically will be stored in 3492 01:36:08,480 --> 01:36:11,760 conversation history. So, in this case, 3493 01:36:10,159 --> 01:36:13,199 we're fine because this is a free key. 3494 01:36:11,760 --> 01:36:14,159 It doesn't have much access, and I'm 3495 01:36:13,199 --> 01:36:15,440 probably just going to rotate it right 3496 01:36:14,159 --> 01:36:17,199 after this video. So, what you would 3497 01:36:15,440 --> 01:36:19,280 want to do in an environment where you 3498 01:36:17,199 --> 01:36:20,560 have a key that has a lot of risk is you 3499 01:36:19,280 --> 01:36:22,080 would want to have Claude Code just walk 3500 01:36:20,560 --> 01:36:23,520 you through how you can run it in your 3501 01:36:22,080 --> 01:36:25,040 own terminal in order to make sure that 3502 01:36:23,520 --> 01:36:26,480 Claude never actually touches the key. 3503 01:36:25,040 --> 01:36:28,800 But still best practice always store 3504 01:36:26,480 --> 01:36:30,560 them in av way if you ever are pushing 3505 01:36:28,800 --> 01:36:32,400 something to a public repository 3506 01:36:30,560 --> 01:36:33,760 anywhere or someone gets access to your 3507 01:36:32,400 --> 01:36:35,360 files then that's all going to be 3508 01:36:33,760 --> 01:36:37,120 encrypted. So now we are pretty much set 3509 01:36:35,360 --> 01:36:38,560 up for actually starting to build this 3510 01:36:37,120 --> 01:36:40,480 agentic workflow. So I'm going to do a 3511 01:36:38,560 --> 01:36:42,000 /cle start a new conversation and what 3512 01:36:40,480 --> 01:36:43,520 we're going to do is like I said earlier 3513 01:36:42,000 --> 01:36:45,119 we're just going to explain in super 3514 01:36:43,520 --> 01:36:46,159 clear natural language what we want. So 3515 01:36:45,119 --> 01:36:47,679 I'm going to go ahead and switch this to 3516 01:36:46,159 --> 01:36:49,119 plan mode which I would always recommend 3517 01:36:47,679 --> 01:36:50,560 doing before you actually start building 3518 01:36:49,119 --> 01:36:52,239 an agentic workflow. I'm going to go 3519 01:36:50,560 --> 01:36:55,440 back into this tab and I'm going to grab 3520 01:36:52,239 --> 01:36:57,119 the URL from this page where we have 622 3521 01:36:55,440 --> 01:36:58,560 job opportunities here for social media. 3522 01:36:57,119 --> 01:36:59,760 Coming back into Cloud Code, I'm just 3523 01:36:58,560 --> 01:37:01,040 going to start talking to it. So, I'm 3524 01:36:59,760 --> 01:37:03,040 going to paste in this URL and I'm going 3525 01:37:01,040 --> 01:37:05,520 to say, "Hey Claude, I just gave you a 3526 01:37:03,040 --> 01:37:07,840 URL for a website that has a bunch of 3527 01:37:05,520 --> 01:37:09,280 job opportunities. There are about 622 3528 01:37:07,840 --> 01:37:10,560 job opportunities here, but they're 3529 01:37:09,280 --> 01:37:12,239 spread across different pages." So, 3530 01:37:10,560 --> 01:37:13,600 there's like 21 total pages. And what I 3531 01:37:12,239 --> 01:37:15,440 want you to do is go ahead and scrape 3532 01:37:13,600 --> 01:37:17,280 all those for me, and I just want you to 3533 01:37:15,440 --> 01:37:18,239 put those into an Excel sheet so that I 3534 01:37:17,280 --> 01:37:19,360 can actually look through them, you 3535 01:37:18,239 --> 01:37:20,400 know, do things with them. make sure 3536 01:37:19,360 --> 01:37:21,840 you're getting all of the relevant 3537 01:37:20,400 --> 01:37:23,679 fields that I may want. So, that's kind 3538 01:37:21,840 --> 01:37:25,119 of my overall plan. Let me know if you 3539 01:37:23,679 --> 01:37:27,199 can help me make that project 3540 01:37:25,119 --> 01:37:28,400 requirement more robust and you can feel 3541 01:37:27,199 --> 01:37:29,760 free to ask me any questions that you 3542 01:37:28,400 --> 01:37:32,159 may have for me to make sure that we can 3543 01:37:29,760 --> 01:37:33,920 build out this workflow in a really high 3544 01:37:32,159 --> 01:37:35,520 quality way. So, just shot that off in 3545 01:37:33,920 --> 01:37:36,960 plan mode. So, it's going to do a lot of 3546 01:37:35,520 --> 01:37:38,159 thinking. It's going to reason about 3547 01:37:36,960 --> 01:37:39,520 like the way that we should actually do 3548 01:37:38,159 --> 01:37:41,280 this. Hopefully, it understands that it 3549 01:37:39,520 --> 01:37:42,560 can use Firewall's MCP server. As you 3550 01:37:41,280 --> 01:37:43,600 can see, it's searching that right here. 3551 01:37:42,560 --> 01:37:44,960 And then what it's going to do is it's 3552 01:37:43,600 --> 01:37:46,239 going to come back to us with tons of 3553 01:37:44,960 --> 01:37:47,679 questions, I'm sure. And then it's also 3554 01:37:46,239 --> 01:37:49,520 going to come back to us with a plan. So 3555 01:37:47,679 --> 01:37:50,719 once I'm able to approve that plan, it 3556 01:37:49,520 --> 01:37:52,000 will start actually building the 3557 01:37:50,719 --> 01:37:53,199 workflows and the tools for us. All 3558 01:37:52,000 --> 01:37:54,480 right. So here we are with our first 3559 01:37:53,199 --> 01:37:56,800 round of questions. Do you want me to 3560 01:37:54,480 --> 01:37:58,320 also scrape each individual job detail 3561 01:37:56,800 --> 01:38:00,560 for more complete info like company 3562 01:37:58,320 --> 01:38:02,159 name, full description, benefits or just 3563 01:38:00,560 --> 01:38:03,280 the listing? So for the for right now, 3564 01:38:02,159 --> 01:38:05,199 we're just going to go with the actual 3565 01:38:03,280 --> 01:38:06,800 listing. For the output location, can we 3566 01:38:05,199 --> 01:38:08,560 So output location, it says where should 3567 01:38:06,800 --> 01:38:10,560 I save the Excel file? I'm just going to 3568 01:38:08,560 --> 01:38:11,760 go ahead and do a local in the temporary 3569 01:38:10,560 --> 01:38:13,119 folder which we've created right over 3570 01:38:11,760 --> 01:38:14,719 here. So I'll choose that. And then for 3571 01:38:13,119 --> 01:38:17,280 filtering, do you want any filters 3572 01:38:14,719 --> 01:38:18,639 applied or should I grab all 622 job 3573 01:38:17,280 --> 01:38:20,560 posts? Now, what I'm going to say here 3574 01:38:18,639 --> 01:38:22,480 is other and I'm going to go ahead and 3575 01:38:20,560 --> 01:38:24,239 grab all the jobs. But I'm doing this as 3576 01:38:22,480 --> 01:38:25,920 a demo for how to build an agentic 3577 01:38:24,239 --> 01:38:27,600 workflow. So just go ahead and grab only 3578 01:38:25,920 --> 01:38:29,199 200 for now just to prove that this 3579 01:38:27,600 --> 01:38:30,400 concept works. So I've submitted those 3580 01:38:29,199 --> 01:38:32,080 answers and now you can see it's going 3581 01:38:30,400 --> 01:38:33,360 to keep on going with its plan. So we 3582 01:38:32,080 --> 01:38:34,880 just got back this plan. I'm going to go 3583 01:38:33,360 --> 01:38:36,480 ahead and give this a quick review, but 3584 01:38:34,880 --> 01:38:38,400 also for the sake of the demo, I want to 3585 01:38:36,480 --> 01:38:40,080 see how well it did on the first shot. 3586 01:38:38,400 --> 01:38:41,040 So realistically, what I would do is I 3587 01:38:40,080 --> 01:38:42,400 would go ahead and read this whole 3588 01:38:41,040 --> 01:38:43,600 thing, and if there were any adjustments 3589 01:38:42,400 --> 01:38:44,880 to be made, I would go ahead and make 3590 01:38:43,600 --> 01:38:46,800 those. But what you can see is it gave 3591 01:38:44,880 --> 01:38:48,080 us a pretty comprehensive plan of what 3592 01:38:46,800 --> 01:38:49,840 it's going to do. It's going to create a 3593 01:38:48,080 --> 01:38:51,440 tool called scrape daily remote. It's 3594 01:38:49,840 --> 01:38:52,719 going to create a workflow called scrape 3595 01:38:51,440 --> 01:38:54,239 job listings, and then it's going to 3596 01:38:52,719 --> 01:38:55,360 actually execute that scrape and get us 3597 01:38:54,239 --> 01:38:57,199 all this information. So I'm going to go 3598 01:38:55,360 --> 01:38:58,480 ahead and say yes and auto accept. So it 3599 01:38:57,199 --> 01:38:59,679 just spun up that to-do list. It's going 3600 01:38:58,480 --> 01:39:00,639 to start going, and I'll check in with 3601 01:38:59,679 --> 01:39:02,000 you guys when that's done. All right, 3602 01:39:00,639 --> 01:39:04,400 that just finished up. We can see that 3603 01:39:02,000 --> 01:39:05,520 we got 209 done. We have different 3604 01:39:04,400 --> 01:39:08,320 metrics here. We have different 3605 01:39:05,520 --> 01:39:09,760 locations and also created a tool and a 3606 01:39:08,320 --> 01:39:11,440 workflow. So if I open up this folder, 3607 01:39:09,760 --> 01:39:13,440 we can see we now have a scrape daily 3608 01:39:11,440 --> 01:39:15,199 remote jobs tool. And in the workflows, 3609 01:39:13,440 --> 01:39:16,880 we now have a scrape job listings 3610 01:39:15,199 --> 01:39:18,480 workflow. So basically meaning next time 3611 01:39:16,880 --> 01:39:20,080 we ask it to scrape jobs, it's going to 3612 01:39:18,480 --> 01:39:21,360 be able to do it better and it has more 3613 01:39:20,080 --> 01:39:22,880 direction because it's already done it. 3614 01:39:21,360 --> 01:39:24,560 And if it has any mistakes, it will 3615 01:39:22,880 --> 01:39:26,159 update the workflows and the tools so 3616 01:39:24,560 --> 01:39:27,280 that the next time it's even better. But 3617 01:39:26,159 --> 01:39:29,040 let's go ahead and take a look at the 3618 01:39:27,280 --> 01:39:31,119 output. So it said that it stored it in 3619 01:39:29,040 --> 01:39:33,520 the temporary file. So right here, temp, 3620 01:39:31,119 --> 01:39:35,199 and we've got social media jobs Excel. 3621 01:39:33,520 --> 01:39:36,400 All right. So, this is the Excel sheet 3622 01:39:35,199 --> 01:39:37,520 that it created for me. I'm going to go 3623 01:39:36,400 --> 01:39:38,960 ahead and zoom out a little bit so we 3624 01:39:37,520 --> 01:39:40,480 can see, but it's got like different 3625 01:39:38,960 --> 01:39:42,159 filters on here already, which is pretty 3626 01:39:40,480 --> 01:39:44,239 cool that it did all this itself. We've 3627 01:39:42,159 --> 01:39:45,840 got job title, we've got job type, 3628 01:39:44,239 --> 01:39:48,080 position, location, experience, 3629 01:39:45,840 --> 01:39:50,080 category, salary, description, summary, 3630 01:39:48,080 --> 01:39:51,600 tags, we've got the actual URL, and 3631 01:39:50,080 --> 01:39:52,960 that's pretty much it. And like it said, 3632 01:39:51,600 --> 01:39:56,480 it was able to get us, I think it said 3633 01:39:52,960 --> 01:39:57,920 209. So, yep, this is 209 total job 3634 01:39:56,480 --> 01:39:59,280 postings just like that. So, we're going 3635 01:39:57,920 --> 01:40:01,920 to go ahead and try a different use case 3636 01:39:59,280 --> 01:40:03,199 now that uses the Firewall MCP. But what 3637 01:40:01,920 --> 01:40:05,440 I wanted to show you guys is down here 3638 01:40:03,199 --> 01:40:07,119 we have context. So it says 45% of your 3639 01:40:05,440 --> 01:40:08,639 context is remaining until it will 3640 01:40:07,119 --> 01:40:09,600 autoco compact. And so you guys have 3641 01:40:08,639 --> 01:40:11,360 might have heard of something called 3642 01:40:09,600 --> 01:40:12,800 context rot. It basically just means the 3643 01:40:11,360 --> 01:40:14,639 more context that you have in a 3644 01:40:12,800 --> 01:40:16,239 conversation history with an AI model, 3645 01:40:14,639 --> 01:40:18,480 the worse it kind of gets. So typically 3646 01:40:16,239 --> 01:40:20,400 whenever my context gets over 60, I'll 3647 01:40:18,480 --> 01:40:21,440 probably just compact it or reset and 3648 01:40:20,400 --> 01:40:22,320 then keep going. So what I'm going to do 3649 01:40:21,440 --> 01:40:24,239 is I'm just going to go ahead and click 3650 01:40:22,320 --> 01:40:25,840 this right now and it's going to compact 3651 01:40:24,239 --> 01:40:27,440 our workflow and all of our conversation 3652 01:40:25,840 --> 01:40:28,480 history so we can keep going, but it 3653 01:40:27,440 --> 01:40:29,520 still remembers the important things 3654 01:40:28,480 --> 01:40:30,800 that we've done. All right, so that's 3655 01:40:29,520 --> 01:40:32,000 been compacted. And so it basically just 3656 01:40:30,800 --> 01:40:33,679 summarized everything that we've done. 3657 01:40:32,000 --> 01:40:36,239 So let's try something else now. Let me 3658 01:40:33,679 --> 01:40:37,679 look at this same website, but now 3659 01:40:36,239 --> 01:40:39,760 there's no search filter. So there's 3660 01:40:37,679 --> 01:40:41,280 214,000 jobs. I'm just going to take the 3661 01:40:39,760 --> 01:40:43,679 URL and I'm going to go into cloud code 3662 01:40:41,280 --> 01:40:45,840 and say, "Hey Claude, I've got this URL 3663 01:40:43,679 --> 01:40:47,920 that I need help with. I want you to 3664 01:40:45,840 --> 01:40:50,239 basically be able to scrape this. I want 3665 01:40:47,920 --> 01:40:52,480 jobs that are sales opportunities or 3666 01:40:50,239 --> 01:40:54,080 sales jobs and I want to look just in 3667 01:40:52,480 --> 01:40:56,480 Europe. Scrape all of this. I want to 3668 01:40:54,080 --> 01:40:58,080 get like 500 jobs back and put it in a 3669 01:40:56,480 --> 01:40:59,280 nicely formatted Excel sheet for me." 3670 01:40:58,080 --> 01:41:00,080 Now, this time what I'm going to do is 3671 01:40:59,280 --> 01:41:01,520 we're just going to go ahead and do 3672 01:41:00,080 --> 01:41:02,719 bypass permissions. And like I said, 3673 01:41:01,520 --> 01:41:03,920 normally you want to go on plan mode. 3674 01:41:02,719 --> 01:41:05,119 You want to ask questions, but I just 3675 01:41:03,920 --> 01:41:07,280 want to show you guys what this might 3676 01:41:05,119 --> 01:41:09,280 look like with a pretty vague prompt and 3677 01:41:07,280 --> 01:41:10,639 just letting clog code go after it. And 3678 01:41:09,280 --> 01:41:12,400 hopefully it's able to do a better job 3679 01:41:10,639 --> 01:41:14,080 now because it understands how it can 3680 01:41:12,400 --> 01:41:15,360 scrape job listings and it has this tool 3681 01:41:14,080 --> 01:41:16,880 and it may even have to create a new 3682 01:41:15,360 --> 01:41:18,159 tool. So, let's just kind of let it run. 3683 01:41:16,880 --> 01:41:20,000 I'm going to analyze what it's doing and 3684 01:41:18,159 --> 01:41:21,440 then I'll report back once we see what 3685 01:41:20,000 --> 01:41:23,040 it actually ended up doing. And start 3686 01:41:21,440 --> 01:41:24,560 off by saying, cool. I have a scraping 3687 01:41:23,040 --> 01:41:25,920 tool from before that I can use. So, 3688 01:41:24,560 --> 01:41:27,360 here's my plan. I'm going to scrape the 3689 01:41:25,920 --> 01:41:28,800 sales jobs. I'm going to filter for 3690 01:41:27,360 --> 01:41:31,440 Europe and then I'm going to export it 3691 01:41:28,800 --> 01:41:33,040 all to an Excel sheet. It found 409 3692 01:41:31,440 --> 01:41:34,560 total sales jobs and now it has to 3693 01:41:33,040 --> 01:41:36,400 filter for Europe. And when it did that, 3694 01:41:34,560 --> 01:41:38,639 it basically found there's a limitation. 3695 01:41:36,400 --> 01:41:40,639 There's only 52 sales jobs in Europe, 3696 01:41:38,639 --> 01:41:42,560 but there are 409 total. So, let me 3697 01:41:40,639 --> 01:41:43,920 check if including worldwide would help 3698 01:41:42,560 --> 01:41:45,360 get closer to the goal. So, what's going 3699 01:41:43,920 --> 01:41:47,280 on here? It has our natural language 3700 01:41:45,360 --> 01:41:48,880 request, which was that we wanted 500 3701 01:41:47,280 --> 01:41:50,719 sales jobs in Europe. And it realized, 3702 01:41:48,880 --> 01:41:52,239 okay, this actually isn't going to work. 3703 01:41:50,719 --> 01:41:53,600 Let me brainstorm and see what else I 3704 01:41:52,239 --> 01:41:55,520 can do. And now you can see what it did 3705 01:41:53,600 --> 01:41:56,800 is it asked us a question because it 3706 01:41:55,520 --> 01:41:58,080 wants to help us reach our end goal 3707 01:41:56,800 --> 01:41:59,600 better. So it says, "Do you want me to 3708 01:41:58,080 --> 01:42:01,280 expand the search to get more jobs?" We 3709 01:41:59,600 --> 01:42:02,800 could either keep the 55 sales jobs in 3710 01:42:01,280 --> 01:42:05,040 Europe, we could broaden it to all job 3711 01:42:02,800 --> 01:42:06,800 types, or we could also do US-based 3712 01:42:05,040 --> 01:42:08,400 sales jobs. So I'm just going to go add 3713 01:42:06,800 --> 01:42:09,679 US jobs as well. And now it should keep 3714 01:42:08,400 --> 01:42:11,280 going. And hopefully now you can also 3715 01:42:09,679 --> 01:42:12,960 see why I wanted to give it a temporary 3716 01:42:11,280 --> 01:42:14,480 folder because in this operation where 3717 01:42:12,960 --> 01:42:16,320 it's running into a few issues, it's 3718 01:42:14,480 --> 01:42:18,719 creating some other temporary files like 3719 01:42:16,320 --> 01:42:20,560 all sales jobs, sales jobs raw. It's 3720 01:42:18,719 --> 01:42:22,400 also created three different Python 3721 01:42:20,560 --> 01:42:23,760 tools that are temporary tools just 3722 01:42:22,400 --> 01:42:25,520 because it knows that it needs some help 3723 01:42:23,760 --> 01:42:28,000 filtering things out. But now it was 3724 01:42:25,520 --> 01:42:30,960 able to find 372 sales jobs and it was 3725 01:42:28,000 --> 01:42:33,040 saved to sales jobs Europe and US. So it 3726 01:42:30,960 --> 01:42:34,960 says that we've got 372 sales jobs. I'm 3727 01:42:33,040 --> 01:42:36,400 going to open up that Excel sheet and we 3728 01:42:34,960 --> 01:42:38,719 can see if we scroll all the way down, 3729 01:42:36,400 --> 01:42:40,320 we should have gotten 372. Perfect. And 3730 01:42:38,719 --> 01:42:41,840 this is also similar because we can 3731 01:42:40,320 --> 01:42:43,520 filter up here with all of these 3732 01:42:41,840 --> 01:42:44,880 pre-made filters that it put in. We've 3733 01:42:43,520 --> 01:42:46,320 got job title. We've got all this 3734 01:42:44,880 --> 01:42:47,600 information. And it said that it added a 3735 01:42:46,320 --> 01:42:49,600 region column right here. And this is 3736 01:42:47,600 --> 01:42:51,040 where we could get rid of US and mixed 3737 01:42:49,600 --> 01:42:52,480 and worldwide. And we now should see 3738 01:42:51,040 --> 01:42:54,560 that we've only got about different 3739 01:42:52,480 --> 01:42:56,080 actual rows. Yeah, 49. And just as one 3740 01:42:54,560 --> 01:42:58,400 final test, let's see what happens if it 3741 01:42:56,080 --> 01:42:59,600 gets a crazy type of request that we 3742 01:42:58,400 --> 01:43:01,119 haven't really prepared it for. So right 3743 01:42:59,600 --> 01:43:02,960 now, this is good at scraping jobs from 3744 01:43:01,119 --> 01:43:05,440 a given URL. What if I just said, "Hey 3745 01:43:02,960 --> 01:43:07,679 Claude, I'm looking to reach out to tons 3746 01:43:05,440 --> 01:43:09,679 of dentists. Can you find me dentists in 3747 01:43:07,679 --> 01:43:11,040 the United States? And give me their 3748 01:43:09,679 --> 01:43:12,719 contact information so that I can 3749 01:43:11,040 --> 01:43:14,400 basically just build up a lead list of 3750 01:43:12,719 --> 01:43:15,679 dentists that I can contact. I want this 3751 01:43:14,400 --> 01:43:17,040 to be in an Excel sheet. I'm going to 3752 01:43:15,679 --> 01:43:18,480 shoot that off. Once again, this is in 3753 01:43:17,040 --> 01:43:19,440 bypass permissions mode. So, we're going 3754 01:43:18,480 --> 01:43:20,800 to see what it does. We're going to see 3755 01:43:19,440 --> 01:43:22,239 if it uses fire crawl. We're going to 3756 01:43:20,800 --> 01:43:23,760 see if it thinks about, hey, actually, I 3757 01:43:22,239 --> 01:43:25,119 can't use firecraw. I need to get access 3758 01:43:23,760 --> 01:43:27,600 to some sort of like, you know, lead 3759 01:43:25,119 --> 01:43:28,639 generation API or lead list API. We're 3760 01:43:27,600 --> 01:43:30,000 going to see what it does here. It said, 3761 01:43:28,639 --> 01:43:31,600 I can help you build a dentist lead 3762 01:43:30,000 --> 01:43:33,360 list. Let me first check what tools and 3763 01:43:31,600 --> 01:43:34,960 workflows exist. Then it says, let me 3764 01:43:33,360 --> 01:43:36,560 check the available APIs. So you have 3765 01:43:34,960 --> 01:43:38,080 fire call available and I can build a 3766 01:43:36,560 --> 01:43:39,840 similar tool to your existing job 3767 01:43:38,080 --> 01:43:40,960 scraper but for dentist leads instead. 3768 01:43:39,840 --> 01:43:42,880 All right, so look at this. It used 3769 01:43:40,960 --> 01:43:44,080 firecol to search for dentist directory 3770 01:43:42,880 --> 01:43:46,159 and then it started scraping those 3771 01:43:44,080 --> 01:43:48,000 sources. Once again, the ADA site uses 3772 01:43:46,159 --> 01:43:49,600 JavaScript to load results dynamically. 3773 01:43:48,000 --> 01:43:50,960 So the static scrape doesn't work. Let 3774 01:43:49,600 --> 01:43:52,560 me try a different method. So it found 3775 01:43:50,960 --> 01:43:54,320 out yellow pages works well. There are 3776 01:43:52,560 --> 01:43:55,920 3,000 dentists just in New York City. 3777 01:43:54,320 --> 01:43:57,600 And now I'm going to create a scraping 3778 01:43:55,920 --> 01:43:59,119 tool so I can actually do all of this. 3779 01:43:57,600 --> 01:44:00,480 Okay, so it looks like this is finishing 3780 01:43:59,119 --> 01:44:02,320 up here. And what you guys can see is 3781 01:44:00,480 --> 01:44:04,239 that it created a new workflow which is 3782 01:44:02,320 --> 01:44:06,400 scrape dentist leads. And it created a 3783 01:44:04,239 --> 01:44:07,679 new tool which is scrape dentist leads. 3784 01:44:06,400 --> 01:44:09,199 All right, we ran into another issue. 3785 01:44:07,679 --> 01:44:10,800 Only two dentists were found. The 3786 01:44:09,199 --> 01:44:12,480 parsing might need adjustment. Let me 3787 01:44:10,800 --> 01:44:14,080 check what was captured and then refine 3788 01:44:12,480 --> 01:44:15,760 the reg x pattern. So look how awesome 3789 01:44:14,080 --> 01:44:17,280 this is. It found the issue right here. 3790 01:44:15,760 --> 01:44:18,880 And now what it's doing is it's fixing 3791 01:44:17,280 --> 01:44:20,080 the tool. So it's updating the tool so 3792 01:44:18,880 --> 01:44:21,760 that it doesn't actually run into that 3793 01:44:20,080 --> 01:44:23,920 issue again. Okay. I mean look at this. 3794 01:44:21,760 --> 01:44:25,520 It said done. I've scraped 120 unique 3795 01:44:23,920 --> 01:44:26,960 dentist leads from four major cities. 3796 01:44:25,520 --> 01:44:28,560 Here are the cities we got. It includes 3797 01:44:26,960 --> 01:44:30,000 all of this data which is awesome. And 3798 01:44:28,560 --> 01:44:31,600 then it says for future scrapes, I've 3799 01:44:30,000 --> 01:44:33,199 also created a reusable tool that you 3800 01:44:31,600 --> 01:44:34,560 can run any time. So, I'm going to open 3801 01:44:33,199 --> 01:44:36,480 up that Excel sheet right here. And we 3802 01:44:34,560 --> 01:44:37,760 can see that we do indeed have all of 3803 01:44:36,480 --> 01:44:39,679 these different dentists here. It even 3804 01:44:37,760 --> 01:44:40,880 formatted the Excel sheet a little bit, 3805 01:44:39,679 --> 01:44:43,280 but we have phone number, we have 3806 01:44:40,880 --> 01:44:45,679 address, we have city, state, zip code, 3807 01:44:43,280 --> 01:44:47,920 websites, specialties, and we get the 3808 01:44:45,679 --> 01:44:49,280 actual listing URL as well. So, this is 3809 01:44:47,920 --> 01:44:51,199 incredible if you think about the fact 3810 01:44:49,280 --> 01:44:52,800 that I didn't know what tools to use at 3811 01:44:51,199 --> 01:44:54,000 all. I could have put this in plan mode 3812 01:44:52,800 --> 01:44:55,920 and I could have said, "Hey, this is the 3813 01:44:54,000 --> 01:44:57,440 workflow I want. Ask me questions, do 3814 01:44:55,920 --> 01:44:58,480 research, figure out the best approach, 3815 01:44:57,440 --> 01:44:59,600 and then I could have, you know, went 3816 01:44:58,480 --> 01:45:01,199 back and forth with a little bit and 3817 01:44:59,600 --> 01:45:02,480 this scrape might have even been better. 3818 01:45:01,199 --> 01:45:04,239 But on the very limited amount of 3819 01:45:02,480 --> 01:45:05,360 information I gave it, it still gave us 3820 01:45:04,239 --> 01:45:07,280 a really good output that would have 3821 01:45:05,360 --> 01:45:09,040 taken me so much longer to get manually 3822 01:45:07,280 --> 01:45:10,800 or building it in an end because the 3823 01:45:09,040 --> 01:45:12,159 truth is a lot of us know what we want. 3824 01:45:10,800 --> 01:45:13,760 We know the end result, but we don't 3825 01:45:12,159 --> 01:45:14,880 exactly know the exact tech stack and 3826 01:45:13,760 --> 01:45:16,639 all of the different things that we need 3827 01:45:14,880 --> 01:45:18,719 to get that end result. So why not let 3828 01:45:16,639 --> 01:45:21,199 an AI agent with a really smart brain 3829 01:45:18,719 --> 01:45:22,639 like Opus 4.5 figure that out for us, 3830 01:45:21,199 --> 01:45:24,000 look at five different approaches, and 3831 01:45:22,639 --> 01:45:25,360 then pick the best one. And the cool 3832 01:45:24,000 --> 01:45:26,800 part is you're not just limited to one 3833 01:45:25,360 --> 01:45:28,400 agent. You could open up five different 3834 01:45:26,800 --> 01:45:30,000 agents in here. As you can see, we could 3835 01:45:28,400 --> 01:45:31,440 just keep stacking agents on agents. And 3836 01:45:30,000 --> 01:45:32,719 then what I could do is I could just 3837 01:45:31,440 --> 01:45:33,760 tell all of them to try a different 3838 01:45:32,719 --> 01:45:35,199 method. So I could have four different 3839 01:45:33,760 --> 01:45:36,560 workflows running and then I could test 3840 01:45:35,199 --> 01:45:38,000 all four at the same time and whichever 3841 01:45:36,560 --> 01:45:39,280 one gives me the best result, I would 3842 01:45:38,000 --> 01:45:40,719 just delete all the other agents and 3843 01:45:39,280 --> 01:45:41,920 then stick with that main workflow. So 3844 01:45:40,719 --> 01:45:43,360 before we wrap up here, I actually 3845 01:45:41,920 --> 01:45:44,880 wanted to just contextualize one more 3846 01:45:43,360 --> 01:45:46,320 time what's going on. So let's take a 3847 01:45:44,880 --> 01:45:48,480 look at that first workflow we did. This 3848 01:45:46,320 --> 01:45:50,159 one was called scrape job listings. This 3849 01:45:48,480 --> 01:45:51,920 one says the objective is to scrape job 3850 01:45:50,159 --> 01:45:53,679 listings from daily remote.com based on 3851 01:45:51,920 --> 01:45:56,159 a search term. The required inputs are 3852 01:45:53,679 --> 01:45:58,239 search term, max pages, output path. The 3853 01:45:56,159 --> 01:45:59,840 tools to use are just this one, the one 3854 01:45:58,239 --> 01:46:01,280 that we created called scrape daily 3855 01:45:59,840 --> 01:46:03,280 remote jobs. And then it goes through 3856 01:46:01,280 --> 01:46:05,199 the exact steps and the exact outputs, 3857 01:46:03,280 --> 01:46:06,880 edge cases, error handling, all of the 3858 01:46:05,199 --> 01:46:08,000 stuff that I didn't tell it to do. It's 3859 01:46:06,880 --> 01:46:09,360 because of the framework. And it's 3860 01:46:08,000 --> 01:46:10,880 because it understands how to fail 3861 01:46:09,360 --> 01:46:12,239 safely. So that every single time 3862 01:46:10,880 --> 01:46:13,920 whenever we say, hey, I want you to 3863 01:46:12,239 --> 01:46:15,760 scrape leads from daily remote. It just 3864 01:46:13,920 --> 01:46:17,280 invokes this workflow, which inside of 3865 01:46:15,760 --> 01:46:18,560 it invokes the tool. So it's the exact 3866 01:46:17,280 --> 01:46:20,400 same thing that just happened for 3867 01:46:18,560 --> 01:46:21,920 scraping dentist leads as you can see. 3868 01:46:20,400 --> 01:46:23,600 So that's how simple it is to build an 3869 01:46:21,920 --> 01:46:24,960 agentic workflow. But before you go to 3870 01:46:23,600 --> 01:46:26,400 actually build one by yourself, you do 3871 01:46:24,960 --> 01:46:27,520 need to understand the mistakes that 3872 01:46:26,400 --> 01:46:28,719 most people are making right now. 3873 01:46:27,520 --> 01:46:30,080 Because understanding how to think about 3874 01:46:28,719 --> 01:46:31,600 these systems is what's actually going 3875 01:46:30,080 --> 01:46:33,280 to make it valuable to you. So the first 3876 01:46:31,600 --> 01:46:34,719 mistake is not being clear enough about 3877 01:46:33,280 --> 01:46:35,920 the actual goal. You can't just say, "I 3878 01:46:34,719 --> 01:46:37,360 need a lead scraper for LinkedIn." 3879 01:46:35,920 --> 01:46:38,639 That's way too vague. Agent will have no 3880 01:46:37,360 --> 01:46:39,920 idea what kind of leads you want, what 3881 01:46:38,639 --> 01:46:41,520 industry, what role. It'll just start 3882 01:46:39,920 --> 01:46:42,960 pulling random profiles. Obviously, it 3883 01:46:41,520 --> 01:46:44,239 can ask you questions, but you do need 3884 01:46:42,960 --> 01:46:45,440 to be specific about the problem that 3885 01:46:44,239 --> 01:46:46,560 you're actually trying to solve. And so 3886 01:46:45,440 --> 01:46:48,159 what you're going to want to do, as you 3887 01:46:46,560 --> 01:46:49,600 saw a little bit in the demo, is put the 3888 01:46:48,159 --> 01:46:50,960 agent in plan mode and say something 3889 01:46:49,600 --> 01:46:52,880 like, "Hey, here's a rough idea of what 3890 01:46:50,960 --> 01:46:55,040 I want. help me turn this into an actual 3891 01:46:52,880 --> 01:46:56,560 solid PRD or project requirement doc. 3892 01:46:55,040 --> 01:46:57,840 The agent then will have to brainstorm 3893 01:46:56,560 --> 01:46:59,119 and it will reason and it will think and 3894 01:46:57,840 --> 01:47:00,239 it will maybe even do research for you 3895 01:46:59,119 --> 01:47:01,679 and it will ask you all the right 3896 01:47:00,239 --> 01:47:03,119 questions so it knows exactly what to 3897 01:47:01,679 --> 01:47:04,800 build. Just like the way if you wanted 3898 01:47:03,119 --> 01:47:06,880 to give an actual human software 3899 01:47:04,800 --> 01:47:08,239 developer specs for an app or for a 3900 01:47:06,880 --> 01:47:09,760 workflow or whatever it is, you would 3901 01:47:08,239 --> 01:47:10,800 have to give them enough information so 3902 01:47:09,760 --> 01:47:11,920 that they could actually build that. 3903 01:47:10,800 --> 01:47:13,360 You're totally allowed to treat the 3904 01:47:11,920 --> 01:47:14,880 agent like the expert. You're just the 3905 01:47:13,360 --> 01:47:16,480 manager to make sure that you keep it on 3906 01:47:14,880 --> 01:47:18,000 the right path. So mistake number two is 3907 01:47:16,480 --> 01:47:19,679 not defining what done looks like. 3908 01:47:18,000 --> 01:47:20,960 Agents need to know when to stop. If you 3909 01:47:19,679 --> 01:47:22,719 don't give them the clear finish line, 3910 01:47:20,960 --> 01:47:24,560 then they may over complicate things or 3911 01:47:22,719 --> 01:47:26,080 break things or keep researching or keep 3912 01:47:24,560 --> 01:47:27,520 looping, keep iterating, and they might 3913 01:47:26,080 --> 01:47:28,719 just keep wasting time when the answer 3914 01:47:27,520 --> 01:47:30,400 was actually simple. I've definitely 3915 01:47:28,719 --> 01:47:31,679 seen agents overcomplicate a lot of 3916 01:47:30,400 --> 01:47:33,520 things. So, instead of saying, "Search 3917 01:47:31,679 --> 01:47:34,960 for LinkedIn profiles of CEOs at tech 3918 01:47:33,520 --> 01:47:37,119 companies," which is pretty open-ended. 3919 01:47:34,960 --> 01:47:38,960 Say something like, "I need exactly 75 3920 01:47:37,119 --> 01:47:40,080 LinkedIn profiles of CEOs at tech 3921 01:47:38,960 --> 01:47:41,760 companies. Put them in a spreadsheet 3922 01:47:40,080 --> 01:47:43,440 with their name, company email, their 3923 01:47:41,760 --> 01:47:45,360 link to their profile, and once you have 3924 01:47:43,440 --> 01:47:46,639 75, you're done." It's a clear input and 3925 01:47:45,360 --> 01:47:47,840 a very clear output, and that's how 3926 01:47:46,639 --> 01:47:49,199 you're going to get consistent results. 3927 01:47:47,840 --> 01:47:50,719 So now let's talk about why agentic 3928 01:47:49,199 --> 01:47:52,239 workflows are just better. First, no 3929 01:47:50,719 --> 01:47:53,360 more debugging loops. With traditional 3930 01:47:52,239 --> 01:47:54,719 workflow automation, you'd build 3931 01:47:53,360 --> 01:47:55,920 something, you'd run it, and then there 3932 01:47:54,719 --> 01:47:56,960 would be some edge cases that you didn't 3933 01:47:55,920 --> 01:47:58,400 think of, and that would break the 3934 01:47:56,960 --> 01:47:59,760 system. So then you'd spend the next 3935 01:47:58,400 --> 01:48:01,280 hour reading through the logs, looking 3936 01:47:59,760 --> 01:48:02,719 at the error messages, looking at the 3937 01:48:01,280 --> 01:48:04,400 execution data, and trying to figure out 3938 01:48:02,719 --> 01:48:05,840 what went wrong and why. With agentic 3939 01:48:04,400 --> 01:48:07,360 workflows, the agent basically handles 3940 01:48:05,840 --> 01:48:08,560 all of this for you without even asking. 3941 01:48:07,360 --> 01:48:09,760 You saw it earlier in the build. As the 3942 01:48:08,560 --> 01:48:11,119 agent was working, it would run into 3943 01:48:09,760 --> 01:48:12,320 some sort of roadblock or it would hit 3944 01:48:11,119 --> 01:48:13,280 an error and it would just say, "Okay, 3945 01:48:12,320 --> 01:48:14,480 this is what happened. Let me think 3946 01:48:13,280 --> 01:48:16,000 about what I could do differently." And 3947 01:48:14,480 --> 01:48:17,360 then I fix it. And then I update my 3948 01:48:16,000 --> 01:48:18,480 workflows and my tools so that it 3949 01:48:17,360 --> 01:48:19,760 doesn't happen again. It's basically 3950 01:48:18,480 --> 01:48:21,520 self-healing. And that's a massive 3951 01:48:19,760 --> 01:48:23,119 timesaver because this means that I can 3952 01:48:21,520 --> 01:48:24,400 have an agent on my right monitor 3953 01:48:23,119 --> 01:48:25,840 building stuff and then on my left 3954 01:48:24,400 --> 01:48:27,199 monitor I can just be doing different 3955 01:48:25,840 --> 01:48:28,560 work or maybe even watching a YouTube 3956 01:48:27,199 --> 01:48:29,920 video or catching up on my favorite show 3957 01:48:28,560 --> 01:48:31,119 and I've got cloud code right here 3958 01:48:29,920 --> 01:48:32,480 building things for me and all I have to 3959 01:48:31,119 --> 01:48:34,080 do is sit here and make sure I can poke 3960 01:48:32,480 --> 01:48:35,280 it in the right direction if I need to 3961 01:48:34,080 --> 01:48:36,800 every once in a while because at the end 3962 01:48:35,280 --> 01:48:38,719 of the day it is AI and it is not a 3963 01:48:36,800 --> 01:48:40,400 deterministic so it might veer off the 3964 01:48:38,719 --> 01:48:42,159 path a little bit. Second is natural 3965 01:48:40,400 --> 01:48:43,360 language control. With tools like ended 3966 01:48:42,159 --> 01:48:45,199 in you had to pretty much learn every 3967 01:48:43,360 --> 01:48:46,639 node. You had to know what each one did, 3968 01:48:45,199 --> 01:48:48,000 when to use each one, and what all of 3969 01:48:46,639 --> 01:48:49,199 the different parameters or settings 3970 01:48:48,000 --> 01:48:50,560 meant. If you wanted to connect to an 3971 01:48:49,199 --> 01:48:51,760 API, you had to read the API 3972 01:48:50,560 --> 01:48:53,119 documentation. You had to find the right 3973 01:48:51,760 --> 01:48:54,080 endpoint. You had to structure your JSON 3974 01:48:53,119 --> 01:48:55,440 correctly. You had to set up the 3975 01:48:54,080 --> 01:48:56,960 authentication. And that could be a lot, 3976 01:48:55,440 --> 01:48:58,400 especially when you are new to the 3977 01:48:56,960 --> 01:48:59,600 space. With the Genic workflows, you 3978 01:48:58,400 --> 01:49:00,719 just explain what you want, and the 3979 01:48:59,600 --> 01:49:02,239 system will look at all the tools 3980 01:49:00,719 --> 01:49:03,600 available, whether it has an MCP server 3981 01:49:02,239 --> 01:49:04,800 or not, or whether it just has to look 3982 01:49:03,600 --> 01:49:06,400 through and research the API 3983 01:49:04,800 --> 01:49:08,000 documentation on its own. And this is 3984 01:49:06,400 --> 01:49:09,040 absolutely beautiful. Third, it gets 3985 01:49:08,000 --> 01:49:10,000 smarter over time. So, I know we've 3986 01:49:09,040 --> 01:49:11,440 talked about this a lot, but it's just 3987 01:49:10,000 --> 01:49:12,960 so cool. If you wanted to update an 3988 01:49:11,440 --> 01:49:14,320 automation in the past, you had to go in 3989 01:49:12,960 --> 01:49:15,440 and you had to change the nodes and you 3990 01:49:14,320 --> 01:49:17,440 had to configure it manually. With 3991 01:49:15,440 --> 01:49:19,119 Agentic Workflows, every time the agent 3992 01:49:17,440 --> 01:49:20,400 runs into an issue, it learns and it 3993 01:49:19,119 --> 01:49:21,600 updates. Now, there is one important 3994 01:49:20,400 --> 01:49:22,800 caveat that I wanted to talk about, 3995 01:49:21,600 --> 01:49:24,400 which is the difference between 3996 01:49:22,800 --> 01:49:25,760 automations that you trigger yourself 3997 01:49:24,400 --> 01:49:27,119 versus automations that run on a 3998 01:49:25,760 --> 01:49:28,400 schedule. So, if I'm sitting at my desk 3999 01:49:27,119 --> 01:49:29,600 using Claude Code and I say, "Hey, you 4000 01:49:28,400 --> 01:49:31,280 know, we just had a call. Go ahead and 4001 01:49:29,600 --> 01:49:32,480 write up a proposal for client B." 4002 01:49:31,280 --> 01:49:33,600 That's a human triggered event in this 4003 01:49:32,480 --> 01:49:35,199 case and the agent's right there with 4004 01:49:33,600 --> 01:49:36,719 me. So, I can watch it, I can talk to 4005 01:49:35,199 --> 01:49:38,239 it, and that's how it's able to 4006 01:49:36,719 --> 01:49:39,440 self-heal in real time. But if you want 4007 01:49:38,239 --> 01:49:41,119 something to run on a schedule like 4008 01:49:39,440 --> 01:49:42,320 every morning at 6 a.m. or maybe an 4009 01:49:41,119 --> 01:49:43,600 event trigger like whenever someone 4010 01:49:42,320 --> 01:49:44,560 submits a form on your website or 4011 01:49:43,600 --> 01:49:46,639 something like that, that's actually 4012 01:49:44,560 --> 01:49:48,159 going to be you deploying that code, not 4013 01:49:46,639 --> 01:49:50,080 the actual agent. So the agent would 4014 01:49:48,159 --> 01:49:51,920 deploy its workflows and tools, but not 4015 01:49:50,080 --> 01:49:54,000 itself, not the cloud code model that 4016 01:49:51,920 --> 01:49:55,440 lives in VS Code. And the agent is what 4017 01:49:54,000 --> 01:49:56,719 actually makes the workflows and tools 4018 01:49:55,440 --> 01:49:58,080 self-healing. So you're not deploying 4019 01:49:56,719 --> 01:49:59,679 that. But anyways, I'm not going to dive 4020 01:49:58,080 --> 01:50:01,040 deep into that right now. That's a whole 4021 01:49:59,679 --> 01:50:02,560 other video. You can also check out this 4022 01:50:01,040 --> 01:50:04,000 video which I will link right above up 4023 01:50:02,560 --> 01:50:05,199 here where I go into pretty much that 4024 01:50:04,000 --> 01:50:06,320 whole process of building an automation 4025 01:50:05,199 --> 01:50:07,360 in cloud code and then actually 4026 01:50:06,320 --> 01:50:08,719 deploying it just so you guys can see 4027 01:50:07,360 --> 01:50:09,840 what that actually looks like. So look, 4028 01:50:08,719 --> 01:50:11,199 I know that this might feel a bit 4029 01:50:09,840 --> 01:50:12,560 overwhelming at first. The space is 4030 01:50:11,199 --> 01:50:13,760 moving really fast, but the reality is 4031 01:50:12,560 --> 01:50:15,119 that this is just the beginning. We're 4032 01:50:13,760 --> 01:50:16,800 definitely headed towards like fully 4033 01:50:15,119 --> 01:50:18,320 autonomous workflows, agents managing 4034 01:50:16,800 --> 01:50:19,600 other agents and systems that improve 4035 01:50:18,320 --> 01:50:20,960 themselves while you sleep. And the ones 4036 01:50:19,600 --> 01:50:22,560 who understand how to make them faster 4037 01:50:20,960 --> 01:50:23,600 will be ahead in this automation market. 4038 01:50:22,560 --> 01:50:24,880 So I don't want you to worry if you're 4039 01:50:23,600 --> 01:50:26,080 still learning how to make automations 4040 01:50:24,880 --> 01:50:27,280 or you're still learning end to end. 4041 01:50:26,080 --> 01:50:28,639 Your job isn't over and I think that's a 4042 01:50:27,280 --> 01:50:30,239 really good place to start. But now 4043 01:50:28,639 --> 01:50:31,679 we're just moving from builders to 4044 01:50:30,239 --> 01:50:33,440 architects. The key thing that matters 4045 01:50:31,679 --> 01:50:34,560 is how you adapt to new challenges. And 4046 01:50:33,440 --> 01:50:36,159 if you want to make it easier, you can 4047 01:50:34,560 --> 01:50:38,320 check out my free community with over 4048 01:50:36,159 --> 01:50:39,360 200,000 AI builders like you. And I put 4049 01:50:38,320 --> 01:50:41,119 everything that we talked about today 4050 01:50:39,360 --> 01:50:42,960 into a completely free resource guide 4051 01:50:41,119 --> 01:50:46,520 you can access in that community. Link 4052 01:50:42,960 --> 01:50:46,520 for that is in the description. 4053 01:50:46,719 --> 01:50:50,239 Cloud Code has been allowing me to build 4054 01:50:48,320 --> 01:50:51,920 things that used to take me hours in 4055 01:50:50,239 --> 01:50:53,119 just minutes. So that's exactly what I'm 4056 01:50:51,920 --> 01:50:54,560 going to be teaching you guys today. 4057 01:50:53,119 --> 01:50:56,239 Even if you don't know how to code and 4058 01:50:54,560 --> 01:50:58,159 even if you've never touched an IDE 4059 01:50:56,239 --> 01:50:59,440 before. IDE stands for integrated 4060 01:50:58,159 --> 01:51:00,960 development environment, but if you 4061 01:50:59,440 --> 01:51:02,960 didn't know that, it's still completely 4062 01:51:00,960 --> 01:51:04,800 fine. It's crazy how fast the technology 4063 01:51:02,960 --> 01:51:06,480 is evolving every single day. What used 4064 01:51:04,800 --> 01:51:08,159 to take people this long with manual 4065 01:51:06,480 --> 01:51:09,520 code was significantly reduced when 4066 01:51:08,159 --> 01:51:11,199 Eniden came out because we could drag 4067 01:51:09,520 --> 01:51:12,960 and drop nodes and build workflows that 4068 01:51:11,199 --> 01:51:14,480 way. And now that has once again been 4069 01:51:12,960 --> 01:51:15,840 significantly reduced with the release 4070 01:51:14,480 --> 01:51:17,520 of things like cloud code and 4071 01:51:15,840 --> 01:51:19,360 anti-gravity. Now, I'm not out here 4072 01:51:17,520 --> 01:51:21,119 saying that Naden is dead or that cloud 4073 01:51:19,360 --> 01:51:22,560 code completely replaces any. They're 4074 01:51:21,119 --> 01:51:23,840 slightly different. But I am going to 4075 01:51:22,560 --> 01:51:25,840 show you how easy it is to build 4076 01:51:23,840 --> 01:51:27,119 automations with cloud code today. If 4077 01:51:25,840 --> 01:51:28,560 you've never touched Claude Code before 4078 01:51:27,119 --> 01:51:30,320 or even watched a video about it, you're 4079 01:51:28,560 --> 01:51:32,080 in the right spot because my job is to 4080 01:51:30,320 --> 01:51:33,760 make confusing things as simple as 4081 01:51:32,080 --> 01:51:35,360 possible. So, in today's agenda, I'm 4082 01:51:33,760 --> 01:51:36,320 going to be going over the interface, 4083 01:51:35,360 --> 01:51:37,599 what do you need to know, because 4084 01:51:36,320 --> 01:51:38,400 there's a lot of stuff, but I'm just 4085 01:51:37,599 --> 01:51:39,679 going to tell you what's actually 4086 01:51:38,400 --> 01:51:40,960 important to understand. We're going to 4087 01:51:39,679 --> 01:51:42,480 go over the framework that we use to 4088 01:51:40,960 --> 01:51:43,840 actually build automations. I'm going to 4089 01:51:42,480 --> 01:51:45,520 talk about planning and the importance 4090 01:51:43,840 --> 01:51:46,880 of clear communication. We're going to 4091 01:51:45,520 --> 01:51:48,719 talk a little bit about the superpowers 4092 01:51:46,880 --> 01:51:50,400 that you can give cloud code like MCP 4093 01:51:48,719 --> 01:51:51,599 servers and skills. We're going to talk 4094 01:51:50,400 --> 01:51:53,440 about testing and how you actually 4095 01:51:51,599 --> 01:51:54,880 optimize your workflow. and then talk 4096 01:51:53,440 --> 01:51:56,560 about deployment, which means actually 4097 01:51:54,880 --> 01:51:57,920 kind of turning it on or pushing it into 4098 01:51:56,560 --> 01:51:59,199 production. And I'm not just going to be 4099 01:51:57,920 --> 01:52:00,800 talking throughout all of this. I'm 4100 01:51:59,199 --> 01:52:02,320 actually going to build a full workflow 4101 01:52:00,800 --> 01:52:04,320 in front of you guys and deploy it by 4102 01:52:02,320 --> 01:52:05,440 the end. So after this video, you'll 4103 01:52:04,320 --> 01:52:06,880 have everything that you need to go 4104 01:52:05,440 --> 01:52:08,159 build your first automation in Cloud 4105 01:52:06,880 --> 01:52:09,679 Code. And you're going to see how easy 4106 01:52:08,159 --> 01:52:11,760 it really is. All right, so we're just 4107 01:52:09,679 --> 01:52:12,960 going to jump right into it. This is the 4108 01:52:11,760 --> 01:52:14,400 interface. We're going to be using 4109 01:52:12,960 --> 01:52:16,400 Visual Studio Code, which has been 4110 01:52:14,400 --> 01:52:18,000 around for a long time. And if you go to 4111 01:52:16,400 --> 01:52:19,840 Google and type in VS Code, you can just 4112 01:52:18,000 --> 01:52:21,360 go ahead and go to this link and just 4113 01:52:19,840 --> 01:52:22,880 download it. It's free to download. And 4114 01:52:21,360 --> 01:52:24,560 then in here is where we're going to 4115 01:52:22,880 --> 01:52:26,080 actually be using Claude Code. So this 4116 01:52:24,560 --> 01:52:27,440 is what it should look like. What we're 4117 01:52:26,080 --> 01:52:29,360 seeing here is just kind of the welcome 4118 01:52:27,440 --> 01:52:30,960 page. You can see we can open new files, 4119 01:52:29,360 --> 01:52:32,400 new folders. We can do some of these 4120 01:52:30,960 --> 01:52:33,840 walkthroughs. But what I'm going to do 4121 01:52:32,400 --> 01:52:36,400 here is I'm going to go over to this 4122 01:52:33,840 --> 01:52:38,880 lefth hand side and click on extensions 4123 01:52:36,400 --> 01:52:39,920 and just type in Claude Code. And then 4124 01:52:38,880 --> 01:52:42,159 you'll see right here that this 4125 01:52:39,920 --> 01:52:44,560 extension pops up which lets us use 4126 01:52:42,159 --> 01:52:45,760 Claude Code inside of VS Code. So what 4127 01:52:44,560 --> 01:52:47,280 you're going to do here is go ahead and 4128 01:52:45,760 --> 01:52:49,440 install it. You could also do this in 4129 01:52:47,280 --> 01:52:50,880 anti-gravity or in cursor or somewhere 4130 01:52:49,440 --> 01:52:52,960 else or you could even use the cloud 4131 01:52:50,880 --> 01:52:54,719 code kind of app by itself and install 4132 01:52:52,960 --> 01:52:56,480 that locally, but wherever you choose to 4133 01:52:54,719 --> 01:52:58,239 use it, you're going to log in and then 4134 01:52:56,480 --> 01:53:00,159 we'll get started. I'm just using VS 4135 01:52:58,239 --> 01:53:01,440 Code in today's tutorial. It'll prompt 4136 01:53:00,159 --> 01:53:03,040 you to sign in with your Anthropic 4137 01:53:01,440 --> 01:53:04,639 account and then you'll be all set. Now, 4138 01:53:03,040 --> 01:53:06,480 in order to access Cloud Code, you do 4139 01:53:04,639 --> 01:53:07,920 have to be on a paid plan of Claude. As 4140 01:53:06,480 --> 01:53:10,400 you can see, if you're on the 17 bucks a 4141 01:53:07,920 --> 01:53:12,159 month plan with Pro, you get Claude 4142 01:53:10,400 --> 01:53:13,440 Code. Um, but you will probably find 4143 01:53:12,159 --> 01:53:16,159 pretty quick that you'll want to upgrade 4144 01:53:13,440 --> 01:53:17,679 to Max or the the higher version of Max 4145 01:53:16,159 --> 01:53:18,880 because you'll be doing a lot of 4146 01:53:17,679 --> 01:53:20,400 automations in there and you don't want 4147 01:53:18,880 --> 01:53:21,599 to hit your limit and then have to 4148 01:53:20,400 --> 01:53:23,280 upgrade. But you could always start on 4149 01:53:21,599 --> 01:53:24,800 pro and then upgrade later. So once we 4150 01:53:23,280 --> 01:53:25,840 got that extension installed, I'm just 4151 01:53:24,800 --> 01:53:27,360 going to go ahead and click on this 4152 01:53:25,840 --> 01:53:29,119 button in the top right which looks like 4153 01:53:27,360 --> 01:53:30,960 the Enthropic logo and I'm just going to 4154 01:53:29,119 --> 01:53:33,280 open up Claude Code. I'm going to close 4155 01:53:30,960 --> 01:53:35,840 out of this window and now you can see 4156 01:53:33,280 --> 01:53:37,599 that we have basically a chat GBT like 4157 01:53:35,840 --> 01:53:39,199 looking interface where we have Claude 4158 01:53:37,599 --> 01:53:40,400 code right here. So on the lefth hand 4159 01:53:39,199 --> 01:53:41,679 side, instead of looking at the 4160 01:53:40,400 --> 01:53:43,199 extensions marketplace, we're going to 4161 01:53:41,679 --> 01:53:44,960 click on this button up at the top that 4162 01:53:43,199 --> 01:53:46,080 says explorer. And what it tells us 4163 01:53:44,960 --> 01:53:47,520 right here is that you have not yet 4164 01:53:46,080 --> 01:53:49,280 opened a folder. So it prompts you to 4165 01:53:47,520 --> 01:53:51,679 open a folder. So before we go ahead and 4166 01:53:49,280 --> 01:53:53,760 open one up, let's talk about why and 4167 01:53:51,679 --> 01:53:55,119 what we're looking at. So this is kind 4168 01:53:53,760 --> 01:53:56,320 of the environment that we're looking at 4169 01:53:55,119 --> 01:53:57,840 right now. We've got our files on the 4170 01:53:56,320 --> 01:53:59,840 lefth hand side and this is where we're 4171 01:53:57,840 --> 01:54:01,679 going to actually build our project, our 4172 01:53:59,840 --> 01:54:03,520 system prompts, our workflows, our 4173 01:54:01,679 --> 01:54:05,199 tools. And then on the right hand side, 4174 01:54:03,520 --> 01:54:07,679 we have the agent. So this is where we 4175 01:54:05,199 --> 01:54:09,599 talk to Claude Code. We have it help us 4176 01:54:07,679 --> 01:54:10,960 with a plan. It asks us questions and 4177 01:54:09,599 --> 01:54:12,960 then it actually executes on those 4178 01:54:10,960 --> 01:54:14,800 actions. So lefth hand side is files, 4179 01:54:12,960 --> 01:54:16,400 right hand side is the agent. It's going 4180 01:54:14,800 --> 01:54:17,840 to be super simple and I'm going to show 4181 01:54:16,400 --> 01:54:19,040 you how we can keep our file structure 4182 01:54:17,840 --> 01:54:20,960 really clean so it doesn't get 4183 01:54:19,040 --> 01:54:22,560 overwhelming and confusing on this lefth 4184 01:54:20,960 --> 01:54:24,080 hand side over here. So whenever you're 4185 01:54:22,560 --> 01:54:25,920 in cloud code, you have to be working 4186 01:54:24,080 --> 01:54:27,840 inside a project and that's why it 4187 01:54:25,920 --> 01:54:29,360 prompts you to open up a folder. So what 4188 01:54:27,840 --> 01:54:30,880 I'm going to do is in my documents, I've 4189 01:54:29,360 --> 01:54:32,080 got a folder called agentic workflows 4190 01:54:30,880 --> 01:54:33,440 and I've got a bunch of ones that I've 4191 01:54:32,080 --> 01:54:34,560 been playing around and testing with. 4192 01:54:33,440 --> 01:54:36,880 But I'm just going to go ahead and open 4193 01:54:34,560 --> 01:54:38,239 up a new blank folder for today's video. 4194 01:54:36,880 --> 01:54:39,760 I'm going to go ahead and call this one 4195 01:54:38,239 --> 01:54:41,920 YouTube 4196 01:54:39,760 --> 01:54:44,560 analysis. And then I've created that 4197 01:54:41,920 --> 01:54:45,760 folder. So now when I go back into cloud 4198 01:54:44,560 --> 01:54:47,520 code, I'm just going to open up that 4199 01:54:45,760 --> 01:54:48,800 folder. Cool. So I just opened it up and 4200 01:54:47,520 --> 01:54:50,320 it changed what we were looking at over 4201 01:54:48,800 --> 01:54:52,159 here. On the right hand side, we've got 4202 01:54:50,320 --> 01:54:53,360 like VS Codes agent. So I'm not going to 4203 01:54:52,159 --> 01:54:55,440 worry about that and just close out of 4204 01:54:53,360 --> 01:54:56,880 that. And then on the lefth hand side, 4205 01:54:55,440 --> 01:54:58,880 you can see we're now in the YouTube 4206 01:54:56,880 --> 01:55:00,480 analysis folder, but there's nothing in 4207 01:54:58,880 --> 01:55:02,639 there yet. So once again, I'm just going 4208 01:55:00,480 --> 01:55:04,320 to reopen Cloud Code. close out of this 4209 01:55:02,639 --> 01:55:05,920 one. You can see you can have multiple 4210 01:55:04,320 --> 01:55:07,599 different files open on the right hand 4211 01:55:05,920 --> 01:55:09,199 side. So if you wanted to have like five 4212 01:55:07,599 --> 01:55:11,040 cloud code agents running or you wanted 4213 01:55:09,199 --> 01:55:12,880 to look at five different files or 4214 01:55:11,040 --> 01:55:13,920 system prompts, you could do so. But 4215 01:55:12,880 --> 01:55:15,840 right now we're just going to keep it 4216 01:55:13,920 --> 01:55:17,760 open to one. So the first thing that we 4217 01:55:15,840 --> 01:55:19,599 need to do is we need to give cloud code 4218 01:55:17,760 --> 01:55:20,480 a system prompt for this project. And 4219 01:55:19,599 --> 01:55:22,080 that's the first thing that you should 4220 01:55:20,480 --> 01:55:23,760 do whenever you open up a new project in 4221 01:55:22,080 --> 01:55:26,480 cloud code. And we call this system 4222 01:55:23,760 --> 01:55:27,679 prompt a claude.md file. MD just 4223 01:55:26,480 --> 01:55:29,520 standing for markdown. So I'll show you 4224 01:55:27,679 --> 01:55:31,679 guys that in a sec. But without a system 4225 01:55:29,520 --> 01:55:33,599 prompt, it's like we have an NN AI agent 4226 01:55:31,679 --> 01:55:35,040 like an expert copywriter and we don't 4227 01:55:33,599 --> 01:55:36,960 actually give it a system prompt in 4228 01:55:35,040 --> 01:55:38,320 here. So without a system prompt, it 4229 01:55:36,960 --> 01:55:40,000 wouldn't actually really be an expert 4230 01:55:38,320 --> 01:55:41,840 copywriter. It would be super generic. 4231 01:55:40,000 --> 01:55:43,760 It wouldn't understand the tools it has, 4232 01:55:41,840 --> 01:55:45,440 the product that we're trying to sell or 4233 01:55:43,760 --> 01:55:47,040 where the documents live and what those 4234 01:55:45,440 --> 01:55:48,400 look like. So that leads me into the 4235 01:55:47,040 --> 01:55:50,320 next part of the video, which is talking 4236 01:55:48,400 --> 01:55:52,639 about the framework, which is how we 4237 01:55:50,320 --> 01:55:53,760 actually build these automations. So 4238 01:55:52,639 --> 01:55:55,360 here's a really, really simple 4239 01:55:53,760 --> 01:55:57,440 visualization of what we're actually 4240 01:55:55,360 --> 01:55:59,199 doing here. We've got our agent which is 4241 01:55:57,440 --> 01:56:01,360 claude code and the agent is going to 4242 01:55:59,199 --> 01:56:04,880 help us build workflows. Workflows 4243 01:56:01,360 --> 01:56:06,639 meaning processes, SOPs, instructions of 4244 01:56:04,880 --> 01:56:07,920 what we actually want to do. And inside 4245 01:56:06,639 --> 01:56:09,840 those workflows, we're going to give it 4246 01:56:07,920 --> 01:56:11,840 access to tools. And tools means 4247 01:56:09,840 --> 01:56:13,440 actually executing actions. So send 4248 01:56:11,840 --> 01:56:15,040 email would be a tool. Research a 4249 01:56:13,440 --> 01:56:16,560 YouTube channel would be a tool. So it's 4250 01:56:15,040 --> 01:56:18,560 really similar to the way that we have 4251 01:56:16,560 --> 01:56:20,239 workflows and tools in Nitn. Here you 4252 01:56:18,560 --> 01:56:22,080 can see is an edit in workflow for a 4253 01:56:20,239 --> 01:56:23,679 daily news summary. And inside the 4254 01:56:22,080 --> 01:56:25,520 workflow, which is a specific set of 4255 01:56:23,679 --> 01:56:27,599 instructions in a specific order. So, 4256 01:56:25,520 --> 01:56:29,040 it's a deterministic process. We have 4257 01:56:27,599 --> 01:56:30,960 different tools. We've got a tool here 4258 01:56:29,040 --> 01:56:32,639 for Tavali to do research. We've got a 4259 01:56:30,960 --> 01:56:34,239 tool here for an AI agent to do the 4260 01:56:32,639 --> 01:56:37,040 newsletter writing. And we've got a tool 4261 01:56:34,239 --> 01:56:38,320 at the end to send a Gmail message. So, 4262 01:56:37,040 --> 01:56:39,520 hopefully that all makes sense. It's 4263 01:56:38,320 --> 01:56:41,119 going to be really simple. We're going 4264 01:56:39,520 --> 01:56:42,719 to have a folder for workflows. And in 4265 01:56:41,119 --> 01:56:44,080 there will be all of our processes. 4266 01:56:42,719 --> 01:56:45,520 We're going to have a folder for tools 4267 01:56:44,080 --> 01:56:47,040 and in there will be all of the actual 4268 01:56:45,520 --> 01:56:48,960 things that it can execute. And then the 4269 01:56:47,040 --> 01:56:50,800 agent basically helps us set up those 4270 01:56:48,960 --> 01:56:52,560 tool files and workflow files and then 4271 01:56:50,800 --> 01:56:54,719 execute those actions. So, I'm going to 4272 01:56:52,560 --> 01:56:56,880 do is drag in this claude file. And you 4273 01:56:54,719 --> 01:56:59,199 can see it's a claude.md. This could be 4274 01:56:56,880 --> 01:57:00,719 called agents.mmd, gemini.mmd, whatever 4275 01:56:59,199 --> 01:57:01,840 you want. In this case, we're using 4276 01:57:00,719 --> 01:57:04,400 claude code, so I'm calling it 4277 01:57:01,840 --> 01:57:06,239 claude.md. But let me go ahead and 4278 01:57:04,400 --> 01:57:08,000 expand this one and let's briefly read 4279 01:57:06,239 --> 01:57:09,119 through it so you understand exactly 4280 01:57:08,000 --> 01:57:11,599 what I just talked about with the 4281 01:57:09,119 --> 01:57:13,520 workflows, agents, and tools. So this is 4282 01:57:11,599 --> 01:57:15,599 the agent instructions for this specific 4283 01:57:13,520 --> 01:57:17,280 project. You're working inside of the 4284 01:57:15,599 --> 01:57:18,800 WAT framework, which stands for 4285 01:57:17,280 --> 01:57:20,480 workflows, agents, tools. This is a 4286 01:57:18,800 --> 01:57:21,760 three-layer framework and it basically 4287 01:57:20,480 --> 01:57:23,920 separates concerns so that the 4288 01:57:21,760 --> 01:57:26,159 probabistic AI handles reasoning while 4289 01:57:23,920 --> 01:57:27,840 deterministic code actually handles the 4290 01:57:26,159 --> 01:57:29,679 execution and that is what makes these 4291 01:57:27,840 --> 01:57:31,599 systems actually reliable. So like I 4292 01:57:29,679 --> 01:57:34,080 said layer 1 is the workflows the 4293 01:57:31,599 --> 01:57:36,000 instructions. So these are markdown SOPs 4294 01:57:34,080 --> 01:57:37,920 stored in the workflows folder which 4295 01:57:36,000 --> 01:57:39,520 will be created in a sec. Each workflow 4296 01:57:37,920 --> 01:57:41,360 defines the objective, the required 4297 01:57:39,520 --> 01:57:44,000 inputs, which tools to use, expected 4298 01:57:41,360 --> 01:57:45,360 outputs and how to handle edge cases. 4299 01:57:44,000 --> 01:57:46,719 It's written in completely plain 4300 01:57:45,360 --> 01:57:48,480 language the same way that you'd brief 4301 01:57:46,719 --> 01:57:50,320 someone on your team. And by the way, 4302 01:57:48,480 --> 01:57:52,159 when I say markdown, it basically just 4303 01:57:50,320 --> 01:57:53,679 means this structure. This is a markdown 4304 01:57:52,159 --> 01:57:55,840 file right here where we have like 4305 01:57:53,679 --> 01:57:57,440 headers and subheaders and bold font and 4306 01:57:55,840 --> 01:57:59,520 things like that. Layer two is the 4307 01:57:57,440 --> 01:58:01,440 agent. So this is the actual cloud code 4308 01:57:59,520 --> 01:58:03,040 agent that we talk to. This is your 4309 01:58:01,440 --> 01:58:04,960 role. You're responsible for the 4310 01:58:03,040 --> 01:58:06,800 coordination between workflows and 4311 01:58:04,960 --> 01:58:08,159 tools. You read the relevant workflow. 4312 01:58:06,800 --> 01:58:09,920 You run tools in the correct sequence 4313 01:58:08,159 --> 01:58:11,520 and you handle failures. You ask 4314 01:58:09,920 --> 01:58:13,360 clarification questions when needed. 4315 01:58:11,520 --> 01:58:14,719 Layer three, we have the tools, and 4316 01:58:13,360 --> 01:58:16,400 these are actually going to be Python 4317 01:58:14,719 --> 01:58:18,800 files. So right here, you can see claude 4318 01:58:16,400 --> 01:58:20,080 is a markdown file. So it's cloud.md. We 4319 01:58:18,800 --> 01:58:22,080 said that our workflows were going to be 4320 01:58:20,080 --> 01:58:24,000 markdown files. So it will be like um 4321 01:58:22,080 --> 01:58:25,599 scrape website.mmd. 4322 01:58:24,000 --> 01:58:27,199 But then in the tools which we will have 4323 01:58:25,599 --> 01:58:29,280 another folder for over here. We're 4324 01:58:27,199 --> 01:58:31,920 going to have tools that are going to be 4325 01:58:29,280 --> 01:58:33,360 py. So a python file. So in this case we 4326 01:58:31,920 --> 01:58:36,080 can see there's an example tool called 4327 01:58:33,360 --> 01:58:37,920 scrape single site. py which would be a 4328 01:58:36,080 --> 01:58:39,920 python script that would execute an 4329 01:58:37,920 --> 01:58:41,599 action. These can be API calls, data 4330 01:58:39,920 --> 01:58:43,360 transformations, file operations, 4331 01:58:41,599 --> 01:58:45,280 database queries. And a lot of times in 4332 01:58:43,360 --> 01:58:46,560 these tools, we'll need an API key, but 4333 01:58:45,280 --> 01:58:49,599 we're not going to actually store them 4334 01:58:46,560 --> 01:58:51,360 in the tool code logic itself because if 4335 01:58:49,599 --> 01:58:53,440 that got exported or we pushed that onto 4336 01:58:51,360 --> 01:58:55,040 the web, then our API keys would be 4337 01:58:53,440 --> 01:58:58,080 exposed. So, we're going to handle 4338 01:58:55,040 --> 01:58:59,199 secrets by storing them inv files. You 4339 01:58:58,080 --> 01:59:00,719 don't have to understand exactly what 4340 01:58:59,199 --> 01:59:02,159 that means or how that works right now. 4341 01:59:00,719 --> 01:59:03,679 We'll show you. So, then we talk a 4342 01:59:02,159 --> 01:59:05,360 little bit about like why this matters, 4343 01:59:03,679 --> 01:59:07,119 how to operate. So, you look for tools 4344 01:59:05,360 --> 01:59:09,199 first. You learn and adapt when things 4345 01:59:07,119 --> 01:59:10,960 fail because these agentic workflows are 4346 01:59:09,199 --> 01:59:12,159 basically self-healing. So, as we're 4347 01:59:10,960 --> 01:59:13,599 going through and building this 4348 01:59:12,159 --> 01:59:15,199 workflow, you will see that it says, 4349 01:59:13,599 --> 01:59:16,800 "Okay, I ran into an error here. Let me 4350 01:59:15,199 --> 01:59:18,960 figure out what happened and let me fix 4351 01:59:16,800 --> 01:59:20,719 it." So, fix the script and retest 4352 01:59:18,960 --> 01:59:22,239 document what you learned. So, if it ran 4353 01:59:20,719 --> 01:59:23,920 into an error and it fixed it, it will 4354 01:59:22,239 --> 01:59:25,360 go ahead and change the workflow file so 4355 01:59:23,920 --> 01:59:26,880 it doesn't run into that error again. 4356 01:59:25,360 --> 01:59:28,960 So, an example could be you get rate 4357 01:59:26,880 --> 01:59:31,040 limited on an API, you dig into the doc, 4358 01:59:28,960 --> 01:59:33,280 so you do research, you discover a batch 4359 01:59:31,040 --> 01:59:35,119 endpoint, you refactor the tool to use 4360 01:59:33,280 --> 01:59:36,560 it, you verify that that works, and then 4361 01:59:35,119 --> 01:59:38,000 you update the workflow so it never 4362 01:59:36,560 --> 01:59:39,360 happens again. This is once again where 4363 01:59:38,000 --> 01:59:40,960 we talk about that self-improvement 4364 01:59:39,360 --> 01:59:42,000 loop. We talk about the file structure 4365 01:59:40,960 --> 01:59:44,000 and you can see that it's going to 4366 01:59:42,000 --> 01:59:45,760 create this for us. And basically the 4367 01:59:44,000 --> 01:59:47,599 bottom line is that you sit between what 4368 01:59:45,760 --> 01:59:49,360 I want, which are workflows, and what 4369 01:59:47,599 --> 01:59:50,960 actually gets done, which are the tools. 4370 01:59:49,360 --> 01:59:52,560 Your job is to read instructions, make 4371 01:59:50,960 --> 01:59:54,480 smart decisions, call the right tools, 4372 01:59:52,560 --> 01:59:55,760 and keep improving the system as you go. 4373 01:59:54,480 --> 01:59:57,360 So, I know we skimmed through this kind 4374 01:59:55,760 --> 01:59:59,040 of fast, but you guys will get access to 4375 01:59:57,360 --> 02:00:00,320 this exact same system prompt. I'll 4376 01:59:59,040 --> 02:00:01,440 leave it in my free school community. 4377 02:00:00,320 --> 02:00:02,719 The link for that will be down in the 4378 02:00:01,440 --> 02:00:04,159 description. That way, you can just go 4379 02:00:02,719 --> 02:00:05,679 ahead and grab this, paste it in, and 4380 02:00:04,159 --> 02:00:07,199 then when you want to follow along and 4381 02:00:05,679 --> 02:00:08,719 build some workflows in Cloud Code, 4382 02:00:07,199 --> 02:00:10,000 you've got this right here for you. So 4383 02:00:08,719 --> 02:00:11,040 now what we need to do is just set up 4384 02:00:10,000 --> 02:00:12,639 our environment with the different 4385 02:00:11,040 --> 02:00:14,880 folders. So I'm going to talk to cloud 4386 02:00:12,639 --> 02:00:17,040 code and just say initialize this 4387 02:00:14,880 --> 02:00:18,239 project based on the claw.md file. So 4388 02:00:17,040 --> 02:00:20,000 I'll go ahead and shoot that off. And 4389 02:00:18,239 --> 02:00:21,679 when we talk to claude, what it does is 4390 02:00:20,000 --> 02:00:23,599 it basically just tells us exactly what 4391 02:00:21,679 --> 02:00:25,040 it's doing and what it's thinking. What 4392 02:00:23,599 --> 02:00:27,679 you'll notice right here is that I'm on 4393 02:00:25,040 --> 02:00:29,360 a mode called bypass permissions. And 4394 02:00:27,679 --> 02:00:30,880 you might not see this initially. You'll 4395 02:00:29,360 --> 02:00:32,719 see ask before edits, edit 4396 02:00:30,880 --> 02:00:33,920 automatically, and plan mode. But it is 4397 02:00:32,719 --> 02:00:35,280 really helpful to be able to turn on 4398 02:00:33,920 --> 02:00:36,719 bypass permissions. So the way that you 4399 02:00:35,280 --> 02:00:38,719 do that is you go to the bottom left to 4400 02:00:36,719 --> 02:00:40,880 settings. You're going to go to settings 4401 02:00:38,719 --> 02:00:42,000 once again. You'll type in cloud code 4402 02:00:40,880 --> 02:00:43,599 and then you're just going to turn on 4403 02:00:42,000 --> 02:00:45,280 this option that says allow bypass 4404 02:00:43,599 --> 02:00:46,639 permissions mode. And that's what allows 4405 02:00:45,280 --> 02:00:48,080 you to do that so that you can let your 4406 02:00:46,639 --> 02:00:49,840 agent run and you don't have to approve 4407 02:00:48,080 --> 02:00:51,360 every step. Now, as this is running, 4408 02:00:49,840 --> 02:00:52,719 what you'll notice is on the lefth hand 4409 02:00:51,360 --> 02:00:54,000 side, we're seeing some files and 4410 02:00:52,719 --> 02:00:55,520 folders pop up. So, we've got a 4411 02:00:54,000 --> 02:00:57,119 temporary folder, which just means 4412 02:00:55,520 --> 02:00:58,960 anything that it needs to store and then 4413 02:00:57,119 --> 02:01:00,480 like delete later just temporarily, it 4414 02:00:58,960 --> 02:01:02,000 can do so in there just to keep 4415 02:01:00,480 --> 02:01:03,520 everything clean. We've got our tools 4416 02:01:02,000 --> 02:01:06,080 folder, we've got our workflows folder, 4417 02:01:03,520 --> 02:01:07,360 and then we have av and getit ignore. So 4418 02:01:06,080 --> 02:01:10,000 this is going to help us just basically 4419 02:01:07,360 --> 02:01:12,800 keep our project clean, but also the 4420 02:01:10,000 --> 02:01:14,639 agent knows exactly where everything is. 4421 02:01:12,800 --> 02:01:17,199 Cool. So the project is now initialized 4422 02:01:14,639 --> 02:01:19,119 using our WAT framework and it showed us 4423 02:01:17,199 --> 02:01:20,400 what it created. So now let's move on to 4424 02:01:19,119 --> 02:01:21,920 section three of the video where we're 4425 02:01:20,400 --> 02:01:24,000 going to be talking about planning and 4426 02:01:21,920 --> 02:01:26,000 communicating with our agent. So what 4427 02:01:24,000 --> 02:01:27,840 I'm going to do is I'm going to clear 4428 02:01:26,000 --> 02:01:29,520 out this conversation. If I wanted to 4429 02:01:27,840 --> 02:01:31,599 access past conversations, I could do so 4430 02:01:29,520 --> 02:01:33,280 up here. I'm going to go to plan mode. 4431 02:01:31,599 --> 02:01:35,440 And this is really important. Whenever 4432 02:01:33,280 --> 02:01:37,520 you're doing something that actually 4433 02:01:35,440 --> 02:01:39,119 involves like creating something, you 4434 02:01:37,520 --> 02:01:40,719 need to describe the goal and you need 4435 02:01:39,119 --> 02:01:42,639 to be able to describe it super super 4436 02:01:40,719 --> 02:01:44,080 clearly. And it's not just the goal, you 4437 02:01:42,639 --> 02:01:45,440 need to also describe the features that 4438 02:01:44,080 --> 02:01:47,119 you want. And if you were to just 4439 02:01:45,440 --> 02:01:48,560 describe something and then chuck clawed 4440 02:01:47,119 --> 02:01:50,320 code at it and you would do bypass 4441 02:01:48,560 --> 02:01:52,480 permissions, you probably wouldn't get a 4442 02:01:50,320 --> 02:01:54,400 great output. So what you always want to 4443 02:01:52,480 --> 02:01:56,080 do when you're creating an idea is you 4444 02:01:54,400 --> 02:01:57,360 want to go on plan mode. Because what 4445 02:01:56,080 --> 02:01:59,840 you're going to see is when I'm on plan 4446 02:01:57,360 --> 02:02:01,760 mode, it thinks extra hard and it looks 4447 02:01:59,840 --> 02:02:03,920 at everything in the folder and it's 4448 02:02:01,760 --> 02:02:04,960 going to ask me tons of questions that I 4449 02:02:03,920 --> 02:02:06,560 might not have thought of, which is 4450 02:02:04,960 --> 02:02:07,679 really, really helpful because it gets a 4451 02:02:06,560 --> 02:02:09,599 really, really good understanding of 4452 02:02:07,679 --> 02:02:10,960 what we want and it brainstorms options 4453 02:02:09,599 --> 02:02:12,880 and then it actually will do it after 4454 02:02:10,960 --> 02:02:14,159 it's confident. So, let's explain the 4455 02:02:12,880 --> 02:02:16,080 workflow that we want to build today. 4456 02:02:14,159 --> 02:02:18,480 Hey Claude, I need your help building an 4457 02:02:16,080 --> 02:02:21,599 automation. I want this automation to 4458 02:02:18,480 --> 02:02:23,920 basically scrape tons of YouTube videos 4459 02:02:21,599 --> 02:02:26,639 and YouTube channels in my niche, which 4460 02:02:23,920 --> 02:02:28,400 is AI and AI automation. I want to get 4461 02:02:26,639 --> 02:02:30,320 insights about what videos are trending, 4462 02:02:28,400 --> 02:02:32,960 what's working well, and kind of what 4463 02:02:30,320 --> 02:02:34,480 the AI space is feeling like so that I 4464 02:02:32,960 --> 02:02:35,840 can create more content that people want 4465 02:02:34,480 --> 02:02:37,679 to see and that will be beneficial for 4466 02:02:35,840 --> 02:02:39,119 them. I need your help understanding how 4467 02:02:37,679 --> 02:02:41,520 we can actually get this data. So, look 4468 02:02:39,119 --> 02:02:43,119 into different APIs or MCP servers. 4469 02:02:41,520 --> 02:02:45,040 Also, let me know if there's any skills 4470 02:02:43,119 --> 02:02:46,719 that would be helpful because after 4471 02:02:45,040 --> 02:02:48,639 you've done this research, what I want 4472 02:02:46,719 --> 02:02:50,639 you to do is I want you to create a 4473 02:02:48,639 --> 02:02:52,239 slide deck for me. So, I want to get an 4474 02:02:50,639 --> 02:02:54,800 actual deliverable that will be sent to 4475 02:02:52,239 --> 02:02:57,360 my email using Gmail and it should be a 4476 02:02:54,800 --> 02:02:59,440 really nice professionallook slide deck 4477 02:02:57,360 --> 02:03:00,639 with charts and images and all of these 4478 02:02:59,440 --> 02:03:02,480 different graphics so that I can 4479 02:03:00,639 --> 02:03:04,239 understand what's going on in the 4480 02:03:02,480 --> 02:03:06,320 industry. So, that's what I've got. Let 4481 02:03:04,239 --> 02:03:07,760 me know if you have any questions or if 4482 02:03:06,320 --> 02:03:09,040 you have any recommendations for things 4483 02:03:07,760 --> 02:03:11,040 that I haven't thought of about this 4484 02:03:09,040 --> 02:03:12,960 automation system. Cool. So that was my 4485 02:03:11,040 --> 02:03:15,199 little brain dump and it's going to come 4486 02:03:12,960 --> 02:03:16,960 back and ask me a ton of questions which 4487 02:03:15,199 --> 02:03:18,880 is just going to help make this project 4488 02:03:16,960 --> 02:03:20,719 a lot lot better. And so I know a lot of 4489 02:03:18,880 --> 02:03:22,480 you guys might be looking at this and it 4490 02:03:20,719 --> 02:03:24,239 seems overwhelming and confusing and I 4491 02:03:22,480 --> 02:03:25,760 agree like when I first wanted to dive 4492 02:03:24,239 --> 02:03:27,599 into cloud code I watched some YouTube 4493 02:03:25,760 --> 02:03:29,040 videos and I just it didn't click. The 4494 02:03:27,599 --> 02:03:30,960 only way it's truly going to click is if 4495 02:03:29,040 --> 02:03:33,040 you get in here and you do it yourself 4496 02:03:30,960 --> 02:03:34,800 because once you send off these messages 4497 02:03:33,040 --> 02:03:36,239 just read everything it's doing. Read 4498 02:03:34,800 --> 02:03:37,440 every single line and you'll start to 4499 02:03:36,239 --> 02:03:39,199 understand the way that these models 4500 02:03:37,440 --> 02:03:41,280 think and what they try to do. And 4501 02:03:39,199 --> 02:03:43,119 that's truly the best way. So after this 4502 02:03:41,280 --> 02:03:44,719 video, restart it from the beginning, 4503 02:03:43,119 --> 02:03:46,000 open up Cloud Code, and just kind of 4504 02:03:44,719 --> 02:03:47,920 follow along with what I'm doing and it 4505 02:03:46,000 --> 02:03:49,199 will all start to click. I promise. And 4506 02:03:47,920 --> 02:03:50,719 by the way, you can see that as it's 4507 02:03:49,199 --> 02:03:52,560 making this plan for us, it's doing 4508 02:03:50,719 --> 02:03:54,480 research. So it's not just thinking, 4509 02:03:52,560 --> 02:03:56,239 it's also searching the web to find out 4510 02:03:54,480 --> 02:03:58,320 how we can scrape the YouTube analytics 4511 02:03:56,239 --> 02:03:59,840 and how we can use MCP servers and 4512 02:03:58,320 --> 02:04:01,360 things like that. Okay, so we got some 4513 02:03:59,840 --> 02:04:02,800 questions now from Claude. It says, 4514 02:04:01,360 --> 02:04:04,560 "What specific YouTube channels do you 4515 02:04:02,800 --> 02:04:06,239 want to track? Should I discover top AI 4516 02:04:04,560 --> 02:04:07,520 automation channels automatically or do 4517 02:04:06,239 --> 02:04:09,360 you have a list? Let's just go with 4518 02:04:07,520 --> 02:04:11,119 autodiscocover top channels. Frequency 4519 02:04:09,360 --> 02:04:12,480 is how often should this report be sent? 4520 02:04:11,119 --> 02:04:14,159 I'm going to go ahead and do weekly. 4521 02:04:12,480 --> 02:04:16,080 Then it asks us if we want to track all 4522 02:04:14,159 --> 02:04:17,760 this data in sheets. Yes, absolutely. 4523 02:04:16,080 --> 02:04:19,360 Let's do that. And then for delivery, it 4524 02:04:17,760 --> 02:04:21,119 says what email address should the 4525 02:04:19,360 --> 02:04:23,280 reports be sent to? And I'm going to go 4526 02:04:21,119 --> 02:04:24,480 ahead and say send to my Gmail. So, I 4527 02:04:23,280 --> 02:04:25,679 shut off those answers and now it's 4528 02:04:24,480 --> 02:04:27,360 going to keep updating the plan. All 4529 02:04:25,679 --> 02:04:28,639 right. So, the plan is finished. The 4530 02:04:27,360 --> 02:04:30,480 objective is to build an automated 4531 02:04:28,639 --> 02:04:33,199 system that scrapes YouTube data for the 4532 02:04:30,480 --> 02:04:34,960 AI niche. It analyzes trends and gets 4533 02:04:33,199 --> 02:04:36,400 performance metrics and then generates a 4534 02:04:34,960 --> 02:04:38,560 professional slide deck with charts and 4535 02:04:36,400 --> 02:04:40,159 visualizations and sends that to me over 4536 02:04:38,560 --> 02:04:41,520 Gmail. We've got the workflow which is 4537 02:04:40,159 --> 02:04:43,360 YouTube weekly report. We've got the 4538 02:04:41,520 --> 02:04:44,800 agent layer. We've got different tools. 4539 02:04:43,360 --> 02:04:46,000 It's going to build out these seven 4540 02:04:44,800 --> 02:04:48,000 different Python tools that it 4541 02:04:46,000 --> 02:04:49,760 mentioned. So fetching YouTube data, 4542 02:04:48,000 --> 02:04:52,080 analyzing YouTube data, generating 4543 02:04:49,760 --> 02:04:54,239 charts, generating slides, sending the 4544 02:04:52,080 --> 02:04:56,000 email report, exporting to sheets, and 4545 02:04:54,239 --> 02:04:58,239 discovering channels. And now it needs 4546 02:04:56,000 --> 02:04:59,360 to actually create this workflow. So, we 4547 02:04:58,239 --> 02:05:00,880 could obviously read through all of this 4548 02:04:59,360 --> 02:05:02,000 and we could give it some feedback if we 4549 02:05:00,880 --> 02:05:03,440 wanted to, but I'm just going to go 4550 02:05:02,000 --> 02:05:05,280 ahead and accept these because I want to 4551 02:05:03,440 --> 02:05:07,199 see how well it did with just one 4552 02:05:05,280 --> 02:05:08,480 iteration of our plan, which took me a 4553 02:05:07,199 --> 02:05:10,080 few minutes. So, you can see what it 4554 02:05:08,480 --> 02:05:11,280 does is it starts a to-do list. So, it's 4555 02:05:10,080 --> 02:05:12,880 basically just going to knock off one of 4556 02:05:11,280 --> 02:05:14,239 these at a time. And that's really nice 4557 02:05:12,880 --> 02:05:15,760 because it helps the agent stay on 4558 02:05:14,239 --> 02:05:17,360 track, but it also means that you could 4559 02:05:15,760 --> 02:05:19,119 go to your other monitor here and work 4560 02:05:17,360 --> 02:05:20,880 on something else and just kind of keep 4561 02:05:19,119 --> 02:05:22,960 peeking in on it and checking on the 4562 02:05:20,880 --> 02:05:24,880 to-do list to see how much is left to 4563 02:05:22,960 --> 02:05:26,400 run. Okay, so the to-do list is done. 4564 02:05:24,880 --> 02:05:28,400 The workflows and tools have been built. 4565 02:05:26,400 --> 02:05:29,920 So, here's where we're at. We've got our 4566 02:05:28,400 --> 02:05:31,599 seven tools have been created. So, if I 4567 02:05:29,920 --> 02:05:33,760 open up the tools folder, we should see 4568 02:05:31,599 --> 02:05:35,440 we now have these seven Python files. 4569 02:05:33,760 --> 02:05:37,840 And each of these, like I said, are 4570 02:05:35,440 --> 02:05:39,760 actual Python code that will execute 4571 02:05:37,840 --> 02:05:41,599 some sort of action. So, those have been 4572 02:05:39,760 --> 02:05:43,520 built. We've also got the workflow. So, 4573 02:05:41,599 --> 02:05:45,280 this is our markdown file, YouTube 4574 02:05:43,520 --> 02:05:46,960 weekly report, which is an actual 4575 02:05:45,280 --> 02:05:48,639 process. So, I'm not going to read this 4576 02:05:46,960 --> 02:05:50,320 whole thing, but it has the actual steps 4577 02:05:48,639 --> 02:05:51,679 that we would be doing here. So, now it 4578 02:05:50,320 --> 02:05:53,199 says to get started, we have a few 4579 02:05:51,679 --> 02:05:54,719 dependencies. So, the first one is we 4580 02:05:53,199 --> 02:05:56,880 need to install something. The second 4581 02:05:54,719 --> 02:05:58,639 one is to add a YouTube API key. The 4582 02:05:56,880 --> 02:06:00,639 third one is to set up Google OOTH for 4583 02:05:58,639 --> 02:06:02,320 Gmail and Sheets. And then the fourth 4584 02:06:00,639 --> 02:06:03,679 one is just to run the actual workflow. 4585 02:06:02,320 --> 02:06:05,440 So a lot of times when Cloud Code's done 4586 02:06:03,679 --> 02:06:06,719 and it has some action items, it 4587 02:06:05,440 --> 02:06:08,719 actually just tells you to do some stuff 4588 02:06:06,719 --> 02:06:09,760 that it could do itself. So right now we 4589 02:06:08,719 --> 02:06:11,520 would obviously have to go get our 4590 02:06:09,760 --> 02:06:13,040 YouTube API key and then we could just 4591 02:06:11,520 --> 02:06:14,960 give it to it and say, "Hey, you go 4592 02:06:13,040 --> 02:06:16,800 update the ENV. I don't want to touch 4593 02:06:14,960 --> 02:06:18,639 that. You just go do it." But first, 4594 02:06:16,800 --> 02:06:20,080 what it's doing is it's asking us to do 4595 02:06:18,639 --> 02:06:22,159 this. So, we could obviously just 4596 02:06:20,080 --> 02:06:24,159 install this right now, or I could just 4597 02:06:22,159 --> 02:06:25,840 say, "Can you please go ahead and 4598 02:06:24,159 --> 02:06:28,000 install the dependencies? I'll go grab 4599 02:06:25,840 --> 02:06:29,520 my YouTube API key." Cool. So, it went 4600 02:06:28,000 --> 02:06:31,119 ahead and installed that stuff just like 4601 02:06:29,520 --> 02:06:33,040 I told it to. And now it's asking for a 4602 02:06:31,119 --> 02:06:34,639 YouTube API key. So, instead of just 4603 02:06:33,040 --> 02:06:36,079 adding it to the file, I'm just going to 4604 02:06:34,639 --> 02:06:37,679 drop it in right here. And then the one 4605 02:06:36,079 --> 02:06:39,199 thing I will have to go do manually is 4606 02:06:37,679 --> 02:06:41,440 step three. So, I'll have to enable the 4607 02:06:39,199 --> 02:06:43,119 YouTube data API and Gmail and Google 4608 02:06:41,440 --> 02:06:45,440 Sheets and then create the credentials 4609 02:06:43,119 --> 02:06:46,560 and just drag in the JSON file, which I 4610 02:06:45,440 --> 02:06:48,239 will do that in a sec. And here's 4611 02:06:46,560 --> 02:06:50,239 another thing I'm doing with my API key. 4612 02:06:48,239 --> 02:06:52,320 It should only be added to the ENV file. 4613 02:06:50,239 --> 02:06:54,000 It shouldn't be listed in the workflows 4614 02:06:52,320 --> 02:06:55,599 or the tools. Okay, so I added 4615 02:06:54,000 --> 02:06:56,880 everything that I needed to. And if 4616 02:06:55,599 --> 02:06:58,560 you're confused about how to do that, 4617 02:06:56,880 --> 02:06:59,840 just say, "Hey, where do I go? What do I 4618 02:06:58,560 --> 02:07:01,360 click on? How do I do that?" And it'll 4619 02:06:59,840 --> 02:07:02,560 walk you through. And now what it's 4620 02:07:01,360 --> 02:07:03,920 doing is because it has all our 4621 02:07:02,560 --> 02:07:05,760 credentials, it's actually just testing 4622 02:07:03,920 --> 02:07:07,520 out if the things work. So you can see 4623 02:07:05,760 --> 02:07:09,360 the YouTube API is working now. Let's 4624 02:07:07,520 --> 02:07:10,800 run the full data collection pipeline. 4625 02:07:09,360 --> 02:07:12,159 So it's basically just testing that the 4626 02:07:10,800 --> 02:07:14,639 flow works and then we'll give it a full 4627 02:07:12,159 --> 02:07:15,920 run. But we can see that it just ran the 4628 02:07:14,639 --> 02:07:18,400 full pipeline. So that was our first 4629 02:07:15,920 --> 02:07:20,480 initial test. It found 30 channels. It 4630 02:07:18,400 --> 02:07:22,880 fetched 187 videos. It generated 4631 02:07:20,480 --> 02:07:25,040 analysis. It made six charts. It built a 4632 02:07:22,880 --> 02:07:26,480 nine slide PowerPoint deck for us. 4633 02:07:25,040 --> 02:07:28,239 Exported it to Sheets. And then it 4634 02:07:26,480 --> 02:07:29,760 emailed us the report. So let's go take 4635 02:07:28,239 --> 02:07:31,760 a look at all that. Okay. So here's the 4636 02:07:29,760 --> 02:07:34,079 email that I got. AI automation YouTube 4637 02:07:31,760 --> 02:07:36,400 analytics. So the weekly report for Jan 4638 02:07:34,079 --> 02:07:38,880 20. We got 30 channels tracked, 187 4639 02:07:36,400 --> 02:07:40,719 videos. We have some top videos from the 4640 02:07:38,880 --> 02:07:42,560 week. We have recommendations. And then 4641 02:07:40,719 --> 02:07:44,239 we also have our PowerPoint right here, 4642 02:07:42,560 --> 02:07:45,920 which we can see. We have similar 4643 02:07:44,239 --> 02:07:47,840 information. We've got median views, 4644 02:07:45,920 --> 02:07:49,520 median engagement, trending topics. 4645 02:07:47,840 --> 02:07:51,440 We've got top performing videos. So, we 4646 02:07:49,520 --> 02:07:52,960 have this laid out by title and by 4647 02:07:51,440 --> 02:07:54,800 views. We've got top channels by 4648 02:07:52,960 --> 02:07:56,639 subscribers. Unfortunately, I do not see 4649 02:07:54,800 --> 02:07:58,159 my name up there, so please hit the 4650 02:07:56,639 --> 02:08:00,400 subscribe button. We've got engagement 4651 02:07:58,159 --> 02:08:03,199 analytics. We've got trending topics, by 4652 02:08:00,400 --> 02:08:04,880 keywords in the Aming patterns, and then 4653 02:08:03,199 --> 02:08:06,719 we have some recommendations to kind of 4654 02:08:04,880 --> 02:08:08,239 close us off here. So, keep in mind this 4655 02:08:06,719 --> 02:08:09,440 is not perfect, and we obviously would 4656 02:08:08,239 --> 02:08:12,880 want to come back and make this a little 4657 02:08:09,440 --> 02:08:14,880 bit more tailored for us, but this was 4658 02:08:12,880 --> 02:08:16,880 one prompt. Cloud code asks us questions 4659 02:08:14,880 --> 02:08:18,400 and then I basically just sat down and 4660 02:08:16,880 --> 02:08:20,480 then I came back over here when it was 4661 02:08:18,400 --> 02:08:22,480 done and this is what we have ready for 4662 02:08:20,480 --> 02:08:24,400 us. What we also see is that we got this 4663 02:08:22,480 --> 02:08:26,239 exported to a Google sheet. So if I 4664 02:08:24,400 --> 02:08:27,760 click on this, remember that we didn't 4665 02:08:26,239 --> 02:08:30,239 create the sheet. We didn't create these 4666 02:08:27,760 --> 02:08:32,079 different tabs or the actual like schema 4667 02:08:30,239 --> 02:08:33,679 of this. But we've got three tabs. The 4668 02:08:32,079 --> 02:08:35,280 first one is channel stats. So this 4669 02:08:33,679 --> 02:08:36,880 pulled channel stats from today's date 4670 02:08:35,280 --> 02:08:38,960 which is January 20th. We have the 4671 02:08:36,880 --> 02:08:40,639 channel IDs. We have the actual channel 4672 02:08:38,960 --> 02:08:42,960 names. And then we've got subscribers, 4673 02:08:40,639 --> 02:08:45,119 total views, and video count. We can see 4674 02:08:42,960 --> 02:08:47,360 nice that Nate Herk AI automation did 4675 02:08:45,119 --> 02:08:49,119 make it in this scrape. We've also got 4676 02:08:47,360 --> 02:08:50,960 top videos. So once again, this was ran 4677 02:08:49,119 --> 02:08:52,800 based on today's analytics. We got the 4678 02:08:50,960 --> 02:08:54,400 video ID. We've got the title of the 4679 02:08:52,800 --> 02:08:55,840 videos. We've got the channel, the 4680 02:08:54,400 --> 02:08:57,440 views, the likes, the comments, the 4681 02:08:55,840 --> 02:08:59,199 engagement rate, which is pretty cool. 4682 02:08:57,440 --> 02:09:01,199 And also how old the videos are. So we 4683 02:08:59,199 --> 02:09:02,960 can see that we're getting real accurate 4684 02:09:01,199 --> 02:09:04,480 like what's trending right now. And then 4685 02:09:02,960 --> 02:09:06,079 we get a weekly summary. So this is 4686 02:09:04,480 --> 02:09:07,280 supposed to run every single week. We 4687 02:09:06,079 --> 02:09:08,639 can see the day that it ran, the 4688 02:09:07,280 --> 02:09:10,480 channels it tracked, the videos it 4689 02:09:08,639 --> 02:09:13,199 analyzed, the median views, the median 4690 02:09:10,480 --> 02:09:14,800 engagement score, and the top keyword in 4691 02:09:13,199 --> 02:09:17,040 top keyword 2, which actually, it's 4692 02:09:14,800 --> 02:09:18,560 funnily enough, spells out claude code, 4693 02:09:17,040 --> 02:09:20,320 which is why you're seeing this video 4694 02:09:18,560 --> 02:09:22,079 right now. Okay, so let's recap what 4695 02:09:20,320 --> 02:09:24,079 we've done. We have familiarized with 4696 02:09:22,079 --> 02:09:26,560 the interface. We have built out the 4697 02:09:24,079 --> 02:09:28,320 actual structure of our project using a 4698 02:09:26,560 --> 02:09:30,639 cloud.md file, which is like a system 4699 02:09:28,320 --> 02:09:33,119 prompt. Now, we have our workflows. We 4700 02:09:30,639 --> 02:09:34,400 have our tools and we have actually gone 4701 02:09:33,119 --> 02:09:37,040 through the whole planning stage with 4702 02:09:34,400 --> 02:09:38,960 claude code to build out the initial you 4703 02:09:37,040 --> 02:09:40,560 know workflow automation that we need. 4704 02:09:38,960 --> 02:09:42,159 So what comes next now is we want to 4705 02:09:40,560 --> 02:09:44,480 talk about a few other things. We want 4706 02:09:42,159 --> 02:09:45,840 to talk about superpowers. So MCPS and 4707 02:09:44,480 --> 02:09:46,800 skills and then we're going to test it a 4708 02:09:45,840 --> 02:09:49,360 little bit more and then we're going to 4709 02:09:46,800 --> 02:09:52,159 actually deploy the automation live. So 4710 02:09:49,360 --> 02:09:53,679 to start off with superpowers MCP 4711 02:09:52,159 --> 02:09:55,760 servers. So I'm not going to dive super 4712 02:09:53,679 --> 02:09:57,280 super deep into MCP servers in this 4713 02:09:55,760 --> 02:09:58,560 video but I did want to bring it up. So, 4714 02:09:57,280 --> 02:09:59,840 if you remember in plan mode, I 4715 02:09:58,560 --> 02:10:01,920 basically said, "Hey, I want to scrape 4716 02:09:59,840 --> 02:10:03,920 YouTube data. Can you just go figure out 4717 02:10:01,920 --> 02:10:05,840 if I should use an MCP server or like an 4718 02:10:03,920 --> 02:10:07,679 API?" And it ended up finding out that 4719 02:10:05,840 --> 02:10:09,440 the YouTube API was going to work 4720 02:10:07,679 --> 02:10:10,960 better. So, that's why we did it in this 4721 02:10:09,440 --> 02:10:14,400 workflow. But essentially, just think of 4722 02:10:10,960 --> 02:10:16,480 an MCP server as an app store. So, Gmail 4723 02:10:14,400 --> 02:10:18,800 has an MCP server, Calendar has an MCP 4724 02:10:16,480 --> 02:10:20,159 server, lots of these services do. And 4725 02:10:18,800 --> 02:10:21,679 this is like one of the most common 4726 02:10:20,159 --> 02:10:25,840 visualizations because it's like a 4727 02:10:21,679 --> 02:10:28,239 universal micro USB port because instead 4728 02:10:25,840 --> 02:10:30,079 of having to go to calendar's API and 4729 02:10:28,239 --> 02:10:31,679 have one different API request to create 4730 02:10:30,079 --> 02:10:33,119 an event, one different one to update 4731 02:10:31,679 --> 02:10:34,960 event, one different one to delete an 4732 02:10:33,119 --> 02:10:37,119 event, all we have to do is connect once 4733 02:10:34,960 --> 02:10:38,560 to the whole server and then the agent 4734 02:10:37,119 --> 02:10:40,079 can figure out how to go use different 4735 02:10:38,560 --> 02:10:41,679 endpoints and parameters. It just 4736 02:10:40,079 --> 02:10:42,800 simplifies the whole process. Now, what 4737 02:10:41,679 --> 02:10:44,719 I did want to talk about a little bit 4738 02:10:42,800 --> 02:10:46,400 more was the idea of claude skills 4739 02:10:44,719 --> 02:10:48,480 because this is a little bit newer. So 4740 02:10:46,400 --> 02:10:50,079 essentially skills are instructions or 4741 02:10:48,480 --> 02:10:51,599 resources that Claude can load in 4742 02:10:50,079 --> 02:10:53,199 dynamically. And that's kind of the key 4743 02:10:51,599 --> 02:10:54,480 piece here is that instead of just 4744 02:10:53,199 --> 02:10:56,960 reading it every time in a system 4745 02:10:54,480 --> 02:10:58,639 prompt, it basically understands what is 4746 02:10:56,960 --> 02:11:00,719 the request. Let me go look at all the 4747 02:10:58,639 --> 02:11:02,320 skills I have access to. If one of them 4748 02:11:00,719 --> 02:11:04,320 is relevant, I'll pick that one. I'll 4749 02:11:02,320 --> 02:11:06,079 read it all and then I'll take action. 4750 02:11:04,320 --> 02:11:07,760 And this process basically just improves 4751 02:11:06,079 --> 02:11:10,000 Claude's consistency, speed, and 4752 02:11:07,760 --> 02:11:11,440 performance. And also saves you tokens. 4753 02:11:10,000 --> 02:11:12,639 Like I said, when you ask Claude to do 4754 02:11:11,440 --> 02:11:14,239 something, it reviews the available 4755 02:11:12,639 --> 02:11:15,520 skills. it loads in only the relevant 4756 02:11:14,239 --> 02:11:17,119 ones and then it applies those 4757 02:11:15,520 --> 02:11:18,800 instructions. So, we're going to go 4758 02:11:17,119 --> 02:11:20,480 ahead and try to implement a skill into 4759 02:11:18,800 --> 02:11:22,400 this workflow and I'll actually show you 4760 02:11:20,480 --> 02:11:23,840 what the skill document entails. So, 4761 02:11:22,400 --> 02:11:25,599 then it will all start to make a little 4762 02:11:23,840 --> 02:11:26,880 bit more sense. But before we do that, I 4763 02:11:25,599 --> 02:11:28,239 did want to real quick cover the 4764 02:11:26,880 --> 02:11:30,079 difference between skills and projects 4765 02:11:28,239 --> 02:11:32,800 and skills and MCP. So, the first one is 4766 02:11:30,079 --> 02:11:34,480 about projects. You're in a project and 4767 02:11:32,800 --> 02:11:36,159 basically what we have is access to 4768 02:11:34,480 --> 02:11:37,840 whatever is in here. So, it's kind of 4769 02:11:36,159 --> 02:11:39,280 static documents and background 4770 02:11:37,840 --> 02:11:41,040 information. And a lot of times these 4771 02:11:39,280 --> 02:11:42,800 skills are installed globally. So what 4772 02:11:41,040 --> 02:11:44,560 you'll notice actually in our project is 4773 02:11:42,800 --> 02:11:46,239 that we don't have any skills in this 4774 02:11:44,560 --> 02:11:47,760 project. Normally there will be like a 4775 02:11:46,239 --> 02:11:49,040 thing that will be like agents and then 4776 02:11:47,760 --> 02:11:51,440 you drill down in that folder and you'll 4777 02:11:49,040 --> 02:11:53,119 see like agent skills or claude skills. 4778 02:11:51,440 --> 02:11:54,560 And that's more installed on the global 4779 02:11:53,119 --> 02:11:56,079 level. And that's actually really good 4780 02:11:54,560 --> 02:11:57,520 because what that means is if I closed 4781 02:11:56,079 --> 02:11:59,360 out of this project and I opened up a 4782 02:11:57,520 --> 02:12:00,880 different one, I would still have access 4783 02:11:59,360 --> 02:12:02,159 to all the same skills that I've already 4784 02:12:00,880 --> 02:12:04,000 installed. So you can see right here 4785 02:12:02,159 --> 02:12:05,360 that I just asked Claude Code, "What 4786 02:12:04,000 --> 02:12:06,639 skills do you have?" and it came back 4787 02:12:05,360 --> 02:12:08,960 and showed that it has a front-end 4788 02:12:06,639 --> 02:12:10,880 design. It has naden skills and those 4789 02:12:08,960 --> 02:12:12,400 are the only eight that it actually has 4790 02:12:10,880 --> 02:12:14,239 even though we don't see them in this 4791 02:12:12,400 --> 02:12:16,000 specific project. Now we have skills 4792 02:12:14,239 --> 02:12:18,960 versus MCP and these are also very 4793 02:12:16,000 --> 02:12:21,599 different. MCP is basically to get data 4794 02:12:18,960 --> 02:12:23,119 and take action. So like I said if you 4795 02:12:21,599 --> 02:12:25,360 want to connect Claude to something like 4796 02:12:23,119 --> 02:12:27,360 Gmail to read emails or to send emails 4797 02:12:25,360 --> 02:12:29,199 but skills are more like knowledge 4798 02:12:27,360 --> 02:12:30,639 custom instructions. So, if you ever 4799 02:12:29,199 --> 02:12:32,800 find yourself constantly repeating 4800 02:12:30,639 --> 02:12:34,000 something to your cloud code agent, then 4801 02:12:32,800 --> 02:12:36,239 maybe that's a good sign to put it 4802 02:12:34,000 --> 02:12:38,079 either in the claw.md file or create 4803 02:12:36,239 --> 02:12:39,599 your own custom skill for it. So, like 4804 02:12:38,079 --> 02:12:40,880 the example of the front-end design, if 4805 02:12:39,599 --> 02:12:42,880 you wanted to use cloud code to build 4806 02:12:40,880 --> 02:12:44,960 yourself a landing page or a website, 4807 02:12:42,880 --> 02:12:46,639 using the front-end design significantly 4808 02:12:44,960 --> 02:12:48,480 improves its ability to actually design 4809 02:12:46,639 --> 02:12:51,360 things. So, what we're going to be doing 4810 02:12:48,480 --> 02:12:52,560 in this example now is I want to use a 4811 02:12:51,360 --> 02:12:54,719 skill and I'm going to be looking at 4812 02:12:52,560 --> 02:12:56,239 this cloud code templates website which 4813 02:12:54,719 --> 02:12:58,719 has a bunch of agents and commands and 4814 02:12:56,239 --> 02:13:00,800 MCP servers and skills and hooks and I'm 4815 02:12:58,719 --> 02:13:02,960 going to be looking for one that helps 4816 02:13:00,800 --> 02:13:04,159 us create like better looking PDFs. I'll 4817 02:13:02,960 --> 02:13:05,360 also leave a link to this in the 4818 02:13:04,159 --> 02:13:06,639 description of the video. So, I went 4819 02:13:05,360 --> 02:13:07,920 ahead and searched for design and you 4820 02:13:06,639 --> 02:13:09,679 can see there's a skill right here 4821 02:13:07,920 --> 02:13:11,840 called canvas design. And if I view 4822 02:13:09,679 --> 02:13:14,960 details here, it says create beautiful 4823 02:13:11,840 --> 02:13:16,880 visual art inputs 4824 02:13:14,960 --> 02:13:18,079 using design philosophy. So, we're going 4825 02:13:16,880 --> 02:13:19,360 to go ahead and try this one out. I've 4826 02:13:18,079 --> 02:13:21,119 never used it before. We'll see how it 4827 02:13:19,360 --> 02:13:23,840 works. But this is actually like the 4828 02:13:21,119 --> 02:13:25,119 code of the skill itself. And you can 4829 02:13:23,840 --> 02:13:26,719 see it basically is just natural 4830 02:13:25,119 --> 02:13:28,880 language instructions. So, it's just a 4831 02:13:26,719 --> 02:13:30,800 custom prompt that someone built or you 4832 02:13:28,880 --> 02:13:32,239 built yourself. And now I can load this 4833 02:13:30,800 --> 02:13:34,239 into cloud code. So, when we have it 4834 02:13:32,239 --> 02:13:35,679 design a PDF, it can use this and it 4835 02:13:34,239 --> 02:13:37,199 will probably just come out a lot better 4836 02:13:35,679 --> 02:13:38,719 because it's prompted. So, we've got 4837 02:13:37,199 --> 02:13:40,400 installation right here where we can use 4838 02:13:38,719 --> 02:13:42,639 this code. So, what I would try is just 4839 02:13:40,400 --> 02:13:44,800 copying this, going into VS Code. I'm 4840 02:13:42,639 --> 02:13:46,079 going to go ahead and open up a, you 4841 02:13:44,800 --> 02:13:47,520 know, kind of clear the conversation and 4842 02:13:46,079 --> 02:13:49,280 just paste that in and see what happens 4843 02:13:47,520 --> 02:13:50,639 if I drop that in there. Okay, so I 4844 02:13:49,280 --> 02:13:52,239 dropped it in and then it actually ran 4845 02:13:50,639 --> 02:13:53,920 the command in our terminal to install 4846 02:13:52,239 --> 02:13:56,079 it. And it says that it's been installed 4847 02:13:53,920 --> 02:13:57,360 and we have skill.md for the 4848 02:13:56,079 --> 02:13:58,960 instructions for the skill. And then 4849 02:13:57,360 --> 02:14:00,560 we've also got a bunch of fonts. And 4850 02:13:58,960 --> 02:14:02,719 what it did is it actually created a new 4851 02:14:00,560 --> 02:14:04,320 folder here called.claude. And then we 4852 02:14:02,719 --> 02:14:06,239 do have skills right here. So you can 4853 02:14:04,320 --> 02:14:07,520 see that it put it in this project. So 4854 02:14:06,239 --> 02:14:08,880 now I'm a little confused because I 4855 02:14:07,520 --> 02:14:10,560 don't know. Okay, we have a skill here, 4856 02:14:08,880 --> 02:14:12,560 but we also have skills globally. So I 4857 02:14:10,560 --> 02:14:14,960 would literally just say it looks like 4858 02:14:12,560 --> 02:14:16,320 you created this skill in this project. 4859 02:14:14,960 --> 02:14:17,920 Is this going to be installed globally 4860 02:14:16,320 --> 02:14:19,599 or will it only be accessible through 4861 02:14:17,920 --> 02:14:21,040 this project? So right now it basically 4862 02:14:19,599 --> 02:14:22,960 says yeah this was installed just 4863 02:14:21,040 --> 02:14:24,239 locally in this project and that's fine. 4864 02:14:22,960 --> 02:14:26,000 And if you wanted it to be global 4865 02:14:24,239 --> 02:14:27,760 instead you would just say okay actually 4866 02:14:26,000 --> 02:14:29,199 just make that global and then it would. 4867 02:14:27,760 --> 02:14:30,719 So anyways going to clear out this 4868 02:14:29,199 --> 02:14:32,320 conversation one more time. I'm going to 4869 02:14:30,719 --> 02:14:33,920 go back into plan mode and I'm going to 4870 02:14:32,320 --> 02:14:35,360 give it a prompt. And actually one more 4871 02:14:33,920 --> 02:14:37,679 thing before I prompt it. I'm going to 4872 02:14:35,360 --> 02:14:39,679 drag in the AI Automation Society Plus 4873 02:14:37,679 --> 02:14:41,119 logo just over here on the lefth hand 4874 02:14:39,679 --> 02:14:43,199 side. And you can see it's right here 4875 02:14:41,119 --> 02:14:44,719 and the file pops up. Right. So, what 4876 02:14:43,199 --> 02:14:47,199 I'm going to do is prompt it, but I want 4877 02:14:44,719 --> 02:14:49,280 it to actually have this logo on all of 4878 02:14:47,199 --> 02:14:51,520 the PDFs that it generates. Hey Claude, 4879 02:14:49,280 --> 02:14:53,360 so I just gave you a skill for canvas 4880 02:14:51,520 --> 02:14:55,360 design. And instead of outputting a 4881 02:14:53,360 --> 02:14:57,440 PowerPoint presentation, I want you to 4882 02:14:55,360 --> 02:14:59,920 now take the same research when you do 4883 02:14:57,440 --> 02:15:02,320 your analysis from YouTube videos, but I 4884 02:14:59,920 --> 02:15:04,239 want you to use that canvas design skill 4885 02:15:02,320 --> 02:15:05,360 to create a PDF. It needs to be 4886 02:15:04,239 --> 02:15:07,040 professional, but it needs to be 4887 02:15:05,360 --> 02:15:08,960 aesthetically pleasing. And what I want 4888 02:15:07,040 --> 02:15:12,239 you to do is make sure you're including 4889 02:15:08,960 --> 02:15:14,159 the AIS Plus logo PNG that I dropped in 4890 02:15:12,239 --> 02:15:15,920 this folder as well because I want the 4891 02:15:14,159 --> 02:15:17,199 whole presentation to be branded so I 4892 02:15:15,920 --> 02:15:18,800 can share it with my team. So, I'm 4893 02:15:17,199 --> 02:15:20,079 shooting this off in plan mode and I'll 4894 02:15:18,800 --> 02:15:22,239 let you know when it comes back with 4895 02:15:20,079 --> 02:15:23,520 some questions. Interesting. So, it came 4896 02:15:22,239 --> 02:15:25,199 back and said that that canvas design 4897 02:15:23,520 --> 02:15:27,280 skill that we just installed creates 4898 02:15:25,199 --> 02:15:28,880 PDFs interactively, which means step 4899 02:15:27,280 --> 02:15:30,800 five of our workflow changes from fully 4900 02:15:28,880 --> 02:15:32,159 automated to semi-automated. So, how do 4901 02:15:30,800 --> 02:15:33,360 we want to handle this? Let's just go 4902 02:15:32,159 --> 02:15:34,480 ahead and just say keep it fully 4903 02:15:33,360 --> 02:15:35,920 automated because that's kind of the 4904 02:15:34,480 --> 02:15:38,079 whole point. We want to be able to push 4905 02:15:35,920 --> 02:15:39,920 this live to run on a schedule trigger. 4906 02:15:38,079 --> 02:15:41,679 Okay. So, the new plan is to replace the 4907 02:15:39,920 --> 02:15:42,800 PowerPoint output with a branded PDF 4908 02:15:41,679 --> 02:15:44,560 report. So, it's going to make a new 4909 02:15:42,800 --> 02:15:46,000 tool to replace the generate slides 4910 02:15:44,560 --> 02:15:47,840 tool. We have our current workflow 4911 02:15:46,000 --> 02:15:49,520 state. We've got our logo. It has some 4912 02:15:47,840 --> 02:15:51,199 proposed changes here. We're going to be 4913 02:15:49,520 --> 02:15:52,560 looking at the PDF structure. And of 4914 02:15:51,199 --> 02:15:54,000 course, what it has to do is update the 4915 02:15:52,560 --> 02:15:56,000 actual workflow. So, it's going to look 4916 02:15:54,000 --> 02:15:57,520 at this YouTube weekly report markdown 4917 02:15:56,000 --> 02:15:59,119 file, which is the actual workflow. Of 4918 02:15:57,520 --> 02:16:00,239 course, it's going to change that. It's 4919 02:15:59,119 --> 02:16:01,760 going to update some of the other tools 4920 02:16:00,239 --> 02:16:02,560 like the email tool. And then, of 4921 02:16:01,760 --> 02:16:04,320 course, it's got some other 4922 02:16:02,560 --> 02:16:05,599 implementation steps for us. And in this 4923 02:16:04,320 --> 02:16:07,599 case, what I'm going to go ahead and do 4924 02:16:05,599 --> 02:16:08,880 is just autoaccept these changes. And 4925 02:16:07,599 --> 02:16:10,480 so, right now, it's just setting up a 4926 02:16:08,880 --> 02:16:11,760 to-do list to actually implement those 4927 02:16:10,480 --> 02:16:13,199 changes. We're not going to be running 4928 02:16:11,760 --> 02:16:14,320 the workflow again. We're just going to 4929 02:16:13,199 --> 02:16:16,079 make the changes, and then we'll go 4930 02:16:14,320 --> 02:16:17,520 ahead and test it. And just a reminder, 4931 02:16:16,079 --> 02:16:19,040 when you guys are in here building your 4932 02:16:17,520 --> 02:16:20,639 own workflows, just pay attention to 4933 02:16:19,040 --> 02:16:21,840 what it's actually doing. It does some 4934 02:16:20,639 --> 02:16:23,760 really interesting things. Like right 4935 02:16:21,840 --> 02:16:25,040 here, it installed some dependencies to 4936 02:16:23,760 --> 02:16:26,480 actually be able to create the PDF a 4937 02:16:25,040 --> 02:16:28,079 little bit better. And then here it says 4938 02:16:26,480 --> 02:16:30,079 the PDF was generated, but it's using a 4939 02:16:28,079 --> 02:16:31,760 fallback using whatever this is, and it 4940 02:16:30,079 --> 02:16:33,200 would look better if it had proper title 4941 02:16:31,760 --> 02:16:34,639 and closing pages. So, it's going to 4942 02:16:33,200 --> 02:16:36,319 install something else and then try it 4943 02:16:34,639 --> 02:16:37,760 again. It's just a reminder of using 4944 02:16:36,319 --> 02:16:39,599 this framework of an agent that sits 4945 02:16:37,760 --> 02:16:41,359 between workflows and tools. As it's 4946 02:16:39,599 --> 02:16:43,519 building them out, as it's testing them, 4947 02:16:41,359 --> 02:16:44,800 it's continuously improving them, seeing 4948 02:16:43,519 --> 02:16:46,080 errors, seeing things that could be 4949 02:16:44,800 --> 02:16:47,359 improved, and then just going ahead and 4950 02:16:46,080 --> 02:16:48,800 doing that for you. So, that's where 4951 02:16:47,359 --> 02:16:50,319 it's really powerful. And this testing 4952 02:16:48,800 --> 02:16:51,679 and optimization phase is really 4953 02:16:50,319 --> 02:16:53,359 important because once you actually 4954 02:16:51,679 --> 02:16:54,880 deploy your automation, you're not 4955 02:16:53,359 --> 02:16:56,399 deploying the agent. You're just 4956 02:16:54,880 --> 02:16:58,000 basically deploying the workflow that's 4957 02:16:56,399 --> 02:16:59,840 connected to tools. And that's important 4958 02:16:58,000 --> 02:17:01,439 to understand. The workflow itself would 4959 02:16:59,840 --> 02:17:03,359 be put up into the cloud where it could 4960 02:17:01,439 --> 02:17:05,439 run on a schedule trigger, but the agent 4961 02:17:03,359 --> 02:17:07,200 still lives locally in cloud code. Which 4962 02:17:05,439 --> 02:17:08,800 means if a workflow which means if your 4963 02:17:07,200 --> 02:17:10,399 workflow is running every week, it's not 4964 02:17:08,800 --> 02:17:11,920 going to be self improving and 4965 02:17:10,399 --> 02:17:13,760 self-healing. So if you wanted to do 4966 02:17:11,920 --> 02:17:15,359 that, you would come over to cloud code, 4967 02:17:13,760 --> 02:17:17,120 you'd edit the workflow, you'd improve 4968 02:17:15,359 --> 02:17:18,880 it, and then you just push that version 4969 02:17:17,120 --> 02:17:20,960 back to modal or wherever you're hosting 4970 02:17:18,880 --> 02:17:23,519 them. But anyways, this finished up, so 4971 02:17:20,960 --> 02:17:25,200 it created a new tool. It modified a few 4972 02:17:23,519 --> 02:17:27,599 other things. It changed the actual 4973 02:17:25,200 --> 02:17:29,519 workflow itself. And then what also it 4974 02:17:27,599 --> 02:17:31,040 did is it made a test PDF just to see 4975 02:17:29,519 --> 02:17:33,040 how that worked. And you can see here 4976 02:17:31,040 --> 02:17:34,800 it's stored as a temporary file. So in 4977 02:17:33,040 --> 02:17:36,080 our temp folder, which is right here, 4978 02:17:34,800 --> 02:17:38,479 you can see right there we have a 4979 02:17:36,080 --> 02:17:40,880 YouTube report PDF. And let me just make 4980 02:17:38,479 --> 02:17:42,559 this bigger. We've got our logo right 4981 02:17:40,880 --> 02:17:44,719 here. We've got our AI and automation 4982 02:17:42,559 --> 02:17:46,000 YouTube analytics report and we have the 4983 02:17:44,719 --> 02:17:47,439 thank you slide. So it basically just 4984 02:17:46,000 --> 02:17:48,479 tested to see if it worked. But now 4985 02:17:47,439 --> 02:17:49,679 we're going to go ahead and run that 4986 02:17:48,479 --> 02:17:51,599 full workflow and then we're going to 4987 02:17:49,679 --> 02:17:54,479 see if we're ready to actually push it 4988 02:17:51,599 --> 02:17:55,679 up into production. So I'm on bypass 4989 02:17:54,479 --> 02:17:58,399 permissions and I'm just going to shoot 4990 02:17:55,679 --> 02:17:59,920 off run the YouTube analysis workflow 4991 02:17:58,399 --> 02:18:00,960 and it's not even called that, but it 4992 02:17:59,920 --> 02:18:02,479 will be able to search through the 4993 02:18:00,960 --> 02:18:03,920 workflows that it has and it's going to 4994 02:18:02,479 --> 02:18:06,160 understand which one to run. It's going 4995 02:18:03,920 --> 02:18:08,399 to execute all of those Python scripts 4996 02:18:06,160 --> 02:18:10,559 in order and then we should have a 4997 02:18:08,399 --> 02:18:12,080 finished product. Okay, so here's the 4998 02:18:10,559 --> 02:18:13,760 email. It has the similar structure as 4999 02:18:12,080 --> 02:18:14,960 far as the actual body of the email, but 5000 02:18:13,760 --> 02:18:17,200 then at the bottom, we should have our 5001 02:18:14,960 --> 02:18:18,639 PDF, which we got attached right here. 5002 02:18:17,200 --> 02:18:20,240 But what you'll notice is that it's only 5003 02:18:18,639 --> 02:18:21,519 two pages. So, it didn't actually create 5004 02:18:20,240 --> 02:18:23,519 the right type of PDF that we were 5005 02:18:21,519 --> 02:18:24,960 looking for. However, it did update the 5006 02:18:23,519 --> 02:18:27,120 Google sheet. So, it added, you know, 5007 02:18:24,960 --> 02:18:30,080 those 30 more videos that we originally 5008 02:18:27,120 --> 02:18:31,519 didn't have on this sheet. It added more 5009 02:18:30,080 --> 02:18:33,519 videos, of course, and then it threw in 5010 02:18:31,519 --> 02:18:35,760 one more weekly summary where it has a 5011 02:18:33,519 --> 02:18:36,880 little bit of a different metrics. And 5012 02:18:35,760 --> 02:18:38,719 what's interesting is that you can see 5013 02:18:36,880 --> 02:18:40,080 that it did generate charts and it did 5014 02:18:38,719 --> 02:18:42,080 do analysis because it actually 5015 02:18:40,080 --> 02:18:44,240 generated all of these images over here, 5016 02:18:42,080 --> 02:18:45,599 top channels, top videos, key 5017 02:18:44,240 --> 02:18:47,200 performance indicators, posting 5018 02:18:45,599 --> 02:18:48,800 patterns, all this kind of stuff. It 5019 02:18:47,200 --> 02:18:50,479 just didn't actually include it. So once 5020 02:18:48,800 --> 02:18:51,920 again, we would go back in natural 5021 02:18:50,479 --> 02:18:54,319 language and say, "Hey, you know, we 5022 02:18:51,920 --> 02:18:56,000 just got that PDF, but it was only two 5023 02:18:54,319 --> 02:18:57,359 slides." So what I did is I said 5024 02:18:56,000 --> 02:18:59,439 everything seemed to work except for the 5025 02:18:57,359 --> 02:19:01,359 PDF that I received was only two slides. 5026 02:18:59,439 --> 02:19:03,359 It was only the title and the thank you 5027 02:19:01,359 --> 02:19:05,040 page. So, it found the issue. It fixed 5028 02:19:03,359 --> 02:19:07,120 it. It changed the workflow. It changed 5029 02:19:05,040 --> 02:19:09,359 the tools. And now, it's shot me off a 5030 02:19:07,120 --> 02:19:10,719 new example with nine pages. And this 5031 02:19:09,359 --> 02:19:12,719 time, we still have the logo. We still 5032 02:19:10,719 --> 02:19:14,399 have the date. And we also now have all 5033 02:19:12,719 --> 02:19:16,000 of the actual slides that we need in 5034 02:19:14,399 --> 02:19:17,920 this PDF with the charts and things like 5035 02:19:16,000 --> 02:19:19,920 that, recommendations, and then we still 5036 02:19:17,920 --> 02:19:21,519 have the closing off slide. So, 5037 02:19:19,920 --> 02:19:23,840 hopefully you guys understand now how 5038 02:19:21,519 --> 02:19:25,599 important the planning really is because 5039 02:19:23,840 --> 02:19:27,359 we did kind of rush through this in this 5040 02:19:25,599 --> 02:19:28,719 example where we auto accepted changes 5041 02:19:27,359 --> 02:19:30,160 and we just kind of like sped through 5042 02:19:28,719 --> 02:19:31,679 things. And it's fine because we're 5043 02:19:30,160 --> 02:19:34,479 still able to go back and forth and let 5044 02:19:31,679 --> 02:19:36,639 Claude Code investigate and fix, but it 5045 02:19:34,479 --> 02:19:38,080 should show the importance of if you are 5046 02:19:36,639 --> 02:19:40,319 really really clear up front and you 5047 02:19:38,080 --> 02:19:42,000 know exactly what you need, it will be a 5048 02:19:40,319 --> 02:19:43,920 lot better off the jump, but it's not 5049 02:19:42,000 --> 02:19:45,359 perfect. Okay, so now let's say we're at 5050 02:19:43,920 --> 02:19:46,719 the spot where we're ready to basically 5051 02:19:45,359 --> 02:19:48,000 make this workflow live where we 5052 02:19:46,719 --> 02:19:49,840 actually want to forget about it and 5053 02:19:48,000 --> 02:19:51,920 just let it run every Monday at 6 a.m. 5054 02:19:49,840 --> 02:19:52,960 or whatever. So, we need to deploy it. 5055 02:19:51,920 --> 02:19:55,120 So, the way that we're going to do that 5056 02:19:52,960 --> 02:19:56,640 is we're going to use modal, which is AI 5057 02:19:55,120 --> 02:19:58,240 infrastructure that developers love. 5058 02:19:56,640 --> 02:19:59,920 Essentially, what modal is is it lets 5059 02:19:58,240 --> 02:20:01,680 you spin up these kind of like computers 5060 02:19:59,920 --> 02:20:03,760 in the cloud where you can host your 5061 02:20:01,680 --> 02:20:04,800 automations and it only charges you when 5062 02:20:03,760 --> 02:20:06,160 they actually run. So, you're not 5063 02:20:04,800 --> 02:20:07,600 getting charged by the minute or by the 5064 02:20:06,160 --> 02:20:09,200 day. You're only getting charged every 5065 02:20:07,600 --> 02:20:10,640 time they actually execute. So, when you 5066 02:20:09,200 --> 02:20:12,399 create an account, you'll get five bucks 5067 02:20:10,640 --> 02:20:13,760 for free. And then if you add a credit 5068 02:20:12,399 --> 02:20:15,760 card, even though it won't charge you 5069 02:20:13,760 --> 02:20:17,840 yet, you'll get 30 bucks. And this 30 5070 02:20:15,760 --> 02:20:19,439 bucks will last you a long, long time. 5071 02:20:17,840 --> 02:20:20,800 Trust me. So, what'll happen is this 5072 02:20:19,439 --> 02:20:22,000 screen will probably pop up and it will 5073 02:20:20,800 --> 02:20:23,920 say that you need to download and 5074 02:20:22,000 --> 02:20:26,240 configure the Python client. So you 5075 02:20:23,920 --> 02:20:27,760 could basically copy this exact command 5076 02:20:26,240 --> 02:20:29,439 right here and just put that into cloud 5077 02:20:27,760 --> 02:20:31,520 code or you could just say hey cloud 5078 02:20:29,439 --> 02:20:33,200 code I want to push this workflow to 5079 02:20:31,520 --> 02:20:34,640 modal. So just help me get that 5080 02:20:33,200 --> 02:20:36,479 initialized. But I'll just show you what 5081 02:20:34,640 --> 02:20:39,200 would happen if you copied this and we 5082 02:20:36,479 --> 02:20:42,880 came into cloud code and said awesome I 5083 02:20:39,200 --> 02:20:44,800 want to push the YouTube analytics 5084 02:20:42,880 --> 02:20:46,720 workflow to modal so that it can 5085 02:20:44,800 --> 02:20:48,000 actually run every single Monday at 6 5086 02:20:46,720 --> 02:20:49,439 a.m. And then I'm going to go ahead and 5087 02:20:48,000 --> 02:20:51,120 paste in those two things that we just 5088 02:20:49,439 --> 02:20:52,960 saw. And let's actually do this in plan 5089 02:20:51,120 --> 02:20:54,160 mode first and just shoot that off. So 5090 02:20:52,960 --> 02:20:55,359 what it's doing is it's going to read 5091 02:20:54,160 --> 02:20:57,200 through the workflow structure and the 5092 02:20:55,359 --> 02:20:58,560 tools and understand how it can package 5093 02:20:57,200 --> 02:21:00,560 everything up so it can actually deploy 5094 02:20:58,560 --> 02:21:02,479 it on modal as an app. So it came back 5095 02:21:00,560 --> 02:21:03,439 with a plan to deploy this on modal. But 5096 02:21:02,479 --> 02:21:05,200 there's one more thing that I want to 5097 02:21:03,439 --> 02:21:07,680 ask it about before we actually do this. 5098 02:21:05,200 --> 02:21:08,960 And this last part is security. So I 5099 02:21:07,680 --> 02:21:10,560 basically told it to run a security 5100 02:21:08,960 --> 02:21:11,840 review and make sure that my API keys 5101 02:21:10,560 --> 02:21:14,640 aren't exposed and that there's no 5102 02:21:11,840 --> 02:21:17,040 vulnerabilities because the reality is 5103 02:21:14,640 --> 02:21:19,040 we just built a ton of code and I don't 5104 02:21:17,040 --> 02:21:20,399 know what the code is actually doing. 5105 02:21:19,040 --> 02:21:22,080 So, it's really important to be thinking 5106 02:21:20,399 --> 02:21:24,560 about this before you put anything out 5107 02:21:22,080 --> 02:21:26,160 there on the web. Are any web hooks 5108 02:21:24,560 --> 02:21:27,840 exposed? And if they are, do you have 5109 02:21:26,160 --> 02:21:29,920 like, you know, proper protection around 5110 02:21:27,840 --> 02:21:31,840 that? Are secrets out there? Are API 5111 02:21:29,920 --> 02:21:33,600 keys out there? What could people do now 5112 02:21:31,840 --> 02:21:35,200 that this is out there? And as you start 5113 02:21:33,600 --> 02:21:37,359 to deploy more workflows, whether that's 5114 02:21:35,200 --> 02:21:38,800 an NEN or whether that's in code like 5115 02:21:37,359 --> 02:21:40,479 this, you'll start to understand the 5116 02:21:38,800 --> 02:21:42,240 things to look out for. But you also 5117 02:21:40,479 --> 02:21:43,359 have one of the smartest reasoning and 5118 02:21:42,240 --> 02:21:44,880 coding models right here in front of 5119 02:21:43,359 --> 02:21:47,280 you. So, you might as well just ask it, 5120 02:21:44,880 --> 02:21:49,040 hey, check the code and let me know if 5121 02:21:47,280 --> 02:21:50,479 there are any risks. So the security 5122 02:21:49,040 --> 02:21:52,240 review came back and it found three 5123 02:21:50,479 --> 02:21:55,040 critical issues that need attention. But 5124 02:21:52,240 --> 02:21:56,560 the good news is nothing is vulnerable 5125 02:21:55,040 --> 02:21:57,840 and there's not a GitHub repo. So 5126 02:21:56,560 --> 02:21:59,600 nothing's been committed out there 5127 02:21:57,840 --> 02:22:02,080 publicly and everything is going to be 5128 02:21:59,600 --> 02:22:04,720 stored as a modal secret. So the API 5129 02:22:02,080 --> 02:22:06,399 keys and the JSON token. So nothing will 5130 02:22:04,720 --> 02:22:08,399 be committed to any repository. So we're 5131 02:22:06,399 --> 02:22:10,319 good to go. And basically from there it 5132 02:22:08,399 --> 02:22:11,920 came back with a plan once more and I 5133 02:22:10,319 --> 02:22:13,280 have approved it. So it's going ahead 5134 02:22:11,920 --> 02:22:14,399 right now and it's creating the 5135 02:22:13,280 --> 02:22:16,240 different tools and the different things 5136 02:22:14,399 --> 02:22:18,080 that we need to actually be able to 5137 02:22:16,240 --> 02:22:19,920 write this over to modal and then we'll 5138 02:22:18,080 --> 02:22:21,840 go ahead and test it out over there. So 5139 02:22:19,920 --> 02:22:23,359 our deployment is now complete. It had 5140 02:22:21,840 --> 02:22:24,399 to update the scripts to make sure that 5141 02:22:23,359 --> 02:22:26,240 they could actually have the right 5142 02:22:24,399 --> 02:22:28,319 environment variable path. It had to 5143 02:22:26,240 --> 02:22:29,600 create a modal deployment file. So it 5144 02:22:28,319 --> 02:22:31,600 actually just understands the process of 5145 02:22:29,600 --> 02:22:33,439 what it just did and schedule the cron 5146 02:22:31,600 --> 02:22:34,880 or the schedule trigger. And then it had 5147 02:22:33,439 --> 02:22:37,359 to create modal secrets that we could 5148 02:22:34,880 --> 02:22:38,800 store over there. So it is now deployed 5149 02:22:37,359 --> 02:22:41,120 and scheduled. So if I click on this 5150 02:22:38,800 --> 02:22:42,720 link, this will bring us to our modal 5151 02:22:41,120 --> 02:22:44,560 environment right here. And what you can 5152 02:22:42,720 --> 02:22:46,800 see is that we have two different apps. 5153 02:22:44,560 --> 02:22:48,800 We have the analytics and then we have 5154 02:22:46,800 --> 02:22:50,560 the analytics manual. So it had to do a 5155 02:22:48,800 --> 02:22:52,080 manual run just to see if it worked. So 5156 02:22:50,560 --> 02:22:53,439 this is the actual app. So if I go back 5157 02:22:52,080 --> 02:22:54,720 to the main dashboard, you can see that 5158 02:22:53,439 --> 02:22:56,640 we have this app and there's kind of 5159 02:22:54,720 --> 02:22:58,319 like the two different like endpoints. 5160 02:22:56,640 --> 02:23:00,160 But if I open up the app, we can see the 5161 02:22:58,319 --> 02:23:01,840 overview. We can see deployment history. 5162 02:23:00,160 --> 02:23:03,359 So as you change something in cloud code 5163 02:23:01,840 --> 02:23:04,720 and then push it back over here, you'll 5164 02:23:03,359 --> 02:23:06,240 see a different version. And then you 5165 02:23:04,720 --> 02:23:07,920 can also see the app logs when it's 5166 02:23:06,240 --> 02:23:09,600 running. So, when I click into the 5167 02:23:07,920 --> 02:23:11,600 YouTube analytics one, the one that will 5168 02:23:09,600 --> 02:23:13,600 be live, it says the next run will be in 5169 02:23:11,600 --> 02:23:16,160 5 days. So, it's scheduled at 6:00 a.m. 5170 02:23:13,600 --> 02:23:17,120 only on Mondays America Chicago time. 5171 02:23:16,160 --> 02:23:18,800 But what I'm going to do just to prove 5172 02:23:17,120 --> 02:23:20,479 to you guys this is working or at least 5173 02:23:18,800 --> 02:23:22,479 test if it is working is we can actually 5174 02:23:20,479 --> 02:23:24,240 just go ahead and run one right now. So, 5175 02:23:22,479 --> 02:23:25,520 I scheduled an immediate run. We're 5176 02:23:24,240 --> 02:23:26,560 going to see this pop open right here 5177 02:23:25,520 --> 02:23:28,080 and we're going to see the fact that 5178 02:23:26,560 --> 02:23:30,080 it's running right now. As you can see, 5179 02:23:28,080 --> 02:23:31,600 it took 2 seconds to start up and now 5180 02:23:30,080 --> 02:23:33,200 it's running. And then we'll see the 5181 02:23:31,600 --> 02:23:34,640 result of that execution. And actually, 5182 02:23:33,200 --> 02:23:36,160 I'm glad that this just failed cuz I can 5183 02:23:34,640 --> 02:23:38,240 show you what you need to do. But this 5184 02:23:36,160 --> 02:23:39,600 failed, right? So we'll click into this. 5185 02:23:38,240 --> 02:23:41,200 And when you click into each of the 5186 02:23:39,600 --> 02:23:43,439 runs, you'll basically be able to see 5187 02:23:41,200 --> 02:23:45,439 the logs and the executions. So in the 5188 02:23:43,439 --> 02:23:47,280 log, this is what actually shows us like 5189 02:23:45,439 --> 02:23:48,640 why it failed and what happened. So I 5190 02:23:47,280 --> 02:23:50,720 don't really know what this means, 5191 02:23:48,640 --> 02:23:53,680 right? All I'm going to do is copy this 5192 02:23:50,720 --> 02:23:56,160 entire string of text. We're going to go 5193 02:23:53,680 --> 02:23:57,200 back into cloud code and I'm actually 5194 02:23:56,160 --> 02:23:59,280 going to go ahead and clear this because 5195 02:23:57,200 --> 02:24:01,680 we're at 64% context. So just going to 5196 02:23:59,280 --> 02:24:04,800 restart fresh. So, I just tried to do a 5197 02:24:01,680 --> 02:24:06,960 manual run of our YouTube weekly report 5198 02:24:04,800 --> 02:24:08,479 app in modal and this is the error that 5199 02:24:06,960 --> 02:24:12,000 I got. And then I paste in all that 5200 02:24:08,479 --> 02:24:13,600 messy stuff and shoot it off. Okay, so 5201 02:24:12,000 --> 02:24:15,200 because we tested so much and we were 5202 02:24:13,600 --> 02:24:16,960 using the free tier of the YouTube data 5203 02:24:15,200 --> 02:24:19,120 API, we actually just hit the daily 5204 02:24:16,960 --> 02:24:20,479 limit, which was about 10,000 units and 5205 02:24:19,120 --> 02:24:22,160 we exceeded that because we were doing 5206 02:24:20,479 --> 02:24:24,319 so much testing to see how well this 5207 02:24:22,160 --> 02:24:25,840 thing would work. The good news is if 5208 02:24:24,319 --> 02:24:27,439 this is actually running weekly, we will 5209 02:24:25,840 --> 02:24:29,520 never hit that daily quota limit. So, 5210 02:24:27,439 --> 02:24:30,720 we're fine. But the bad news is we're 5211 02:24:29,520 --> 02:24:32,319 not going to test this one right now. 5212 02:24:30,720 --> 02:24:34,560 But at least it does suggest other 5213 02:24:32,319 --> 02:24:36,160 options and some longer term fixes. But 5214 02:24:34,560 --> 02:24:37,840 it's okay because I did want to end off 5215 02:24:36,160 --> 02:24:39,920 by showing how you could deploy 5216 02:24:37,840 --> 02:24:41,439 something with a web hook trigger rather 5217 02:24:39,920 --> 02:24:42,880 than a schedule trigger. So what I did 5218 02:24:41,439 --> 02:24:44,800 is I came into this other workflow that 5219 02:24:42,880 --> 02:24:47,600 I built the other day which is a very 5220 02:24:44,800 --> 02:24:50,000 simple lead web hook notification. So it 5221 02:24:47,600 --> 02:24:52,000 has a web hook as the trigger. We would 5222 02:24:50,000 --> 02:24:53,200 see a company name and some other data. 5223 02:24:52,000 --> 02:24:54,640 We would research the company with 5224 02:24:53,200 --> 02:24:56,240 Replexity and then send an email 5225 02:24:54,640 --> 02:24:58,479 notification. And so I basically just 5226 02:24:56,240 --> 02:25:01,200 said, "Hey Cloud Code, can you push this 5227 02:24:58,479 --> 02:25:03,120 workflow onto modal as we did earlier?" 5228 02:25:01,200 --> 02:25:05,280 And now we have this app in our modal. 5229 02:25:03,120 --> 02:25:07,200 As you can see, lead-web hook. So what 5230 02:25:05,280 --> 02:25:08,800 I'm going to do is go to Postman. So we 5231 02:25:07,200 --> 02:25:10,319 can actually hit that web hook just to 5232 02:25:08,800 --> 02:25:12,080 simulate what would happen. We've got 5233 02:25:10,319 --> 02:25:13,680 the address, we've got the body, and 5234 02:25:12,080 --> 02:25:15,120 I'll shoot this off. And what this is 5235 02:25:13,680 --> 02:25:17,520 going to do is it's going to trigger 5236 02:25:15,120 --> 02:25:19,040 this form endpoint in modal. So I'll 5237 02:25:17,520 --> 02:25:21,280 click into that one. And you can see 5238 02:25:19,040 --> 02:25:22,960 right now we have a status of pending. 5239 02:25:21,280 --> 02:25:24,800 This one's going to start running. And 5240 02:25:22,960 --> 02:25:26,960 then it will show that we actually get 5241 02:25:24,800 --> 02:25:28,319 the email in Gmail. And so this is 5242 02:25:26,960 --> 02:25:30,319 really just to show that once you have 5243 02:25:28,319 --> 02:25:31,920 your stuff up and running in modal, it 5244 02:25:30,319 --> 02:25:33,680 will work. And you can also do it based 5245 02:25:31,920 --> 02:25:35,520 on web hooks rather than just doing it 5246 02:25:33,680 --> 02:25:36,880 on a cron. So that looks like it 5247 02:25:35,520 --> 02:25:38,560 finished up. We can see that we just got 5248 02:25:36,880 --> 02:25:40,000 this email for the new lead Chipotle 5249 02:25:38,560 --> 02:25:41,520 where it did some research about them 5250 02:25:40,000 --> 02:25:42,800 and then obviously it gave us a 5251 02:25:41,520 --> 02:25:44,080 notification here. And now what you 5252 02:25:42,800 --> 02:25:45,439 could do is because you just went 5253 02:25:44,080 --> 02:25:47,280 through the process of deploying a 5254 02:25:45,439 --> 02:25:48,560 workflow to modal and you know that it 5255 02:25:47,280 --> 02:25:50,399 works because you just validated that 5256 02:25:48,560 --> 02:25:51,760 it's working. You have all of that 5257 02:25:50,399 --> 02:25:54,720 history right there. And what you could 5258 02:25:51,760 --> 02:25:57,439 do is say, "Okay, cool. Keep this stored 5259 02:25:54,720 --> 02:25:59,120 either in my claw.md file or let's 5260 02:25:57,439 --> 02:26:00,319 create this as a skill so that every 5261 02:25:59,120 --> 02:26:01,439 time later when you're building a 5262 02:26:00,319 --> 02:26:03,040 workflow and you want to actually push 5263 02:26:01,439 --> 02:26:04,160 it to modal, you have all that 5264 02:26:03,040 --> 02:26:05,760 information already there, whether 5265 02:26:04,160 --> 02:26:08,479 that's a skill or whether it's in the 5266 02:26:05,760 --> 02:26:10,560 system prompt of cloud.md." So, I hope 5267 02:26:08,479 --> 02:26:12,080 you guys at this point can see how 5268 02:26:10,560 --> 02:26:13,920 Claude Code makes this stuff really, 5269 02:26:12,080 --> 02:26:15,439 really easy to get automations up and 5270 02:26:13,920 --> 02:26:16,720 running. Whether that means an 5271 02:26:15,439 --> 02:26:18,880 automation that you want to be there for 5272 02:26:16,720 --> 02:26:20,880 and you trigger kind of to use as like a 5273 02:26:18,880 --> 02:26:22,960 personal assistant or an automation that 5274 02:26:20,880 --> 02:26:24,720 you actually want to host somewhere and 5275 02:26:22,960 --> 02:26:26,319 have it run on some sort of trigger and 5276 02:26:24,720 --> 02:26:27,520 you can tap into all the skills that 5277 02:26:26,319 --> 02:26:29,120 other people have been building and 5278 02:26:27,520 --> 02:26:30,720 using because you can find those 5279 02:26:29,120 --> 02:26:33,040 publicly and then just add those to your 5280 02:26:30,720 --> 02:26:36,399 own instance. So now you have the super 5281 02:26:33,040 --> 02:26:38,000 smart model like Sonnet 4.5, Opus 4.5 5282 02:26:36,399 --> 02:26:39,760 paired with all of these really good 5283 02:26:38,000 --> 02:26:41,280 prompts and really good like MCP 5284 02:26:39,760 --> 02:26:42,960 servers. So you can pretty much do 5285 02:26:41,280 --> 02:26:44,080 anything in that environment. The more 5286 02:26:42,960 --> 02:26:45,280 you start to use it, the more you'll 5287 02:26:44,080 --> 02:26:46,479 realize that you don't have to actually 5288 02:26:45,280 --> 02:26:47,920 switch around to a bunch of different 5289 02:26:46,479 --> 02:26:49,520 Chrome tabs and different apps on your 5290 02:26:47,920 --> 02:26:51,840 desktop. You can do a lot of the stuff 5291 02:26:49,520 --> 02:26:53,439 that you need to do just in the cloud 5292 02:26:51,840 --> 02:26:55,280 code environment itself. So once again, 5293 02:26:53,439 --> 02:26:56,720 that claw.md file that you guys can 5294 02:26:55,280 --> 02:26:57,840 access for free will be in my free 5295 02:26:56,720 --> 02:27:01,240 school community. The link for that will 5296 02:26:57,840 --> 02:27:01,240 be down in the description. 5297 02:27:01,359 --> 02:27:04,560 So I've been using Cloud Code for a 5298 02:27:02,800 --> 02:27:05,920 while now, and I opened up trigger.dev 5299 02:27:04,560 --> 02:27:07,439 for the first time, I'm not kidding you, 5300 02:27:05,920 --> 02:27:08,720 like an hour and a half ago, and I've 5301 02:27:07,439 --> 02:27:10,720 already got a couple really nice 5302 02:27:08,720 --> 02:27:12,000 automations and agents set up. I can 5303 02:27:10,720 --> 02:27:13,680 already tell that this combination is 5304 02:27:12,000 --> 02:27:15,680 going to be a core piece of my workflow, 5305 02:27:13,680 --> 02:27:17,200 whether it's internally or for clients. 5306 02:27:15,680 --> 02:27:19,439 And this combination of Cloud Code and 5307 02:27:17,200 --> 02:27:20,560 Trigger Dev, is insanely powerful. So, 5308 02:27:19,439 --> 02:27:22,800 the first thing I tried was just 5309 02:27:20,560 --> 02:27:24,319 building a workflow to scrape Nate B. 5310 02:27:22,800 --> 02:27:26,080 Jones YouTube videos. He's like my 5311 02:27:24,319 --> 02:27:28,000 favorite AI news channel. And it would 5312 02:27:26,080 --> 02:27:29,439 check if he's got a new video. If yes, 5313 02:27:28,000 --> 02:27:30,960 it would give me the key highlights. If 5314 02:27:29,439 --> 02:27:32,399 no, it would do nothing. And so, this is 5315 02:27:30,960 --> 02:27:34,080 what the result looks like with minimal 5316 02:27:32,399 --> 02:27:36,080 prompting. We've got the YouTube video. 5317 02:27:34,080 --> 02:27:38,240 We've got key concepts, quotes worth 5318 02:27:36,080 --> 02:27:39,680 remembering, stats, and data. So that's 5319 02:27:38,240 --> 02:27:40,960 cool because I spun this up in like 10 5320 02:27:39,680 --> 02:27:42,319 minutes, but really it's not that 5321 02:27:40,960 --> 02:27:43,760 impressive. But then I thought to 5322 02:27:42,319 --> 02:27:45,359 myself, because of the way that 5323 02:27:43,760 --> 02:27:47,120 trigger.dev works, I want to put an 5324 02:27:45,359 --> 02:27:49,439 agent in the cloud. So what I did is I 5325 02:27:47,120 --> 02:27:51,280 built an agent that watches this list in 5326 02:27:49,439 --> 02:27:53,200 my ClickUp. And whenever I put in a 5327 02:27:51,280 --> 02:27:54,960 company as a task, it will basically do 5328 02:27:53,200 --> 02:27:56,399 research about them. So I put this in, 5329 02:27:54,960 --> 02:27:57,840 it triggers the agent, it does research, 5330 02:27:56,399 --> 02:27:59,520 and then it comes back and leaves a 5331 02:27:57,840 --> 02:28:01,520 comment for me. But not only that, but 5332 02:27:59,520 --> 02:28:03,200 the agent can also conversate with me in 5333 02:28:01,520 --> 02:28:04,720 here. So this one for Enthropic, I said, 5334 02:28:03,200 --> 02:28:06,479 "Hey, does this company have a recent 5335 02:28:04,720 --> 02:28:08,080 valuation?" And it did more research and 5336 02:28:06,479 --> 02:28:10,399 came back to me. So, this is not just a 5337 02:28:08,080 --> 02:28:13,040 deterministic 1 2 3 4 5 type of 5338 02:28:10,399 --> 02:28:14,800 automation. This is a non-deterministic 5339 02:28:13,040 --> 02:28:16,479 I have different tools. I need to decide 5340 02:28:14,800 --> 02:28:18,240 what loop I need to go in. And that's 5341 02:28:16,479 --> 02:28:20,000 where I was like, okay, wow, I just did 5342 02:28:18,240 --> 02:28:21,439 all of this in like 20 minutes. This is 5343 02:28:20,000 --> 02:28:22,800 cool. So, by the end of this video, you 5344 02:28:21,439 --> 02:28:24,399 will understand exactly how you can 5345 02:28:22,800 --> 02:28:26,160 build workflows and agents in cloud 5346 02:28:24,399 --> 02:28:27,520 code, put them on trigger.dev, and 5347 02:28:26,160 --> 02:28:28,800 automate pretty much anything. So, 5348 02:28:27,520 --> 02:28:30,640 before we jump into building, let's just 5349 02:28:28,800 --> 02:28:32,080 get on the same page. We use cloud code 5350 02:28:30,640 --> 02:28:33,760 to describe what we want in plain 5351 02:28:32,080 --> 02:28:35,600 English. This could be saying something 5352 02:28:33,760 --> 02:28:37,280 as simple as, "I want to monitor YouTube 5353 02:28:35,600 --> 02:28:38,640 for new AI videos and send me a daily 5354 02:28:37,280 --> 02:28:40,479 summary." Cloud Code will then say, 5355 02:28:38,640 --> 02:28:42,479 "Okay, well, to do this, I need X, Y, 5356 02:28:40,479 --> 02:28:44,000 and Z from you." So, it turns a vague 5357 02:28:42,479 --> 02:28:45,600 request into an actual working 5358 02:28:44,000 --> 02:28:46,880 automation. Then, it goes ahead and it 5359 02:28:45,600 --> 02:28:48,240 starts writing its code. And like I 5360 02:28:46,880 --> 02:28:50,479 said, these can be simple tasks like 5361 02:28:48,240 --> 02:28:52,560 fetching data from an API, or they can 5362 02:28:50,479 --> 02:28:54,000 actually be kind of complex agents that 5363 02:28:52,560 --> 02:28:55,680 have different tools and have different 5364 02:28:54,000 --> 02:28:58,240 actions they can take and they have to 5365 02:28:55,680 --> 02:29:00,800 decide when is good enough. And that 5366 02:28:58,240 --> 02:29:02,560 actual automation or that agent is code 5367 02:29:00,800 --> 02:29:04,160 and that is basically a project and 5368 02:29:02,560 --> 02:29:05,680 that's like a file. And then what we 5369 02:29:04,160 --> 02:29:07,680 need to do is get that out of our local 5370 02:29:05,680 --> 02:29:09,439 cloud code environment on our laptop or 5371 02:29:07,680 --> 02:29:12,080 our desktop and put that into 5372 02:29:09,439 --> 02:29:13,840 trigger.dev on the cloud so that these 5373 02:29:12,080 --> 02:29:15,200 can actually run all the time. And so in 5374 02:29:13,840 --> 02:29:16,800 past cloud code videos, you might have 5375 02:29:15,200 --> 02:29:18,800 seen me use something like modal. So why 5376 02:29:16,800 --> 02:29:20,640 are we using trigger.dev over modal 5377 02:29:18,800 --> 02:29:22,080 today? It's just a lot more flexible. It 5378 02:29:20,640 --> 02:29:23,760 has scheduled runs. It has automatic 5379 02:29:22,080 --> 02:29:25,680 retries. It's got queuing. It's got 5380 02:29:23,760 --> 02:29:26,880 orchestration, which is the element of 5381 02:29:25,680 --> 02:29:28,319 different tasks and things like that, 5382 02:29:26,880 --> 02:29:30,399 which is really cool. And I just think 5383 02:29:28,319 --> 02:29:32,399 it's got a much cleaner UI as well. So, 5384 02:29:30,399 --> 02:29:33,840 here's my current project in trigger.dev 5385 02:29:32,399 --> 02:29:35,760 in production mode. And you can see that 5386 02:29:33,840 --> 02:29:38,080 I've got basically these six different 5387 02:29:35,760 --> 02:29:39,680 kind of tasks. These three are the 5388 02:29:38,080 --> 02:29:41,680 actual tools. So, this is the process 5389 02:29:39,680 --> 02:29:43,439 video. This is the responder agent. This 5390 02:29:41,680 --> 02:29:44,800 is the researcher agent. And then these 5391 02:29:43,439 --> 02:29:46,319 ones with a clock next to them are 5392 02:29:44,800 --> 02:29:47,760 schedule tasks. So, we've got the 5393 02:29:46,319 --> 02:29:50,080 YouTube checker, we've got the research 5394 02:29:47,760 --> 02:29:51,200 polar, and the follow-up polar. If I go 5395 02:29:50,080 --> 02:29:52,720 over here on the lefth hand side to 5396 02:29:51,200 --> 02:29:54,560 schedules, you can see how often these 5397 02:29:52,720 --> 02:29:57,439 run. So these two run every 2 minutes 5398 02:29:54,560 --> 02:29:58,640 and this one runs every 8 hours. If I go 5399 02:29:57,439 --> 02:29:59,840 to runs, you can see all of the 5400 02:29:58,640 --> 02:30:01,120 different runs that we've had, whether 5401 02:29:59,840 --> 02:30:03,040 they have been completed or whether 5402 02:30:01,120 --> 02:30:04,560 they've failed. And so I filtered to 5403 02:30:03,040 --> 02:30:07,200 show you a failed run because I wanted 5404 02:30:04,560 --> 02:30:09,600 to see the retry. So this was a ClickUp 5405 02:30:07,200 --> 02:30:12,000 research polar and what happened was it 5406 02:30:09,600 --> 02:30:14,319 failed and so it adds a delay and then 5407 02:30:12,000 --> 02:30:16,399 it tries again. So it has this automatic 5408 02:30:14,319 --> 02:30:17,680 retry built into it which is really 5409 02:30:16,399 --> 02:30:20,160 cool. And when we're watching these 5410 02:30:17,680 --> 02:30:21,520 agents or tasks run live, we see exactly 5411 02:30:20,160 --> 02:30:23,520 every step that they're making and we 5412 02:30:21,520 --> 02:30:24,880 see how long they take on each step. So, 5413 02:30:23,520 --> 02:30:26,160 I'll do a live demo and I'll show you 5414 02:30:24,880 --> 02:30:27,439 guys this. All right, so I'm in my 5415 02:30:26,160 --> 02:30:28,880 ClickUp and what I'm going to do is add 5416 02:30:27,439 --> 02:30:30,960 a new task and I'm just going to go 5417 02:30:28,880 --> 02:30:32,720 ahead and say Nvidia and I'm going to 5418 02:30:30,960 --> 02:30:34,560 save that. And now that that has been 5419 02:30:32,720 --> 02:30:36,960 processed, we're going to have to wait 5420 02:30:34,560 --> 02:30:39,439 in here and we'll see the ClickUp 5421 02:30:36,960 --> 02:30:40,800 research polar start up and then it will 5422 02:30:39,439 --> 02:30:42,319 basically say, "Okay, cool. I found a 5423 02:30:40,800 --> 02:30:44,560 new task and I'm going to send that to 5424 02:30:42,319 --> 02:30:46,399 the company researcher agent." So right 5425 02:30:44,560 --> 02:30:47,920 here we can see that that got picked up. 5426 02:30:46,399 --> 02:30:49,359 It got sent to the researcher. And if I 5427 02:30:47,920 --> 02:30:51,840 open the researcher, which is currently 5428 02:30:49,359 --> 02:30:52,960 executing, you can see it live running. 5429 02:30:51,840 --> 02:30:54,240 So we can see right here that it's 5430 02:30:52,960 --> 02:30:55,600 running for Nvidia, which is the one 5431 02:30:54,240 --> 02:30:57,120 that we just put in here. Right now, 5432 02:30:55,600 --> 02:30:58,880 Claude is calling its search web tool, 5433 02:30:57,120 --> 02:31:00,479 and it called it twice. It actually 5434 02:30:58,880 --> 02:31:02,240 decided I'm going to invoke it one more 5435 02:31:00,479 --> 02:31:04,240 time to make sure I get a comprehensive 5436 02:31:02,240 --> 02:31:06,800 research report. Now it's using a read 5437 02:31:04,240 --> 02:31:08,319 URL tool. It's using another read URL 5438 02:31:06,800 --> 02:31:10,399 tool. So maybe it found two websites to 5439 02:31:08,319 --> 02:31:12,240 look at. And there we go. After about 45 5440 02:31:10,399 --> 02:31:14,720 seconds, it has finished. So now if I 5441 02:31:12,240 --> 02:31:15,920 open up ClickUp and we go to Nvidia, we 5442 02:31:14,720 --> 02:31:17,600 can see that this is now marked as 5443 02:31:15,920 --> 02:31:19,520 complete. And when I click on it over 5444 02:31:17,600 --> 02:31:21,760 here, we can see that we got a full 5445 02:31:19,520 --> 02:31:23,600 research brief about Nvidia. And so now 5446 02:31:21,760 --> 02:31:26,240 if I come into this task and I say at 5447 02:31:23,600 --> 02:31:27,680 UPAI, how is their stock doing? It's 5448 02:31:26,240 --> 02:31:29,040 going to read this. But keep in mind, it 5449 02:31:27,680 --> 02:31:31,359 has to come in here and it has to read 5450 02:31:29,040 --> 02:31:33,120 the context to make sure it knows who is 5451 02:31:31,359 --> 02:31:34,800 they in this case when I just said how 5452 02:31:33,120 --> 02:31:36,319 is their stock doing. And if I go back 5453 02:31:34,800 --> 02:31:38,080 to runs, you can see that the follow-up 5454 02:31:36,319 --> 02:31:39,600 responder is now executing. If I click 5455 02:31:38,080 --> 02:31:42,640 into it, we should be able to watch it 5456 02:31:39,600 --> 02:31:45,600 actually looking at this task searching 5457 02:31:42,640 --> 02:31:46,960 the web. And now after about 22 seconds, 5458 02:31:45,600 --> 02:31:48,560 this one has finished. I'm going to open 5459 02:31:46,960 --> 02:31:50,240 up ClickUp. And we should be able to 5460 02:31:48,560 --> 02:31:53,120 scroll down and see that we just got a 5461 02:31:50,240 --> 02:31:54,560 response right here from Upet AI. Okay, 5462 02:31:53,120 --> 02:31:56,399 so just a little quick demo and wanted 5463 02:31:54,560 --> 02:31:57,840 to show you guys what trigger.dev looks 5464 02:31:56,399 --> 02:31:59,680 like before we actually get in there and 5465 02:31:57,840 --> 02:32:01,040 we build one out ourselves. And I know 5466 02:31:59,680 --> 02:32:02,640 these aren't the most impressive things 5467 02:32:01,040 --> 02:32:04,640 in the world, but keep in mind all of 5468 02:32:02,640 --> 02:32:07,520 these were oneshot prompted and I built 5469 02:32:04,640 --> 02:32:09,359 these in the past like 45 minutes. Okay, 5470 02:32:07,520 --> 02:32:10,960 now hopping into cloud code. This is the 5471 02:32:09,359 --> 02:32:12,479 cloud workflow builder project that I 5472 02:32:10,960 --> 02:32:14,399 just set up and I started building these 5473 02:32:12,479 --> 02:32:15,520 workflows in. If you've never used cloud 5474 02:32:14,399 --> 02:32:17,120 code before, then I would definitely 5475 02:32:15,520 --> 02:32:18,880 recommend you hop over to this video. 5476 02:32:17,120 --> 02:32:20,319 I'll link it right up here. And then 5477 02:32:18,880 --> 02:32:21,439 once you understand like the interface 5478 02:32:20,319 --> 02:32:23,040 and how the files work and everything 5479 02:32:21,439 --> 02:32:25,280 like that, then come back and it will 5480 02:32:23,040 --> 02:32:26,399 make a lot more sense. 5481 02:32:25,280 --> 02:32:28,240 So, what I'm going to do in this video 5482 02:32:26,399 --> 02:32:29,439 is I'm going to create a brand new 5483 02:32:28,240 --> 02:32:30,960 project and walk through everything with 5484 02:32:29,439 --> 02:32:32,720 you guys step by step so you can see 5485 02:32:30,960 --> 02:32:33,920 exactly how it works. But real quick 5486 02:32:32,720 --> 02:32:35,439 before we do that, I just wanted to show 5487 02:32:33,920 --> 02:32:37,439 you kind of what this end result looks 5488 02:32:35,439 --> 02:32:39,680 like. Because these folders and files 5489 02:32:37,439 --> 02:32:40,800 build up as you build more workflows. 5490 02:32:39,680 --> 02:32:42,640 Really, the main thing that I wanted to 5491 02:32:40,800 --> 02:32:44,720 show you guys is where those TypeScript 5492 02:32:42,640 --> 02:32:47,439 files actually live, which is right here 5493 02:32:44,720 --> 02:32:49,200 in a SRC. We've got the trigger folder, 5494 02:32:47,439 --> 02:32:50,479 which is trigger.dev, and then I've got 5495 02:32:49,200 --> 02:32:52,240 two different folders for the different 5496 02:32:50,479 --> 02:32:54,560 types of workflows. We've got the AI 5497 02:32:52,240 --> 02:32:56,240 news digest, which is the two, you know, 5498 02:32:54,560 --> 02:32:57,920 the process video typescript, and the 5499 02:32:56,240 --> 02:32:59,680 YouTube check type script, which you 5500 02:32:57,920 --> 02:33:01,120 guys saw right here. YouTube check and 5501 02:32:59,680 --> 02:33:02,880 process video. And then we have the 5502 02:33:01,120 --> 02:33:04,640 company research ones, the two polars 5503 02:33:02,880 --> 02:33:06,399 and the responder and the researcher 5504 02:33:04,640 --> 02:33:08,160 agent, which you guys saw right here, 5505 02:33:06,399 --> 02:33:09,680 the two polars and the researcher and 5506 02:33:08,160 --> 02:33:11,359 responder. So really what I wanted to do 5507 02:33:09,680 --> 02:33:13,520 there is just contextualize for you guys 5508 02:33:11,359 --> 02:33:15,600 how cloud code helps us build these 5509 02:33:13,520 --> 02:33:17,200 TypeScript files and then we push those 5510 02:33:15,600 --> 02:33:19,439 to trigger and then they can actually 5511 02:33:17,200 --> 02:33:20,880 run live. But I did promise you guys 5512 02:33:19,439 --> 02:33:22,319 we're going to do all of this together. 5513 02:33:20,880 --> 02:33:24,000 So I'm going to go ahead and open up a 5514 02:33:22,319 --> 02:33:26,000 new folder here. I made a new folder 5515 02:33:24,000 --> 02:33:29,200 called trigger demo and it's completely 5516 02:33:26,000 --> 02:33:30,720 blank. And now you guys should have your 5517 02:33:29,200 --> 02:33:32,880 Claude Code instance looking exactly 5518 02:33:30,720 --> 02:33:34,800 like I do. And by the way, I am using 5519 02:33:32,880 --> 02:33:37,040 this in VS Code. So I'm going to close 5520 02:33:34,800 --> 02:33:39,520 out of this stuff. Open up Claude Code. 5521 02:33:37,040 --> 02:33:40,880 And we are now on the same page. So the 5522 02:33:39,520 --> 02:33:42,160 first thing I want you to do is go over 5523 02:33:40,880 --> 02:33:43,439 to my free school community. The link 5524 02:33:42,160 --> 02:33:45,920 for that's down in the description. Go 5525 02:33:43,439 --> 02:33:48,000 to the classroom. Go to Claude Code and 5526 02:33:45,920 --> 02:33:49,359 go to the trigger.dev section right 5527 02:33:48,000 --> 02:33:52,479 here. And you're going to grab the 5528 02:33:49,359 --> 02:33:53,920 claw.md file and the trigger ref.md 5529 02:33:52,479 --> 02:33:55,040 file. You're going to download both of 5530 02:33:53,920 --> 02:33:56,399 those. And then you're basically just 5531 02:33:55,040 --> 02:33:58,160 going to drag both of those in to the 5532 02:33:56,399 --> 02:33:59,359 lefth hand side right over here. I'm not 5533 02:33:58,160 --> 02:34:01,120 going to dive super super deep into 5534 02:33:59,359 --> 02:34:02,880 this, but the trigger ref file is 5535 02:34:01,120 --> 02:34:05,040 basically like the trigger.dev API 5536 02:34:02,880 --> 02:34:06,640 reference and how to do TypeScript. And 5537 02:34:05,040 --> 02:34:09,520 that's important because in the bottom 5538 02:34:06,640 --> 02:34:11,439 of the claw.md file, we tell it to look 5539 02:34:09,520 --> 02:34:12,800 here if it ever needs to look at code 5540 02:34:11,439 --> 02:34:14,479 examples, patterns, and things like 5541 02:34:12,800 --> 02:34:16,240 that. So now that you guys have the 5542 02:34:14,479 --> 02:34:18,800 claw.md file in here, you've got the 5543 02:34:16,240 --> 02:34:20,319 trigger refile in here. We're going to 5544 02:34:18,800 --> 02:34:21,840 be able to build automations a lot 5545 02:34:20,319 --> 02:34:24,080 easier now. All right. So, what I'm 5546 02:34:21,840 --> 02:34:25,520 going to do is give Cloud Code a pretty 5547 02:34:24,080 --> 02:34:26,640 vague request. I'm just not even going 5548 02:34:25,520 --> 02:34:28,399 to use plan mode, and I'm going to show 5549 02:34:26,640 --> 02:34:29,680 you how good it's going to be. I need 5550 02:34:28,399 --> 02:34:31,520 you to build me an automation that's 5551 02:34:29,680 --> 02:34:33,120 going to go off every single Monday, and 5552 02:34:31,520 --> 02:34:35,520 it's going to search the web, and it's 5553 02:34:33,120 --> 02:34:39,280 going to find me um leads. It's going to 5554 02:34:35,520 --> 02:34:40,960 find me dental practices that I can sell 5555 02:34:39,280 --> 02:34:42,160 websites to. So, I'm going to shoot that 5556 02:34:40,960 --> 02:34:43,359 off. And what it's going to do first of 5557 02:34:42,160 --> 02:34:45,359 all is it's reading the claw. I'm 5558 02:34:43,359 --> 02:34:46,720 defiled to figure out what its goal is. 5559 02:34:45,359 --> 02:34:48,560 And hopefully it should come back and 5560 02:34:46,720 --> 02:34:51,200 ask us some questions so that it knows 5561 02:34:48,560 --> 02:34:52,640 how to build this workflow well because 5562 02:34:51,200 --> 02:34:54,880 we didn't tell it anything about text 5563 02:34:52,640 --> 02:34:56,319 stack or hardly anything at all and it 5564 02:34:54,880 --> 02:34:58,240 needs to write this automation really 5565 02:34:56,319 --> 02:35:00,479 well for us. So the first thing it does 5566 02:34:58,240 --> 02:35:01,680 is it asks us where should the leads be 5567 02:35:00,479 --> 02:35:03,200 delivered each Monday and I'm just going 5568 02:35:01,680 --> 02:35:05,120 to go ahead and say ClickUp. For 5569 02:35:03,200 --> 02:35:07,359 location it says where should it be 5570 02:35:05,120 --> 02:35:09,200 searching? I'm just going to say 5571 02:35:07,359 --> 02:35:10,880 nationwide. And then the final one is do 5572 02:35:09,200 --> 02:35:12,240 you have SER API, Google Maps, anything 5573 02:35:10,880 --> 02:35:13,439 like that set up? And I'm actually for 5574 02:35:12,240 --> 02:35:15,359 this one going to click other and I'm 5575 02:35:13,439 --> 02:35:16,960 going to say I don't yet have any of 5576 02:35:15,359 --> 02:35:18,399 that set up. And ideally I don't want to 5577 02:35:16,960 --> 02:35:20,880 have to pay for any sort of subscription 5578 02:35:18,399 --> 02:35:22,800 for this. And we'll see if it can figure 5579 02:35:20,880 --> 02:35:24,720 it out with that. I'm going to tell it 5580 02:35:22,800 --> 02:35:26,240 to create a new list in my ClickUp. And 5581 02:35:24,720 --> 02:35:28,479 for volume I'm just going to go ahead 5582 02:35:26,240 --> 02:35:30,080 and do 25 leads small batch just to 5583 02:35:28,479 --> 02:35:31,120 start. Now mine is going to cheat a 5584 02:35:30,080 --> 02:35:32,800 little bit because in the past it's 5585 02:35:31,120 --> 02:35:34,240 already used my ClickUp. But what you 5586 02:35:32,800 --> 02:35:37,200 would need to do is it will basically 5587 02:35:34,240 --> 02:35:40,160 create you av file and you will put your 5588 02:35:37,200 --> 02:35:41,840 project secrets in thatv file. So that 5589 02:35:40,160 --> 02:35:43,920 will be like your ClickUp API key or 5590 02:35:41,840 --> 02:35:46,240 your workspace ID or your open router 5591 02:35:43,920 --> 02:35:47,840 API key, things like that. So now it 5592 02:35:46,240 --> 02:35:50,319 asks us if we're ready to build this 5593 02:35:47,840 --> 02:35:52,000 plan. So we have our Monday dental lead 5594 02:35:50,319 --> 02:35:54,640 generator. Every Monday at 8 a.m. we 5595 02:35:52,000 --> 02:35:56,720 will search Yelp Fusion AI for dental 5596 02:35:54,640 --> 02:35:59,200 practices across the US. And then we'll 5597 02:35:56,720 --> 02:36:02,000 create new tasks in the dental leads 5598 02:35:59,200 --> 02:36:03,680 list in ClickUp. Yelp Fusion's 100% 5599 02:36:02,000 --> 02:36:04,880 free. Awesome. For the architecture, 5600 02:36:03,680 --> 02:36:06,319 it's going to create basically two 5601 02:36:04,880 --> 02:36:07,920 different tools. Let's call them. The 5602 02:36:06,319 --> 02:36:09,760 first tool is going to find leads and 5603 02:36:07,920 --> 02:36:12,240 the second tool is going to create the 5604 02:36:09,760 --> 02:36:14,319 leads in ClickUp, which is great because 5605 02:36:12,240 --> 02:36:15,920 if one thing fails, it can retry and it 5606 02:36:14,319 --> 02:36:17,439 can, you know, ceue up just that one 5607 02:36:15,920 --> 02:36:19,439 task rather than having the whole 5608 02:36:17,439 --> 02:36:21,200 automation break. And this is awesome. 5609 02:36:19,439 --> 02:36:23,359 It's automatically doing the item 5610 02:36:21,200 --> 02:36:24,800 potency like I talked about earlier. And 5611 02:36:23,359 --> 02:36:26,399 it's making sure that the same practice 5612 02:36:24,800 --> 02:36:28,479 never gets added twice. And having this 5613 02:36:26,399 --> 02:36:30,240 dduplication process be automatically 5614 02:36:28,479 --> 02:36:31,280 taken care of is really nice. So, I'm 5615 02:36:30,240 --> 02:36:32,800 just going to tell this to go ahead and 5616 02:36:31,280 --> 02:36:34,479 start building. So, as usual, it starts 5617 02:36:32,800 --> 02:36:36,319 setting up the project, as you can see, 5618 02:36:34,479 --> 02:36:37,920 as well as it is creating its to-do 5619 02:36:36,319 --> 02:36:39,760 list, and it's going to go through and 5620 02:36:37,920 --> 02:36:41,359 build this out for us. Okay, it built 5621 02:36:39,760 --> 02:36:43,040 that really fast. It said that it made a 5622 02:36:41,359 --> 02:36:44,240 new ClickUp list for us, which if I go 5623 02:36:43,040 --> 02:36:46,080 to ClickUp, we can see right here, we've 5624 02:36:44,240 --> 02:36:47,439 got dental leads. It created the two 5625 02:36:46,080 --> 02:36:48,960 type scripts. So, if I look up here, 5626 02:36:47,439 --> 02:36:50,720 we've got trigger, we've got dental 5627 02:36:48,960 --> 02:36:52,479 leads, and we have create lead as well 5628 02:36:50,720 --> 02:36:53,600 as find leads. And this is the part 5629 02:36:52,479 --> 02:36:56,319 where I said it cheated a little bit 5630 02:36:53,600 --> 02:36:58,000 because it already had our list ID from 5631 02:36:56,319 --> 02:36:59,680 earlier. But what we need to do now is 5632 02:36:58,000 --> 02:37:01,280 go get our Yelp API key. So, I'm going 5633 02:36:59,680 --> 02:37:04,080 to go grab that. And then we need to put 5634 02:37:01,280 --> 02:37:05,680 in a ClickUp API key. Wow. So it ended 5635 02:37:04,080 --> 02:37:07,600 up finding out that Yelp killed their 5636 02:37:05,680 --> 02:37:10,240 free API tier. So it's going to change 5637 02:37:07,600 --> 02:37:11,920 this to use SER API instead. Okay. So 5638 02:37:10,240 --> 02:37:14,080 now it's already changed that to use SER 5639 02:37:11,920 --> 02:37:15,359 API. So I've got those two API keys. And 5640 02:37:14,080 --> 02:37:17,280 here's what we're going to do. We're 5641 02:37:15,359 --> 02:37:18,800 going to go to the ENV and you can see 5642 02:37:17,280 --> 02:37:20,560 that it's put this placeholder in here 5643 02:37:18,800 --> 02:37:22,000 for SER and for ClickUp. So you're going 5644 02:37:20,560 --> 02:37:23,600 to come in here and paste in your two 5645 02:37:22,000 --> 02:37:25,680 API keys. And then you're going to make 5646 02:37:23,600 --> 02:37:27,760 sure to save this file and then you can 5647 02:37:25,680 --> 02:37:30,560 close out of it. Okay. So it wants to do 5648 02:37:27,760 --> 02:37:32,560 its test run in the dev environment in 5649 02:37:30,560 --> 02:37:34,399 our trigger.dev. So remember we're in 5650 02:37:32,560 --> 02:37:35,920 production. We can also be in dev. So 5651 02:37:34,399 --> 02:37:37,200 this is where we can test things. This 5652 02:37:35,920 --> 02:37:38,560 is where we can make changes. And then 5653 02:37:37,200 --> 02:37:40,399 when we're good with that, we push that 5654 02:37:38,560 --> 02:37:41,280 to production to actually be live. So 5655 02:37:40,399 --> 02:37:42,960 what I'm going to do is in my 5656 02:37:41,280 --> 02:37:44,240 trigger.dev, I'm going to open up a new 5657 02:37:42,960 --> 02:37:45,520 project since this is what your guys 5658 02:37:44,240 --> 02:37:47,520 would look like. We're just going to 5659 02:37:45,520 --> 02:37:49,520 call this one test. And I'm going to go 5660 02:37:47,520 --> 02:37:50,960 ahead and create that. Now once we're in 5661 02:37:49,520 --> 02:37:52,720 here, I'm going to go down to the bottom 5662 02:37:50,960 --> 02:37:54,880 and go to project settings. And right 5663 02:37:52,720 --> 02:37:56,399 here we see a project ref. So I'm going 5664 02:37:54,880 --> 02:37:58,000 to copy this value. And we need to give 5665 02:37:56,399 --> 02:37:59,760 this to Claude Code so it can actually 5666 02:37:58,000 --> 02:38:01,120 move stuff into here. Okay, so it's 5667 02:37:59,760 --> 02:38:03,200 working away right now, but you can see 5668 02:38:01,120 --> 02:38:05,040 that we do have two tasks in here. We 5669 02:38:03,200 --> 02:38:06,880 have our find dental leads and we have 5670 02:38:05,040 --> 02:38:08,240 our create dental lead. If I go to 5671 02:38:06,880 --> 02:38:10,160 schedules, we should see that the find 5672 02:38:08,240 --> 02:38:11,920 dental leads runs at 8 a.m. only on 5673 02:38:10,160 --> 02:38:13,359 Mondays. And now what it's doing is it's 5674 02:38:11,920 --> 02:38:14,640 going to try to test it out to see if it 5675 02:38:13,359 --> 02:38:16,399 actually works. But what's going to 5676 02:38:14,640 --> 02:38:18,240 happen is it's probably not going to 5677 02:38:16,399 --> 02:38:22,479 work because if you guys remember, we 5678 02:38:18,240 --> 02:38:24,319 had to give Claude code here our env, 5679 02:38:22,479 --> 02:38:27,040 you know, ClickUp API key as well as 5680 02:38:24,319 --> 02:38:28,399 that SER API key. But those API keys 5681 02:38:27,040 --> 02:38:29,600 don't actually get pushed anywhere. They 5682 02:38:28,399 --> 02:38:32,000 don't get pushed to GitHub. They don't 5683 02:38:29,600 --> 02:38:34,240 get pushed to trigger.dev because 5684 02:38:32,000 --> 02:38:36,080 they're in AENV file. And if anything 5685 02:38:34,240 --> 02:38:37,840 here has a dot before it, it's basically 5686 02:38:36,080 --> 02:38:39,359 hidden from like commits and stuff like 5687 02:38:37,840 --> 02:38:41,600 that. So what we actually have to do is 5688 02:38:39,359 --> 02:38:42,800 we have to go into trigger.dev. We have 5689 02:38:41,600 --> 02:38:44,560 to go all the way down here to 5690 02:38:42,800 --> 02:38:46,399 environment variables and this is where 5691 02:38:44,560 --> 02:38:48,080 we add those once again. So I'll click 5692 02:38:46,399 --> 02:38:50,399 add new and all I have to do actually 5693 02:38:48,080 --> 02:38:52,960 it's really simple is I come into thev 5694 02:38:50,399 --> 02:38:54,640 file over here. I can copy this entire 5695 02:38:52,960 --> 02:38:57,040 thing and then when I go back into 5696 02:38:54,640 --> 02:38:59,040 trigger I can paste in that entire thing 5697 02:38:57,040 --> 02:39:00,720 and all three of those will get put in 5698 02:38:59,040 --> 02:39:02,800 not just like having to do that one by 5699 02:39:00,720 --> 02:39:04,160 one. And now before you save this you're 5700 02:39:02,800 --> 02:39:05,680 going to want to do it in development 5701 02:39:04,160 --> 02:39:07,359 and production because there's no point 5702 02:39:05,680 --> 02:39:08,399 in adding it just to development because 5703 02:39:07,359 --> 02:39:10,080 ultimately you're going to push it to 5704 02:39:08,399 --> 02:39:11,680 production. So you might as well just do 5705 02:39:10,080 --> 02:39:14,399 development and production and then go 5706 02:39:11,680 --> 02:39:15,520 ahead and save that. And now trigger 5707 02:39:14,399 --> 02:39:18,160 when it's actually running those 5708 02:39:15,520 --> 02:39:21,040 Typescript you know files it can 5709 02:39:18,160 --> 02:39:23,840 actually use these API keys in its work 5710 02:39:21,040 --> 02:39:25,439 and it will actually be successful. So 5711 02:39:23,840 --> 02:39:28,080 what happened was this was trying to 5712 02:39:25,439 --> 02:39:30,000 actually trigger a test run in trigger. 5713 02:39:28,080 --> 02:39:31,439 So it was trying to do this by itself. 5714 02:39:30,000 --> 02:39:33,120 But one thing that you can do to make 5715 02:39:31,439 --> 02:39:36,080 this actually a lot better is you can 5716 02:39:33,120 --> 02:39:37,600 give it the trigger.dev MCP server. So 5717 02:39:36,080 --> 02:39:39,600 here's a file that you can drag into the 5718 02:39:37,600 --> 02:39:41,359 lefth hand side. It basically just sets 5719 02:39:39,600 --> 02:39:43,760 up the MCP configuration for 5720 02:39:41,359 --> 02:39:45,200 trigger.dev. And I will also link this 5721 02:39:43,760 --> 02:39:46,399 in the same exact classroom section 5722 02:39:45,200 --> 02:39:48,319 right here. So you can just download it 5723 02:39:46,399 --> 02:39:50,160 and drag it in. But now I can go ahead 5724 02:39:48,319 --> 02:39:51,439 and ask it to try to test it out again. 5725 02:39:50,160 --> 02:39:52,720 And hopefully it works and it can send 5726 02:39:51,439 --> 02:39:54,000 over a payload and all that kind of 5727 02:39:52,720 --> 02:39:56,720 stuff. And the thing I want you guys to 5728 02:39:54,000 --> 02:39:58,080 understand too is yes, I just did this, 5729 02:39:56,720 --> 02:39:59,359 but it it's a little bit different every 5730 02:39:58,080 --> 02:40:00,800 time you build it because ultimately 5731 02:39:59,359 --> 02:40:03,359 what's happening is we're talking to an 5732 02:40:00,800 --> 02:40:05,120 AI model that thinks and has decision 5733 02:40:03,359 --> 02:40:06,720 capabilities. So, if you're entering in 5734 02:40:05,120 --> 02:40:08,560 the exact same prompts that I am, you 5735 02:40:06,720 --> 02:40:10,560 might not get the exact same result. So, 5736 02:40:08,560 --> 02:40:12,399 it's really just a matter of talking to 5737 02:40:10,560 --> 02:40:14,080 it, asking what's wrong, and helping it 5738 02:40:12,399 --> 02:40:16,080 out. And so, now it's asking us for a 5739 02:40:14,080 --> 02:40:17,920 trigger.dev secret key. Well, let's go 5740 02:40:16,080 --> 02:40:20,160 into trigger.dev. Let's go over here and 5741 02:40:17,920 --> 02:40:22,720 go to API keys. And we need to grab this 5742 02:40:20,160 --> 02:40:23,600 and give that to cloud code. But, of 5743 02:40:22,720 --> 02:40:24,880 course, I don't want to give this 5744 02:40:23,600 --> 02:40:27,120 straight into the chat. So, I'm going to 5745 02:40:24,880 --> 02:40:28,800 say, "Hey, I've got this. Can you put a 5746 02:40:27,120 --> 02:40:30,479 placeholder in thev?" And then I'll 5747 02:40:28,800 --> 02:40:33,040 paste it in there. It's really just best 5748 02:40:30,479 --> 02:40:34,399 practice to never give secrets right 5749 02:40:33,040 --> 02:40:37,359 here in the chat. You want to just put 5750 02:40:34,399 --> 02:40:39,600 it into like config files or usually the 5751 02:40:37,359 --> 02:40:41,520 EMV. Okay, so just paste it in that API 5752 02:40:39,600 --> 02:40:43,439 key. I've saved it and now let's see if 5753 02:40:41,520 --> 02:40:45,040 it can actually restart the server and 5754 02:40:43,439 --> 02:40:47,040 try to test out our workflow. This is 5755 02:40:45,040 --> 02:40:48,399 why it's so tough doing like live cloud 5756 02:40:47,040 --> 02:40:49,760 code demos. It's just cuz like it 5757 02:40:48,399 --> 02:40:51,280 literally runs different every time. 5758 02:40:49,760 --> 02:40:52,960 Okay, so it says that it triggered a 5759 02:40:51,280 --> 02:40:55,760 run. Now, if I come back in here and I 5760 02:40:52,960 --> 02:40:57,040 go to runs, we should see. Wow. Okay, so 5761 02:40:55,760 --> 02:40:58,399 we actually got a lot of different runs 5762 02:40:57,040 --> 02:40:59,760 come through. It was trying a lot of 5763 02:40:58,399 --> 02:41:01,840 different things. These are currently 5764 02:40:59,760 --> 02:41:03,439 executing right now. Oh, okay. Well, the 5765 02:41:01,840 --> 02:41:05,840 reason why it did so many is because it 5766 02:41:03,439 --> 02:41:08,080 had to do one create dental lead for 5767 02:41:05,840 --> 02:41:09,600 every single lead that it found. And if 5768 02:41:08,080 --> 02:41:11,520 I open up my ClickUp, we can see that we 5769 02:41:09,600 --> 02:41:12,800 do have 25 leads right here. So, let's 5770 02:41:11,520 --> 02:41:15,040 just click into one to see what it looks 5771 02:41:12,800 --> 02:41:17,040 like. We've got Tampa Dental in Tampa, 5772 02:41:15,040 --> 02:41:19,200 Florida. And in the description, it gave 5773 02:41:17,040 --> 02:41:20,640 us the address, the phone, the rating, 5774 02:41:19,200 --> 02:41:22,399 and the website. So, that's really 5775 02:41:20,640 --> 02:41:24,080 interesting to me. The first workflow, 5776 02:41:22,399 --> 02:41:26,000 which is the trigger, it finds the 5777 02:41:24,080 --> 02:41:27,920 leads. So, if I open this up and I click 5778 02:41:26,000 --> 02:41:29,840 into it, we can see what it did. It 5779 02:41:27,920 --> 02:41:31,600 found five and then it found five more 5780 02:41:29,840 --> 02:41:33,680 and it found five more until it got to 5781 02:41:31,600 --> 02:41:35,280 25. And then after it found those 25, it 5782 02:41:33,680 --> 02:41:37,680 basically said, "Okay, cool. I'm going 5783 02:41:35,280 --> 02:41:39,760 to hand each of these leads to one 5784 02:41:37,680 --> 02:41:41,520 individual kind of like worker." And 5785 02:41:39,760 --> 02:41:44,160 that is why we saw the create dental 5786 02:41:41,520 --> 02:41:45,439 lead tool get called 25 times. Cloud 5787 02:41:44,160 --> 02:41:47,680 code comes back and says, "Cool, it 5788 02:41:45,439 --> 02:41:49,680 works perfectly. 25 leads created in 9 5789 02:41:47,680 --> 02:41:51,280 seconds across five cities. Pretty 5790 02:41:49,680 --> 02:41:52,479 awesome." So from here, obviously, what 5791 02:41:51,280 --> 02:41:53,680 you do is you'd iterate upon the 5792 02:41:52,479 --> 02:41:54,800 workflow a little bit. You'd try to make 5793 02:41:53,680 --> 02:41:56,160 it better and better. You'd add 5794 02:41:54,800 --> 02:41:57,760 different features if you want. Maybe we 5795 02:41:56,160 --> 02:41:59,920 want to add personalized outreach and 5796 02:41:57,760 --> 02:42:01,040 add like an AI element in there. But now 5797 02:41:59,920 --> 02:42:02,880 once you get to a spot where you're 5798 02:42:01,040 --> 02:42:04,640 ready, we want to push that into 5799 02:42:02,880 --> 02:42:06,640 production because right now we're in 5800 02:42:04,640 --> 02:42:09,040 development. Meaning if we don't keep 5801 02:42:06,640 --> 02:42:10,880 this connection open right here, it says 5802 02:42:09,040 --> 02:42:13,439 your local dev server is connected to 5803 02:42:10,880 --> 02:42:15,200 trigger.dev. If this wasn't open like we 5804 02:42:13,439 --> 02:42:16,800 see in our main project right here, you 5805 02:42:15,200 --> 02:42:18,560 can see I turned it off. Then these 5806 02:42:16,800 --> 02:42:20,399 would not be running, which is why we 5807 02:42:18,560 --> 02:42:22,000 have to push them to production. So 5808 02:42:20,399 --> 02:42:23,520 there's a few ways to do that. So the 5809 02:42:22,000 --> 02:42:25,920 way that I would recommend doing this is 5810 02:42:23,520 --> 02:42:27,520 by connecting to GitHub and pushing your 5811 02:42:25,920 --> 02:42:29,840 codebase. So basically this entire 5812 02:42:27,520 --> 02:42:31,680 project into GitHub. So like you can see 5813 02:42:29,840 --> 02:42:33,439 this is the GitHub repo that I made for 5814 02:42:31,680 --> 02:42:35,359 the previous workflows and I had all of 5815 02:42:33,439 --> 02:42:37,760 them in one GitHub repo which is fine in 5816 02:42:35,359 --> 02:42:39,040 this case. If I go to the SRC trigger 5817 02:42:37,760 --> 02:42:40,960 you can see that we had the AI news 5818 02:42:39,040 --> 02:42:42,160 digest and the company research. So 5819 02:42:40,960 --> 02:42:44,000 here's what we're going to do. We're 5820 02:42:42,160 --> 02:42:45,439 going to push this project into GitHub 5821 02:42:44,000 --> 02:42:47,359 and then have GitHub sync with 5822 02:42:45,439 --> 02:42:48,720 trigger.dev and then they'll be able to 5823 02:42:47,359 --> 02:42:50,000 bring everything into production. And 5824 02:42:48,720 --> 02:42:51,520 now once again I just wanted to throw 5825 02:42:50,000 --> 02:42:53,520 out there this is why you have to make 5826 02:42:51,520 --> 02:42:55,600 sure that things are in aenv and that 5827 02:42:53,520 --> 02:42:58,399 you're not having any secrets in your 5828 02:42:55,600 --> 02:43:00,479 project because otherwise they'll be in 5829 02:42:58,399 --> 02:43:02,080 GitHub and I always make them private 5830 02:43:00,479 --> 02:43:03,760 either way but still it's just best 5831 02:43:02,080 --> 02:43:06,000 practice and then you're going to add of 5832 02:43:03,760 --> 02:43:07,040 course your API keys into trigger.dev. 5833 02:43:06,000 --> 02:43:08,640 So at this point what it's probably 5834 02:43:07,040 --> 02:43:10,720 going to do is it's probably going to 5835 02:43:08,640 --> 02:43:12,560 use your command line interface and it's 5836 02:43:10,720 --> 02:43:13,920 going to ask you to login with GitHub. 5837 02:43:12,560 --> 02:43:15,760 So once you get authenticated, it's 5838 02:43:13,920 --> 02:43:17,920 really easy and it can create repos and 5839 02:43:15,760 --> 02:43:19,680 it can, you know, make commits and it's 5840 02:43:17,920 --> 02:43:20,960 very very simple. So if you guys have 5841 02:43:19,680 --> 02:43:22,880 watched any of my videos where we've 5842 02:43:20,960 --> 02:43:24,880 built websites, then you know exactly 5843 02:43:22,880 --> 02:43:27,520 how this flow works. We're building code 5844 02:43:24,880 --> 02:43:29,120 in cloud code. We push that to GitHub 5845 02:43:27,520 --> 02:43:31,520 and then GitHub automatically syncs with 5846 02:43:29,120 --> 02:43:33,200 Forcell or in our case trigger.dev, 5847 02:43:31,520 --> 02:43:34,880 meaning that we have our actual live 5848 02:43:33,200 --> 02:43:36,399 automation or our live site 5849 02:43:34,880 --> 02:43:37,920 automatically syncing with GitHub. And 5850 02:43:36,399 --> 02:43:39,760 the reason why we want to use GitHub is 5851 02:43:37,920 --> 02:43:41,520 for version control. It keeps things, 5852 02:43:39,760 --> 02:43:43,520 you know, in the cloud and we can also 5853 02:43:41,520 --> 02:43:45,439 do more collaboration with other 5854 02:43:43,520 --> 02:43:47,279 engineers, other people, whatever it is. 5855 02:43:45,439 --> 02:43:49,200 So, I'd say getting familiar with GitHub 5856 02:43:47,279 --> 02:43:50,479 is probably a good idea. And just to 5857 02:43:49,200 --> 02:43:53,600 really hammer it home, you can see it 5858 02:43:50,479 --> 02:43:56,000 says good.v is excluded from our commit 5859 02:43:53,600 --> 02:43:57,439 to GitHub. Okay, awesome. So, we now 5860 02:43:56,000 --> 02:43:58,880 have our new GitHub repo right here. 5861 02:43:57,439 --> 02:44:00,640 It's called trigger- test. So, I'm going 5862 02:43:58,880 --> 02:44:02,960 to open that up. Make sure we are good. 5863 02:44:00,640 --> 02:44:04,240 Do we have our workflows? Yes, we do. 5864 02:44:02,960 --> 02:44:05,760 Right there. And now I'm going to go 5865 02:44:04,240 --> 02:44:07,520 back into trigger. I'm going to scroll 5866 02:44:05,760 --> 02:44:09,439 all the way down to project settings and 5867 02:44:07,520 --> 02:44:10,800 I'm going to connect a GitHub repo. I'm 5868 02:44:09,439 --> 02:44:12,479 going to sign up with my account and I'm 5869 02:44:10,800 --> 02:44:14,479 going to connect the repository that we 5870 02:44:12,479 --> 02:44:16,319 just made and hit connect. Now, right 5871 02:44:14,479 --> 02:44:18,319 here it says every push to the selected 5872 02:44:16,319 --> 02:44:20,000 tracking branch creates a deployment in 5873 02:44:18,319 --> 02:44:21,520 the corresponding environment. Which 5874 02:44:20,000 --> 02:44:23,920 means every time we have a new push to 5875 02:44:21,520 --> 02:44:26,000 the master branch in our GitHub repo, it 5876 02:44:23,920 --> 02:44:27,439 will automatically get synced into our 5877 02:44:26,000 --> 02:44:28,960 production environment. So, right now 5878 02:44:27,439 --> 02:44:30,720 we're in development. If I go to 5879 02:44:28,960 --> 02:44:33,200 production, we should see that it's 5880 02:44:30,720 --> 02:44:35,040 going to actually build up these things 5881 02:44:33,200 --> 02:44:36,399 now that I've connected our GitHub repo 5882 02:44:35,040 --> 02:44:38,720 because right here in GitHub, you can 5883 02:44:36,399 --> 02:44:41,520 see that we are in the master branch and 5884 02:44:38,720 --> 02:44:42,800 we have our TypeScript right here. Now, 5885 02:44:41,520 --> 02:44:44,240 if for some reason this isn't working or 5886 02:44:42,800 --> 02:44:46,240 you don't want to take the GitHub route, 5887 02:44:44,240 --> 02:44:47,840 you can always manually deploy this kind 5888 02:44:46,240 --> 02:44:49,840 of stuff and you can just tell Cloud 5889 02:44:47,840 --> 02:44:51,600 Code to look at this and it will help 5890 02:44:49,840 --> 02:44:52,960 you push this into the production 5891 02:44:51,600 --> 02:44:54,240 environment. Okay, so you can see that 5892 02:44:52,960 --> 02:44:56,479 those just got pushed through into 5893 02:44:54,240 --> 02:44:58,080 production. And unfortunately in live 5894 02:44:56,479 --> 02:44:59,760 production, this would actually only run 5895 02:44:58,080 --> 02:45:01,439 at 8 a.m. on Mondays. So we're going to 5896 02:44:59,760 --> 02:45:03,120 do a manual run right here. I'm going to 5897 02:45:01,439 --> 02:45:04,800 go in here. I'm going to hit test. And 5898 02:45:03,120 --> 02:45:06,319 I'm just going to go ahead and hit run 5899 02:45:04,800 --> 02:45:07,840 test. And so that's going to go ahead 5900 02:45:06,319 --> 02:45:10,560 and trigger this off. We're going to 5901 02:45:07,840 --> 02:45:12,880 watch this actually find those 25 leads. 5902 02:45:10,560 --> 02:45:14,640 Remember, it should automatically be not 5903 02:45:12,880 --> 02:45:16,640 loading any in if it's already processed 5904 02:45:14,640 --> 02:45:18,960 them before. So it's looking in Tampa, 5905 02:45:16,640 --> 02:45:21,760 Tulsa, Arlington. It found these leads. 5906 02:45:18,960 --> 02:45:23,920 And if I go to runs, it's also it should 5907 02:45:21,760 --> 02:45:26,000 be scheduling all of these for ClickUp, 5908 02:45:23,920 --> 02:45:28,720 which 7:29 p.m. It's doing that right 5909 02:45:26,000 --> 02:45:30,319 now. And if I go into our ClickUp, we 5910 02:45:28,720 --> 02:45:31,359 should see now that we have 50 leads in 5911 02:45:30,319 --> 02:45:34,319 here. And I just want to make sure that 5912 02:45:31,359 --> 02:45:35,520 none of these have been duplicated. 5913 02:45:34,319 --> 02:45:37,359 Okay. Actually, it looks like some of 5914 02:45:35,520 --> 02:45:38,720 these are. So, let me just show you guys 5915 02:45:37,359 --> 02:45:40,319 real quick what we might do about that. 5916 02:45:38,720 --> 02:45:42,399 So, I just did a test run of finding 5917 02:45:40,319 --> 02:45:43,680 leads, and it all worked. However, I did 5918 02:45:42,399 --> 02:45:45,760 notice that some of the leads were 5919 02:45:43,680 --> 02:45:47,600 duplicates. So, I thought that you had 5920 02:45:45,760 --> 02:45:49,439 worked on item potency here to make sure 5921 02:45:47,600 --> 02:45:52,160 that that didn't happen, but apparently 5922 02:45:49,439 --> 02:45:53,680 it was happening. So, can you fix this? 5923 02:45:52,160 --> 02:45:55,200 Okay, so it made a change in the create 5924 02:45:53,680 --> 02:45:57,040 leads workflow where it's basically 5925 02:45:55,200 --> 02:45:59,359 going to search ClickUp before creating 5926 02:45:57,040 --> 02:46:00,319 and now have a place ID. So, it says 5927 02:45:59,359 --> 02:46:01,680 that this change should be more 5928 02:46:00,319 --> 02:46:02,960 permanent, but it doesn't affect the 5929 02:46:01,680 --> 02:46:04,640 ones that already were made. So, I'm 5930 02:46:02,960 --> 02:46:06,399 going to go ahead and run this twice and 5931 02:46:04,640 --> 02:46:08,080 we'll see if there's any duplicates. 5932 02:46:06,399 --> 02:46:09,600 Okay, so I had to do a few more changes 5933 02:46:08,080 --> 02:46:12,080 and this really shows the importance of 5934 02:46:09,600 --> 02:46:13,680 using plan mode and having a really good 5935 02:46:12,080 --> 02:46:15,600 idea of what you want built before you 5936 02:46:13,680 --> 02:46:16,720 actually tell it to go build it. For the 5937 02:46:15,600 --> 02:46:18,160 sake of the video, I was trying to show 5938 02:46:16,720 --> 02:46:19,600 you how I could just kind of oneshot 5939 02:46:18,160 --> 02:46:22,080 prompt and and it would still be pretty 5940 02:46:19,600 --> 02:46:24,319 good. But this example showed really why 5941 02:46:22,080 --> 02:46:25,920 you need to plan harder because the 5942 02:46:24,319 --> 02:46:27,760 search criteria wasn't very big and it 5943 02:46:25,920 --> 02:46:29,520 had a weird way of dduplication. But now 5944 02:46:27,760 --> 02:46:32,240 we're at a much better spot where we now 5945 02:46:29,520 --> 02:46:33,520 have 48 rows and it shows that some of 5946 02:46:32,240 --> 02:46:35,279 them were filtered out because they were 5947 02:46:33,520 --> 02:46:36,800 duplicates and it was like searching 5948 02:46:35,279 --> 02:46:39,359 again and again until it was able to 5949 02:46:36,800 --> 02:46:42,000 fill up all the slots and now we have 5950 02:46:39,359 --> 02:46:43,520 more companies. So anyways, all of these 5951 02:46:42,000 --> 02:46:44,720 were being ran in our development 5952 02:46:43,520 --> 02:46:46,640 environment because we didn't want to 5953 02:46:44,720 --> 02:46:47,840 mess with anything in prod. And now what 5954 02:46:46,640 --> 02:46:49,359 we would do is we'd come back in here 5955 02:46:47,840 --> 02:46:50,880 and say, "Cool, this looks good. Push 5956 02:46:49,359 --> 02:46:52,319 this to GitHub." and then trigger would 5957 02:46:50,880 --> 02:46:54,160 automatically pull those live changes 5958 02:46:52,319 --> 02:46:56,319 from GitHub and we'd be all set for 5959 02:46:54,160 --> 02:46:57,520 Monday at 8 a.m. Okay, so hopefully by 5960 02:46:56,319 --> 02:46:59,359 now you guys feel confident in your 5961 02:46:57,520 --> 02:47:00,640 ability to hop into Cloud Code, go to my 5962 02:46:59,359 --> 02:47:02,479 free school community, grab these 5963 02:47:00,640 --> 02:47:04,000 resources, chuck them in there, and then 5964 02:47:02,479 --> 02:47:06,560 start building some automations that you 5965 02:47:04,000 --> 02:47:08,160 can then throw into trigger.dev to just 5966 02:47:06,560 --> 02:47:09,279 run all the time for you. If there's one 5967 02:47:08,160 --> 02:47:10,880 thing that I want you to take away from 5968 02:47:09,279 --> 02:47:13,439 this video, it's the fact that AI is 5969 02:47:10,880 --> 02:47:14,880 still very much a blackbox. These models 5970 02:47:13,439 --> 02:47:16,479 are insanely smart. you can see what 5971 02:47:14,880 --> 02:47:18,479 they do. But you also saw in this video 5972 02:47:16,479 --> 02:47:20,640 how I had to talk so much to it and I 5973 02:47:18,479 --> 02:47:22,640 had to like just be very clear. It's 5974 02:47:20,640 --> 02:47:24,479 just the whole idea of you no longer 5975 02:47:22,640 --> 02:47:26,399 having to write code, but you having to 5976 02:47:24,479 --> 02:47:28,560 be the person that assures the quality 5977 02:47:26,399 --> 02:47:29,920 and make sure that it's on track. But 5978 02:47:28,560 --> 02:47:31,200 anyways, I'm having so much fun learning 5979 02:47:29,920 --> 02:47:32,479 these new tools and diving into 5980 02:47:31,200 --> 02:47:33,840 different use cases. So, definitely let 5981 02:47:32,479 --> 02:47:37,640 me know in the comments what you guys 5982 02:47:33,840 --> 02:47:37,640 want to continue to see. 5983 02:47:37,680 --> 02:47:43,040 Cloud Code is now a 247 AI employee, 5984 02:47:40,800 --> 02:47:44,720 which means that it is always Cloud Code 5985 02:47:43,040 --> 02:47:46,399 O'. And that might be the nerdiest thing 5986 02:47:44,720 --> 02:47:48,399 I've ever said. Enthropic has finally 5987 02:47:46,399 --> 02:47:50,479 done it and launched scheduled tasks 5988 02:47:48,399 --> 02:47:51,760 natively for Claude Code, which means 5989 02:47:50,479 --> 02:47:53,040 every single process, every single 5990 02:47:51,760 --> 02:47:55,279 skill, everything you've been building 5991 02:47:53,040 --> 02:47:57,040 and using inside of Cloud Code just got 5992 02:47:55,279 --> 02:47:58,399 10 times more powerful. And they 5993 02:47:57,040 --> 02:47:59,600 literally could not be easier to set up. 5994 02:47:58,399 --> 02:48:01,439 So, in today's video, I'm going to show 5995 02:47:59,600 --> 02:48:02,640 you exactly how they work and tell you 5996 02:48:01,439 --> 02:48:04,000 everything important that you need to 5997 02:48:02,640 --> 02:48:05,520 know about them. Let's not waste any 5998 02:48:04,000 --> 02:48:07,760 time and get straight into it. So, here 5999 02:48:05,520 --> 02:48:09,680 I am in Cloud Code in the Claude desktop 6000 02:48:07,760 --> 02:48:11,279 app. Now, right now, you do need to be 6001 02:48:09,680 --> 02:48:12,800 using the desktop app in order to access 6002 02:48:11,279 --> 02:48:14,640 these scheduled tasks. Now, this 6003 02:48:12,800 --> 02:48:16,880 scheduled task feature came out about a 6004 02:48:14,640 --> 02:48:18,080 week or two ago in Claude Co-work. As 6005 02:48:16,880 --> 02:48:19,760 you can see, it's basically the exact 6006 02:48:18,080 --> 02:48:21,520 same thing. You could create scheduled 6007 02:48:19,760 --> 02:48:23,040 automations, but now they finally 6008 02:48:21,520 --> 02:48:24,399 brought it to Claude Code. And there's a 6009 02:48:23,040 --> 02:48:25,840 few ways that you can set them up. The 6010 02:48:24,399 --> 02:48:27,359 first way is you go over here to the 6011 02:48:25,840 --> 02:48:29,200 schedule tab, and you just click on it. 6012 02:48:27,359 --> 02:48:30,880 And you can see right here, run tasks on 6013 02:48:29,200 --> 02:48:33,279 a schedule or whenever you need them, 6014 02:48:30,880 --> 02:48:34,880 type/schedule, and any existing session 6015 02:48:33,279 --> 02:48:36,160 to set one up. So, those are the two 6016 02:48:34,880 --> 02:48:37,840 ways. You can either click right here, 6017 02:48:36,160 --> 02:48:39,600 new task. You can give it a name, a 6018 02:48:37,840 --> 02:48:40,880 description, give it a prompt. You can 6019 02:48:39,600 --> 02:48:42,399 choose the model you want it to run on. 6020 02:48:40,880 --> 02:48:44,240 You can choose the mode to run on and 6021 02:48:42,399 --> 02:48:45,680 you can also select the folder. And then 6022 02:48:44,240 --> 02:48:48,240 finally, you just say, "Hey, I want this 6023 02:48:45,680 --> 02:48:50,800 to run every hour, every day, every week 6024 02:48:48,240 --> 02:48:52,640 at this time." Boom. You now have a 6025 02:48:50,800 --> 02:48:54,160 scheduled automation. So that cron would 6026 02:48:52,640 --> 02:48:55,600 basically fire off. The session would 6027 02:48:54,160 --> 02:48:56,880 start up. And then the agent would read 6028 02:48:55,600 --> 02:48:58,479 the prompt. It would go through your 6029 02:48:56,880 --> 02:49:00,240 files. It would work in your project, do 6030 02:48:58,479 --> 02:49:02,240 whatever it needed to do, and then after 6031 02:49:00,240 --> 02:49:03,840 it's done, it would just stop. And the 6032 02:49:02,240 --> 02:49:05,600 huge unlock here, which is so exciting 6033 02:49:03,840 --> 02:49:07,439 to me, is that this isn't a 6034 02:49:05,600 --> 02:49:08,479 deterministic workflow. And so there's 6035 02:49:07,439 --> 02:49:09,760 some good there and there's some bad 6036 02:49:08,479 --> 02:49:11,279 there. But the good news is that you can 6037 02:49:09,760 --> 02:49:12,800 completely control it. And what I mean 6038 02:49:11,279 --> 02:49:14,240 by that is if you've been following some 6039 02:49:12,800 --> 02:49:15,920 other cloud code videos I've done in the 6040 02:49:14,240 --> 02:49:18,000 past, we build either like a Python 6041 02:49:15,920 --> 02:49:19,200 script or a TypeScript. And that is the 6042 02:49:18,000 --> 02:49:22,160 actual automation. And that is 6043 02:49:19,200 --> 02:49:23,920 deterministic logic code. Meaning that 6044 02:49:22,160 --> 02:49:25,600 will always happen step one, step two, 6045 02:49:23,920 --> 02:49:27,200 step three. If there's an error, it 6046 02:49:25,600 --> 02:49:28,800 can't fix itself. It just errors. And 6047 02:49:27,200 --> 02:49:30,800 then we get notified. But this isn't 6048 02:49:28,800 --> 02:49:33,120 just a Python script. This is cloud code 6049 02:49:30,800 --> 02:49:34,880 agent running the same exact way it runs 6050 02:49:33,120 --> 02:49:36,720 when you talk to it. And that's why this 6051 02:49:34,880 --> 02:49:38,479 is so exciting because Agentic workflows 6052 02:49:36,720 --> 02:49:39,760 are self-healing and they can read 6053 02:49:38,479 --> 02:49:41,520 everything in your entire project and 6054 02:49:39,760 --> 02:49:42,960 use all your tools. So, as you guys 6055 02:49:41,520 --> 02:49:44,640 know, you tell it to go do something and 6056 02:49:42,960 --> 02:49:45,680 it starts trying. If it runs into an 6057 02:49:44,640 --> 02:49:47,760 error, it doesn't just come back to you 6058 02:49:45,680 --> 02:49:49,520 and say, "Eh, I tried." It says, "Okay, 6059 02:49:47,760 --> 02:49:50,960 here's the error. Let me try three other 6060 02:49:49,520 --> 02:49:52,560 things." And then after I see which one 6061 02:49:50,960 --> 02:49:54,160 of those three other things worked best, 6062 02:49:52,560 --> 02:49:55,920 I'm going to update myself so that I 6063 02:49:54,160 --> 02:49:57,439 never run into that error again. So, now 6064 02:49:55,920 --> 02:49:59,040 you are no longer the bottleneck. And 6065 02:49:57,439 --> 02:50:00,720 these skills and these workflows can 6066 02:49:59,040 --> 02:50:02,399 actually get better and better over time 6067 02:50:00,720 --> 02:50:03,920 automatically. But the other important 6068 02:50:02,399 --> 02:50:05,359 thing to remember here is if you do want 6069 02:50:03,920 --> 02:50:07,120 it to be more deterministic and you want 6070 02:50:05,359 --> 02:50:08,640 more control, you can do that because 6071 02:50:07,120 --> 02:50:10,240 you could literally have it just execute 6072 02:50:08,640 --> 02:50:11,920 a script and that's the whole scheduled 6073 02:50:10,240 --> 02:50:13,760 task and it just is completely 6074 02:50:11,920 --> 02:50:15,200 deterministic that way. So how do you go 6075 02:50:13,760 --> 02:50:16,960 ahead and start creating some scheduled 6076 02:50:15,200 --> 02:50:18,479 tasks? Well, here you can see one I have 6077 02:50:16,960 --> 02:50:19,760 is called morning coffee. So I've showed 6078 02:50:18,479 --> 02:50:21,279 this one off before in a few other 6079 02:50:19,760 --> 02:50:22,960 videos, but basically every single 6080 02:50:21,279 --> 02:50:24,080 morning I would open up my cloud code 6081 02:50:22,960 --> 02:50:25,520 and I would say, "Hey, run morning 6082 02:50:24,080 --> 02:50:26,960 coffee." Which would help me plan my 6083 02:50:25,520 --> 02:50:28,240 day. It would look at my commitments. It 6084 02:50:26,960 --> 02:50:30,000 would look at the projects and help me 6085 02:50:28,240 --> 02:50:31,279 catch up on what the team's up to. But 6086 02:50:30,000 --> 02:50:33,040 now this can actually just run 6087 02:50:31,279 --> 02:50:34,800 automatically at 6:00 a.m. every 6088 02:50:33,040 --> 02:50:36,479 morning. And literally all that I did to 6089 02:50:34,800 --> 02:50:37,920 set this up was I said, "Take a look at 6090 02:50:36,479 --> 02:50:39,200 my morning coffee skill. I would like to 6091 02:50:37,920 --> 02:50:40,880 turn this into a scheduled task that 6092 02:50:39,200 --> 02:50:42,640 goes off every morning at 6:00 a.m. Help 6093 02:50:40,880 --> 02:50:44,080 me get this set up." It read the skill. 6094 02:50:42,640 --> 02:50:45,600 It complimented me on the skill. And 6095 02:50:44,080 --> 02:50:47,439 then it asked me one question about it. 6096 02:50:45,600 --> 02:50:49,359 And then a minute later, my skill that I 6097 02:50:47,439 --> 02:50:50,560 run every morning is now automated. And 6098 02:50:49,359 --> 02:50:52,080 if you've never used Cloud Code in the 6099 02:50:50,560 --> 02:50:53,760 desktop app, don't worry. It's super 6100 02:50:52,080 --> 02:50:55,279 easy. You can basically pull in, you 6101 02:50:53,760 --> 02:50:56,960 know, a GitHub repo or a different 6102 02:50:55,279 --> 02:50:58,479 folder and you can be working in the 6103 02:50:56,960 --> 02:50:59,840 exact same project that you're used to. 6104 02:50:58,479 --> 02:51:01,520 So right here in a new session I just 6105 02:50:59,840 --> 02:51:03,040 asked it what skills do you have in this 6106 02:51:01,520 --> 02:51:04,479 project and it came back and said hey 6107 02:51:03,040 --> 02:51:05,840 here are all the active skills we've got 6108 02:51:04,479 --> 02:51:07,520 content creation we've got research and 6109 02:51:05,840 --> 02:51:10,160 intelligence we've got visual diagrams 6110 02:51:07,520 --> 02:51:11,920 operations and meta and now any of these 6111 02:51:10,160 --> 02:51:14,160 skills I could just say okay cool turn 6112 02:51:11,920 --> 02:51:15,840 that into a weekly automation. All right 6113 02:51:14,160 --> 02:51:17,520 so there are a few limitations though 6114 02:51:15,840 --> 02:51:19,359 the first major gotcha is the fact that 6115 02:51:17,520 --> 02:51:20,960 your laptop has to be on or your 6116 02:51:19,359 --> 02:51:22,960 computer has to be on and the desktop 6117 02:51:20,960 --> 02:51:24,800 app has to be open. So if you turn off 6118 02:51:22,960 --> 02:51:26,240 your computer that automation will not 6119 02:51:24,800 --> 02:51:27,920 run. Now, the good news is, let's say 6120 02:51:26,240 --> 02:51:29,439 you had a task for 7 a.m. and you wake 6121 02:51:27,920 --> 02:51:31,439 up at 8:00, you turn on your computer. 6122 02:51:29,439 --> 02:51:33,359 Cloud Code would actually check back 7 6123 02:51:31,439 --> 02:51:35,040 days and see any scheduled tasks that it 6124 02:51:33,359 --> 02:51:36,560 missed and then would catch up and it 6125 02:51:35,040 --> 02:51:37,840 would run those. Obviously, that's not 6126 02:51:36,560 --> 02:51:39,359 perfect because some of those may be 6127 02:51:37,840 --> 02:51:40,800 timesensitive, but it is cool that it 6128 02:51:39,359 --> 02:51:42,160 has that ability. Now, what are some 6129 02:51:40,800 --> 02:51:44,000 other things to think about? Well, the 6130 02:51:42,160 --> 02:51:45,920 first one is that this thing is now 6131 02:51:44,000 --> 02:51:47,279 running without your supervision. And 6132 02:51:45,920 --> 02:51:48,399 ideally, it's not going to stop to ask 6133 02:51:47,279 --> 02:51:50,319 you questions because then what's the 6134 02:51:48,399 --> 02:51:51,600 point of having it automated? So that 6135 02:51:50,319 --> 02:51:52,960 means you want to be looking at your 6136 02:51:51,600 --> 02:51:54,560 permissions to make sure that it can't 6137 02:51:52,960 --> 02:51:56,560 actually go off the rails and do 6138 02:51:54,560 --> 02:51:58,479 anything like maybe make a major change 6139 02:51:56,560 --> 02:52:00,160 to your GitHub repository or go off and 6140 02:51:58,479 --> 02:52:02,479 delete things. And you can take care of 6141 02:52:00,160 --> 02:52:03,840 that by changing your local settings in 6142 02:52:02,479 --> 02:52:05,120 that project which you could just say, 6143 02:52:03,840 --> 02:52:06,560 "Hey, I want to make sure that you never 6144 02:52:05,120 --> 02:52:08,640 delete things. How can I put this in 6145 02:52:06,560 --> 02:52:10,000 your settings?" You know, deny a bash 6146 02:52:08,640 --> 02:52:11,680 command that does any deletes or 6147 02:52:10,000 --> 02:52:13,359 removes. And it will help you figure 6148 02:52:11,680 --> 02:52:15,120 that out. I've got a video coming about 6149 02:52:13,359 --> 02:52:17,120 this. I will tag that right up here once 6150 02:52:15,120 --> 02:52:18,720 that is live on YouTube. These are also 6151 02:52:17,120 --> 02:52:20,479 stateless. So basically, every time that 6152 02:52:18,720 --> 02:52:22,000 you run one of these, it's going to 6153 02:52:20,479 --> 02:52:23,600 throw it in a new session. So right 6154 02:52:22,000 --> 02:52:25,600 here, I did a test run of my morning 6155 02:52:23,600 --> 02:52:27,200 coffee. Here's the actual task itself. 6156 02:52:25,600 --> 02:52:28,880 And then when I open this up, I will be 6157 02:52:27,200 --> 02:52:30,399 able to see every run. And every run is 6158 02:52:28,880 --> 02:52:32,160 going to be fresh and it's not going to 6159 02:52:30,399 --> 02:52:33,680 have context of what happened on the 6160 02:52:32,160 --> 02:52:34,960 previous run. And the other thing, of 6161 02:52:33,680 --> 02:52:36,479 course, is that if you didn't put in an 6162 02:52:34,960 --> 02:52:37,760 API key or if there's literally 6163 02:52:36,479 --> 02:52:39,120 something that it can't do because it 6164 02:52:37,760 --> 02:52:40,640 needs your permission, it's going to 6165 02:52:39,120 --> 02:52:42,399 stop. So what I'd recommend is as soon 6166 02:52:40,640 --> 02:52:43,840 as you create a new task, just run it 6167 02:52:42,399 --> 02:52:45,600 manually and make sure that it can go 6168 02:52:43,840 --> 02:52:47,279 through all of the steps without 6169 02:52:45,600 --> 02:52:48,479 oversight. Otherwise, what's going to 6170 02:52:47,279 --> 02:52:49,520 happen is it's going to pause and it's 6171 02:52:48,479 --> 02:52:51,359 going to ask you for permissions to do 6172 02:52:49,520 --> 02:52:52,479 this and permissions to do that. Now, 6173 02:52:51,359 --> 02:52:53,520 sometimes it's a good thing that they're 6174 02:52:52,479 --> 02:52:55,200 stateless and that they don't have 6175 02:52:53,520 --> 02:52:56,720 shared memory, but sometimes you might 6176 02:52:55,200 --> 02:52:58,880 want them to, and that would be kind of 6177 02:52:56,720 --> 02:53:00,399 part of this whole self-improving thing. 6178 02:52:58,880 --> 02:53:02,800 So, here's how I imagine the 6179 02:53:00,399 --> 02:53:05,040 self-improving loop working. So, first 6180 02:53:02,800 --> 02:53:06,399 of all is fixing the actual script. So, 6181 02:53:05,040 --> 02:53:08,080 you can have in there the fact that if 6182 02:53:06,399 --> 02:53:10,000 it errors, edit your own code and make 6183 02:53:08,080 --> 02:53:12,000 sure you're fixed. The second layer is 6184 02:53:10,000 --> 02:53:13,439 the prompt. So, if you realize that 6185 02:53:12,000 --> 02:53:15,120 there's an opportunity to improve this 6186 02:53:13,439 --> 02:53:16,800 prompt, rewrite it and now you have a 6187 02:53:15,120 --> 02:53:18,800 new prompt. And then the third one is 6188 02:53:16,800 --> 02:53:20,479 potentially having a log for memory. 6189 02:53:18,800 --> 02:53:22,000 Whether that means every single run you 6190 02:53:20,479 --> 02:53:23,840 put some sort of like status of what 6191 02:53:22,000 --> 02:53:25,359 that run did or maybe you just have a 6192 02:53:23,840 --> 02:53:27,120 file that you overwrite so that every 6193 02:53:25,359 --> 02:53:28,560 time when the new agent wakes up, it can 6194 02:53:27,120 --> 02:53:30,479 look at the log and say, "Hey, this is 6195 02:53:28,560 --> 02:53:31,920 what the previous agent just did. Now I 6196 02:53:30,479 --> 02:53:33,439 need to run." So there's lots of ways 6197 02:53:31,920 --> 02:53:35,279 that you can kind of tweak these 6198 02:53:33,439 --> 02:53:36,720 scheduled tasks to fit your use cases 6199 02:53:35,279 --> 02:53:38,560 better. And once again, because they 6200 02:53:36,720 --> 02:53:40,000 have the context of everything in that 6201 02:53:38,560 --> 02:53:41,439 project, they're going to be super 6202 02:53:40,000 --> 02:53:43,120 powerful. They can look at any file that 6203 02:53:41,439 --> 02:53:44,479 you want them to. So that's what my 6204 02:53:43,120 --> 02:53:45,920 brain immediately went to. But I wanted 6205 02:53:44,479 --> 02:53:47,359 to see what Claude code thought. So I 6206 02:53:45,920 --> 02:53:48,960 asked it what it thought the most 6207 02:53:47,359 --> 02:53:50,399 optimal strategy was to make these 6208 02:53:48,960 --> 02:53:52,479 improve and make sure they have the 6209 02:53:50,399 --> 02:53:54,640 right context. So what it thought of was 6210 02:53:52,479 --> 02:53:56,560 a lean strategy where you have one file 6211 02:53:54,640 --> 02:53:59,359 per task. So basically every single time 6212 02:53:56,560 --> 02:54:02,000 the agent runs, it would overwrite this 6213 02:53:59,359 --> 02:54:03,600 file with information like here's the 6214 02:54:02,000 --> 02:54:05,040 last run, here's how long it lasted, 6215 02:54:03,600 --> 02:54:06,640 here's what happened, here's what I did, 6216 02:54:05,040 --> 02:54:08,319 here are known issues, and things like 6217 02:54:06,640 --> 02:54:09,840 that. And this is better than an append 6218 02:54:08,319 --> 02:54:12,080 log in some scenarios because like I 6219 02:54:09,840 --> 02:54:13,279 said earlier, if you run an automation a 6220 02:54:12,080 --> 02:54:15,120 thousand times, then you might have a 6221 02:54:13,279 --> 02:54:16,640 thousand append logs. But then what's 6222 02:54:15,120 --> 02:54:19,200 cool is the actual structure of your 6223 02:54:16,640 --> 02:54:20,640 prompt. So when you're creating a new um 6224 02:54:19,200 --> 02:54:22,399 task right here, the way that you prompt 6225 02:54:20,640 --> 02:54:24,240 it, you could basically say, okay, 6226 02:54:22,399 --> 02:54:25,680 before you actually do your job, go 6227 02:54:24,240 --> 02:54:27,359 ahead and read this file, which is 6228 02:54:25,680 --> 02:54:28,960 basically the last run, and then you do 6229 02:54:27,359 --> 02:54:30,960 your main task. And then after you're 6230 02:54:28,960 --> 02:54:33,120 done with the task, overwrite that file 6231 02:54:30,960 --> 02:54:34,479 with any current issues or status or 6232 02:54:33,120 --> 02:54:36,160 anything that you found that might help 6233 02:54:34,479 --> 02:54:37,279 the next agent. So, obviously I'm going 6234 02:54:36,160 --> 02:54:39,279 to be playing around with different 6235 02:54:37,279 --> 02:54:40,560 structures of having context shared 6236 02:54:39,279 --> 02:54:42,000 between these different, you know, 6237 02:54:40,560 --> 02:54:43,279 tasks, but that's just something that I 6238 02:54:42,000 --> 02:54:44,640 thought would be really, really cool. 6239 02:54:43,279 --> 02:54:46,319 So, another thing I wanted to talk about 6240 02:54:44,640 --> 02:54:47,520 is because this is in the desktop app 6241 02:54:46,319 --> 02:54:49,279 and because this is running on a 6242 02:54:47,520 --> 02:54:50,960 schedule, how do you want to get 6243 02:54:49,279 --> 02:54:53,279 notified that that scheduled task has 6244 02:54:50,960 --> 02:54:54,960 been done? So, the desktop app does have 6245 02:54:53,279 --> 02:54:56,319 notifications, but they're not super 6246 02:54:54,960 --> 02:54:57,520 great. At least it wasn't making any 6247 02:54:56,319 --> 02:54:58,960 noise and it wasn't capturing my 6248 02:54:57,520 --> 02:55:00,319 attention. It's cool that everything 6249 02:54:58,960 --> 02:55:01,680 gets organized over here. So, as you 6250 02:55:00,319 --> 02:55:03,920 have more tasks, you can see them all 6251 02:55:01,680 --> 02:55:05,760 and it's organized. But what you can do 6252 02:55:03,920 --> 02:55:08,000 is you can add a hook. so that every 6253 02:55:05,760 --> 02:55:09,520 time you actually get a sound. So what I 6254 02:55:08,000 --> 02:55:11,680 did is I set up a hook so that every 6255 02:55:09,520 --> 02:55:15,840 time a cloud code session finishes I get 6256 02:55:11,680 --> 02:55:17,200 a notification. So listen to this. 6257 02:55:15,840 --> 02:55:19,040 So that was like kind of the default 6258 02:55:17,200 --> 02:55:20,560 Windows little sound. You can change 6259 02:55:19,040 --> 02:55:21,840 that. But that's really helpful because 6260 02:55:20,560 --> 02:55:23,359 I could be working and I could forget 6261 02:55:21,840 --> 02:55:24,880 that a scheduled task might go off and 6262 02:55:23,359 --> 02:55:26,880 then I get that noise. But the other 6263 02:55:24,880 --> 02:55:28,560 thing I would recommend is in the prompt 6264 02:55:26,880 --> 02:55:30,479 of the actual skill itself, maybe just 6265 02:55:28,560 --> 02:55:32,160 at the bottom say, "Hey, once this is 6266 02:55:30,479 --> 02:55:33,920 done, just shoot me a ClickUp message 6267 02:55:32,160 --> 02:55:34,880 and say that this happened." And that's 6268 02:55:33,920 --> 02:55:36,399 probably what I'm going to set up for 6269 02:55:34,880 --> 02:55:37,520 all my scheduled tasks. And if you're 6270 02:55:36,399 --> 02:55:39,279 curious about setting up hooks, 6271 02:55:37,520 --> 02:55:40,960 literally just say to cloud code, set up 6272 02:55:39,279 --> 02:55:42,800 a hook. I want you to play a sound every 6273 02:55:40,960 --> 02:55:44,560 time you finish talking to me and it 6274 02:55:42,800 --> 02:55:46,800 will do it in like a minute. And the 6275 02:55:44,560 --> 02:55:48,479 last thing I was curious about is the 6276 02:55:46,800 --> 02:55:50,880 fact that we're limited to the desktop 6277 02:55:48,479 --> 02:55:52,640 app. Now, Enthropic is shipping like 6278 02:55:50,880 --> 02:55:54,160 crazy. So, I'm sure in a week or two 6279 02:55:52,640 --> 02:55:56,240 that this is going to be open in the 6280 02:55:54,160 --> 02:55:57,600 terminal and in the IDE extensions and 6281 02:55:56,240 --> 02:55:59,840 stuff like that, too. But for the 6282 02:55:57,600 --> 02:56:01,680 moment, it's only desktop app. And 6283 02:55:59,840 --> 02:56:04,160 basically why is because all of the 6284 02:56:01,680 --> 02:56:06,560 actual like cron logic and that kind of 6285 02:56:04,160 --> 02:56:08,640 metadata lives in the desktop app even 6286 02:56:06,560 --> 02:56:10,240 though the actual files live in your 6287 02:56:08,640 --> 02:56:13,120 computer. They live somewhere where 6288 02:56:10,240 --> 02:56:14,560 terminal or your VS code cloud code 6289 02:56:13,120 --> 02:56:16,080 could actually see it. So I was 6290 02:56:14,560 --> 02:56:17,600 interested in that and I said are you 6291 02:56:16,080 --> 02:56:19,439 able to see my scheduled task for 6292 02:56:17,600 --> 02:56:20,800 morning coffee? It runs at 609 and 6293 02:56:19,439 --> 02:56:23,359 here's where it lives because it lives 6294 02:56:20,800 --> 02:56:25,840 kind of in this global folder path right 6295 02:56:23,359 --> 02:56:27,840 here and it can see it right because it 6296 02:56:25,840 --> 02:56:30,560 just exists as a file. But what it can't 6297 02:56:27,840 --> 02:56:31,920 do is it can't create new scheduled 6298 02:56:30,560 --> 02:56:34,479 tasks because it can't actually touch 6299 02:56:31,920 --> 02:56:36,640 the cron that the desktop app of cloud 6300 02:56:34,479 --> 02:56:38,479 code sets up. But what it could do is it 6301 02:56:36,640 --> 02:56:40,479 could edit it. So it could improve it. 6302 02:56:38,479 --> 02:56:42,560 It could make changes, but it can't 6303 02:56:40,479 --> 02:56:44,000 create them or like run them. Now that's 6304 02:56:42,560 --> 02:56:45,920 actually not a huge deal to me right now 6305 02:56:44,000 --> 02:56:47,760 because I usually work in VS Code, but I 6306 02:56:45,920 --> 02:56:49,120 can just have the desktop app open and I 6307 02:56:47,760 --> 02:56:51,040 can just leave it open in the background 6308 02:56:49,120 --> 02:56:52,640 while I've got my computer on and all of 6309 02:56:51,040 --> 02:56:54,319 my scheduled tasks will still be 6310 02:56:52,640 --> 02:56:55,920 running. And so now that Cloud Code is 6311 02:56:54,319 --> 02:56:58,000 so powerful on its own, it can actually 6312 02:56:55,920 --> 02:56:59,359 like do things in the browser as well. I 6313 02:56:58,000 --> 02:57:03,479 truly think we're getting to that point 6314 02:56:59,359 --> 02:57:03,479 where you can automate anything. 6315 02:57:03,840 --> 02:57:07,040 Cloud Code can now remind you to do 6316 02:57:05,439 --> 02:57:08,960 things, check on things proactively for 6317 02:57:07,040 --> 02:57:10,560 you, and work for days straight without 6318 02:57:08,960 --> 02:57:12,080 you ever touching it or needing to give 6319 02:57:10,560 --> 02:57:14,160 any input. So here you can see I just 6320 02:57:12,080 --> 02:57:16,399 said, "Remind me at 10:23 a.m. to check 6321 02:57:14,160 --> 02:57:20,240 on my project." It goes ahead and uses a 6322 02:57:16,399 --> 02:57:22,080 cron create tool to set this reminder. 6323 02:57:20,240 --> 02:57:23,600 There we go. 10:23 just hit. I didn't 6324 02:57:22,080 --> 02:57:25,120 touch it. and it just said, "Hey, Nate, 6325 02:57:23,600 --> 02:57:26,560 this is the reminder to check on your 6326 02:57:25,120 --> 02:57:28,000 project." So, just shot off this one 6327 02:57:26,560 --> 02:57:29,200 that says, "Every 10 minutes, check my 6328 02:57:28,000 --> 02:57:31,120 ClickUp to see if there's any new 6329 02:57:29,200 --> 02:57:32,800 developments on our project." It's using 6330 02:57:31,120 --> 02:57:34,720 the loop skill, as you can see, which is 6331 02:57:32,800 --> 02:57:36,880 a new built-in skill, and it creates a 6332 02:57:34,720 --> 02:57:38,640 cron for every single 10 minutes. And 6333 02:57:36,880 --> 02:57:40,560 now, this would run for the next 3 days, 6334 02:57:38,640 --> 02:57:41,680 every 10 minutes until I told it not to. 6335 02:57:40,560 --> 02:57:43,040 And this doesn't have to be every 10 6336 02:57:41,680 --> 02:57:44,479 minutes. It could be every hour. It 6337 02:57:43,040 --> 02:57:46,080 could be every 5 minutes. It could be 6338 02:57:44,479 --> 02:57:47,920 whatever interval that you want. And 6339 02:57:46,080 --> 02:57:50,080 this is all thanks to the newly released 6340 02:57:47,920 --> 02:57:51,439 feature or skill loop, which is a 6341 02:57:50,080 --> 02:57:53,359 powerful new way to schedule recurring 6342 02:57:51,439 --> 02:57:55,040 tasks for up to 3 days at a time. And 6343 02:57:53,359 --> 02:57:57,040 this is so funny because less than 12 6344 02:57:55,040 --> 02:57:59,040 hours before this was announced, the 6345 02:57:57,040 --> 02:58:00,640 scheduled tasks in Cloud Code was also 6346 02:57:59,040 --> 02:58:02,080 announced. So, right off the bat, those 6347 02:58:00,640 --> 02:58:03,439 two features might seem like they're the 6348 02:58:02,080 --> 02:58:04,960 exact same thing, but they're actually 6349 02:58:03,439 --> 02:58:06,720 super different in how they work, and 6350 02:58:04,960 --> 02:58:07,840 they have different use cases. So, in 6351 02:58:06,720 --> 02:58:08,960 today's video, I'm going to break all of 6352 02:58:07,840 --> 02:58:10,240 that down and tell you everything that 6353 02:58:08,960 --> 02:58:11,359 you need to know about it. And by the 6354 02:58:10,240 --> 02:58:12,800 way, if you haven't watched my new 6355 02:58:11,359 --> 02:58:14,399 scheduled tasks video, then check that 6356 02:58:12,800 --> 02:58:15,600 out right up here, and then hop back 6357 02:58:14,399 --> 02:58:17,200 over to this one. All right, so as you 6358 02:58:15,600 --> 02:58:19,200 guys just saw in the quick demo, we now 6359 02:58:17,200 --> 02:58:20,399 have the ability to use loops, which 6360 02:58:19,200 --> 02:58:22,160 means that we could say something like 6361 02:58:20,399 --> 02:58:23,600 /loop every 5 minutes, check on the 6362 02:58:22,160 --> 02:58:25,040 deploy, or we could just say that in 6363 02:58:23,600 --> 02:58:26,880 natural language, which is awesome 6364 02:58:25,040 --> 02:58:28,720 because it invokes the loop skill and 6365 02:58:26,880 --> 02:58:30,479 then it creates that cron job right here 6366 02:58:28,720 --> 02:58:32,080 in cloud code. And you'll notice that 6367 02:58:30,479 --> 02:58:33,680 this is in my VS code. So this is 6368 02:58:32,080 --> 02:58:36,240 available in your terminal, in cloud 6369 02:58:33,680 --> 02:58:38,160 code desktop app, in VS Code extensions, 6370 02:58:36,240 --> 02:58:39,840 wherever. This is just a core part of 6371 02:58:38,160 --> 02:58:41,120 cloud code now. So if you're not seeing 6372 02:58:39,840 --> 02:58:43,200 this, just make sure you update your 6373 02:58:41,120 --> 02:58:44,880 extension or you update Cloud Code. And 6374 02:58:43,200 --> 02:58:46,479 this lets you set up loop intervals or 6375 02:58:44,880 --> 02:58:47,840 reminders. So reminders, like you saw 6376 02:58:46,479 --> 02:58:49,279 that first demo, I just said, "Hey, at 6377 02:58:47,840 --> 02:58:51,200 this time just tell me this." And in 6378 02:58:49,279 --> 02:58:52,640 that session, it will bump up a message 6379 02:58:51,200 --> 02:58:54,080 without you triggering it. Or you could 6380 02:58:52,640 --> 02:58:56,000 have them be intervals. So you could say 6381 02:58:54,080 --> 02:58:57,439 every 2 hours. You could say every 30 6382 02:58:56,000 --> 02:58:59,120 minutes. Whatever you want that actual 6383 02:58:57,439 --> 02:59:01,120 interval to be. And what's cool about it 6384 02:58:59,120 --> 02:59:03,040 is it does it all in the same session. 6385 02:59:01,120 --> 02:59:04,560 So if I leave this session up every 10 6386 02:59:03,040 --> 02:59:06,080 minutes, it would check everything right 6387 02:59:04,560 --> 02:59:07,359 here, which means that it's able to 6388 02:59:06,080 --> 02:59:09,040 continuously read through what happened 6389 02:59:07,359 --> 02:59:10,560 in the past one, and it continuously 6390 02:59:09,040 --> 02:59:12,479 sees what we're doing. Now, obviously 6391 02:59:10,560 --> 02:59:14,000 there are some pros and cons there, but 6392 02:59:12,479 --> 02:59:15,600 just wanted to point that out. The major 6393 02:59:14,000 --> 02:59:16,960 con there being your context, making 6394 02:59:15,600 --> 02:59:18,319 sure that if something does go off every 6395 02:59:16,960 --> 02:59:19,840 10 minutes, you're not going to get a 6396 02:59:18,319 --> 02:59:21,840 huge report and then every 10 minutes 6397 02:59:19,840 --> 02:59:24,080 you just more tokens, more tokens, and 6398 02:59:21,840 --> 02:59:25,520 then context rot. It's basically 6399 02:59:24,080 --> 02:59:28,000 scheduling a prompt that you would be 6400 02:59:25,520 --> 02:59:30,399 sending in here and then firing off, 6401 02:59:28,000 --> 02:59:32,000 which means you can loop skills. So, if 6402 02:59:30,399 --> 02:59:34,319 you want every 20 minutes, for example, 6403 02:59:32,000 --> 02:59:36,160 run a skill called review PR, you could 6404 02:59:34,319 --> 02:59:38,080 tell it to every 20 minutes run the 6405 02:59:36,160 --> 02:59:39,680 skill. It would run it, it would wait 20 6406 02:59:38,080 --> 02:59:41,279 minutes, and then it would do it again. 6407 02:59:39,680 --> 02:59:43,120 And of course, you could use actual 6408 02:59:41,279 --> 02:59:44,720 slash commands to invoke both the loop 6409 02:59:43,120 --> 02:59:46,880 and the skill. Or you could just say, 6410 02:59:44,720 --> 02:59:48,479 "Every 20 minutes, run my review PR 6411 02:59:46,880 --> 02:59:50,960 skill." And of course, the onetime 6412 02:59:48,479 --> 02:59:52,399 reminder feature. So at 3 p.m. or in 45 6413 02:59:50,960 --> 02:59:54,080 minutes, remind me to do this or check 6414 02:59:52,399 --> 02:59:56,000 in on that. And Claude will basically 6415 02:59:54,080 --> 02:59:57,600 pin that time. It'll create that cron 6416 02:59:56,000 --> 02:59:59,200 and then once it's done, it'll just 6417 02:59:57,600 --> 03:00:01,359 delete itself. So whether that's, hey, 6418 02:59:59,200 --> 03:00:03,680 at 4:30, remind me I have to go do this 6419 03:00:01,359 --> 03:00:05,840 or every hour remind me to just stand up 6420 03:00:03,680 --> 03:00:07,520 and like look away from my screen for 5 6421 03:00:05,840 --> 03:00:08,479 minutes, it can do that. All right. All 6422 03:00:07,520 --> 03:00:09,680 right. So, there's a couple things that 6423 03:00:08,479 --> 03:00:10,880 I wanted you guys to understand about 6424 03:00:09,680 --> 03:00:13,439 how this actually works. So, let's just 6425 03:00:10,880 --> 03:00:14,880 play around a little bit. Hey, at 10:40 6426 03:00:13,439 --> 03:00:17,040 a.m., can you please remind me to take 6427 03:00:14,880 --> 03:00:18,640 out the garbage? Cool. So, what that's 6428 03:00:17,040 --> 03:00:21,120 going to do is it's going to use the 6429 03:00:18,640 --> 03:00:23,040 cronreate tool, and it's going to create 6430 03:00:21,120 --> 03:00:24,960 that basically schedule to remind me 6431 03:00:23,040 --> 03:00:26,960 take out the garbage. And what you can 6432 03:00:24,960 --> 03:00:28,640 see here is the actual prompt. So, at 6433 03:00:26,960 --> 03:00:30,560 this interval, which is just how cron 6434 03:00:28,640 --> 03:00:32,800 works, it's basically going to shoot a 6435 03:00:30,560 --> 03:00:34,319 prompt into this window that says remind 6436 03:00:32,800 --> 03:00:36,800 Nate to take out the garbage. You can 6437 03:00:34,319 --> 03:00:38,720 see the recurring equals false. Now, of 6438 03:00:36,800 --> 03:00:40,560 course, the key is if the session is 6439 03:00:38,720 --> 03:00:42,560 closed, then that cron is going to 6440 03:00:40,560 --> 03:00:43,760 automatically be killed. So, now 6441 03:00:42,560 --> 03:00:46,160 something interesting. I'm going to open 6442 03:00:43,760 --> 03:00:47,920 up a new session and I'm going to say, 6443 03:00:46,160 --> 03:00:49,760 "Hey, every hour, can you just remind me 6444 03:00:47,920 --> 03:00:50,960 I need to stretch my neck?" And I'm 6445 03:00:49,760 --> 03:00:52,080 going to shoot this one off. And we'll 6446 03:00:50,960 --> 03:00:53,760 see how this one is a little bit 6447 03:00:52,080 --> 03:00:56,000 different because this once again 6448 03:00:53,760 --> 03:00:57,359 creates a cron. We have a prompt. And 6449 03:00:56,000 --> 03:00:59,920 you can see in this one, we don't have 6450 03:00:57,359 --> 03:01:01,439 the recurring equals false. We just know 6451 03:00:59,920 --> 03:01:03,840 that this cron is going to go every 6452 03:01:01,439 --> 03:01:05,840 hour. But these loop jobs or task jobs 6453 03:01:03,840 --> 03:01:07,200 are per session. So these two tabs are 6454 03:01:05,840 --> 03:01:08,960 two different sessions. So if I came 6455 03:01:07,200 --> 03:01:10,800 into this session and said, "Can you 6456 03:01:08,960 --> 03:01:13,040 please tell me all of the scheduled loop 6457 03:01:10,800 --> 03:01:15,359 tasks that we have today? It's going to 6458 03:01:13,040 --> 03:01:17,200 use a tool called cron list, and it only 6459 03:01:15,359 --> 03:01:19,120 can see the 10:40 a.m. take out the 6460 03:01:17,200 --> 03:01:20,800 garbage. It cannot see the task that 6461 03:01:19,120 --> 03:01:23,040 exists in this session because they're 6462 03:01:20,800 --> 03:01:24,560 independent and they're separate. Now, 6463 03:01:23,040 --> 03:01:26,640 one interesting thing to notice is that 6464 03:01:24,560 --> 03:01:28,560 this session didn't actually invoke the 6465 03:01:26,640 --> 03:01:30,240 loop tool. The loop tool basically tells 6466 03:01:28,560 --> 03:01:32,160 it how to set up cron jobs and how to 6467 03:01:30,240 --> 03:01:34,080 use the cron create. So if you don't see 6468 03:01:32,160 --> 03:01:35,760 loop, don't worry. It's still actually 6469 03:01:34,080 --> 03:01:37,200 doing this in a loop. It's just kind of 6470 03:01:35,760 --> 03:01:38,720 about the actual wording. So, if I was 6471 03:01:37,200 --> 03:01:40,399 to open a new one, let's see if I 6472 03:01:38,720 --> 03:01:42,399 actually call the loop tool right here. 6473 03:01:40,399 --> 03:01:46,720 So, I do loop and then I just say, you 6474 03:01:42,399 --> 03:01:48,160 know, um, check my ClickUp. This one is 6475 03:01:46,720 --> 03:01:50,080 going to default, I believe, to 10 6476 03:01:48,160 --> 03:01:51,760 minutes if you don't specify a time. And 6477 03:01:50,080 --> 03:01:53,600 it might invoke the loop skill because 6478 03:01:51,760 --> 03:01:55,279 we actually called it to, but looks like 6479 03:01:53,600 --> 03:01:57,359 it didn't because it knows exactly what 6480 03:01:55,279 --> 03:01:59,040 it needs to do already. So, the point 6481 03:01:57,359 --> 03:02:00,319 being, all it matters is that the cron 6482 03:01:59,040 --> 03:02:02,240 is being created. It doesn't always 6483 03:02:00,319 --> 03:02:04,080 matter if it invokes the loop skill or 6484 03:02:02,240 --> 03:02:05,439 not. And then if you wanted to cancel 6485 03:02:04,080 --> 03:02:06,960 one of these jobs, all you'd have to do 6486 03:02:05,439 --> 03:02:08,640 is either close out of the terminal or 6487 03:02:06,960 --> 03:02:10,479 just say, "Actually, I don't need this 6488 03:02:08,640 --> 03:02:12,080 anymore. Go ahead and cancel it." And 6489 03:02:10,479 --> 03:02:14,240 that one invokes a different cron skill 6490 03:02:12,080 --> 03:02:16,479 called cron delete. It shoots over the 6491 03:02:14,240 --> 03:02:18,319 job ID. And now that it's canceled. And 6492 03:02:16,479 --> 03:02:20,080 one final thing to keep in mind is in VS 6493 03:02:18,319 --> 03:02:21,439 Code, if you close out of a tab and then 6494 03:02:20,080 --> 03:02:24,399 you just open up that conversation 6495 03:02:21,439 --> 03:02:25,920 again, that still will kill those crons. 6496 03:02:24,399 --> 03:02:28,080 So you guys just saw how pretty much all 6497 03:02:25,920 --> 03:02:30,000 of this worked. We have cron create to 6498 03:02:28,080 --> 03:02:31,760 schedule. We have cron list to list 6499 03:02:30,000 --> 03:02:33,279 them. And then we have cron delete to 6500 03:02:31,760 --> 03:02:34,800 cancel them. And all of those can be 6501 03:02:33,279 --> 03:02:36,240 invoked with natural language, which is 6502 03:02:34,800 --> 03:02:37,359 awesome. So now let's get into some of 6503 03:02:36,240 --> 03:02:39,120 the limitations and then I'm going to 6504 03:02:37,359 --> 03:02:41,359 compare them to the actual scheduled 6505 03:02:39,120 --> 03:02:43,279 tasks feature. So the first big one is 6506 03:02:41,359 --> 03:02:44,880 that we have a 3-day loop expiry, which 6507 03:02:43,279 --> 03:02:46,319 is just basically for safety. It auto 6508 03:02:44,880 --> 03:02:48,399 cleans things up if you forgot you had 6509 03:02:46,319 --> 03:02:50,080 all of these loops running. So once you 6510 03:02:48,399 --> 03:02:51,840 create a loop, it basically has a 3-day 6511 03:02:50,080 --> 03:02:53,120 timer on it. It can run for day one, it 6512 03:02:51,840 --> 03:02:55,760 can run on day two, and then on day 6513 03:02:53,120 --> 03:02:58,000 three, it can run up until that last 6514 03:02:55,760 --> 03:02:59,439 fire, and then it will autodee. And if 6515 03:02:58,000 --> 03:03:00,880 you want anything longer than 3 days, 6516 03:02:59,439 --> 03:03:02,880 then you would either just recreate that 6517 03:03:00,880 --> 03:03:04,560 loop or that probably indicates that you 6518 03:03:02,880 --> 03:03:06,319 should just turn this into a legitimate 6519 03:03:04,560 --> 03:03:07,840 scheduled task. Now, the other thing 6520 03:03:06,319 --> 03:03:09,359 that you can do is if you want to 6521 03:03:07,840 --> 03:03:10,880 completely disable scheduling, so maybe 6522 03:03:09,359 --> 03:03:12,560 in your natural prompting it's 6523 03:03:10,880 --> 03:03:14,319 accidentally creating all these crrons, 6524 03:03:12,560 --> 03:03:16,479 you could go into your environment 6525 03:03:14,319 --> 03:03:17,600 variables and just disable that and it 6526 03:03:16,479 --> 03:03:19,040 would probably be able to help you 6527 03:03:17,600 --> 03:03:20,720 figure that out. So the other things 6528 03:03:19,040 --> 03:03:22,479 here are that if you close the terminal, 6529 03:03:20,720 --> 03:03:25,120 your tasks are gone. It doesn't have 6530 03:03:22,479 --> 03:03:27,040 catchup. So the scheduled tasks, if you, 6531 03:03:25,120 --> 03:03:28,319 you know, opened up your desktop app and 6532 03:03:27,040 --> 03:03:30,319 you missed a bunch, it would catch up 6533 03:03:28,319 --> 03:03:31,680 automatically. This doesn't do that. And 6534 03:03:30,319 --> 03:03:33,680 there's no persistence, meaning after 6535 03:03:31,680 --> 03:03:35,520 your 3 days and you wanted to do that 6536 03:03:33,680 --> 03:03:37,200 same loop again. It would be a fresh 6537 03:03:35,520 --> 03:03:38,640 session. But obviously, there's tons of 6538 03:03:37,200 --> 03:03:40,319 things you can do here with context 6539 03:03:38,640 --> 03:03:42,399 management and reading different files 6540 03:03:40,319 --> 03:03:44,080 in order to kind of Frankenstein your 6541 03:03:42,399 --> 03:03:45,279 own fix there. So now that all the 6542 03:03:44,080 --> 03:03:47,439 features have been explained and you've 6543 03:03:45,279 --> 03:03:48,640 seen a demo, I think that probably you 6544 03:03:47,439 --> 03:03:50,160 understand the difference between the 6545 03:03:48,640 --> 03:03:52,160 loop and the schedule tasks a bit better 6546 03:03:50,160 --> 03:03:54,319 now. But let's just go over some of the 6547 03:03:52,160 --> 03:03:56,560 key highlights. The loop has your 3-day 6548 03:03:54,319 --> 03:03:58,160 expiry. It's all done within one session 6549 03:03:56,560 --> 03:04:00,080 and there's no catch-up. It's basically 6550 03:03:58,160 --> 03:04:02,399 a help me now or help me on this project 6551 03:04:00,080 --> 03:04:04,880 for today type of function. The schedule 6552 03:04:02,399 --> 03:04:06,640 tasks are dis stored. They're longived. 6553 03:04:04,880 --> 03:04:08,399 They have catchup and these are like 6554 03:04:06,640 --> 03:04:10,319 daily, weekly, monthly functions that 6555 03:04:08,399 --> 03:04:11,840 can run indefinitely. Of course, with 6556 03:04:10,319 --> 03:04:14,160 both of these though, the terminal or 6557 03:04:11,840 --> 03:04:16,479 you know the app has to be open and this 6558 03:04:14,160 --> 03:04:18,319 one is only currently available in the 6559 03:04:16,479 --> 03:04:20,399 desktop app. But I can imagine with how 6560 03:04:18,319 --> 03:04:21,600 fast Enthropic is shipping things, maybe 6561 03:04:20,399 --> 03:04:24,080 by the time you watch this video, 6562 03:04:21,600 --> 03:04:26,399 scheduled tasks are already out for the 6563 03:04:24,080 --> 03:04:28,399 terminal and extensions as well, the way 6564 03:04:26,399 --> 03:04:30,240 that loop is available in cloud code 6565 03:04:28,399 --> 03:04:32,160 everywhere. So basically, it's one 6566 03:04:30,240 --> 03:04:33,840 simple question. Do you need help right 6567 03:04:32,160 --> 03:04:35,439 now on a project or do you need help 6568 03:04:33,840 --> 03:04:37,279 with something every day or every week? 6569 03:04:35,439 --> 03:04:39,279 And that's how you decide if you use the 6570 03:04:37,279 --> 03:04:41,120 new loop feature or if you use scheduled 6571 03:04:39,279 --> 03:04:43,359 tasks. So I thought I'd end off real 6572 03:04:41,120 --> 03:04:44,800 quick by giving a few maybe practical 6573 03:04:43,359 --> 03:04:46,560 ways that you could actually use loop 6574 03:04:44,800 --> 03:04:48,479 rather than something scheduled. So 6575 03:04:46,560 --> 03:04:50,800 maybe all day you're waiting on a very 6576 03:04:48,479 --> 03:04:52,880 urgent email. Just set up Cloud Code to 6577 03:04:50,800 --> 03:04:54,319 check in on that email every 5 minutes 6578 03:04:52,880 --> 03:04:55,920 and if it's there, it can automatically 6579 03:04:54,319 --> 03:04:57,359 let you know. Maybe you're working on a 6580 03:04:55,920 --> 03:04:59,359 deploy and you want to just pull that 6581 03:04:57,359 --> 03:05:00,880 and check every, you know, hour or so if 6582 03:04:59,359 --> 03:05:02,080 everything's working okay. Maybe you've 6583 03:05:00,880 --> 03:05:03,920 got a deadline due at the end of the 6584 03:05:02,080 --> 03:05:05,279 week and you need a 3-day sprint to be 6585 03:05:03,920 --> 03:05:06,720 constantly checking in on the team and 6586 03:05:05,279 --> 03:05:07,920 checking in on progress. Maybe you're 6587 03:05:06,720 --> 03:05:09,439 testing and iterating. Maybe you're 6588 03:05:07,920 --> 03:05:10,880 watching logs. Maybe you're tracking 6589 03:05:09,439 --> 03:05:12,319 changes. There's so many different use 6590 03:05:10,880 --> 03:05:14,319 cases here. There's so many different 6591 03:05:12,319 --> 03:05:15,600 ways to use the loop to prompt an agent 6592 03:05:14,319 --> 03:05:16,960 to have different files, to use 6593 03:05:15,600 --> 03:05:18,080 different skills, and it's really, 6594 03:05:16,960 --> 03:05:19,520 really cool the way that you could 6595 03:05:18,080 --> 03:05:20,720 potentially set these things up. Now 6596 03:05:19,520 --> 03:05:23,120 that we've built our first couple 6597 03:05:20,720 --> 03:05:25,040 workflows, we understand the components. 6598 03:05:23,120 --> 03:05:26,479 Cloud code is insanely smart. We use it 6599 03:05:25,040 --> 03:05:28,080 in plan mode, and it helps us build 6600 03:05:26,479 --> 03:05:29,520 automations. And then we take those 6601 03:05:28,080 --> 03:05:31,439 code-based automations and we put them 6602 03:05:29,520 --> 03:05:33,520 in something like modal or trigger.dev, 6603 03:05:31,439 --> 03:05:35,040 and they run 24/7. We understand 6604 03:05:33,520 --> 03:05:36,960 workflows, we understand tools, and we 6605 03:05:35,040 --> 03:05:38,240 understand claw.md. But now, we're going 6606 03:05:36,960 --> 03:05:39,200 to get a little bit more advanced. So, 6607 03:05:38,240 --> 03:05:40,880 we're going to dive a little bit deeper 6608 03:05:39,200 --> 03:05:42,720 into some best practices around your 6609 03:05:40,880 --> 03:05:44,240 claw.md. We're also going to discuss 6610 03:05:42,720 --> 03:05:46,319 project architecture and some other 6611 03:05:44,240 --> 03:05:49,479 helpful built-in commands. So, let's get 6612 03:05:46,319 --> 03:05:49,479 into it. 6613 03:05:49,680 --> 03:05:53,120 Okay, unfortunately, we're back to the 6614 03:05:51,120 --> 03:05:55,439 boring slides, but need you guys to pay 6615 03:05:53,120 --> 03:05:56,560 attention here. So, more concepts. This 6616 03:05:55,439 --> 03:05:58,720 one's going to be short. We're going to 6617 03:05:56,560 --> 03:06:00,800 talk about more claw.mmd tips. We're 6618 03:05:58,720 --> 03:06:02,080 going to talk about essential/comands, 6619 03:06:00,800 --> 03:06:04,399 and we're going to talk about project 6620 03:06:02,080 --> 03:06:05,840 folder architecture. This one is really 6621 03:06:04,399 --> 03:06:07,279 important to pay attention to. This is 6622 03:06:05,840 --> 03:06:09,040 probably one of the things that caused 6623 03:06:07,279 --> 03:06:10,479 me the most confusion when I first 6624 03:06:09,040 --> 03:06:12,000 started. So, we're going to make it 6625 03:06:10,479 --> 03:06:15,200 clear. 6626 03:06:12,000 --> 03:06:17,120 So, you've seen the cloudm a good one we 6627 03:06:15,200 --> 03:06:19,120 know contains a project overview, text 6628 03:06:17,120 --> 03:06:20,960 stack, architecture overview, coding 6629 03:06:19,120 --> 03:06:23,120 conventions, common commands, 6630 03:06:20,960 --> 03:06:24,880 constraints, and where it can find more 6631 03:06:23,120 --> 03:06:26,560 context. 6632 03:06:24,880 --> 03:06:28,399 Now, let's talk about some best 6633 03:06:26,560 --> 03:06:30,000 practices. 6634 03:06:28,399 --> 03:06:31,520 You might see different things online. I 6635 03:06:30,000 --> 03:06:33,680 like to try to keep mine under 200 6636 03:06:31,520 --> 03:06:35,840 lines. And I found that by effectively 6637 03:06:33,680 --> 03:06:36,960 using, you know, routing rules just 6638 03:06:35,840 --> 03:06:40,160 basically means pointing to different 6639 03:06:36,960 --> 03:06:41,680 files and using um other compression 6640 03:06:40,160 --> 03:06:43,840 techniques, 6641 03:06:41,680 --> 03:06:46,560 keeping it under 200 100 lines is doable 6642 03:06:43,840 --> 03:06:49,600 and it's great. So shorter equals less 6643 03:06:46,560 --> 03:06:51,359 tokens. Be very specific. So saying 6644 03:06:49,600 --> 03:06:52,960 something like use two space annotation 6645 03:06:51,359 --> 03:06:55,680 is much better than just saying format 6646 03:06:52,960 --> 03:06:58,160 it nicely. Treat this as a living 6647 03:06:55,680 --> 03:07:00,080 document. So just because you made your 6648 03:06:58,160 --> 03:07:02,080 cloudd file does not mean you're done. I 6649 03:07:00,080 --> 03:07:04,399 update my cloud.MD MD file probably 6650 03:07:02,080 --> 03:07:05,359 every single day if not yeah probably 6651 03:07:04,399 --> 03:07:07,439 every single day I was going to say 6652 03:07:05,359 --> 03:07:10,960 every hour but that would be a hyperbole 6653 03:07:07,439 --> 03:07:12,640 every single day I'm updating my clawmd 6654 03:07:10,960 --> 03:07:15,920 now you can also use in it we talked 6655 03:07:12,640 --> 03:07:19,120 about that and you can also use rules 6656 03:07:15,920 --> 03:07:21,439 for putting certain things in which 6657 03:07:19,120 --> 03:07:22,479 means let's say you have a specific rule 6658 03:07:21,439 --> 03:07:23,760 about the way that you like to write 6659 03:07:22,479 --> 03:07:26,640 emails or the way that you like to 6660 03:07:23,760 --> 03:07:28,720 handle internal comms there's no point 6661 03:07:26,640 --> 03:07:30,000 to put that into the claude MD because 6662 03:07:28,720 --> 03:07:32,000 does claude need to know that every 6663 03:07:30,000 --> 03:07:33,600 single time you talk to it. No, it needs 6664 03:07:32,000 --> 03:07:36,399 it on occasion. And so what you can say 6665 03:07:33,600 --> 03:07:38,240 is, hey, when you need to understand 6666 03:07:36,399 --> 03:07:40,479 rules about the way I speak, go to the 6667 03:07:38,240 --> 03:07:42,560 rules folder and you can find the rules 6668 03:07:40,479 --> 03:07:44,880 there. Right? So that's a little trick 6669 03:07:42,560 --> 03:07:46,000 we call routing. So it's really 6670 03:07:44,880 --> 03:07:48,399 important to understand how you can 6671 03:07:46,000 --> 03:07:52,080 route as much as possible. The cloudmd 6672 03:07:48,399 --> 03:07:54,479 is not a know all 6673 03:07:52,080 --> 03:07:56,319 file. It is a I know where everything I 6674 03:07:54,479 --> 03:07:57,840 need to find lives file. It's basically 6675 03:07:56,319 --> 03:07:59,359 your table of contents. Think of it like 6676 03:07:57,840 --> 03:08:02,319 that. 6677 03:07:59,359 --> 03:08:04,160 So 6678 03:08:02,319 --> 03:08:06,160 no. Okay. I I thought I had another 6679 03:08:04,160 --> 03:08:07,680 thought, but we're going to move on. So 6680 03:08:06,160 --> 03:08:09,120 this is the example I showed you guys 6681 03:08:07,680 --> 03:08:10,479 earlier, right? So this is my executive 6682 03:08:09,120 --> 03:08:12,399 assistant. This is the beginning of the 6683 03:08:10,479 --> 03:08:14,080 cloud.MD. And you can see this is an 6684 03:08:12,399 --> 03:08:15,600 example of routing right here, right? 6685 03:08:14,080 --> 03:08:17,359 Because if I jammed everything about me 6686 03:08:15,600 --> 03:08:18,880 in this file, everything about my work 6687 03:08:17,359 --> 03:08:21,520 or about my team or about my current 6688 03:08:18,880 --> 03:08:23,120 priorities in this file, it'd be huge. 6689 03:08:21,520 --> 03:08:24,960 But I can say, hey, if you need any of 6690 03:08:23,120 --> 03:08:27,920 this stuff, you know where to find it. 6691 03:08:24,960 --> 03:08:29,680 And it's really, really effective. 6692 03:08:27,920 --> 03:08:31,920 So 6693 03:08:29,680 --> 03:08:34,000 you're in VS Code, you're in cloud code 6694 03:08:31,920 --> 03:08:35,120 and you have folders on the lefth hand 6695 03:08:34,000 --> 03:08:36,960 side, right? Like maybe you've got your 6696 03:08:35,120 --> 03:08:38,640 workflows folder or maybe you've got 6697 03:08:36,960 --> 03:08:41,120 your, you know, brand assets, whatever 6698 03:08:38,640 --> 03:08:42,960 it is. What you want to do is you want 6699 03:08:41,120 --> 03:08:45,439 to make sure your projects have a folder 6700 03:08:42,960 --> 03:08:47,920 called 6701 03:08:45,439 --> 03:08:50,240 dotcloud is basically like that project 6702 03:08:47,920 --> 03:08:51,359 directory, the project settings. And 6703 03:08:50,240 --> 03:08:53,520 there's a couple different types of 6704 03:08:51,359 --> 03:08:55,040 dotcloud. Now, for now, I'm not going to 6705 03:08:53,520 --> 03:08:56,399 touch too much on the system level path 6706 03:08:55,040 --> 03:08:59,120 because this is usually if you're set, 6707 03:08:56,399 --> 03:09:01,200 you know, within an organization, but me 6708 03:08:59,120 --> 03:09:04,160 locally working with my team and stuff, 6709 03:09:01,200 --> 03:09:05,840 I either have a global cloud folder, 6710 03:09:04,160 --> 03:09:07,040 which is not the one you see in VS Code, 6711 03:09:05,840 --> 03:09:10,160 that lives somewhere in your home 6712 03:09:07,040 --> 03:09:14,000 directory on your computer, or you have 6713 03:09:10,160 --> 03:09:16,080 your project cla 6714 03:09:14,000 --> 03:09:17,600 that you're looking at in VS Code. So, 6715 03:09:16,080 --> 03:09:19,600 this is local. This is based on your 6716 03:09:17,600 --> 03:09:21,279 project. This one is based on every 6717 03:09:19,600 --> 03:09:23,520 cloud code project you ever work on 6718 03:09:21,279 --> 03:09:25,439 ever. So, for example, let's say you 6719 03:09:23,520 --> 03:09:27,760 have a setting in your in in your um 6720 03:09:25,439 --> 03:09:31,120 cloud code, right? So, I don't want to 6721 03:09:27,760 --> 03:09:33,200 get too ahead of myself here, but 6722 03:09:31,120 --> 03:09:35,279 um I've got basically a setting that 6723 03:09:33,200 --> 03:09:37,680 always allows a certain MCP server, 6724 03:09:35,279 --> 03:09:40,319 right? Or a certain front-end skill, 6725 03:09:37,680 --> 03:09:42,640 let's just call it that. Now, if I'm 6726 03:09:40,319 --> 03:09:43,920 using that same configuration, if every 6727 03:09:42,640 --> 03:09:46,319 single project that I want to work on 6728 03:09:43,920 --> 03:09:47,680 ever, I want to allow that same server, 6729 03:09:46,319 --> 03:09:49,279 then it would make no sense for me to 6730 03:09:47,680 --> 03:09:51,359 put it in every single project when I 6731 03:09:49,279 --> 03:09:52,720 could just put it globally. Okay, so 6732 03:09:51,359 --> 03:09:55,279 that's just kind of the the idea. 6733 03:09:52,720 --> 03:09:57,279 There's a difference between global and 6734 03:09:55,279 --> 03:09:59,040 project level. 6735 03:09:57,279 --> 03:10:00,880 So, 6736 03:09:59,040 --> 03:10:02,399 we have automemory, which means that we 6737 03:10:00,880 --> 03:10:04,240 have cloud.mmd, which Claude always 6738 03:10:02,399 --> 03:10:06,080 looks at, but Claude also has auto 6739 03:10:04,240 --> 03:10:07,760 memory, so things get persisted across 6740 03:10:06,080 --> 03:10:10,080 sessions, which is really, really cool. 6741 03:10:07,760 --> 03:10:12,640 So if you tell Claude always use, you 6742 03:10:10,080 --> 03:10:16,080 know, PNPM, not npm, claude will save 6743 03:10:12,640 --> 03:10:17,520 that to a global claude folder, and you 6744 03:10:16,080 --> 03:10:19,439 know it's global because you have this 6745 03:10:17,520 --> 03:10:20,560 little tilda in front of it, right? So 6746 03:10:19,439 --> 03:10:23,120 back over here, you can see this was 6747 03:10:20,560 --> 03:10:24,560 just a dot /.claude, but this global one 6748 03:10:23,120 --> 03:10:29,040 is a tilda. So whenever you see the 6749 03:10:24,560 --> 03:10:30,960 tilda, it's a global setting. So now 6750 03:10:29,040 --> 03:10:33,200 this memory.mmd file that's global 6751 03:10:30,960 --> 03:10:35,359 across every project, Claude is able to 6752 03:10:33,200 --> 03:10:37,359 look at. And you can also edit that 6753 03:10:35,359 --> 03:10:39,520 automemory file anytime. So the same way 6754 03:10:37,359 --> 03:10:41,200 in chatbt on the browser or in claude on 6755 03:10:39,520 --> 03:10:42,880 the browser you have persistent memory 6756 03:10:41,200 --> 03:10:44,640 it's basically the same thing. So it's 6757 03:10:42,880 --> 03:10:46,319 really cool. 6758 03:10:44,640 --> 03:10:48,000 Now here are a few slash commands to be 6759 03:10:46,319 --> 03:10:49,760 aware of for session management. So we 6760 03:10:48,000 --> 03:10:51,359 obviously talked about slashinit. We've 6761 03:10:49,760 --> 03:10:52,800 talked about slashclear. It wipes the 6762 03:10:51,359 --> 03:10:54,479 conversation. We've talked about slash 6763 03:10:52,800 --> 03:10:55,920 compact a little bit but what's cool 6764 03:10:54,479 --> 03:10:59,600 about slash compact. So like let's say 6765 03:10:55,920 --> 03:11:02,880 you're at 60% context window. Usually at 6766 03:10:59,600 --> 03:11:04,960 60 I like to compact. Now, you can just 6767 03:11:02,880 --> 03:11:06,880 do compact and it will say, "Okay, 6768 03:11:04,960 --> 03:11:08,399 here's the conversation. Here are the 6769 03:11:06,880 --> 03:11:09,920 five most important things. I'm going to 6770 03:11:08,399 --> 03:11:11,439 pull those out, get rid of everything 6771 03:11:09,920 --> 03:11:12,800 else, and put those five most important 6772 03:11:11,439 --> 03:11:15,359 things back in the conversation." So, 6773 03:11:12,800 --> 03:11:16,960 now we are back at like maybe 10% of the 6774 03:11:15,359 --> 03:11:19,200 context, and we still have all of the 6775 03:11:16,960 --> 03:11:20,560 important stuff we need. 6776 03:11:19,200 --> 03:11:23,439 Now, what you can do is instead of just 6777 03:11:20,560 --> 03:11:24,960 saying /compact, you can say /compact 6778 03:11:23,439 --> 03:11:26,479 keep the information about the website 6779 03:11:24,960 --> 03:11:28,160 design, and it can get rid of everything 6780 03:11:26,479 --> 03:11:30,319 else. So, you can be specific about what 6781 03:11:28,160 --> 03:11:32,720 it compacts, which is pretty cool. We 6782 03:11:30,319 --> 03:11:34,080 have slashre, which honestly I don't use 6783 03:11:32,720 --> 03:11:35,840 that much, but it's nice that it's 6784 03:11:34,080 --> 03:11:37,600 there. It's basically an undo button. 6785 03:11:35,840 --> 03:11:38,960 And then we have /resume, which means 6786 03:11:37,600 --> 03:11:40,960 you could resume a session that you were 6787 03:11:38,960 --> 03:11:43,600 working on, you know, a couple days ago 6788 03:11:40,960 --> 03:11:45,520 or a couple weeks ago. 6789 03:11:43,600 --> 03:11:47,279 We have information and diagnostics 6790 03:11:45,520 --> 03:11:49,120 commands. So, we've got /context we've 6791 03:11:47,279 --> 03:11:51,040 talked about. We've got /cost, which 6792 03:11:49,120 --> 03:11:53,040 shows the token usage and cost. We have 6793 03:11:51,040 --> 03:11:54,800 slashmodel to change model. We have 6794 03:11:53,040 --> 03:11:56,319 slashhelp to look at all the commands. 6795 03:11:54,800 --> 03:11:58,319 We have /d doctor which can run 6796 03:11:56,319 --> 03:12:00,160 diagnostics to see your installation and 6797 03:11:58,319 --> 03:12:02,240 see if everything's working. And we have 6798 03:12:00,160 --> 03:12:04,000 slash status which will show you the 6799 03:12:02,240 --> 03:12:06,000 version of cloud code and your model and 6800 03:12:04,000 --> 03:12:07,200 your account and things like that. Now 6801 03:12:06,000 --> 03:12:08,720 the cool thing about this is you don't 6802 03:12:07,200 --> 03:12:09,760 have to memorize these. You can 6803 03:12:08,720 --> 03:12:11,439 literally say hey I want to look at 6804 03:12:09,760 --> 03:12:12,720 this. Do you have any commands? Or hey I 6805 03:12:11,439 --> 03:12:14,319 want to do this and it might just invoke 6806 03:12:12,720 --> 03:12:16,399 them automatically. But just kind of 6807 03:12:14,319 --> 03:12:18,000 good to know right. 6808 03:12:16,399 --> 03:12:19,439 So configuration we've got our SL 6809 03:12:18,000 --> 03:12:21,920 mememory which I talked about to auto 6810 03:12:19,439 --> 03:12:24,560 auto or to edit that automemory. We have 6811 03:12:21,920 --> 03:12:28,240 slashconfig. We have SL permissions, we 6812 03:12:24,560 --> 03:12:29,200 have SLMCP, and we have SL aents. All of 6813 03:12:28,240 --> 03:12:30,399 these are going to get touched on later 6814 03:12:29,200 --> 03:12:31,600 in the course as well. So you don't have 6815 03:12:30,399 --> 03:12:33,840 to memorize these. Once again, just 6816 03:12:31,600 --> 03:12:35,760 trying to get you familiar. 6817 03:12:33,840 --> 03:12:38,240 So once again, we have the project 6818 03:12:35,760 --> 03:12:40,240 folder architecture idea because this 6819 03:12:38,240 --> 03:12:43,680 goes beyond just our cloud MD. This goes 6820 03:12:40,240 --> 03:12:45,760 into skills, agents, MCP servers, 6821 03:12:43,680 --> 03:12:48,240 settings, everything. So we have once 6822 03:12:45,760 --> 03:12:50,800 again user level, global, we have the 6823 03:12:48,240 --> 03:12:52,800 tilda, and this is across all projects. 6824 03:12:50,800 --> 03:12:56,080 We have project level settings which is 6825 03:12:52,800 --> 03:12:57,840 in yourcloud you have a settings.json 6826 03:12:56,080 --> 03:13:00,560 which means anyone that accesses this 6827 03:12:57,840 --> 03:13:02,720 project can see that setting file and 6828 03:13:00,560 --> 03:13:05,279 configure it or we have our local 6829 03:13:02,720 --> 03:13:08,960 project which is settings.local.json 6830 03:13:05,279 --> 03:13:12,000 and that is just you. Okay. 6831 03:13:08,960 --> 03:13:14,800 So what goes where settings.json it goes 6832 03:13:12,000 --> 03:13:17,040 in your personal defaults claude 6833 03:13:14,800 --> 03:13:20,399 settings.json goes in your team 6834 03:13:17,040 --> 03:13:22,720 standards and yourcloud/s settings.local 6835 03:13:20,399 --> 03:13:24,319 local is basically the overrides for the 6836 03:13:22,720 --> 03:13:26,640 specific project. So it goes in this 6837 03:13:24,319 --> 03:13:28,000 order. Let's say you want to do 6838 03:13:26,640 --> 03:13:30,479 something or you want cloud code to do 6839 03:13:28,000 --> 03:13:32,720 something. It will first check your 6840 03:13:30,479 --> 03:13:34,160 local settings 6841 03:13:32,720 --> 03:13:35,840 and then it will check your project 6842 03:13:34,160 --> 03:13:37,200 settings and then it will check your 6843 03:13:35,840 --> 03:13:40,080 global. So this is basically the 6844 03:13:37,200 --> 03:13:42,239 hierarchy. So like let's say there's a 6845 03:13:40,080 --> 03:13:44,399 certain command called read, right? So 6846 03:13:42,239 --> 03:13:46,720 let's say it wants to read a file. If 6847 03:13:44,399 --> 03:13:50,880 local says do not ever use read, it will 6848 03:13:46,720 --> 03:13:54,160 instantly stop. But if um local says yes 6849 03:13:50,880 --> 03:13:56,160 you can and project says yes you can and 6850 03:13:54,160 --> 03:13:57,680 then global says no you can't it'll stop 6851 03:13:56,160 --> 03:14:00,960 there. So that's just kind of like the 6852 03:13:57,680 --> 03:14:04,560 order of operations the hierarchy. 6853 03:14:00,960 --> 03:14:06,319 So this is what it looks like. This is a 6854 03:14:04,560 --> 03:14:07,680 project level directory. So let's say 6855 03:14:06,319 --> 03:14:11,040 you open up VS Code and you have a 6856 03:14:07,680 --> 03:14:13,439 project called um websites. That's what 6857 03:14:11,040 --> 03:14:15,920 you'll see up top. Then below that 6858 03:14:13,439 --> 03:14:17,600 you'll see your cloud. And when you open 6859 03:14:15,920 --> 03:14:19,200 up yourcloud, that's when you might see 6860 03:14:17,600 --> 03:14:20,800 your settings.json, your 6861 03:14:19,200 --> 03:14:24,160 settings.local.json, 6862 03:14:20,800 --> 03:14:27,120 your cloud.md, your rules, your skills, 6863 03:14:24,160 --> 03:14:29,359 your agents, your commands. Oops. And 6864 03:14:27,120 --> 03:14:31,840 then outside of that folder, you might 6865 03:14:29,359 --> 03:14:34,399 see your MCP config or you might see 6866 03:14:31,840 --> 03:14:35,600 your cloud. Mmd. And so those are just 6867 03:14:34,399 --> 03:14:38,000 kind of like the different drill downs 6868 03:14:35,600 --> 03:14:40,160 that you'll be able to see. 6869 03:14:38,000 --> 03:14:41,600 Now, this one is a global one. So it 6870 03:14:40,160 --> 03:14:42,960 looks very similar, right? We've got 6871 03:14:41,600 --> 03:14:45,439 cloud, we've got settings, claude, 6872 03:14:42,960 --> 03:14:47,040 agent, skills, rules, whatever. But this 6873 03:14:45,439 --> 03:14:49,840 is the global one. So this doesn't exist 6874 03:14:47,040 --> 03:14:53,439 in a particular project. It exists on 6875 03:14:49,840 --> 03:14:56,399 your cloud code configuration. 6876 03:14:53,439 --> 03:14:57,760 So what is the purpose of all this? 6877 03:14:56,399 --> 03:15:00,000 Don't want to hammer this home, but I 6878 03:14:57,760 --> 03:15:01,840 thought that this little, you know, I 6879 03:15:00,000 --> 03:15:04,080 don't want to over beat a dead horse 6880 03:15:01,840 --> 03:15:06,319 here, but this is a breakdown to look at 6881 03:15:04,080 --> 03:15:08,319 as far as like the file, the purpose, 6882 03:15:06,319 --> 03:15:10,560 and if it's shared or not. So hopefully 6883 03:15:08,319 --> 03:15:13,120 this is all 6884 03:15:10,560 --> 03:15:15,760 at a high level making sense. I 6885 03:15:13,120 --> 03:15:17,040 understand though looking at this it 6886 03:15:15,760 --> 03:15:18,720 might look completely foreign and you're 6887 03:15:17,040 --> 03:15:20,800 like what in the world? I promise you 6888 03:15:18,720 --> 03:15:22,479 that's normal. All you have to do is get 6889 03:15:20,800 --> 03:15:23,439 into there and start building and all of 6890 03:15:22,479 --> 03:15:24,960 these videos are going to walk you 6891 03:15:23,439 --> 03:15:26,640 through it and it will start to make 6892 03:15:24,960 --> 03:15:28,000 more sense. It's just so much more 6893 03:15:26,640 --> 03:15:29,840 helpful to understand what you're 6894 03:15:28,000 --> 03:15:34,720 looking at first. At least in my 6895 03:15:29,840 --> 03:15:37,520 opinion. Okay. So the dotclaw directory. 6896 03:15:34,720 --> 03:15:39,120 What is getit ignore? because you're 6897 03:15:37,520 --> 03:15:41,439 probably going to see that when you run 6898 03:15:39,120 --> 03:15:43,520 /init or when you start to have, you 6899 03:15:41,439 --> 03:15:44,800 know, projects being synced to GitHub. 6900 03:15:43,520 --> 03:15:47,279 You're going to see something called.git 6901 03:15:44,800 --> 03:15:49,120 ignore. This is basically just a system 6902 03:15:47,279 --> 03:15:52,399 that tracks your codebase changes, 6903 03:15:49,120 --> 03:15:55,120 right? And ignore is literally just a 6904 03:15:52,399 --> 03:15:58,720 file that tells cloud code, don't ever 6905 03:15:55,120 --> 03:16:00,399 push any of the files in here to GitHub. 6906 03:15:58,720 --> 03:16:01,600 So in your dockit ignore, maybe you have 6907 03:16:00,399 --> 03:16:03,040 some pictures of yourself that you don't 6908 03:16:01,600 --> 03:16:05,520 want to get out there, or maybe you have 6909 03:16:03,040 --> 03:16:07,439 some passwords or API keys. All you'd 6910 03:16:05,520 --> 03:16:08,960 have to do is in the docket ignore just 6911 03:16:07,439 --> 03:16:10,399 put the name of those folders or files 6912 03:16:08,960 --> 03:16:14,399 and then they'll automatically be 6913 03:16:10,399 --> 03:16:16,080 excluded from GitHub or from git. 6914 03:16:14,399 --> 03:16:17,600 Um 6915 03:16:16,080 --> 03:16:20,640 that's basically it, right? There's also 6916 03:16:17,600 --> 03:16:22,399 going to be one called.git keep. So same 6917 03:16:20,640 --> 03:16:25,200 thing. 6918 03:16:22,399 --> 03:16:26,960 So here is an example of my executive 6919 03:16:25,200 --> 03:16:28,319 assistant project, right? You can see 6920 03:16:26,960 --> 03:16:30,560 that we've got some stuff going on here. 6921 03:16:28,319 --> 03:16:32,160 We've got the cloud folder. We've got 6922 03:16:30,560 --> 03:16:34,239 archives brand assets. We've got 6923 03:16:32,160 --> 03:16:35,200 projects which is currently open. And 6924 03:16:34,239 --> 03:16:37,120 you can see that there's a lot of 6925 03:16:35,200 --> 03:16:38,479 folders and a lot of files in here. 6926 03:16:37,120 --> 03:16:42,000 You'll also see down here that I have a 6927 03:16:38,479 --> 03:16:44,479 claw.md. I also have a claw.local.md. 6928 03:16:42,000 --> 03:16:46,080 I have agit ignore. And then you also 6929 03:16:44,479 --> 03:16:49,760 see that some things are grayed out like 6930 03:16:46,080 --> 03:16:53,279 the env or the Google ooth json. 6931 03:16:49,760 --> 03:16:55,359 Now anything that exists in the ignore 6932 03:16:53,279 --> 03:16:57,680 will be grayed out. And that's just a 6933 03:16:55,359 --> 03:16:59,680 visual way of saying this is not going 6934 03:16:57,680 --> 03:17:02,800 to be put in GitHub, which is great. 6935 03:16:59,680 --> 03:17:04,880 Anything that is green is a new file 6936 03:17:02,800 --> 03:17:06,720 that git has never seen before and it 6937 03:17:04,880 --> 03:17:08,479 hasn't been committed anywhere. So I 6938 03:17:06,720 --> 03:17:09,840 love this because it's visual. I can 6939 03:17:08,479 --> 03:17:11,120 instantly see, oh, do I need to make a 6940 03:17:09,840 --> 03:17:13,439 push? Do I need to save my work? 6941 03:17:11,120 --> 03:17:15,920 Essentially, anything that's yellow 6942 03:17:13,439 --> 03:17:17,920 means that it's a existing file in git, 6943 03:17:15,920 --> 03:17:19,680 but there was some sort of update. So 6944 03:17:17,920 --> 03:17:20,880 you have to make a new commit. And 6945 03:17:19,680 --> 03:17:22,640 that's really nice because as everything 6946 03:17:20,880 --> 03:17:24,560 gets more yellow and gets more green, 6947 03:17:22,640 --> 03:17:27,120 push it to GitHub, it'll all go white. 6948 03:17:24,560 --> 03:17:29,120 And then you know you're good. 6949 03:17:27,120 --> 03:17:32,239 So, 6950 03:17:29,120 --> 03:17:33,840 that is a lot more of the foundational 6951 03:17:32,239 --> 03:17:34,960 concepts that you really need to know. 6952 03:17:33,840 --> 03:17:36,239 We're going to get back into building. 6953 03:17:34,960 --> 03:17:38,560 We're going to do some more stuff here. 6954 03:17:36,239 --> 03:17:42,359 But hopefully this session was helpful. 6955 03:17:38,560 --> 03:17:42,359 But I'll see you guys over there. 6956 03:17:42,479 --> 03:17:45,840 Now, we're going to jump into a quick 6957 03:17:43,760 --> 03:17:47,359 segment about Rag. And in this case, 6958 03:17:45,840 --> 03:17:48,640 we're using Google's new embeddings 6959 03:17:47,359 --> 03:17:50,080 model that just came out. And it's 6960 03:17:48,640 --> 03:17:53,040 really cool because it lets us really 6961 03:17:50,080 --> 03:17:54,880 easily embed videos, images, and audio 6962 03:17:53,040 --> 03:17:56,560 as well as our text. So, like I said, it 6963 03:17:54,880 --> 03:18:00,120 just makes it super super easy. So, 6964 03:17:56,560 --> 03:18:00,120 check this out. 6965 03:18:00,560 --> 03:18:04,000 Google just dropped Gemini Embedding 2, 6966 03:18:02,399 --> 03:18:06,000 which is their very first natively 6967 03:18:04,000 --> 03:18:07,760 multimodal embedding model, and it is 6968 03:18:06,000 --> 03:18:09,279 already blowing my mind. This means that 6969 03:18:07,760 --> 03:18:12,000 you can have completely multimodal 6970 03:18:09,279 --> 03:18:14,479 databases with text, images, videos, 6971 03:18:12,000 --> 03:18:15,680 audio, and documents. And it can 6972 03:18:14,479 --> 03:18:16,880 actually understand the nuanced 6973 03:18:15,680 --> 03:18:18,479 relationships between these different 6974 03:18:16,880 --> 03:18:20,640 types of media so that you can have 6975 03:18:18,479 --> 03:18:21,680 actual realworld answers back. And 6976 03:18:20,640 --> 03:18:22,960 here's a quick look at some of the 6977 03:18:21,680 --> 03:18:24,399 benchmarks, which I always think are 6978 03:18:22,960 --> 03:18:25,600 important to look at, but I think it's 6979 03:18:24,399 --> 03:18:27,040 always worth taking it with a grain of 6980 03:18:25,600 --> 03:18:28,239 salt. And that's why in today's video, 6981 03:18:27,040 --> 03:18:29,680 I'm going to show you a few examples 6982 03:18:28,239 --> 03:18:31,120 that I already built out that are super 6983 03:18:29,680 --> 03:18:32,960 practical. And then I'm going to show 6984 03:18:31,120 --> 03:18:34,640 you exactly how you can set this up for 6985 03:18:32,960 --> 03:18:36,160 yourself. And trust me, it is so much 6986 03:18:34,640 --> 03:18:37,359 easier than you probably think. So, let 6987 03:18:36,160 --> 03:18:38,880 me show you some examples and then I'll 6988 03:18:37,359 --> 03:18:40,080 teach you how to do this yourself. So, 6989 03:18:38,880 --> 03:18:41,600 right here, you can see that I've got a 6990 03:18:40,080 --> 03:18:42,960 project called manual, which basically 6991 03:18:41,600 --> 03:18:44,479 stands for like instruction manual. So, 6992 03:18:42,960 --> 03:18:47,920 what I did is I dropped in this PDF 6993 03:18:44,479 --> 03:18:49,840 right here, which is a 68page PDF about 6994 03:18:47,920 --> 03:18:51,279 how to use this vacuum cleaner. You can 6995 03:18:49,840 --> 03:18:52,960 see that it's pretty complex. It's got 6996 03:18:51,279 --> 03:18:55,040 tons of different text. It's got tons of 6997 03:18:52,960 --> 03:18:56,560 diagrams. It's got images. And if you 6998 03:18:55,040 --> 03:18:57,840 wanted to be able to chat with it, it 6999 03:18:56,560 --> 03:18:59,439 would be pretty complicated to build 7000 03:18:57,840 --> 03:19:00,960 this ingestion pipeline if you use 7001 03:18:59,439 --> 03:19:02,239 something like Nitn because you'd have 7002 03:19:00,960 --> 03:19:03,680 to figure out exactly how you want to 7003 03:19:02,239 --> 03:19:05,040 chunk it and how to capture the images 7004 03:19:03,680 --> 03:19:07,520 and how to store those and how to pull 7005 03:19:05,040 --> 03:19:09,680 them back. But I kid you not, I dropped 7006 03:19:07,520 --> 03:19:11,600 in the PDF right here and I said, "Hey, 7007 03:19:09,680 --> 03:19:12,960 Cloud Code, there's the PDF. I want to 7008 03:19:11,600 --> 03:19:14,880 be able to chat with this using Google's 7009 03:19:12,960 --> 03:19:16,399 new embeddings model. Just go build it 7010 03:19:14,880 --> 03:19:18,000 for me." And not only did it build it 7011 03:19:16,399 --> 03:19:19,520 for me, but it built this app where I 7012 03:19:18,000 --> 03:19:21,439 can actually talk to it. So let's say I 7013 03:19:19,520 --> 03:19:23,040 ask you know how do I clean the filter? 7014 03:19:21,439 --> 03:19:24,640 It's searching right now our Pine Cone 7015 03:19:23,040 --> 03:19:26,720 database and in the database we're 7016 03:19:24,640 --> 03:19:28,160 storing both text and images. So here 7017 03:19:26,720 --> 03:19:30,160 you can see it says to clean the filter 7018 03:19:28,160 --> 03:19:31,680 follow these steps number one number two 7019 03:19:30,160 --> 03:19:33,920 blah blah blah. And then down here we 7020 03:19:31,680 --> 03:19:35,680 have actual images. So if I click on 7021 03:19:33,920 --> 03:19:37,359 this one we can see the actual diagram 7022 03:19:35,680 --> 03:19:38,479 that it pulled from because sometimes 7023 03:19:37,359 --> 03:19:39,920 when you're trying to troubleshoot 7024 03:19:38,479 --> 03:19:41,600 things especially if it's physical an 7025 03:19:39,920 --> 03:19:42,800 image is way more valuable than text. 7026 03:19:41,600 --> 03:19:44,720 And what you can see here is that it 7027 03:19:42,800 --> 03:19:46,399 also returned the same diagram in 7028 03:19:44,720 --> 03:19:47,840 different languages but you could turn 7029 03:19:46,399 --> 03:19:49,359 that off if you didn't want to. And 7030 03:19:47,840 --> 03:19:51,439 what's super cool is at the end I can 7031 03:19:49,359 --> 03:19:52,960 actually expand the sources and it shows 7032 03:19:51,439 --> 03:19:54,800 me the different pages that it looked at 7033 03:19:52,960 --> 03:19:57,040 and the confidence score or the percent 7034 03:19:54,800 --> 03:19:58,720 match that it had for that page. Let's 7035 03:19:57,040 --> 03:20:00,399 go ahead and try one more for this demo 7036 03:19:58,720 --> 03:20:02,160 which is just a very broad what are the 7037 03:20:00,399 --> 03:20:03,359 parts and I'm assuming there's lots of 7038 03:20:02,160 --> 03:20:05,359 different pages that it might need to 7039 03:20:03,359 --> 03:20:06,560 figure out what the parts are. So what 7040 03:20:05,359 --> 03:20:08,800 we got here are we have the main 7041 03:20:06,560 --> 03:20:10,479 components from page six. We have what's 7042 03:20:08,800 --> 03:20:12,000 included on page seven and then we have 7043 03:20:10,479 --> 03:20:13,600 available accessories. So that's super 7044 03:20:12,000 --> 03:20:15,200 good. And it looks like we got three 7045 03:20:13,600 --> 03:20:17,600 different images. So we have what's in 7046 03:20:15,200 --> 03:20:19,439 the box. We have the actual getting to 7047 03:20:17,600 --> 03:20:20,960 know your Hoover Impulse cordless 7048 03:20:19,439 --> 03:20:22,960 vacuum. So, all the other different kind 7049 03:20:20,960 --> 03:20:25,439 of components here. And then the final 7050 03:20:22,960 --> 03:20:27,120 image is how to order extra accessories. 7051 03:20:25,439 --> 03:20:28,880 So, that's just super cool. Okay, so 7052 03:20:27,120 --> 03:20:31,520 that was our instruction manual example. 7053 03:20:28,880 --> 03:20:33,279 I dropped in one PDF and it basically 7054 03:20:31,520 --> 03:20:34,720 was able to turn that into text and 7055 03:20:33,279 --> 03:20:36,239 images in our database and pull 7056 03:20:34,720 --> 03:20:37,920 everything back accurately. So, then 7057 03:20:36,239 --> 03:20:39,680 let's scale it up a little bit. I am 7058 03:20:37,920 --> 03:20:42,239 doing a roofing example. So, in this 7059 03:20:39,680 --> 03:20:43,760 one, I gave it 13 images and all these 7060 03:20:42,239 --> 03:20:45,120 images are different roofs that might 7061 03:20:43,760 --> 03:20:46,399 have some sort of issue. So, let's say 7062 03:20:45,120 --> 03:20:48,399 you're a roofing company and you help 7063 03:20:46,399 --> 03:20:50,640 fix roofs. What might be helpful is if 7064 03:20:48,399 --> 03:20:51,920 you had an app where you internally or a 7065 03:20:50,640 --> 03:20:54,160 client could upload a picture of their 7066 03:20:51,920 --> 03:20:55,680 roof and you could get like a quote or 7067 03:20:54,160 --> 03:20:57,120 an internal brief about any past work 7068 03:20:55,680 --> 03:20:58,960 that you've done on a roof that looks 7069 03:20:57,120 --> 03:21:00,160 like that. So, if I drag in a picture 7070 03:20:58,960 --> 03:21:02,080 right here, it shoots it off and says, 7071 03:21:00,160 --> 03:21:04,160 "Find similar past projects for this 7072 03:21:02,080 --> 03:21:05,040 roof." It's searching the database. It's 7073 03:21:04,160 --> 03:21:07,040 looking through all of our different 7074 03:21:05,040 --> 03:21:09,279 past projects, and all of those images 7075 03:21:07,040 --> 03:21:10,960 have metadata like how much this costed 7076 03:21:09,279 --> 03:21:12,800 us or, you know, how long it took, how 7077 03:21:10,960 --> 03:21:15,279 many team members. So, here are the five 7078 03:21:12,800 --> 03:21:16,960 similar projects. We get a percent match 7079 03:21:15,279 --> 03:21:18,640 for each of them as you can see. And 7080 03:21:16,960 --> 03:21:20,399 then we get a description like quote 7081 03:21:18,640 --> 03:21:22,239 range and averages, team size, trend, 7082 03:21:20,399 --> 03:21:23,920 roof types, breakdown. And so, 7083 03:21:22,239 --> 03:21:25,760 obviously, I'm not a roofing expert. If 7084 03:21:23,920 --> 03:21:27,040 you had some subject matter expertise 7085 03:21:25,760 --> 03:21:28,479 about roofs that you could add into 7086 03:21:27,040 --> 03:21:29,920 here, this would obviously be better, 7087 03:21:28,479 --> 03:21:31,359 and you would have your own data. But, 7088 03:21:29,920 --> 03:21:33,359 it's just really cool that you can get a 7089 03:21:31,359 --> 03:21:36,080 quick search across potentially hundreds 7090 03:21:33,359 --> 03:21:37,520 and hundreds of projects to do this. And 7091 03:21:36,080 --> 03:21:39,600 I could ask a follow-up. So, let's say I 7092 03:21:37,520 --> 03:21:40,960 said, "Okay, awesome. Can you tell me 7093 03:21:39,600 --> 03:21:42,720 about the one that we did in Richmond, 7094 03:21:40,960 --> 03:21:43,920 Virginia? It looks pretty similar. And 7095 03:21:42,720 --> 03:21:45,920 at this point, it could pull the 7096 03:21:43,920 --> 03:21:47,680 metadata from this image and it could go 7097 03:21:45,920 --> 03:21:49,200 grab other pictures from that file if we 7098 03:21:47,680 --> 03:21:50,960 had them. But anyways, we get the basic 7099 03:21:49,200 --> 03:21:53,520 info, the scope, what stands out, 7100 03:21:50,960 --> 03:21:55,120 pricing, context. Super super awesome. 7101 03:21:53,520 --> 03:21:56,479 But yeah, clearly this needs some 7102 03:21:55,120 --> 03:21:58,160 subject matter expertise. It obviously 7103 03:21:56,479 --> 03:22:00,000 made up all this data because I feel 7104 03:21:58,160 --> 03:22:03,279 like this roof would have costed more to 7105 03:22:00,000 --> 03:22:04,880 fix than this roof. So, so if you've 7106 03:22:03,279 --> 03:22:06,960 never built a pipeline like this before, 7107 03:22:04,880 --> 03:22:08,319 then it might not seem super impressive 7108 03:22:06,960 --> 03:22:10,160 because that type of functionality is 7109 03:22:08,319 --> 03:22:11,920 pretty standard on a lot of chatbot 7110 03:22:10,160 --> 03:22:13,920 based features. But the fact that I 7111 03:22:11,920 --> 03:22:16,080 built both of those demos in less than 7112 03:22:13,920 --> 03:22:18,000 30 minutes is what truly blows my mind 7113 03:22:16,080 --> 03:22:19,920 because that would have taken me several 7114 03:22:18,000 --> 03:22:22,000 hours, if not several days, to build out 7115 03:22:19,920 --> 03:22:23,520 an NAN. And that's why I had to show you 7116 03:22:22,000 --> 03:22:24,800 guys this stuff. All right, so we're 7117 03:22:23,520 --> 03:22:26,560 going to hop into the live build. But 7118 03:22:24,800 --> 03:22:28,479 real quick, in case you haven't really 7119 03:22:26,560 --> 03:22:30,160 heard of like Rag or why this multimodal 7120 03:22:28,479 --> 03:22:32,479 stuff is awesome, let me explain it real 7121 03:22:30,160 --> 03:22:34,399 quick. So rag stands for retrieval 7122 03:22:32,479 --> 03:22:36,720 augmented generation and it basically is 7123 03:22:34,399 --> 03:22:38,319 just the concept of your AI agent only 7124 03:22:36,720 --> 03:22:39,680 knows so much in its training data. So 7125 03:22:38,319 --> 03:22:41,600 if you ask it a question and it doesn't 7126 03:22:39,680 --> 03:22:44,479 have that information, it has to go grab 7127 03:22:41,600 --> 03:22:46,319 it in order to generate a better answer. 7128 03:22:44,479 --> 03:22:48,000 So it basically retrieves information, 7129 03:22:46,319 --> 03:22:49,520 it augments its answer because it has 7130 03:22:48,000 --> 03:22:51,359 more data and then it generates an 7131 03:22:49,520 --> 03:22:52,880 answer or generates a response to you. 7132 03:22:51,359 --> 03:22:54,560 Now typically when we think of rag and 7133 03:22:52,880 --> 03:22:57,359 we think of a vector database type of 7134 03:22:54,560 --> 03:22:58,960 rag, we have to look at it like this. We 7135 03:22:57,359 --> 03:23:01,120 have some sort of data source, right? 7136 03:22:58,960 --> 03:23:02,640 whether that's document or video or an 7137 03:23:01,120 --> 03:23:05,279 image. And what happens is we have to 7138 03:23:02,640 --> 03:23:07,680 turn this document into vector points or 7139 03:23:05,279 --> 03:23:09,680 little chunks. So for example, if this 7140 03:23:07,680 --> 03:23:10,880 was a document about our company, then 7141 03:23:09,680 --> 03:23:12,239 maybe we'd split it up into three 7142 03:23:10,880 --> 03:23:13,680 chunks. Those chunks would run through 7143 03:23:12,239 --> 03:23:15,200 an embeddings model, which is, you know, 7144 03:23:13,680 --> 03:23:16,560 Google's new embeddings model 2 that 7145 03:23:15,200 --> 03:23:18,080 we're talking about today. And then it 7146 03:23:16,560 --> 03:23:19,359 would spit out these vector points, 7147 03:23:18,080 --> 03:23:21,040 which would basically just be a 7148 03:23:19,359 --> 03:23:23,200 numerical representation of what the 7149 03:23:21,040 --> 03:23:24,399 data means. So this chunk might be 7150 03:23:23,200 --> 03:23:26,160 placed over here because it's company 7151 03:23:24,399 --> 03:23:27,439 overview information. This chunk might 7152 03:23:26,160 --> 03:23:29,120 be placed over here with financial 7153 03:23:27,439 --> 03:23:30,560 information. And this chunk might be 7154 03:23:29,120 --> 03:23:32,160 placed over here with marketing 7155 03:23:30,560 --> 03:23:34,239 information. And just to help you guys 7156 03:23:32,160 --> 03:23:35,760 contextualize that, when I was first 7157 03:23:34,239 --> 03:23:37,840 testing this out, I did a demo where I 7158 03:23:35,760 --> 03:23:39,920 dropped in an Adam Sandler and me 7159 03:23:37,840 --> 03:23:42,239 picture that was Nano Banana. Um, a 7160 03:23:39,920 --> 03:23:43,840 random picture of me, a video of me 7161 03:23:42,239 --> 03:23:46,160 using Claude Code, a video of a dog 7162 03:23:43,840 --> 03:23:47,600 playing guitar, a video of me speaking, 7163 03:23:46,160 --> 03:23:49,120 um, a couple text files, and a couple 7164 03:23:47,600 --> 03:23:50,880 more images that were just literally so 7165 03:23:49,120 --> 03:23:52,399 random. I put a picture of smiley face 7166 03:23:50,880 --> 03:23:54,239 potato fries in here. And what happened 7167 03:23:52,399 --> 03:23:56,000 after it embedded all of those is it 7168 03:23:54,239 --> 03:23:57,920 gave me this report which is basically 7169 03:23:56,000 --> 03:24:00,319 the multimodal embeddings but this is a 7170 03:23:57,920 --> 03:24:01,760 2D view rather than a 3D view. But you 7171 03:24:00,319 --> 03:24:03,920 can see that it's placing things where 7172 03:24:01,760 --> 03:24:05,680 it deems appropriate. So up here we have 7173 03:24:03,920 --> 03:24:07,760 you know first aentic workflow which is 7174 03:24:05,680 --> 03:24:09,760 in the category tech and it is a text 7175 03:24:07,760 --> 03:24:11,120 file. We've got over here a dog playing 7176 03:24:09,760 --> 03:24:13,279 guitar which is in the category 7177 03:24:11,120 --> 03:24:14,880 entertainment and the modality is video. 7178 03:24:13,279 --> 03:24:16,880 We've got the smiley face rise which is 7179 03:24:14,880 --> 03:24:18,160 category food. The modality is image. So 7180 03:24:16,880 --> 03:24:19,920 I think you guys understand the point. 7181 03:24:18,160 --> 03:24:21,359 We have a source of truth that gets 7182 03:24:19,920 --> 03:24:23,520 embedded and then it gets placed 7183 03:24:21,359 --> 03:24:25,840 somewhere in a multi-dimensional space 7184 03:24:23,520 --> 03:24:28,319 based on the actual meaning or you know 7185 03:24:25,840 --> 03:24:29,840 value of what that source of truth is. 7186 03:24:28,319 --> 03:24:31,760 And so that's why it's so cool that we 7187 03:24:29,840 --> 03:24:34,239 can have a space where we have images, 7188 03:24:31,760 --> 03:24:36,160 videos, audio, text, documents all in 7189 03:24:34,239 --> 03:24:37,600 the exact same space and the AI is 7190 03:24:36,160 --> 03:24:38,880 intelligent enough to query through it 7191 03:24:37,600 --> 03:24:40,720 to find what it needs in the right 7192 03:24:38,880 --> 03:24:42,720 context and when. And this is obviously 7193 03:24:40,720 --> 03:24:44,319 a bizarre example because smiley face 7194 03:24:42,720 --> 03:24:45,600 fries and a dog playing guitar and a 7195 03:24:44,319 --> 03:24:47,040 video of me talking have nothing to do 7196 03:24:45,600 --> 03:24:48,720 with each other. But if all of these 7197 03:24:47,040 --> 03:24:50,479 were pictures of roofs, for example, 7198 03:24:48,720 --> 03:24:52,640 then they would be very split up based 7199 03:24:50,479 --> 03:24:54,800 on like is this water damage or is this 7200 03:24:52,640 --> 03:24:56,319 just like old age or you know other 7201 03:24:54,800 --> 03:24:58,080 things about roofs. So if you've never 7202 03:24:56,319 --> 03:24:59,760 used cloud code before or you want to 7203 03:24:58,080 --> 03:25:01,359 follow along with this video exactly, I 7204 03:24:59,760 --> 03:25:02,800 use it in Visual Studio Code which is 7205 03:25:01,359 --> 03:25:04,399 free to download. And when you download 7206 03:25:02,800 --> 03:25:06,160 that, it'll look like this. All you have 7207 03:25:04,399 --> 03:25:08,399 to do is open it up, go over here to the 7208 03:25:06,160 --> 03:25:10,479 extensions, type in Cloud Code, install 7209 03:25:08,399 --> 03:25:12,239 this, and then sign in with your account 7210 03:25:10,479 --> 03:25:13,680 in order to get connected. You do have 7211 03:25:12,239 --> 03:25:15,200 to be on a paid account. You cannot use 7212 03:25:13,680 --> 03:25:16,399 free cloud code. And then what you're 7213 03:25:15,200 --> 03:25:18,000 going to do is click on this in the top 7214 03:25:16,399 --> 03:25:19,040 left to open up a new folder which is 7215 03:25:18,000 --> 03:25:20,160 basically just the project that we're 7216 03:25:19,040 --> 03:25:21,840 going to work in. And I'm going to open 7217 03:25:20,160 --> 03:25:23,439 up a brand new one. So my screen will 7218 03:25:21,840 --> 03:25:25,439 look exactly like your guys' screen and 7219 03:25:23,439 --> 03:25:26,800 you can just follow what I do. Okay. So 7220 03:25:25,439 --> 03:25:29,439 I just opened up a folder called 7221 03:25:26,800 --> 03:25:30,640 embedding demo. I have this stuff over 7222 03:25:29,439 --> 03:25:31,920 here. I'm going to exit out of. I'm 7223 03:25:30,640 --> 03:25:34,080 going to click on this orange button 7224 03:25:31,920 --> 03:25:35,600 which opens up cloud code. And now your 7225 03:25:34,080 --> 03:25:37,040 screen should look like this. So I'm 7226 03:25:35,600 --> 03:25:38,640 going to show you exactly how I got 7227 03:25:37,040 --> 03:25:40,560 everything set up. I went ahead and I 7228 03:25:38,640 --> 03:25:42,399 switched to plan mode. I went over to 7229 03:25:40,560 --> 03:25:44,640 this documentation from Google and I 7230 03:25:42,399 --> 03:25:47,520 went to the actual like API embeddings 7231 03:25:44,640 --> 03:25:50,720 information. I copied this URL, pasted 7232 03:25:47,520 --> 03:25:54,239 it in and said, "Hey, Cloud Code, I want 7233 03:25:50,720 --> 03:25:56,800 to use Gemini's new embeddings 2 model 7234 03:25:54,239 --> 03:25:59,439 in order to have a Pine Cone vector 7235 03:25:56,800 --> 03:26:02,560 database filled with videos and images 7236 03:25:59,439 --> 03:26:05,040 and text. Can you please build me a plan 7237 03:26:02,560 --> 03:26:06,960 to set all of this up? create me av file 7238 03:26:05,040 --> 03:26:09,920 with the placeholders and I will drop in 7239 03:26:06,960 --> 03:26:12,800 my pine cone API key, my Gemini API key, 7240 03:26:09,920 --> 03:26:14,399 and my open router API key. So, the Pine 7241 03:26:12,800 --> 03:26:15,920 Cone API key is so we can set up the 7242 03:26:14,399 --> 03:26:18,239 database. That's actually going to look 7243 03:26:15,920 --> 03:26:19,760 like this. Just go to pine cone.io. And 7244 03:26:18,239 --> 03:26:22,000 you can see in here we've got our 7245 03:26:19,760 --> 03:26:23,600 different databases for our manual 7246 03:26:22,000 --> 03:26:25,040 multimodal for our roofing projects. And 7247 03:26:23,600 --> 03:26:27,120 then this was just a random one. And the 7248 03:26:25,040 --> 03:26:28,960 cool thing is all you have to do is give 7249 03:26:27,120 --> 03:26:30,080 cloud code your API key. It will build 7250 03:26:28,960 --> 03:26:31,040 the database and it will throw 7251 03:26:30,080 --> 03:26:32,880 everything in there. You don't have to 7252 03:26:31,040 --> 03:26:34,239 do anything. So on Pine Cone, you can go 7253 03:26:32,880 --> 03:26:35,600 ahead and use the starter plan, which is 7254 03:26:34,239 --> 03:26:37,279 free. And this will be more than enough 7255 03:26:35,600 --> 03:26:38,399 to just get started to see how it works. 7256 03:26:37,279 --> 03:26:40,560 And then you're going to go over to 7257 03:26:38,399 --> 03:26:42,560 Google AI Studio. You're going to come 7258 03:26:40,560 --> 03:26:44,479 over here to get API key and then create 7259 03:26:42,560 --> 03:26:46,319 a new API key right here. And that's 7260 03:26:44,479 --> 03:26:47,520 going to be for accessing Gemini's new 7261 03:26:46,319 --> 03:26:49,520 embeddings model. And then you're going 7262 03:26:47,520 --> 03:26:51,439 to go to Open Router.ai. If you wanted 7263 03:26:49,520 --> 03:26:53,439 to, you could use an OpenAI key or 7264 03:26:51,439 --> 03:26:54,640 Enthropic key. But Open Router basically 7265 03:26:53,439 --> 03:26:56,319 just lets you have all of these models 7266 03:26:54,640 --> 03:26:57,520 in one, which is why I like to use it. 7267 03:26:56,319 --> 03:26:58,960 So once you get an account in here, 7268 03:26:57,520 --> 03:27:00,880 you'll basically just go to your 7269 03:26:58,960 --> 03:27:03,040 account. you will come to your API keys, 7270 03:27:00,880 --> 03:27:04,160 create a new one, and then give that to 7271 03:27:03,040 --> 03:27:05,840 Cloud Code. So those are the three 7272 03:27:04,160 --> 03:27:07,439 things we need. So what it does now is 7273 03:27:05,840 --> 03:27:08,880 it spits out this plan. So we can 7274 03:27:07,439 --> 03:27:10,800 basically read what Cloud Code is 7275 03:27:08,880 --> 03:27:12,399 planning on doing. Here's the context. 7276 03:27:10,800 --> 03:27:14,000 Here's the proposed project structure 7277 03:27:12,399 --> 03:27:15,600 that it's going to create. Here are the 7278 03:27:14,000 --> 03:27:17,359 dependencies. And here is the basically 7279 03:27:15,600 --> 03:27:18,640 step-by-step plan. Now, if you wanted to 7280 03:27:17,359 --> 03:27:20,160 change anything, you could highlight it, 7281 03:27:18,640 --> 03:27:21,760 you could add comments, and you can make 7282 03:27:20,160 --> 03:27:22,800 suggestions. For the sake of the demo, 7283 03:27:21,760 --> 03:27:25,040 I'm just going to go ahead and auto 7284 03:27:22,800 --> 03:27:26,720 accept what Claude is thinking to do. 7285 03:27:25,040 --> 03:27:28,239 And hopefully it gets everything built 7286 03:27:26,720 --> 03:27:29,760 out for us. And then all we have to do 7287 03:27:28,239 --> 03:27:31,600 is give it the documents that we want to 7288 03:27:29,760 --> 03:27:32,560 embed. So here's the to-do list. I'm 7289 03:27:31,600 --> 03:27:34,319 just going to check in with you guys 7290 03:27:32,560 --> 03:27:35,760 once this has finished up. Okay, so you 7291 03:27:34,319 --> 03:27:38,080 can see it built all those files. And 7292 03:27:35,760 --> 03:27:39,359 now in ourv it gave us these 7293 03:27:38,080 --> 03:27:41,279 placeholders. So this is where you would 7294 03:27:39,359 --> 03:27:42,960 go grab Gemini, paste it here. Go grab 7295 03:27:41,279 --> 03:27:44,720 Pine Cone, paste it here. And then after 7296 03:27:42,960 --> 03:27:46,560 you paste all three, just make sure you 7297 03:27:44,720 --> 03:27:48,399 save this file before you exit out of 7298 03:27:46,560 --> 03:27:50,239 it. All right, so I added those keys and 7299 03:27:48,399 --> 03:27:52,479 now I said where should I add my images, 7300 03:27:50,239 --> 03:27:54,560 videos, and text? And it wants me to put 7301 03:27:52,479 --> 03:27:56,239 them into the data folder. So, I could 7302 03:27:54,560 --> 03:27:57,439 open this up and make subfolders for 7303 03:27:56,239 --> 03:27:58,640 image, videos, and documents. But what 7304 03:27:57,439 --> 03:27:59,840 I'm going to do is I'm just going to 7305 03:27:58,640 --> 03:28:01,359 drop everything in there, and I'm not 7306 03:27:59,840 --> 03:28:02,560 going to tell it which is which. 7307 03:28:01,359 --> 03:28:04,080 Obviously, it will be able to figure it 7308 03:28:02,560 --> 03:28:05,680 out. So, I'm sorry for being boring, but 7309 03:28:04,080 --> 03:28:07,359 I am going to use the same nine files 7310 03:28:05,680 --> 03:28:08,960 that I used for for the earlier demo 7311 03:28:07,359 --> 03:28:11,840 just because it's a good mix of, like I 7312 03:28:08,960 --> 03:28:13,680 said, images, videos, text, and we're 7313 03:28:11,840 --> 03:28:15,040 going to shoot this off now. All right. 7314 03:28:13,680 --> 03:28:16,960 So, normally I would say this in plan 7315 03:28:15,040 --> 03:28:18,640 mode, but I'm just going to keep sending 7316 03:28:16,960 --> 03:28:20,479 it. Right now, I said media has been 7317 03:28:18,640 --> 03:28:22,319 dropped in, as you can see over here. 7318 03:28:20,479 --> 03:28:24,479 Get that into Pine Cone. then build me a 7319 03:28:22,319 --> 03:28:26,399 simple chat web app on a local host so I 7320 03:28:24,479 --> 03:28:27,680 can test that everything works well. I 7321 03:28:26,399 --> 03:28:29,279 want you to use sonnet for the chat 7322 03:28:27,680 --> 03:28:30,880 model. So these are the three pine cone 7323 03:28:29,279 --> 03:28:32,160 indexes that we currently have and like 7324 03:28:30,880 --> 03:28:34,239 I said it's going to go ahead and build 7325 03:28:32,160 --> 03:28:36,080 us a new one because it has our API key 7326 03:28:34,239 --> 03:28:38,000 now. Okay, so right now it just created 7327 03:28:36,080 --> 03:28:40,160 that pine cone index and now it's doing 7328 03:28:38,000 --> 03:28:42,000 the ingesting which like I said this is 7329 03:28:40,160 --> 03:28:43,840 my favorite part because cloud code is 7330 03:28:42,000 --> 03:28:45,439 so so powerful being able to do this and 7331 03:28:43,840 --> 03:28:47,520 then the new model the new embeddings 7332 03:28:45,439 --> 03:28:49,279 model is also so powerful. So combining 7333 03:28:47,520 --> 03:28:50,560 them together makes this so seamless 7334 03:28:49,279 --> 03:28:52,319 where you can build a database with 7335 03:28:50,560 --> 03:28:54,800 natural language because like I said, 7336 03:28:52,319 --> 03:28:57,200 I've built multimodal vector store 7337 03:28:54,800 --> 03:28:58,960 agents before in NN, but it's so 7338 03:28:57,200 --> 03:29:00,080 complicated. They're super fragile and 7339 03:28:58,960 --> 03:29:01,279 there's a lot of hoops that you have to 7340 03:29:00,080 --> 03:29:02,640 jump through in order to just store 7341 03:29:01,279 --> 03:29:04,319 these different buckets and have all 7342 03:29:02,640 --> 03:29:06,000 these descriptions of the images. This 7343 03:29:04,319 --> 03:29:07,520 is so much better. And there's one thing 7344 03:29:06,000 --> 03:29:09,439 I noticed is that it says to build the 7345 03:29:07,520 --> 03:29:11,600 chat web app with Sonnet. So once it's 7346 03:29:09,439 --> 03:29:13,040 done ingesting, I'm going to stop it and 7347 03:29:11,600 --> 03:29:14,560 correct it. So, if you ever notice that 7348 03:29:13,040 --> 03:29:16,160 it's doing something wrong, there's 7349 03:29:14,560 --> 03:29:17,600 nothing wrong with stopping it and 7350 03:29:16,160 --> 03:29:19,359 sending a new message because it still 7351 03:29:17,600 --> 03:29:20,960 understands the context. So, now I'm 7352 03:29:19,359 --> 03:29:22,720 going to go ahead and stop this. I'm 7353 03:29:20,960 --> 03:29:24,479 going to say, "Hey, so I don't want you 7354 03:29:22,720 --> 03:29:26,720 to build the chat web app with Sonnet. I 7355 03:29:24,479 --> 03:29:28,560 want you to still use Opus. I just meant 7356 03:29:26,720 --> 03:29:31,040 on the web app when we're actually 7357 03:29:28,560 --> 03:29:32,880 talking with the AI, I want that AI 7358 03:29:31,040 --> 03:29:34,319 model to be Sonnet." So, make sure you 7359 03:29:32,880 --> 03:29:36,000 use the front-end design skill to build 7360 03:29:34,319 --> 03:29:37,439 this chat web app. Just keep it super 7361 03:29:36,000 --> 03:29:40,000 simple. Okay. Now, I'll check in with 7362 03:29:37,439 --> 03:29:41,920 you guys when we have our PC. Okay. So, 7363 03:29:40,000 --> 03:29:43,359 looks like our chat app is ready. I'm 7364 03:29:41,920 --> 03:29:45,279 going to click on this logo host and we 7365 03:29:43,359 --> 03:29:46,960 have multimodal rag chat. So now I can 7366 03:29:45,279 --> 03:29:48,720 ask a question. Okay, so I'm just 7367 03:29:46,960 --> 03:29:49,840 shooting this off to see what happens. I 7368 03:29:48,720 --> 03:29:51,520 said, "How should I be looking to get 7369 03:29:49,840 --> 03:29:52,720 workflow clients and do you have any 7370 03:29:51,520 --> 03:29:54,160 interesting pictures of people meeting 7371 03:29:52,720 --> 03:29:55,520 each other? Potentially warm 7372 03:29:54,160 --> 03:29:57,279 connections." So I wanted to see if it 7373 03:29:55,520 --> 03:29:58,880 can pull the workflow clients text, 7374 03:29:57,279 --> 03:30:00,239 which it probably will, but I wanted to 7375 03:29:58,880 --> 03:30:03,439 see what it did here with the picture of 7376 03:30:00,239 --> 03:30:05,200 me and AI Adam Sandler. Okay, so it came 7377 03:30:03,439 --> 03:30:07,040 back and has some some methods which 7378 03:30:05,200 --> 03:30:08,640 came straight from my text document, but 7379 03:30:07,040 --> 03:30:11,359 it says that it doesn't have any 7380 03:30:08,640 --> 03:30:12,479 pictures of this exact thing. So, what 7381 03:30:11,359 --> 03:30:15,279 I'm going to do is I'm just going to 7382 03:30:12,479 --> 03:30:17,279 copy this actual string. And I'm going 7383 03:30:15,279 --> 03:30:19,840 to go back into cloud code and say, 7384 03:30:17,279 --> 03:30:21,520 "Awesome. It's working. Here is a 7385 03:30:19,840 --> 03:30:22,399 conversation I just had with it." And 7386 03:30:21,520 --> 03:30:24,000 then I'm going to paste in that 7387 03:30:22,399 --> 03:30:25,600 conversation I just had. I want to 7388 03:30:24,000 --> 03:30:27,600 understand the way that it thinks about 7389 03:30:25,600 --> 03:30:29,120 the images or videos in the database so 7390 03:30:27,600 --> 03:30:31,680 that I could ask a question that would 7391 03:30:29,120 --> 03:30:33,760 get it to invoke and send me the image 7392 03:30:31,680 --> 03:30:35,439 or video. And this is really the mindset 7393 03:30:33,760 --> 03:30:37,439 shift when I work with Claude Code. It's 7394 03:30:35,439 --> 03:30:38,720 just about being genuinely curious. If 7395 03:30:37,439 --> 03:30:40,319 you don't understand something, just 7396 03:30:38,720 --> 03:30:41,840 ask. So here it says right now the 7397 03:30:40,319 --> 03:30:43,200 system can't actually show you images or 7398 03:30:41,840 --> 03:30:45,120 videos. It only stores a text 7399 03:30:43,200 --> 03:30:46,880 description alongside each embedding. 7400 03:30:45,120 --> 03:30:48,399 Here's how it works. Images just the 7401 03:30:46,880 --> 03:30:50,239 description I wrote during ingestion. 7402 03:30:48,399 --> 03:30:51,920 Videos, same thing. It's just the 7403 03:30:50,239 --> 03:30:53,680 description. So what you can do from 7404 03:30:51,920 --> 03:30:55,040 here is you can have better descriptions 7405 03:30:53,680 --> 03:30:56,560 to go along with all your pictures and 7406 03:30:55,040 --> 03:30:58,160 videos which you kind of saw earlier in 7407 03:30:56,560 --> 03:30:59,680 the demo where all of them had some 7408 03:30:58,160 --> 03:31:01,040 metadata. And then what we can do is 7409 03:30:59,680 --> 03:31:02,800 actually serve the media. So we can 7410 03:31:01,040 --> 03:31:04,880 update the chat app to display images 7411 03:31:02,800 --> 03:31:05,920 and videos inline when they come back so 7412 03:31:04,880 --> 03:31:07,520 that you're not just getting a file 7413 03:31:05,920 --> 03:31:08,960 name. Thanks for explaining that. I'm 7414 03:31:07,520 --> 03:31:10,960 just doing a quick demo right now for 7415 03:31:08,960 --> 03:31:14,160 YouTube. So, what I want you to do is 7416 03:31:10,960 --> 03:31:15,680 just add some metadata about the dog 7417 03:31:14,160 --> 03:31:17,760 playing guitar video, just saying that 7418 03:31:15,680 --> 03:31:19,680 it is a cartoon golden retriever, I 7419 03:31:17,760 --> 03:31:22,160 think, playing the guitar in front of a 7420 03:31:19,680 --> 03:31:23,600 fireplace. And update the actual app so 7421 03:31:22,160 --> 03:31:24,960 that it can serve us that media. And I 7422 03:31:23,600 --> 03:31:26,160 just want to validate that this works 7423 03:31:24,960 --> 03:31:28,880 and it's able to search through 7424 03:31:26,160 --> 03:31:30,160 different types of media. So, as you can 7425 03:31:28,880 --> 03:31:32,160 see now, what it's going to do is it has 7426 03:31:30,160 --> 03:31:33,920 to reingest the video for better 7427 03:31:32,160 --> 03:31:35,040 description and update the app. And I 7428 03:31:33,920 --> 03:31:36,319 don't think by default it's going to do 7429 03:31:35,040 --> 03:31:38,640 this, which is why I would say to use 7430 03:31:36,319 --> 03:31:41,120 plan mode. But in this case, you might 7431 03:31:38,640 --> 03:31:42,640 have two duplicate videos in the 7432 03:31:41,120 --> 03:31:44,399 database. And you would want to make 7433 03:31:42,640 --> 03:31:46,080 sure that it's deleting the old ones or 7434 03:31:44,399 --> 03:31:47,520 it's basically just upserting this new 7435 03:31:46,080 --> 03:31:49,439 one. So now if I say, "Show me the 7436 03:31:47,520 --> 03:31:52,000 golden retriever playing guitar," it can 7437 03:31:49,439 --> 03:31:55,399 actually pull that back. And right here 7438 03:31:52,000 --> 03:31:55,399 in our app, 7439 03:31:56,080 --> 03:32:00,000 we can watch the video. So this is just 7440 03:31:58,160 --> 03:32:01,279 so so cool. You could have a database of 7441 03:32:00,000 --> 03:32:02,560 tons of different videos and you could 7442 03:32:01,279 --> 03:32:04,640 be able to actually search through them 7443 03:32:02,560 --> 03:32:06,560 with rag. Now, the one limitation of 7444 03:32:04,640 --> 03:32:10,479 that right now is that the videos are up 7445 03:32:06,560 --> 03:32:12,080 to 120 seconds and only MP4 orov. The 7446 03:32:10,479 --> 03:32:14,960 images are capable of processing up to 7447 03:32:12,080 --> 03:32:16,479 six per request supporting PNG and JPEG 7448 03:32:14,960 --> 03:32:17,680 formats. And I imagine that this stuff 7449 03:32:16,479 --> 03:32:19,040 is going to get a lot better. You can 7450 03:32:17,680 --> 03:32:20,479 even see that it was able to get over 7451 03:32:19,040 --> 03:32:22,960 this limitation because the document 7452 03:32:20,479 --> 03:32:24,239 that I gave it was like 68 pages long. 7453 03:32:22,960 --> 03:32:25,760 It just had to figure out how it could 7454 03:32:24,239 --> 03:32:27,520 break that up, chunk it up, and still 7455 03:32:25,760 --> 03:32:28,880 maintain context. And I didn't try with 7456 03:32:27,520 --> 03:32:30,080 audio yet, but that would be very 7457 03:32:28,880 --> 03:32:32,000 similar to the way you do your videos 7458 03:32:30,080 --> 03:32:33,439 and images. The key thing about the 7459 03:32:32,000 --> 03:32:35,439 audio is being able to give it good 7460 03:32:33,439 --> 03:32:37,520 descriptions so that the AI understands 7461 03:32:35,439 --> 03:32:38,640 what's actually in that audio file. So 7462 03:32:37,520 --> 03:32:40,000 that's where the subject matter 7463 03:32:38,640 --> 03:32:41,920 expertise of the systems that you're 7464 03:32:40,000 --> 03:32:43,680 building really, really does matter. The 7465 03:32:41,920 --> 03:32:45,200 importance and value is way more 7466 03:32:43,680 --> 03:32:46,800 shifting towards being able to 7467 03:32:45,200 --> 03:32:48,720 communicate clearly, having 7468 03:32:46,800 --> 03:32:50,000 understanding of processes, deep 7469 03:32:48,720 --> 03:32:51,600 understanding of processes and where 7470 03:32:50,000 --> 03:32:54,160 holes might be and where you need to be 7471 03:32:51,600 --> 03:32:55,760 very explicit rather than just knowing 7472 03:32:54,160 --> 03:32:58,399 technically how to configure different 7473 03:32:55,760 --> 03:33:02,279 nodes and how to formulate a JSON body 7474 03:32:58,399 --> 03:33:02,279 for an HTTP request. 7475 03:33:02,560 --> 03:33:05,600 All right, so we've been working a lot 7476 03:33:03,680 --> 03:33:07,359 with workflows and automations and data 7477 03:33:05,600 --> 03:33:09,359 and Python scripts and you know stuff 7478 03:33:07,359 --> 03:33:10,960 like that. Let us get a little more 7479 03:33:09,359 --> 03:33:12,560 creative now. We're going to jump into a 7480 03:33:10,960 --> 03:33:14,160 section about learning how to build 7481 03:33:12,560 --> 03:33:15,600 really nicel lookinging websites and 7482 03:33:14,160 --> 03:33:17,680 actually being able to deploy those 7483 03:33:15,600 --> 03:33:19,920 websites on a real domain. So let's get 7484 03:33:17,680 --> 03:33:21,040 into it. 7485 03:33:19,920 --> 03:33:22,399 All right, so a lot of us have been 7486 03:33:21,040 --> 03:33:23,680 building editin workflows for a while 7487 03:33:22,399 --> 03:33:25,120 now. So today I'm going to show you how 7488 03:33:23,680 --> 03:33:26,640 you can take any of your editin 7489 03:33:25,120 --> 03:33:29,120 workflows that you already have and turn 7490 03:33:26,640 --> 03:33:30,399 that into a web app. And I'm not talking 7491 03:33:29,120 --> 03:33:31,920 about just showing you something like 7492 03:33:30,399 --> 03:33:33,760 lovable to build a front end and then 7493 03:33:31,920 --> 03:33:35,279 connecting it to your end web hook. I'm 7494 03:33:33,760 --> 03:33:36,880 talking about cloud code having the 7495 03:33:35,279 --> 03:33:38,239 ability to look at your workflow, 7496 03:33:36,880 --> 03:33:39,840 essentially audit it to make sure it's 7497 03:33:38,239 --> 03:33:41,200 ready to go for an app, and then make 7498 03:33:39,840 --> 03:33:42,960 any of the changes that you need on the 7499 03:33:41,200 --> 03:33:44,160 back end before you build the front end. 7500 03:33:42,960 --> 03:33:45,439 But let me show you guys what I actually 7501 03:33:44,160 --> 03:33:47,279 mean by that. Otherwise, it just sounds 7502 03:33:45,439 --> 03:33:48,560 like a bunch of gibberish. So, here's a 7503 03:33:47,279 --> 03:33:50,160 workflow that I wanted to turn into a 7504 03:33:48,560 --> 03:33:52,239 web app. It takes a form submission 7505 03:33:50,160 --> 03:33:53,920 where we get information from a user 7506 03:33:52,239 --> 03:33:55,760 like product name, product photo, 7507 03:33:53,920 --> 03:33:57,760 avatar, features, and video setting, and 7508 03:33:55,760 --> 03:33:59,279 it turns that into a UGC ad with this 7509 03:33:57,760 --> 03:34:00,880 workflow, as you can see right here. So 7510 03:33:59,279 --> 03:34:02,560 what I told Cloud Code to do was look at 7511 03:34:00,880 --> 03:34:04,160 this workflow and then just optimize it 7512 03:34:02,560 --> 03:34:06,239 so I could actually use it and connect 7513 03:34:04,160 --> 03:34:08,080 it to a front end. And what it did is it 7514 03:34:06,239 --> 03:34:09,439 changed the workflow to look like this. 7515 03:34:08,080 --> 03:34:11,279 There are actually a lot of changes that 7516 03:34:09,439 --> 03:34:12,800 it made here. And I need you guys to 7517 03:34:11,279 --> 03:34:14,479 believe me when I said I was seriously 7518 03:34:12,800 --> 03:34:15,760 impressed when I saw this. So real 7519 03:34:14,479 --> 03:34:17,120 quick, just wanted to put these side by 7520 03:34:15,760 --> 03:34:19,120 side so you can actually see what it 7521 03:34:17,120 --> 03:34:21,040 did. On the left was the original and on 7522 03:34:19,120 --> 03:34:22,319 the right is what Cloud Code built. So 7523 03:34:21,040 --> 03:34:24,160 first of all, it switched out the form 7524 03:34:22,319 --> 03:34:25,760 submission trigger to be a web hook. Not 7525 03:34:24,160 --> 03:34:27,120 too hard, but that's what it did. So if 7526 03:34:25,760 --> 03:34:29,040 you remember, one of the raw inputs it 7527 03:34:27,120 --> 03:34:30,160 gets was a photo. So cloud code actually 7528 03:34:29,040 --> 03:34:32,319 realized that it's going to come through 7529 03:34:30,160 --> 03:34:34,239 as a B 64 string when we send it over 7530 03:34:32,319 --> 03:34:35,840 web hook and it has to convert that. And 7531 03:34:34,239 --> 03:34:37,120 then at the end what we had to do is we 7532 03:34:35,840 --> 03:34:38,880 had to figure out how did we want this 7533 03:34:37,120 --> 03:34:40,479 to be displayed in the front end. So we 7534 03:34:38,880 --> 03:34:42,560 basically are sending back a message 7535 03:34:40,479 --> 03:34:44,319 whether it was successful or not. And 7536 03:34:42,560 --> 03:34:46,720 we're sending over the URL so it can be 7537 03:34:44,319 --> 03:34:48,880 embedded in the actual landing page. And 7538 03:34:46,720 --> 03:34:50,800 it also changed all of these HTTP 7539 03:34:48,880 --> 03:34:53,120 requests to be continue with an error 7540 03:34:50,800 --> 03:34:54,319 output. And it routed the error to a 7541 03:34:53,120 --> 03:34:56,399 different branch which would send the 7542 03:34:54,319 --> 03:34:57,760 front end an error message. And another 7543 03:34:56,399 --> 03:34:59,200 cool thing to realize is that when it 7544 03:34:57,760 --> 03:35:01,040 changes the actual source of the input 7545 03:34:59,200 --> 03:35:02,720 data, it had to change the variables 7546 03:35:01,040 --> 03:35:04,800 everywhere else. So it really thought 7547 03:35:02,720 --> 03:35:06,720 about the actual node by node flow, not 7548 03:35:04,800 --> 03:35:08,000 just changing the input and the output. 7549 03:35:06,720 --> 03:35:09,840 So if you don't understand all of those 7550 03:35:08,000 --> 03:35:11,359 changes that I just explained and like 7551 03:35:09,840 --> 03:35:12,640 why that's important, it's not a huge 7552 03:35:11,359 --> 03:35:14,319 deal. The point I was trying to make 7553 03:35:12,640 --> 03:35:16,160 there was just showing you that Claude 7554 03:35:14,319 --> 03:35:17,680 will look at your workflows and fix them 7555 03:35:16,160 --> 03:35:19,200 for you before you ever turn them into a 7556 03:35:17,680 --> 03:35:20,960 front end. And you guys know that my job 7557 03:35:19,200 --> 03:35:22,800 is to make complex or intimidating 7558 03:35:20,960 --> 03:35:23,920 things as simple as possible. So that's 7559 03:35:22,800 --> 03:35:25,040 exactly what I'm going to do today. 7560 03:35:23,920 --> 03:35:26,560 We're going to walk through it all step 7561 03:35:25,040 --> 03:35:28,239 by step and you're going to realize how 7562 03:35:26,560 --> 03:35:29,520 easy it actually is. So, real quick 7563 03:35:28,239 --> 03:35:31,279 before we get into that, I just want to 7564 03:35:29,520 --> 03:35:33,439 do a quick demo of the final product of 7565 03:35:31,279 --> 03:35:34,960 this that took me basically 40 minutes 7566 03:35:33,439 --> 03:35:36,880 where I started with this workflow. 7567 03:35:34,960 --> 03:35:38,880 Cloud code turned it into this workflow. 7568 03:35:36,880 --> 03:35:40,399 And now we have this front end where I 7569 03:35:38,880 --> 03:35:41,920 can put in the information. And let me 7570 03:35:40,399 --> 03:35:43,279 just show you guys a quick demo. So, I 7571 03:35:41,920 --> 03:35:44,319 put in some information, I put in a 7572 03:35:43,279 --> 03:35:46,080 product photo, and I'm going to go ahead 7573 03:35:44,319 --> 03:35:47,600 and hit generate. And now, what happens 7574 03:35:46,080 --> 03:35:49,040 is it basically tells us on this right 7575 03:35:47,600 --> 03:35:51,680 hand side that we have this one job 7576 03:35:49,040 --> 03:35:53,200 processing. If I go into the actual end 7577 03:35:51,680 --> 03:35:54,960 workflow that it's hitting right now and 7578 03:35:53,200 --> 03:35:56,239 I go to executions, you can see that 7579 03:35:54,960 --> 03:35:57,920 there were some failures when I was 7580 03:35:56,239 --> 03:35:59,359 doing testing and stuff. But what we're 7581 03:35:57,920 --> 03:36:01,439 going to notice is that we get a new 7582 03:35:59,359 --> 03:36:03,200 execution right here pop through. And 7583 03:36:01,439 --> 03:36:04,640 then when that's finished, it will 7584 03:36:03,200 --> 03:36:06,000 automatically display right here where 7585 03:36:04,640 --> 03:36:07,600 we can see the video and we'll be able 7586 03:36:06,000 --> 03:36:09,120 to download it. So you can see that the 7587 03:36:07,600 --> 03:36:10,880 workflow just finished up and you can 7588 03:36:09,120 --> 03:36:12,560 see we have our video right here which 7589 03:36:10,880 --> 03:36:14,080 is displayed in the website. We can 7590 03:36:12,560 --> 03:36:15,840 click on this link to download it. And 7591 03:36:14,080 --> 03:36:17,680 also just for reference, here is the 7592 03:36:15,840 --> 03:36:19,200 original cologne image that I uploaded. 7593 03:36:17,680 --> 03:36:20,800 So you can see that it pretty much looks 7594 03:36:19,200 --> 03:36:22,399 the exact same. So I'm not going to be 7595 03:36:20,800 --> 03:36:24,000 diving into this actual workflow that 7596 03:36:22,399 --> 03:36:24,880 produced the results. I already made a 7597 03:36:24,000 --> 03:36:26,640 video about this, so if you want to 7598 03:36:24,880 --> 03:36:27,840 check it out, I'll link it up there. All 7599 03:36:26,640 --> 03:36:29,359 right. Hopefully I'm not losing you 7600 03:36:27,840 --> 03:36:31,120 already. I know that this workflow and 7601 03:36:29,359 --> 03:36:32,319 this demo may seem a little bit complex, 7602 03:36:31,120 --> 03:36:34,479 but we're going to set up everything 7603 03:36:32,319 --> 03:36:36,479 step by step from the full process of 7604 03:36:34,479 --> 03:36:38,000 taking an edit in workflow, optimizing 7605 03:36:36,479 --> 03:36:40,479 it with cloud, and then getting it onto 7606 03:36:38,000 --> 03:36:42,880 a front end and deploying it. Okay, so 7607 03:36:40,479 --> 03:36:44,800 step one is open up VS Code. This is 7608 03:36:42,880 --> 03:36:47,120 where I like to work with Cloud Code as 7609 03:36:44,800 --> 03:36:48,800 an extension because the actual visual 7610 03:36:47,120 --> 03:36:50,160 interface is just so much cleaner. It's 7611 03:36:48,800 --> 03:36:51,680 so much better and you don't have to 7612 03:36:50,160 --> 03:36:53,439 look at your nasty terminal or anything 7613 03:36:51,680 --> 03:36:54,640 like that. VS Code's been around for a 7614 03:36:53,439 --> 03:36:56,080 long time and it's a very trusted 7615 03:36:54,640 --> 03:36:57,279 platform. So once you're in here, you're 7616 03:36:56,080 --> 03:36:58,880 going to click on this lefth hand side 7617 03:36:57,279 --> 03:37:01,120 and go to extensions and then you're 7618 03:36:58,880 --> 03:37:02,640 going to type in up here cloud code. 7619 03:37:01,120 --> 03:37:04,880 Once you do that, just click on cloud 7620 03:37:02,640 --> 03:37:06,080 code and then go ahead and install it. 7621 03:37:04,880 --> 03:37:07,680 And when you install it, it should 7622 03:37:06,080 --> 03:37:09,520 prompt you to sign in with your 7623 03:37:07,680 --> 03:37:10,560 Enthropic with your cloud account. And 7624 03:37:09,520 --> 03:37:11,840 that's how you actually link them 7625 03:37:10,560 --> 03:37:13,520 together. Now, once we have that 7626 03:37:11,840 --> 03:37:15,279 extension installed, we actually need to 7627 03:37:13,520 --> 03:37:17,200 start up a project. So, what I'm going 7628 03:37:15,279 --> 03:37:19,200 to do here is I'm going to go to the 7629 03:37:17,200 --> 03:37:20,960 lefth hand side and go up to this button 7630 03:37:19,200 --> 03:37:22,960 right here, which is the file explorer, 7631 03:37:20,960 --> 03:37:24,800 and it says you have not opened a folder 7632 03:37:22,960 --> 03:37:26,239 yet. So, go ahead and open one up. So, 7633 03:37:24,800 --> 03:37:27,680 I'm in my documents. I'm in a folder 7634 03:37:26,239 --> 03:37:29,359 called Aentic Workflows. And then I'm 7635 03:37:27,680 --> 03:37:31,439 drilling down to another folder called 7636 03:37:29,359 --> 03:37:32,800 Nadent app, which has nothing in it. So, 7637 03:37:31,439 --> 03:37:34,560 it's a blank folder. It's a blank 7638 03:37:32,800 --> 03:37:36,640 project. And I'm going to select it, 7639 03:37:34,560 --> 03:37:38,319 which now gets us into this environment. 7640 03:37:36,640 --> 03:37:40,160 So, you can see up top we've got Nident 7641 03:37:38,319 --> 03:37:41,520 app, which is our project. And on the 7642 03:37:40,160 --> 03:37:43,040 lefth hand side over here, we're going 7643 03:37:41,520 --> 03:37:45,359 to see all the other files that we add 7644 03:37:43,040 --> 03:37:46,319 to this or that get created. In the 7645 03:37:45,359 --> 03:37:47,920 middle is where we're going to actually 7646 03:37:46,319 --> 03:37:49,600 be chatting with Claude Code. And the 7647 03:37:47,920 --> 03:37:51,200 way we do that is by clicking on this 7648 03:37:49,600 --> 03:37:52,800 little Cloud Code extension button right 7649 03:37:51,200 --> 03:37:54,880 here and then closing out of whatever 7650 03:37:52,800 --> 03:37:56,319 else we don't want. And on the right 7651 03:37:54,880 --> 03:37:58,640 hand side is where we have the actual 7652 03:37:56,319 --> 03:38:00,080 like VS Code agent chat, which means we 7653 03:37:58,640 --> 03:38:01,680 can talk to this agent about like what's 7654 03:38:00,080 --> 03:38:03,439 going on in here. And honestly, I never 7655 03:38:01,680 --> 03:38:05,600 really use this because the Cloud Code 7656 03:38:03,439 --> 03:38:07,040 agent is smart enough. So that's kind of 7657 03:38:05,600 --> 03:38:08,880 the interface we're looking at. I know 7658 03:38:07,040 --> 03:38:10,239 it may seem a bit overwhelming right now 7659 03:38:08,880 --> 03:38:11,920 because there's lots of new buttons and 7660 03:38:10,239 --> 03:38:13,040 there's lots of places to look, but I'm 7661 03:38:11,920 --> 03:38:14,640 basically just going to tell you guys 7662 03:38:13,040 --> 03:38:16,479 about what you need to know. And if you 7663 03:38:14,640 --> 03:38:17,680 follow this demo all the way through, by 7664 03:38:16,479 --> 03:38:18,960 the end of it, you'll have a really good 7665 03:38:17,680 --> 03:38:21,200 understanding of what you're looking at 7666 03:38:18,960 --> 03:38:23,120 and how to work with cloud code. All 7667 03:38:21,200 --> 03:38:24,960 right, so the first thing that we want 7668 03:38:23,120 --> 03:38:26,880 to do whenever we start up a new project 7669 03:38:24,960 --> 03:38:28,479 is we want to give it some sort of 7670 03:38:26,880 --> 03:38:30,080 guidelines about what are we actually 7671 03:38:28,479 --> 03:38:31,279 doing in this project. And the way we 7672 03:38:30,080 --> 03:38:32,880 actually do that is we just have to 7673 03:38:31,279 --> 03:38:34,239 create a file, which is essentially the 7674 03:38:32,880 --> 03:38:36,160 system prompt. And it's going to be 7675 03:38:34,239 --> 03:38:37,520 called claude.md. 7676 03:38:36,160 --> 03:38:38,800 And so what you could do is come over to 7677 03:38:37,520 --> 03:38:42,399 the lefth hand side and you could click 7678 03:38:38,800 --> 03:38:43,760 on new file. You could type in claude.md 7679 03:38:42,399 --> 03:38:46,160 and then we could basically just start 7680 03:38:43,760 --> 03:38:48,960 working in this file or we could have 7681 03:38:46,160 --> 03:38:50,239 claude itself edit the file. And the 7682 03:38:48,960 --> 03:38:51,680 reason why this popped up over here is 7683 03:38:50,239 --> 03:38:53,359 just so we could view it. You could 7684 03:38:51,680 --> 03:38:55,040 close it. You could open it back up. You 7685 03:38:53,359 --> 03:38:56,560 could open up like 10 different files at 7686 03:38:55,040 --> 03:38:59,600 the same time if you want to. But let's 7687 03:38:56,560 --> 03:39:01,520 just keep our screen clean and keep open 7688 03:38:59,600 --> 03:39:02,880 just the cloud code for now. Okay. So 7689 03:39:01,520 --> 03:39:04,880 what I'm going to do is have cloud code 7690 03:39:02,880 --> 03:39:06,080 help us write that cloud.md file. So, 7691 03:39:04,880 --> 03:39:07,920 let me just read out what I actually 7692 03:39:06,080 --> 03:39:10,399 wrote to it. So, I said, "Help me create 7693 03:39:07,920 --> 03:39:12,560 a claw.md file in this project to set up 7694 03:39:10,399 --> 03:39:14,479 what we want to do here. This project is 7695 03:39:12,560 --> 03:39:16,000 essentially built to help me turn my NDN 7696 03:39:14,479 --> 03:39:18,160 workflows into apps." So, there's going 7697 03:39:16,000 --> 03:39:20,319 to be a few pieces. The first piece is 7698 03:39:18,160 --> 03:39:21,760 going to look at my workflows in NN to 7699 03:39:20,319 --> 03:39:23,279 make sure that they're ready to go as 7700 03:39:21,760 --> 03:39:25,279 far as having the right intake of data 7701 03:39:23,279 --> 03:39:27,439 and output of data so that if it's a web 7702 03:39:25,279 --> 03:39:29,279 app, when the app sends data to NN, it 7703 03:39:27,439 --> 03:39:30,960 can properly receive it. And that also 7704 03:39:29,279 --> 03:39:33,120 when NN sends a response back to the 7705 03:39:30,960 --> 03:39:35,120 front end, it's properly displayed. Just 7706 03:39:33,120 --> 03:39:36,720 like we saw here in this example, I 7707 03:39:35,120 --> 03:39:38,479 wanted to make sure that when NN sent 7708 03:39:36,720 --> 03:39:40,560 the response back to the app, it could 7709 03:39:38,479 --> 03:39:41,680 be displayed as an embedded video. And I 7710 03:39:40,560 --> 03:39:44,239 also wanted to make sure that when we 7711 03:39:41,680 --> 03:39:45,840 sent over a JPEG file to NN, it could 7712 03:39:44,239 --> 03:39:47,120 receive it properly. Then I came back 7713 03:39:45,840 --> 03:39:48,560 and said once we know the workflow's 7714 03:39:47,120 --> 03:39:50,479 optimized, then we have to start 7715 03:39:48,560 --> 03:39:51,920 building the front end. So we're going 7716 03:39:50,479 --> 03:39:53,600 to start building it and testing it in a 7717 03:39:51,920 --> 03:39:55,520 local environment and then once we like 7718 03:39:53,600 --> 03:39:57,840 how the app looks and functions, then 7719 03:39:55,520 --> 03:39:59,680 we'll push it to GitHub. And GitHub is 7720 03:39:57,840 --> 03:40:01,680 basically just a home for our code and 7721 03:39:59,680 --> 03:40:03,120 it will let us do different versions and 7722 03:40:01,680 --> 03:40:04,960 see all the changes. And then what 7723 03:40:03,120 --> 03:40:06,640 happens is our code lives in GitHub, but 7724 03:40:04,960 --> 03:40:08,239 then we're going to have Verscell sync 7725 03:40:06,640 --> 03:40:10,640 up to it. And Verscell is where we 7726 03:40:08,239 --> 03:40:12,000 actually deploy those apps on the web. 7727 03:40:10,640 --> 03:40:13,520 And I have a diagram to break this down 7728 03:40:12,000 --> 03:40:15,920 in a few minutes here, but essentially 7729 03:40:13,520 --> 03:40:17,840 the idea is we work in cloud code, we 7730 03:40:15,920 --> 03:40:20,479 push changes to GitHub, and then our 7731 03:40:17,840 --> 03:40:22,319 actual real web app on the public URL 7732 03:40:20,479 --> 03:40:24,000 always reflects the most recent version. 7733 03:40:22,319 --> 03:40:25,120 So it's just super easy. So there's also 7734 03:40:24,000 --> 03:40:26,880 a couple things that we're going to 7735 03:40:25,120 --> 03:40:29,040 utilize. One of them will be the niten 7736 03:40:26,880 --> 03:40:31,200 mcp so that you can understand nitend 7737 03:40:29,040 --> 03:40:32,880 nodes configurations templates and you 7738 03:40:31,200 --> 03:40:34,399 can look through my niten instance and 7739 03:40:32,880 --> 03:40:36,000 create and edit workflows and things 7740 03:40:34,399 --> 03:40:38,479 like that. I'm also going to give you 7741 03:40:36,000 --> 03:40:40,560 access to two skills the niten skills 7742 03:40:38,479 --> 03:40:41,600 and the front-end developer skills. And 7743 03:40:40,560 --> 03:40:43,920 I'm going to give you access to the 7744 03:40:41,600 --> 03:40:46,080 GitHub MCP so you can actually push 7745 03:40:43,920 --> 03:40:47,520 changes to my GitHub. And then I finish 7746 03:40:46,080 --> 03:40:49,200 that off by saying with all that in 7747 03:40:47,520 --> 03:40:51,359 mind, ask me any questions that you may 7748 03:40:49,200 --> 03:40:53,200 need and help me make this file concise 7749 03:40:51,359 --> 03:40:55,120 so that we keep everything neat and 7750 03:40:53,200 --> 03:40:56,720 lean. So before I send this off, I 7751 03:40:55,120 --> 03:40:58,640 wanted to talk about these different 7752 03:40:56,720 --> 03:41:00,720 modes. So right here you can see I'm on 7753 03:40:58,640 --> 03:41:02,399 bypass permissions which is orange. We 7754 03:41:00,720 --> 03:41:04,080 could go to ask before edits which is a 7755 03:41:02,399 --> 03:41:05,840 lighter orange. We could go to edit 7756 03:41:04,080 --> 03:41:07,680 automatically which is white. Or we 7757 03:41:05,840 --> 03:41:08,960 could go to plan mode which is blue. And 7758 03:41:07,680 --> 03:41:10,640 so whenever I'm doing something like 7759 03:41:08,960 --> 03:41:12,800 this or whenever we're setting up an 7760 03:41:10,640 --> 03:41:14,319 initial prompt I always like to use plan 7761 03:41:12,800 --> 03:41:16,160 mode because it thinks a lot better and 7762 03:41:14,319 --> 03:41:17,840 it asks you questions and it basically 7763 03:41:16,160 --> 03:41:19,760 just lets you guys have a conversation 7764 03:41:17,840 --> 03:41:20,720 before you actually do anything. So, I'm 7765 03:41:19,760 --> 03:41:22,560 going to go ahead and shoot off this 7766 03:41:20,720 --> 03:41:24,479 prompt in plan mode, and we're going to 7767 03:41:22,560 --> 03:41:26,080 see Claude Code think about what it 7768 03:41:24,479 --> 03:41:27,359 needs to do. It's going to first look 7769 03:41:26,080 --> 03:41:28,720 through the current structure to see if 7770 03:41:27,359 --> 03:41:30,000 there's any files. It's going to 7771 03:41:28,720 --> 03:41:31,359 understand what we're doing here. And 7772 03:41:30,000 --> 03:41:32,960 you can see right here, it said before I 7773 03:41:31,359 --> 03:41:34,800 draft the file, I've got a few 7774 03:41:32,960 --> 03:41:36,080 clarification questions. So, what's the 7775 03:41:34,800 --> 03:41:37,520 typical structure of the workflow you 7776 03:41:36,080 --> 03:41:39,840 want to turn into an app? Right now, 7777 03:41:37,520 --> 03:41:40,960 let's just say various triggers because 7778 03:41:39,840 --> 03:41:43,040 we don't actually know what we want to 7779 03:41:40,960 --> 03:41:44,239 turn into an app yet. For the project 7780 03:41:43,040 --> 03:41:46,319 structure, do you have a preferred 7781 03:41:44,239 --> 03:41:48,640 project structure in mind? I'm just 7782 03:41:46,319 --> 03:41:50,560 going to say propose structure, 7783 03:41:48,640 --> 03:41:52,000 whatever. I don't really care. Repo 7784 03:41:50,560 --> 03:41:54,399 strategy. Should each workflow become 7785 03:41:52,000 --> 03:41:56,720 its own repo in GitHub? Yep. We'll just 7786 03:41:54,399 --> 03:41:57,920 do separate repos, one for each app. And 7787 03:41:56,720 --> 03:41:59,920 then for styling, we'll just go ahead 7788 03:41:57,920 --> 03:42:01,200 and go with Tailwind CSS. And if you 7789 03:41:59,920 --> 03:42:02,880 don't know what this stuff means, you 7790 03:42:01,200 --> 03:42:04,479 can just go ahead and ask it to. That's 7791 03:42:02,880 --> 03:42:05,920 the beauty of Claude code is that we 7792 03:42:04,479 --> 03:42:07,760 don't have to really understand all the 7793 03:42:05,920 --> 03:42:09,120 code and exactly what it's doing. We 7794 03:42:07,760 --> 03:42:10,560 just have to be able to communicate our 7795 03:42:09,120 --> 03:42:12,239 thoughts clearly. And if we get 7796 03:42:10,560 --> 03:42:13,600 confused, just ask Claude what it's 7797 03:42:12,239 --> 03:42:15,120 doing and why because it's really good 7798 03:42:13,600 --> 03:42:16,560 at that. So you can see it gave us this 7799 03:42:15,120 --> 03:42:17,920 plan for the cloud file and I said, 7800 03:42:16,560 --> 03:42:19,840 "Yep, that sounds good." I'm going to go 7801 03:42:17,920 --> 03:42:22,080 ahead and auto accept and now it's going 7802 03:42:19,840 --> 03:42:24,080 to update this cloud MD file which right 7803 03:42:22,080 --> 03:42:25,439 now has nothing in it as you can see and 7804 03:42:24,080 --> 03:42:26,640 it's going to basically just write in 7805 03:42:25,439 --> 03:42:28,319 the system prompt and you can see that 7806 03:42:26,640 --> 03:42:30,479 it just happened in real time right 7807 03:42:28,319 --> 03:42:32,080 there. Okay, our system prompt is 7808 03:42:30,479 --> 03:42:33,600 configured. So next what we have to do 7809 03:42:32,080 --> 03:42:35,520 is give it access to all of those things 7810 03:42:33,600 --> 03:42:38,239 that we mentioned like the skills, the 7811 03:42:35,520 --> 03:42:39,600 servers, whatever the MCP. But before we 7812 03:42:38,239 --> 03:42:40,880 do that, let me just show you guys 7813 03:42:39,600 --> 03:42:42,399 exactly what we're doing here on a 7814 03:42:40,880 --> 03:42:44,319 whiteboard so it all makes way more 7815 03:42:42,399 --> 03:42:46,000 sense. So in my last video, I showed you 7816 03:42:44,319 --> 03:42:49,120 guys how we can use cloud code and give 7817 03:42:46,000 --> 03:42:51,439 it the end mcp and the end skills to 7818 03:42:49,120 --> 03:42:52,960 build workflows for us in our own end 7819 03:42:51,439 --> 03:42:54,399 instance. So we're kind of building on 7820 03:42:52,960 --> 03:42:55,760 top of that here. If you haven't watched 7821 03:42:54,399 --> 03:42:57,279 that video, that one might be a good one 7822 03:42:55,760 --> 03:42:59,279 to start with and then come back to this 7823 03:42:57,279 --> 03:43:01,600 one. So I'll tag that right up here. But 7824 03:42:59,279 --> 03:43:03,600 essentially the end mcp gives cloud code 7825 03:43:01,600 --> 03:43:05,359 access to all the nodes, configurations, 7826 03:43:03,600 --> 03:43:07,439 workflow patterns, things like that. and 7827 03:43:05,359 --> 03:43:09,680 ended in skills gives cloud code all the 7828 03:43:07,439 --> 03:43:12,000 knowledge about expressions, how to use 7829 03:43:09,680 --> 03:43:14,239 this MCP server, how to code, all this 7830 03:43:12,000 --> 03:43:16,000 kind of stuff. So the TLDDR is you're 7831 03:43:14,239 --> 03:43:19,040 essentially giving one of the smartest 7832 03:43:16,000 --> 03:43:20,479 brains in the world access to all of the 7833 03:43:19,040 --> 03:43:22,160 information about NN that you could 7834 03:43:20,479 --> 03:43:24,239 possibly need. So now we're building on 7835 03:43:22,160 --> 03:43:25,760 top of that and we're creating web apps. 7836 03:43:24,239 --> 03:43:27,840 So what we do here is we've got once 7837 03:43:25,760 --> 03:43:29,840 again cloud code with MCP servers and 7838 03:43:27,840 --> 03:43:31,840 with different skills and now what we 7839 03:43:29,840 --> 03:43:33,520 wanted to do is create us a web app. So 7840 03:43:31,840 --> 03:43:35,439 in order to create that web app first of 7841 03:43:33,520 --> 03:43:37,040 all we use end to see the backend 7842 03:43:35,439 --> 03:43:39,040 automation that we want to turn into an 7843 03:43:37,040 --> 03:43:40,880 app and we create the front end to 7844 03:43:39,040 --> 03:43:42,319 actually like collaborate with that. Now 7845 03:43:40,880 --> 03:43:44,720 what is the front end? It's actually 7846 03:43:42,319 --> 03:43:47,279 just code. So cloud code is building the 7847 03:43:44,720 --> 03:43:48,880 code that displays the website and what 7848 03:43:47,279 --> 03:43:50,800 we do with that code is we push that to 7849 03:43:48,880 --> 03:43:52,239 GitHub in something called a repository 7850 03:43:50,800 --> 03:43:54,319 or what a lot of people just call a 7851 03:43:52,239 --> 03:43:55,520 GitHub repo. And then we have Verscell 7852 03:43:54,319 --> 03:43:56,720 which actually deploys it on the 7853 03:43:55,520 --> 03:43:58,479 internet so that other people could 7854 03:43:56,720 --> 03:44:00,479 access this app. and Verscell is 7855 03:43:58,479 --> 03:44:02,479 constantly looking at your GitHub repos 7856 03:44:00,479 --> 03:44:03,920 so that if anything changes over there, 7857 03:44:02,479 --> 03:44:06,399 you can basically have that change be 7858 03:44:03,920 --> 03:44:08,560 instantly reflected on your real app. So 7859 03:44:06,399 --> 03:44:11,359 like with this web app, the actual code 7860 03:44:08,560 --> 03:44:13,120 for this lives in my cloud code locally. 7861 03:44:11,359 --> 03:44:15,439 It's also reflected on GitHub and then 7862 03:44:13,120 --> 03:44:16,720 Verscell has deployed it. So let's say I 7863 03:44:15,439 --> 03:44:18,640 wanted to make this green instead of 7864 03:44:16,720 --> 03:44:20,399 blue. I could tell cloud code to change 7865 03:44:18,640 --> 03:44:21,680 the code to make it green and then I 7866 03:44:20,399 --> 03:44:23,279 could say push this to GitHub. So, 7867 03:44:21,680 --> 03:44:24,800 GitHub would grab it and then Verscell 7868 03:44:23,279 --> 03:44:26,640 would grab it from GitHub and then in 7869 03:44:24,800 --> 03:44:28,800 like 20 seconds we would see that this 7870 03:44:26,640 --> 03:44:30,319 website would be green instead of blue. 7871 03:44:28,800 --> 03:44:32,800 Hopefully that architecture makes sense. 7872 03:44:30,319 --> 03:44:34,479 Now, let's get back into cloud code and 7873 03:44:32,800 --> 03:44:36,319 let's start connecting all these things 7874 03:44:34,479 --> 03:44:38,160 that we need. So, now what I'm doing is 7875 03:44:36,319 --> 03:44:39,600 I'm saying connect all of these MCP 7876 03:44:38,160 --> 03:44:41,199 servers and skills and just let me know 7877 03:44:39,600 --> 03:44:43,359 if you need anything else. So, I'm 7878 03:44:41,199 --> 03:44:46,000 giving it the URL for the NIN MCP 7879 03:44:43,359 --> 03:44:48,560 server. I'm giving it my cloud URL. I'm 7880 03:44:46,000 --> 03:44:51,279 giving it my NIN API key. I'm giving it 7881 03:44:48,560 --> 03:44:53,680 the GitHub MCP server URL. I'm giving it 7882 03:44:51,279 --> 03:44:56,160 my GitHub personal access token. I'm 7883 03:44:53,680 --> 03:44:58,560 giving it the repo for my the end skills 7884 03:44:56,160 --> 03:45:00,960 and I'm giving it the repo for the 7885 03:44:58,560 --> 03:45:02,399 front-end design skills. All of these 7886 03:45:00,960 --> 03:45:03,840 links that you'll need, I'll just put in 7887 03:45:02,399 --> 03:45:04,880 the description of this video. And what 7888 03:45:03,840 --> 03:45:07,040 I'm going to do is I'm going to turn 7889 03:45:04,880 --> 03:45:08,560 this on bypass permissions mode because 7890 03:45:07,040 --> 03:45:09,920 I just want it to go without me having 7891 03:45:08,560 --> 03:45:11,199 to approve everything. So, I'm going to 7892 03:45:09,920 --> 03:45:12,560 go ahead and shoot this off and let it 7893 03:45:11,199 --> 03:45:14,239 work its magic. And while that's 7894 03:45:12,560 --> 03:45:15,840 running, I'll show you guys two things. 7895 03:45:14,239 --> 03:45:17,279 The first one is how do you get bypass 7896 03:45:15,840 --> 03:45:19,439 permissions mode if you don't see it 7897 03:45:17,279 --> 03:45:21,040 natively right there? Well, you go to 7898 03:45:19,439 --> 03:45:23,840 your settings down here and then you 7899 03:45:21,040 --> 03:45:25,279 would type in clawed code and then right 7900 03:45:23,840 --> 03:45:27,920 here you just have to turn this check 7901 03:45:25,279 --> 03:45:29,439 mark on that says allow dangerously skip 7902 03:45:27,920 --> 03:45:31,199 permissions. Now, I know it sounds 7903 03:45:29,439 --> 03:45:32,479 dangerous, but it's not too bad as long 7904 03:45:31,199 --> 03:45:33,520 as you're watching it and like, you 7905 03:45:32,479 --> 03:45:35,040 know, making sure that you're not 7906 03:45:33,520 --> 03:45:36,479 telling it to go delete all your files 7907 03:45:35,040 --> 03:45:38,239 and things like that. Now, the second 7908 03:45:36,479 --> 03:45:40,560 thing I wanted to show you is how to get 7909 03:45:38,239 --> 03:45:42,399 your GitHub personal access token. So, 7910 03:45:40,560 --> 03:45:43,760 here is my GitHub. All you have to do is 7911 03:45:42,399 --> 03:45:45,359 just go to GitHub, create an account. 7912 03:45:43,760 --> 03:45:46,880 It's free to create an account. And then 7913 03:45:45,359 --> 03:45:49,040 you're going to go up here to your 7914 03:45:46,880 --> 03:45:50,319 settings and then at the bottom of your 7915 03:45:49,040 --> 03:45:51,760 settings you should see developer 7916 03:45:50,319 --> 03:45:53,359 settings and you're going to go ahead 7917 03:45:51,760 --> 03:45:55,760 and create one of these personal access 7918 03:45:53,359 --> 03:45:57,439 tokens and you'll create a fine grained 7919 03:45:55,760 --> 03:45:59,279 token. So that's all you have to do. 7920 03:45:57,439 --> 03:46:00,319 It'll give you basically an API key and 7921 03:45:59,279 --> 03:46:02,080 then that's what you're going to give to 7922 03:46:00,319 --> 03:46:03,439 claude code here so that it can set 7923 03:46:02,080 --> 03:46:04,880 everything up. And when you actually go 7924 03:46:03,439 --> 03:46:06,880 to create this token pretty much just 7925 03:46:04,880 --> 03:46:08,880 give it a name. I leave mine on public 7926 03:46:06,880 --> 03:46:10,800 repositories. I change the expiration to 7927 03:46:08,880 --> 03:46:12,319 never. And then the last thing is about 7928 03:46:10,800 --> 03:46:13,600 permissions. And usually what I do is I 7929 03:46:12,319 --> 03:46:15,199 just add all of these. There might 7930 03:46:13,600 --> 03:46:16,640 there's like 23 or something, but just 7931 03:46:15,199 --> 03:46:18,160 add all of them. If you realize later 7932 03:46:16,640 --> 03:46:19,199 you want to restrict something else, you 7933 03:46:18,160 --> 03:46:21,279 can just go ahead and create a new one 7934 03:46:19,199 --> 03:46:23,520 or restrict it in cloud code. It's not a 7935 03:46:21,279 --> 03:46:25,439 huge deal. And then generate the token 7936 03:46:23,520 --> 03:46:26,720 and pop it over to cloud code. And so 7937 03:46:25,439 --> 03:46:28,080 the other thing to look at, and 7938 03:46:26,720 --> 03:46:30,319 throughout this tutorial, you might see 7939 03:46:28,080 --> 03:46:32,319 me use like a slashclear or some other 7940 03:46:30,319 --> 03:46:33,439 things, but if you hit slash, you can 7941 03:46:32,319 --> 03:46:35,439 see that there's other things that we 7942 03:46:33,439 --> 03:46:37,439 can look at. So we can attach a file, we 7943 03:46:35,439 --> 03:46:39,120 can mention a file from a project, we 7944 03:46:37,439 --> 03:46:42,720 can switch the model. So we can go from 7945 03:46:39,120 --> 03:46:44,239 default or sonnet 4.5, opus, haiku. We 7946 03:46:42,720 --> 03:46:46,960 could also turn on thinking. We can 7947 03:46:44,239 --> 03:46:48,560 manage our MCP servers, agents, hooks, 7948 03:46:46,960 --> 03:46:50,319 memory. We can do all of these other 7949 03:46:48,560 --> 03:46:51,920 slashcomands as well. And then if you 7950 03:46:50,319 --> 03:46:53,359 actually use cloud code in something 7951 03:46:51,920 --> 03:46:54,880 like cursor or in the terminal 7952 03:46:53,359 --> 03:46:56,080 environment, there's even more commands 7953 03:46:54,880 --> 03:46:57,840 and like more things you can do with 7954 03:46:56,080 --> 03:47:00,080 agents and like plan mode and things 7955 03:46:57,840 --> 03:47:02,239 like that. But like I said, VS Code just 7956 03:47:00,080 --> 03:47:04,000 makes this all look a lot cleaner and a 7957 03:47:02,239 --> 03:47:06,880 lot less intimidating, which is why I 7958 03:47:04,000 --> 03:47:08,720 wanted to do cloud code on VS Code in 7959 03:47:06,880 --> 03:47:10,160 this tutorial. So now it's asking me, 7960 03:47:08,720 --> 03:47:11,840 how would you like me to configure all 7961 03:47:10,160 --> 03:47:13,920 of this stuff? I'm just going to say 7962 03:47:11,840 --> 03:47:15,520 create the MCP JSON file because I don't 7963 03:47:13,920 --> 03:47:17,199 want to do it myself. I just want you to 7964 03:47:15,520 --> 03:47:18,399 go ahead and take care of all of this 7965 03:47:17,199 --> 03:47:19,760 stuff. And that's the thing that's 7966 03:47:18,399 --> 03:47:22,160 interesting about this because when you 7967 03:47:19,760 --> 03:47:23,840 go to a lot of these MCB servers or 7968 03:47:22,160 --> 03:47:25,520 skills, it'll basically tell you 7969 03:47:23,840 --> 03:47:27,279 installation steps and it will say, 7970 03:47:25,520 --> 03:47:29,680 "Hey, go add this to your cloud code 7971 03:47:27,279 --> 03:47:30,960 file or hey, go install this plugin." 7972 03:47:29,680 --> 03:47:32,960 And I don't want to actually do that. I 7973 03:47:30,960 --> 03:47:35,760 just want Cloud Code to do it. So, all I 7974 03:47:32,960 --> 03:47:37,040 do is I give it the raw URLs. And what 7975 03:47:35,760 --> 03:47:39,439 you can see here is when I give it the 7976 03:47:37,040 --> 03:47:40,960 raw URLs, it just uses its web search 7977 03:47:39,439 --> 03:47:42,720 tool and it reads the page and 7978 03:47:40,960 --> 03:47:45,040 understands installation and then just 7979 03:47:42,720 --> 03:47:46,319 does it. So a lot of times if cloud code 7980 03:47:45,040 --> 03:47:48,319 comes back to you and says, "Hey, what 7981 03:47:46,319 --> 03:47:50,080 you need to do is do this." You can come 7982 03:47:48,319 --> 03:47:51,600 back to it and just say, "No, you do 7983 03:47:50,080 --> 03:47:53,120 it." And most of the time it'll just do 7984 03:47:51,600 --> 03:47:54,800 it. Every once in a while it'll say, "I 7985 03:47:53,120 --> 03:47:56,160 actually can't. I need you to do this." 7986 03:47:54,800 --> 03:47:57,920 But most of the time you can just tell 7987 03:47:56,160 --> 03:47:59,199 it to do it for you. Like right here it 7988 03:47:57,920 --> 03:48:00,960 says, "Install the skills by running 7989 03:47:59,199 --> 03:48:03,040 these commands after restart." I'm going 7990 03:48:00,960 --> 03:48:04,960 to say, "I don't want to install those 7991 03:48:03,040 --> 03:48:06,880 commands. Can't you just do it for me? 7992 03:48:04,960 --> 03:48:08,720 And what do you know? Done. Both skill 7993 03:48:06,880 --> 03:48:10,319 sets are now installed. So I didn't have 7994 03:48:08,720 --> 03:48:12,479 to do any of that. So right here we have 7995 03:48:10,319 --> 03:48:14,880 the MCP JSON file. And this is where you 7996 03:48:12,479 --> 03:48:16,720 can see we have our NADN MCP server and 7997 03:48:14,880 --> 03:48:17,840 we have our GitHub MCP server. And 7998 03:48:16,720 --> 03:48:19,520 you'll notice that we don't actually see 7999 03:48:17,840 --> 03:48:21,199 the skills in here. And the reason why 8000 03:48:19,520 --> 03:48:23,279 is because the skills were installed 8001 03:48:21,199 --> 03:48:24,720 globally, not just within this one 8002 03:48:23,279 --> 03:48:26,720 project that we're working in called 8003 03:48:24,720 --> 03:48:28,399 endent app, which is cool because later 8004 03:48:26,720 --> 03:48:30,080 if we make another project, we already 8005 03:48:28,399 --> 03:48:31,439 have those skills installed. And if you 8006 03:48:30,080 --> 03:48:33,359 don't believe me or you get confused, 8007 03:48:31,439 --> 03:48:35,439 you just ask Claude. I said why don't I 8008 03:48:33,359 --> 03:48:36,640 see the Niten skills in this project and 8009 03:48:35,439 --> 03:48:38,560 it basically just came down and said 8010 03:48:36,640 --> 03:48:40,720 yeah they're installed globally here are 8011 03:48:38,560 --> 03:48:43,199 the seven skills and for some reason it 8012 03:48:40,720 --> 03:48:44,640 said six so not the best at counting but 8013 03:48:43,199 --> 03:48:46,319 then we also have the front-end skill 8014 03:48:44,640 --> 03:48:48,080 down here so that's just to prove that 8015 03:48:46,319 --> 03:48:49,760 they are actually installed even though 8016 03:48:48,080 --> 03:48:51,439 you don't see them over here on the file 8017 03:48:49,760 --> 03:48:54,319 explorer now something else to keep in 8018 03:48:51,439 --> 03:48:56,960 mind about this MCP JSON file is that it 8019 03:48:54,319 --> 03:48:59,359 has your real GitHub token and your real 8020 03:48:56,960 --> 03:49:00,800 API key in here. So if you've shared 8021 03:48:59,359 --> 03:49:02,479 this file for some reason or someone had 8022 03:49:00,800 --> 03:49:04,239 access to this, they would be able to do 8023 03:49:02,479 --> 03:49:06,239 anything in your end because they have 8024 03:49:04,239 --> 03:49:07,680 this information. So obviously I'll be 8025 03:49:06,239 --> 03:49:09,600 deleting these credentials after this 8026 03:49:07,680 --> 03:49:10,880 video goes live. But just something else 8027 03:49:09,600 --> 03:49:13,120 that I wanted to make sure you guys were 8028 03:49:10,880 --> 03:49:14,239 aware of. That is why typically when 8029 03:49:13,120 --> 03:49:16,560 you're doing certain things, you're 8030 03:49:14,239 --> 03:49:19,279 going to have like av file and you'll 8031 03:49:16,560 --> 03:49:20,800 have your actual scripts and things call 8032 03:49:19,279 --> 03:49:22,399 on those credentials so they only use 8033 03:49:20,800 --> 03:49:25,199 them when they need them and like all 8034 03:49:22,399 --> 03:49:26,239 those files are encrypted. So don't want 8035 03:49:25,199 --> 03:49:27,840 to confuse you guys. We're not going to 8036 03:49:26,239 --> 03:49:29,359 dive into that right now. Just something 8037 03:49:27,840 --> 03:49:30,479 that you should be aware of. All right. 8038 03:49:29,359 --> 03:49:32,319 So, what I'm going to do now is I have 8039 03:49:30,479 --> 03:49:33,920 to restart Cloud Code, otherwise it 8040 03:49:32,319 --> 03:49:35,040 won't actually reflect all that. So, 8041 03:49:33,920 --> 03:49:36,720 really what I'm going to do is just 8042 03:49:35,040 --> 03:49:38,080 close out of VS Code and then we're 8043 03:49:36,720 --> 03:49:39,840 going to open it back up and then 8044 03:49:38,080 --> 03:49:41,199 everything should be all set. All right. 8045 03:49:39,840 --> 03:49:43,120 So, I'm going to go ahead and do a slash 8046 03:49:41,199 --> 03:49:44,560 command. I'm going to do /cle just to 8047 03:49:43,120 --> 03:49:47,199 get rid of this conversation so we can 8048 03:49:44,560 --> 03:49:48,640 start fresh on a new context. But keep 8049 03:49:47,199 --> 03:49:49,760 in mind, every time we talk to cloud 8050 03:49:48,640 --> 03:49:51,840 code, it's still going to be reading 8051 03:49:49,760 --> 03:49:53,199 through our cloud. MD system prompt to 8052 03:49:51,840 --> 03:49:55,199 understand what we're doing in this 8053 03:49:53,199 --> 03:49:56,880 project. Okay. So, what actually are we 8054 03:49:55,199 --> 03:49:58,319 going to turn into a web app? Well, 8055 03:49:56,880 --> 03:50:00,000 let's make it pretty simple. I've got 8056 03:49:58,319 --> 03:50:02,319 this workflow here which is just an AI 8057 03:50:00,000 --> 03:50:04,479 agent and it's a chat window here and 8058 03:50:02,319 --> 03:50:05,920 it's called fitness coach. So, in here I 8059 03:50:04,479 --> 03:50:07,520 basically just have a system prompt 8060 03:50:05,920 --> 03:50:09,840 prompting this agent to be a fitness 8061 03:50:07,520 --> 03:50:12,000 coach with stuff like um you know 8062 03:50:09,840 --> 03:50:14,239 weightlifting, working out, some basic 8063 03:50:12,000 --> 03:50:15,840 nutrition stuff just so we can make a 8064 03:50:14,239 --> 03:50:17,520 little demo here. But you can see that 8065 03:50:15,840 --> 03:50:19,680 this is not ready to go to be turned 8066 03:50:17,520 --> 03:50:22,080 into a web app. Not really at least. But 8067 03:50:19,680 --> 03:50:24,000 all I'm going to do is just tell Cloud 8068 03:50:22,080 --> 03:50:25,920 Code to look for this workflow and help 8069 03:50:24,000 --> 03:50:28,640 me turn it into a web app. So, we're 8070 03:50:25,920 --> 03:50:30,319 going to go back into cloud code. I'm 8071 03:50:28,640 --> 03:50:31,760 going to change this to plan mode 8072 03:50:30,319 --> 03:50:33,199 because we want to like brainstorm how 8073 03:50:31,760 --> 03:50:36,000 we're going to do this. And I'm going to 8074 03:50:33,199 --> 03:50:39,040 say, I've got a workflow in my edit 8075 03:50:36,000 --> 03:50:41,439 instance called fitness coach. I want to 8076 03:50:39,040 --> 03:50:43,520 turn this into a web app. So, before we 8077 03:50:41,439 --> 03:50:45,439 do that, please take a look at it and 8078 03:50:43,520 --> 03:50:47,520 help me change it so that it's ready to 8079 03:50:45,439 --> 03:50:49,040 go and I can talk to it from a front 8080 03:50:47,520 --> 03:50:50,560 end. So, I'll shoot this off and we're 8081 03:50:49,040 --> 03:50:52,319 basically just going to watch it think. 8082 03:50:50,560 --> 03:50:53,600 It's going to walk through its steps and 8083 03:50:52,319 --> 03:50:56,479 what you can see right now is that it's 8084 03:50:53,600 --> 03:50:57,760 using the end MCP to find our workflows. 8085 03:50:56,479 --> 03:50:59,520 Now it was able to find the fitness 8086 03:50:57,760 --> 03:51:00,880 coach. So it's going to analyze it and 8087 03:50:59,520 --> 03:51:02,399 you can see that it found the workflow 8088 03:51:00,880 --> 03:51:04,399 but there's an issue which is it's using 8089 03:51:02,399 --> 03:51:06,880 the chat trigger which is not really 8090 03:51:04,399 --> 03:51:08,560 designed for a custom front end. So it's 8091 03:51:06,880 --> 03:51:10,720 going to write up a plan to change this 8092 03:51:08,560 --> 03:51:11,920 workflow for us. So here it asks, do you 8093 03:51:10,720 --> 03:51:13,600 want the fitness coach to remember 8094 03:51:11,920 --> 03:51:15,120 conversation history? Because right now 8095 03:51:13,600 --> 03:51:16,560 in the actual workflow there's no 8096 03:51:15,120 --> 03:51:18,720 memory. So what I'm going to do is say 8097 03:51:16,560 --> 03:51:20,640 yeah that's a great feature. We want the 8098 03:51:18,720 --> 03:51:22,880 coach to be able to remember like it's 8099 03:51:20,640 --> 03:51:24,399 having a conversation. Okay. So, here it 8100 03:51:22,880 --> 03:51:26,160 came up with a plan which is to prepare 8101 03:51:24,399 --> 03:51:27,840 the fitness coach workflow to be a web 8102 03:51:26,160 --> 03:51:29,359 app. So, it tells us what the problem 8103 03:51:27,840 --> 03:51:30,399 is. It tells us what it's going to do. 8104 03:51:29,359 --> 03:51:32,000 So, it's going to replace the chat 8105 03:51:30,399 --> 03:51:34,160 trigger with a web hook. It's going to 8106 03:51:32,000 --> 03:51:35,840 add a window buffer. It's going to add a 8107 03:51:34,160 --> 03:51:37,520 window buffer memory. It's going to 8108 03:51:35,840 --> 03:51:39,120 update all these connections. It's going 8109 03:51:37,520 --> 03:51:40,560 to configure the agent input. And then, 8110 03:51:39,120 --> 03:51:42,239 it's going to publish the workflow as 8111 03:51:40,560 --> 03:51:43,840 well. And so, we could obviously make 8112 03:51:42,239 --> 03:51:45,520 some changes here if we want. I want to 8113 03:51:43,840 --> 03:51:46,880 see how it did on its own. So, I'm going 8114 03:51:45,520 --> 03:51:49,120 to go ahead and just auto accept all 8115 03:51:46,880 --> 03:51:51,279 these changes. I'm going to make this 8116 03:51:49,120 --> 03:51:53,520 bypass permissions so that we can just 8117 03:51:51,279 --> 03:51:55,040 basically see when it's done. And what 8118 03:51:53,520 --> 03:51:56,800 it does is it creates a to-do list, 8119 03:51:55,040 --> 03:51:58,880 which is really cool because it helps 8120 03:51:56,800 --> 03:52:00,560 the actual model stay on track, but it 8121 03:51:58,880 --> 03:52:02,640 also helps us understand its thought 8122 03:52:00,560 --> 03:52:03,680 process and what stage it's on. So that 8123 03:52:02,640 --> 03:52:05,439 way, a lot of times when you're working 8124 03:52:03,680 --> 03:52:06,960 with Cloud Code, you can have it open on 8125 03:52:05,439 --> 03:52:08,399 one monitor, you can be doing something 8126 03:52:06,960 --> 03:52:09,600 else, watching a YouTube video, whatever 8127 03:52:08,399 --> 03:52:11,760 you want to do, and just kind of 8128 03:52:09,600 --> 03:52:13,520 checking in and making sure that it's 8129 03:52:11,760 --> 03:52:14,960 staying on the right path. And a lot of 8130 03:52:13,520 --> 03:52:16,800 times it's not perfect, but what's so 8131 03:52:14,960 --> 03:52:18,720 cool about cloud code is that it runs 8132 03:52:16,800 --> 03:52:20,479 into issues and it analyzes what went 8133 03:52:18,720 --> 03:52:21,680 wrong and then fixes it. So right here 8134 03:52:20,479 --> 03:52:23,680 you can see that there was an error 8135 03:52:21,680 --> 03:52:25,920 because the key parameter for the 8136 03:52:23,680 --> 03:52:27,760 session ID for the memory was was 8137 03:52:25,920 --> 03:52:29,439 missing. And so it figured out that the 8138 03:52:27,760 --> 03:52:31,120 body is actually nested and then it went 8139 03:52:29,439 --> 03:52:33,120 ahead and just you know changed the 8140 03:52:31,120 --> 03:52:34,560 workflow after it realized that. So it's 8141 03:52:33,120 --> 03:52:36,239 all about how much context you give it 8142 03:52:34,560 --> 03:52:37,840 and how clearly you can explain what you 8143 03:52:36,239 --> 03:52:40,000 want. And that's also why the planning 8144 03:52:37,840 --> 03:52:42,160 mode is so helpful. But it looks like 8145 03:52:40,000 --> 03:52:43,199 that workflow has been updated. Now, 8146 03:52:42,160 --> 03:52:44,640 what I'm going to do is go back into 8147 03:52:43,199 --> 03:52:46,399 edit end, which was this workflow right 8148 03:52:44,640 --> 03:52:47,920 here. And I'm going to hit refresh, and 8149 03:52:46,399 --> 03:52:49,680 we should now see that the workflow is 8150 03:52:47,920 --> 03:52:53,199 changed, and it should be ready to go 8151 03:52:49,680 --> 03:52:54,960 for our web app. So, we've got a web 8152 03:52:53,199 --> 03:52:56,800 hook, which is post request. We've got 8153 03:52:54,960 --> 03:52:58,319 our memory, and let's see if it changed 8154 03:52:56,800 --> 03:53:00,239 the actual configuration of the user 8155 03:52:58,319 --> 03:53:01,760 message, which it did. So, we also, I 8156 03:53:00,239 --> 03:53:03,680 noticed, don't have a responder web hook 8157 03:53:01,760 --> 03:53:05,760 node. So, what it's doing is it's using 8158 03:53:03,680 --> 03:53:07,279 respond when the last node finishes with 8159 03:53:05,760 --> 03:53:08,960 the first entry. So, I think we should 8160 03:53:07,279 --> 03:53:10,160 be all right. But later if we end up 8161 03:53:08,960 --> 03:53:11,680 needing to change something, we would 8162 03:53:10,160 --> 03:53:13,760 just say, "Hey, Claude, this didn't 8163 03:53:11,680 --> 03:53:14,960 work. Go fix the workflow." All right, 8164 03:53:13,760 --> 03:53:16,560 so back in Claude, what I'm going to do 8165 03:53:14,960 --> 03:53:18,080 now is I'm going to clear out this 8166 03:53:16,560 --> 03:53:19,600 context once again, and I'm going to go 8167 03:53:18,080 --> 03:53:21,520 back into plan mode, and we're going to 8168 03:53:19,600 --> 03:53:23,600 talk about what we want this actual web 8169 03:53:21,520 --> 03:53:25,359 app to look like. Hey Claude, help me 8170 03:53:23,600 --> 03:53:27,680 create a plan to actually build out this 8171 03:53:25,359 --> 03:53:29,520 front end for the end workflow. I want 8172 03:53:27,680 --> 03:53:31,279 to make sure that in your plan, you're 8173 03:53:29,520 --> 03:53:34,160 going to be using the front-end designer 8174 03:53:31,279 --> 03:53:36,000 skill, the end tools skill, and all of 8175 03:53:34,160 --> 03:53:37,920 the resources that you have to make this 8176 03:53:36,000 --> 03:53:40,960 as good as possible. We don't want the 8177 03:53:37,920 --> 03:53:42,960 web app to look AI vibecoded. We want it 8178 03:53:40,960 --> 03:53:44,800 to look professional, very minimalistic, 8179 03:53:42,960 --> 03:53:46,160 and we want it to be super clean. We 8180 03:53:44,800 --> 03:53:48,000 also want it to be a little bit gamified 8181 03:53:46,160 --> 03:53:49,760 to incentivize people to come in and to 8182 03:53:48,000 --> 03:53:51,520 talk to the fitness coach. Maybe we can 8183 03:53:49,760 --> 03:53:52,800 have the main chat interface and then on 8184 03:53:51,520 --> 03:53:55,199 the right hand side, we can have a 8185 03:53:52,800 --> 03:53:56,720 little bit of gamification with um a 8186 03:53:55,199 --> 03:53:58,560 tracker for how many times people have 8187 03:53:56,720 --> 03:54:00,560 talked to the fitness coach and maybe 8188 03:53:58,560 --> 03:54:02,000 they can level up after, you know, every 8189 03:54:00,560 --> 03:54:04,319 five or 10 messages or something like 8190 03:54:02,000 --> 03:54:05,840 that. Ask me clarification questions to 8191 03:54:04,319 --> 03:54:08,640 make sure that we're not leaving any 8192 03:54:05,840 --> 03:54:09,920 holes in our plan here and any 8193 03:54:08,640 --> 03:54:11,600 suggestions that you may want to make 8194 03:54:09,920 --> 03:54:12,880 that I didn't yet think of. All right, 8195 03:54:11,600 --> 03:54:15,040 I'm shooting that off. I'll let you guys 8196 03:54:12,880 --> 03:54:16,560 know if anything important happens. All 8197 03:54:15,040 --> 03:54:18,160 right, so I got some questions here. The 8198 03:54:16,560 --> 03:54:19,920 first one is which end workflow should 8199 03:54:18,160 --> 03:54:21,760 this front end connect to? We're going 8200 03:54:19,920 --> 03:54:23,520 to do the existing workflow, which it 8201 03:54:21,760 --> 03:54:25,040 should be able to find. Now we have what 8202 03:54:23,520 --> 03:54:26,880 core features should the fitness coach 8203 03:54:25,040 --> 03:54:29,120 provide when users chat with it? General 8204 03:54:26,880 --> 03:54:30,319 fitness Q&A, personalized workout plans, 8205 03:54:29,120 --> 03:54:32,080 progress tracking. Yeah, we'll just do 8206 03:54:30,319 --> 03:54:33,920 all of these. gamification. For the 8207 03:54:32,080 --> 03:54:35,840 gamification system, what should users 8208 03:54:33,920 --> 03:54:37,600 be leveling up and earning rewards for? 8209 03:54:35,840 --> 03:54:39,120 Just a message count. Let's just do 8210 03:54:37,600 --> 03:54:40,880 that. And then what's your preference 8211 03:54:39,120 --> 03:54:42,399 for user data persistence, remembering 8212 03:54:40,880 --> 03:54:43,680 their level, message count, things like 8213 03:54:42,399 --> 03:54:45,680 that. And I'm just going to say, let me 8214 03:54:43,680 --> 03:54:47,359 decide later. We can get into a bunch of 8215 03:54:45,680 --> 03:54:49,279 back-end database storage and, you know, 8216 03:54:47,359 --> 03:54:50,800 authentication in different videos. We 8217 03:54:49,279 --> 03:54:52,560 want to keep this one simple. So, for 8218 03:54:50,800 --> 03:54:54,479 now, we're just going to go with that. 8219 03:54:52,560 --> 03:54:56,160 Now, it's asking for the name or ID of 8220 03:54:54,479 --> 03:54:57,520 the existing Fitness Coach workflow, the 8221 03:54:56,160 --> 03:54:59,439 one that it found earlier. So, I'm just 8222 03:54:57,520 --> 03:55:01,439 going to go ahead and type in the name 8223 03:54:59,439 --> 03:55:02,560 or ID. And honestly, now that I think 8224 03:55:01,439 --> 03:55:04,080 about it, it probably would have been 8225 03:55:02,560 --> 03:55:05,760 better if I didn't clear the context and 8226 03:55:04,080 --> 03:55:08,160 we just kept talking on that previous 8227 03:55:05,760 --> 03:55:09,840 thread. But what are you going to do? 8228 03:55:08,160 --> 03:55:11,760 Some more questions now. What color 8229 03:55:09,840 --> 03:55:13,920 scheme or brand aesthetic do you want? 8230 03:55:11,760 --> 03:55:15,920 I'm going to go with dark mode primary. 8231 03:55:13,920 --> 03:55:18,640 The app name, let's just go with yeah, 8232 03:55:15,920 --> 03:55:20,239 fit coach AI. And then mobile layout. 8233 03:55:18,640 --> 03:55:22,239 Should the gamification panel be visible 8234 03:55:20,239 --> 03:55:24,000 on mobile or only larger screens? We're 8235 03:55:22,239 --> 03:55:25,840 just going to go with always visible. 8236 03:55:24,000 --> 03:55:28,160 Keep things nice and easy. All right. 8237 03:55:25,840 --> 03:55:30,160 So, the plan for the Fit Coach AI web 8238 03:55:28,160 --> 03:55:32,640 app is done. There's tons of stuff in 8239 03:55:30,160 --> 03:55:33,840 here with structure, text stack, key 8240 03:55:32,640 --> 03:55:34,640 features, all this kind of stuff. 8241 03:55:33,840 --> 03:55:35,920 Obviously, you would [snorts] read 8242 03:55:34,640 --> 03:55:37,120 through this and make some changes if 8243 03:55:35,920 --> 03:55:38,880 you want, but we're just going to see 8244 03:55:37,120 --> 03:55:40,319 how Cloud Code does on its own. So, I'm 8245 03:55:38,880 --> 03:55:41,920 going to go ahead and auto accept those 8246 03:55:40,319 --> 03:55:43,600 changes. And of course, what it's going 8247 03:55:41,920 --> 03:55:44,800 to do is set up a to-do list, as you can 8248 03:55:43,600 --> 03:55:45,920 see right here. So, I'll just check in 8249 03:55:44,800 --> 03:55:47,840 with you guys when we have something 8250 03:55:45,920 --> 03:55:49,920 ready to test. Okay, so there we go. The 8251 03:55:47,840 --> 03:55:52,160 to-do list has been completed and Fit 8252 03:55:49,920 --> 03:55:54,080 Coach AI is ready. You can see that it's 8253 03:55:52,160 --> 03:55:56,160 actually living right now on a local 8254 03:55:54,080 --> 03:55:58,239 host, which basically just means only we 8255 03:55:56,160 --> 03:56:01,279 could access this. So if I gave you this 8256 03:55:58,239 --> 03:56:02,800 exact, you know, HTTP address, it would 8257 03:56:01,279 --> 03:56:05,279 pull up your own local host, whatever 8258 03:56:02,800 --> 03:56:06,720 you're hosting on 30002. So what we need 8259 03:56:05,279 --> 03:56:08,080 to do is make sure it works here. And 8260 03:56:06,720 --> 03:56:09,760 then you can see when you're ready, 8261 03:56:08,080 --> 03:56:11,760 we'll initialize the git and we'll push 8262 03:56:09,760 --> 03:56:13,359 it to GitHub and then we'll deploy it to 8263 03:56:11,760 --> 03:56:15,199 Verscell. So I'm going to go ahead and 8264 03:56:13,359 --> 03:56:17,359 open up this local host and let's take a 8265 03:56:15,199 --> 03:56:19,279 look at what we've got. All right. So, 8266 03:56:17,359 --> 03:56:20,960 this is the Fit Coach AI interface that 8267 03:56:19,279 --> 03:56:22,960 it came up with. And you can see we've 8268 03:56:20,960 --> 03:56:24,960 got ready to crush your goals. You can 8269 03:56:22,960 --> 03:56:26,800 try creating a 30-minute HIT workout. 8270 03:56:24,960 --> 03:56:28,880 What should I eat after working out? How 8271 03:56:26,800 --> 03:56:30,479 do I stay motivated to exercise? We've 8272 03:56:28,880 --> 03:56:33,359 got some stats over here. So, we've been 8273 03:56:30,479 --> 03:56:35,680 a member since January 14th. We've got 8274 03:56:33,359 --> 03:56:37,120 rookie level one, 11 points to the next. 8275 03:56:35,680 --> 03:56:38,479 We've got a road map. So, it did 8276 03:56:37,120 --> 03:56:39,920 everything that we were looking for. 8277 03:56:38,479 --> 03:56:41,600 Let's see if it's actually able to talk 8278 03:56:39,920 --> 03:56:43,040 to our NN workflow. So, I'm going to 8279 03:56:41,600 --> 03:56:45,359 start off by just saying, "Hey there. 8280 03:56:43,040 --> 03:56:47,439 We'll shoot this off and let's see if we 8281 03:56:45,359 --> 03:56:49,520 get some sort of response back. Okay, 8282 03:56:47,439 --> 03:56:51,199 cool. So, it gave us a response, but it 8283 03:56:49,520 --> 03:56:53,279 doesn't look great as you can see 8284 03:56:51,199 --> 03:56:55,439 because what happens is in nitn when we 8285 03:56:53,279 --> 03:56:57,199 respond, we get the whole JSON body. So, 8286 03:56:55,439 --> 03:56:58,800 we get the output and then we get all 8287 03:56:57,199 --> 03:57:00,720 this other stuff. So, if I actually go 8288 03:56:58,800 --> 03:57:03,199 to the fitness coach workflow, we go to 8289 03:57:00,720 --> 03:57:04,560 executions, we can see that when claude 8290 03:57:03,199 --> 03:57:06,160 code changed the workflow, it did 8291 03:57:04,560 --> 03:57:08,000 everything right, which is great. But 8292 03:57:06,160 --> 03:57:10,640 the actual output of the fitness coach 8293 03:57:08,000 --> 03:57:14,000 is this JSON body. So basically the 8294 03:57:10,640 --> 03:57:16,000 front end displays this JSON body rather 8295 03:57:14,000 --> 03:57:18,399 than just the actual output which is 8296 03:57:16,000 --> 03:57:20,080 what we want it to display. So super 8297 03:57:18,399 --> 03:57:22,080 easy. What we're going to do is we are 8298 03:57:20,080 --> 03:57:24,479 going to of course go back into cloud 8299 03:57:22,080 --> 03:57:25,760 code and just tell it to fix that. So 8300 03:57:24,479 --> 03:57:27,920 what I'm going to do is take a 8301 03:57:25,760 --> 03:57:29,840 screenshot of this output just so that 8302 03:57:27,920 --> 03:57:31,520 cloud code can see exactly what I'm 8303 03:57:29,840 --> 03:57:34,160 talking about. We'll go back in here. 8304 03:57:31,520 --> 03:57:36,720 I'll paste that in. So it's working 8305 03:57:34,160 --> 03:57:38,960 good. But when the agent responds to us 8306 03:57:36,720 --> 03:57:41,279 in the app, it actually displays the 8307 03:57:38,960 --> 03:57:42,960 entire JSON body. We don't want to see 8308 03:57:41,279 --> 03:57:45,920 the field called output. We just want to 8309 03:57:42,960 --> 03:57:47,359 see the actual output itself. 8310 03:57:45,920 --> 03:57:48,640 And for something simple like this, I'm 8311 03:57:47,359 --> 03:57:50,960 not even going to go into plan mode 8312 03:57:48,640 --> 03:57:52,479 because it's a very easy request. So, it 8313 03:57:50,960 --> 03:57:54,880 should just be able to change the front 8314 03:57:52,479 --> 03:57:56,640 end to configure just displaying the 8315 03:57:54,880 --> 03:57:57,840 actual output. All right, sweet. So, it 8316 03:57:56,640 --> 03:57:59,760 said that it fixed that. I'm going to go 8317 03:57:57,840 --> 03:58:01,199 back in here and I'm going to say, 8318 03:57:59,760 --> 03:58:03,439 what's the best time of day that I 8319 03:58:01,199 --> 03:58:05,199 should be working out and eating? So, 8320 03:58:03,439 --> 03:58:06,800 just something random. Shoot that off. 8321 03:58:05,199 --> 03:58:08,160 And hopefully this time we only get back 8322 03:58:06,800 --> 03:58:10,239 the actual output that we're looking 8323 03:58:08,160 --> 03:58:11,680 for. Another thing that I am noticing 8324 03:58:10,239 --> 03:58:15,040 though is nothing's actually happening 8325 03:58:11,680 --> 03:58:16,399 on the gamification side. So, I imagine 8326 03:58:15,040 --> 03:58:18,640 that this should be giving us points 8327 03:58:16,399 --> 03:58:20,800 each time that we get a message back. As 8328 03:58:18,640 --> 03:58:22,319 you can see, we did get a better output 8329 03:58:20,800 --> 03:58:24,160 now. Although, I don't like that it's 8330 03:58:22,319 --> 03:58:25,199 coming with like markdown and bold. So, 8331 03:58:24,160 --> 03:58:27,520 that's something that we would actually 8332 03:58:25,199 --> 03:58:29,840 change in the system prompt of the agent 8333 03:58:27,520 --> 03:58:31,840 here rather than in the front-end 8334 03:58:29,840 --> 03:58:33,120 development. So, not a huge deal, but 8335 03:58:31,840 --> 03:58:34,160 we're not getting any points. So, that's 8336 03:58:33,120 --> 03:58:36,479 the next thing that we have to tell 8337 03:58:34,160 --> 03:58:38,479 Claude to fix. Awesome. That change 8338 03:58:36,479 --> 03:58:40,000 worked, but now the issue is we're not 8339 03:58:38,479 --> 03:58:41,680 actually getting any gamification. So, 8340 03:58:40,000 --> 03:58:44,000 I've sent two messages now, but we still 8341 03:58:41,680 --> 03:58:46,319 have zero points on the app itself. So, 8342 03:58:44,000 --> 03:58:48,640 fix that. Okay, so it looks like it 8343 03:58:46,319 --> 03:58:50,479 reset some stuff with local storage and 8344 03:58:48,640 --> 03:58:51,760 whatever this is talking about. Now, 8345 03:58:50,479 --> 03:58:53,600 let's go ahead and try again. It seems 8346 03:58:51,760 --> 03:58:55,199 like that should have fixed. Although, 8347 03:58:53,600 --> 03:58:58,560 now we have to see if we can refresh the 8348 03:58:55,199 --> 03:58:59,920 page. Uh-oh. So, this is the actual 8349 03:58:58,560 --> 03:59:01,439 local host that we were supposed to be 8350 03:58:59,920 --> 03:59:03,600 using the app on, but there's some sort 8351 03:59:01,439 --> 03:59:06,080 of issue here even when I refresh. So, 8352 03:59:03,600 --> 03:59:08,160 let me take an a screenshot of this and 8353 03:59:06,080 --> 03:59:12,239 send this over to cloud code. I can't 8354 03:59:08,160 --> 03:59:14,000 access the app anymore. Okay, so it says 8355 03:59:12,239 --> 03:59:15,680 that it rewrote everything with a 8356 03:59:14,000 --> 03:59:18,160 simpler approach. We should need to try 8357 03:59:15,680 --> 03:59:19,760 to refresh. And there we go. Cool. So, 8358 03:59:18,160 --> 03:59:22,319 we actually do have our two messages 8359 03:59:19,760 --> 03:59:23,920 that we already sent. Let's just say um 8360 03:59:22,319 --> 03:59:25,439 create a 30-minute hit workout. Shoot 8361 03:59:23,920 --> 03:59:27,120 that off. And hopefully when the agent 8362 03:59:25,439 --> 03:59:30,080 responds we'll get another point on the 8363 03:59:27,120 --> 03:59:32,880 right hand side. Cool. We did. So we got 8364 03:59:30,080 --> 03:59:34,880 the response and we also got another 8365 03:59:32,880 --> 03:59:36,640 message. Now finally before we actually 8366 03:59:34,880 --> 03:59:38,000 push this to GitHub I wanted to show you 8367 03:59:36,640 --> 03:59:40,880 guys that we could change the system 8368 03:59:38,000 --> 03:59:42,399 prompt with cloud code. So one last 8369 03:59:40,880 --> 03:59:45,199 request. 8370 03:59:42,399 --> 03:59:47,359 Awesome. That's working. My last request 8371 03:59:45,199 --> 03:59:50,720 is that the agent is responding with 8372 03:59:47,359 --> 03:59:52,000 markdown formatting and bold stuff. So I 8373 03:59:50,720 --> 03:59:54,160 wanted to just respond in complete 8374 03:59:52,000 --> 03:59:56,720 natural language paragraph form like an 8375 03:59:54,160 --> 03:59:58,720 actual human would. So go ahead and make 8376 03:59:56,720 --> 04:00:00,399 that change in the nitin workflow and 8377 03:59:58,720 --> 04:00:03,399 update the system prompt of the AI 8378 04:00:00,399 --> 04:00:03,399 agent. 8379 04:00:03,680 --> 04:00:07,199 All right, cool. So the nitin workflow 8380 04:00:05,760 --> 04:00:08,720 has been updated. It went ahead and 8381 04:00:07,199 --> 04:00:10,479 changed the system prompt so that now it 8382 04:00:08,720 --> 04:00:12,080 should only be responding in natural 8383 04:00:10,479 --> 04:00:14,479 language. I'm just going to go ahead and 8384 04:00:12,080 --> 04:00:17,040 go to the workflow and refresh it. Make 8385 04:00:14,479 --> 04:00:18,239 sure everything is all set. Looks like 8386 04:00:17,040 --> 04:00:19,840 we've got it saved. It's still 8387 04:00:18,239 --> 04:00:21,920 published. So let's just do one final 8388 04:00:19,840 --> 04:00:22,960 test in here. So I set it like that 8389 04:00:21,920 --> 04:00:24,319 because I want to make sure that the 8390 04:00:22,960 --> 04:00:26,000 memory is working. I want to make sure 8391 04:00:24,319 --> 04:00:28,080 that it comes back and responds to us in 8392 04:00:26,000 --> 04:00:31,279 natural language only. No formatting and 8393 04:00:28,080 --> 04:00:33,199 that once again we will get the um extra 8394 04:00:31,279 --> 04:00:34,720 message. Okay. So we still got a little 8395 04:00:33,199 --> 04:00:36,399 bit of bold things and we'd probably 8396 04:00:34,720 --> 04:00:38,319 just have to go back. But what I wanted 8397 04:00:36,399 --> 04:00:39,840 to actually make sure of was that in 8398 04:00:38,319 --> 04:00:41,840 here it actually did change the system 8399 04:00:39,840 --> 04:00:43,359 prompt which you can see that it did. So 8400 04:00:41,840 --> 04:00:46,239 I guess maybe we just weren't explicit 8401 04:00:43,359 --> 04:00:47,520 enough at actually how to prompt it. But 8402 04:00:46,239 --> 04:00:49,120 the point I was trying to make, which is 8403 04:00:47,520 --> 04:00:52,560 what I think is really important, is 8404 04:00:49,120 --> 04:00:55,120 that what we just did is we had a random 8405 04:00:52,560 --> 04:00:57,279 workflow. We had Cloud Code look at it, 8406 04:00:55,120 --> 04:00:59,120 optimize it for a front end. We built 8407 04:00:57,279 --> 04:01:00,479 the front end, and then we went back and 8408 04:00:59,120 --> 04:01:02,479 forth with Cloud Code when the front end 8409 04:01:00,479 --> 04:01:04,479 wasn't working how we wanted it to. And 8410 04:01:02,479 --> 04:01:07,040 then we also had Cloud Code change the 8411 04:01:04,479 --> 04:01:08,720 actual backend end workflow itself. So 8412 04:01:07,040 --> 04:01:11,120 everything that we're doing here is just 8413 04:01:08,720 --> 04:01:12,560 using our natural language to cloud code 8414 04:01:11,120 --> 04:01:14,720 and just speaking very clearly about 8415 04:01:12,560 --> 04:01:16,319 what we want. And that's obviously a 8416 04:01:14,720 --> 04:01:18,000 good example. I wasn't clear enough 8417 04:01:16,319 --> 04:01:19,600 about the way that I want it to respond. 8418 04:01:18,000 --> 04:01:21,840 So I would just have to go back one more 8419 04:01:19,600 --> 04:01:23,359 time. But now let's actually move on to 8420 04:01:21,840 --> 04:01:24,880 the next step here where we're going to 8421 04:01:23,359 --> 04:01:26,399 take the code and we're going to push it 8422 04:01:24,880 --> 04:01:28,239 to GitHub and then have that 8423 04:01:26,399 --> 04:01:29,520 automatically sync with forcell. So 8424 04:01:28,239 --> 04:01:32,560 first of all, what you need to do of 8425 04:01:29,520 --> 04:01:34,880 course is go ahead and go to GitHub. So 8426 04:01:32,560 --> 04:01:36,960 this is my GitHub. You've already made 8427 04:01:34,880 --> 04:01:38,479 your access token to give it to Claude 8428 04:01:36,960 --> 04:01:40,399 Code. But now what we need to do is 8429 04:01:38,479 --> 04:01:41,920 create a repo. So I'm going to go up 8430 04:01:40,399 --> 04:01:43,840 here, create new. I'm going to click on 8431 04:01:41,920 --> 04:01:47,279 new repository. I'm just going to call 8432 04:01:43,840 --> 04:01:49,439 this fit coach- aai since that is our 8433 04:01:47,279 --> 04:01:51,760 name of our app. And then I'm just going 8434 04:01:49,439 --> 04:01:53,439 to do dash app. Um, I'm not going to do 8435 04:01:51,760 --> 04:01:55,439 description. We'll just leave it public. 8436 04:01:53,439 --> 04:01:56,880 I'm not going to add a readme or get 8437 04:01:55,439 --> 04:01:58,560 ignore any of that kind of stuff. I 8438 04:01:56,880 --> 04:02:00,720 literally just added a name and I'm 8439 04:01:58,560 --> 04:02:01,840 going to create that repository. Now, 8440 04:02:00,720 --> 04:02:03,920 what I'm going to do is I'm just going 8441 04:02:01,840 --> 04:02:06,640 to take the actual URL up at the top in 8442 04:02:03,920 --> 04:02:08,720 my browser and copy that. Go back into 8443 04:02:06,640 --> 04:02:09,840 Cloud Code. We're going to go ahead and, 8444 04:02:08,720 --> 04:02:12,000 you know, let's just keep going in the 8445 04:02:09,840 --> 04:02:16,319 same context window. I'm going to say 8446 04:02:12,000 --> 04:02:18,720 here is the GitHub repo for this app. 8447 04:02:16,319 --> 04:02:20,319 Paste in the URL and say please push 8448 04:02:18,720 --> 04:02:22,000 this to GitHub so we can sync it with 8449 04:02:20,319 --> 04:02:23,920 Forcell and get it live, get it 8450 04:02:22,000 --> 04:02:25,680 deployed. So I'm going to shoot that 8451 04:02:23,920 --> 04:02:27,359 off. I'm also leaving it once again on 8452 04:02:25,680 --> 04:02:29,199 bypass permissions because this is a 8453 04:02:27,359 --> 04:02:30,479 pretty simple request. And now it's 8454 04:02:29,199 --> 04:02:32,000 going to go ahead and do that for us. 8455 04:02:30,479 --> 04:02:33,439 And now in the GitHub repo, you can see 8456 04:02:32,000 --> 04:02:35,600 there's nothing here. But what's going 8457 04:02:33,439 --> 04:02:37,520 to happen is it will get um all of our 8458 04:02:35,600 --> 04:02:39,040 files will be pushed to this 8459 04:02:37,520 --> 04:02:40,399 environment. And once again, as you're 8460 04:02:39,040 --> 04:02:41,840 working with GitHub and Verscell, you 8461 04:02:40,399 --> 04:02:42,960 can ask Cloud Code any of the questions 8462 04:02:41,840 --> 04:02:44,960 you may have about how they work 8463 04:02:42,960 --> 04:02:46,720 together or why it's important, and it 8464 04:02:44,960 --> 04:02:48,560 will get back to you. All right, cool. 8465 04:02:46,720 --> 04:02:50,239 So, the code has been pushed to GitHub. 8466 04:02:48,560 --> 04:02:52,479 Now, it says next steps would be to go 8467 04:02:50,239 --> 04:02:53,920 to Verscell and import that repository. 8468 04:02:52,479 --> 04:02:55,439 And then it also says to add the 8469 04:02:53,920 --> 04:02:58,160 environment variable, which would be our 8470 04:02:55,439 --> 04:03:00,160 actual web hook. But we'll we'll take a 8471 04:02:58,160 --> 04:03:02,720 look at that when we get there. So, 8472 04:03:00,160 --> 04:03:05,279 let's go to GitHub real quick. And if I 8473 04:03:02,720 --> 04:03:07,120 refresh this repo, we can now see that 8474 04:03:05,279 --> 04:03:08,560 we have these files in here. And 8475 04:03:07,120 --> 04:03:10,880 basically these are the files that hold 8476 04:03:08,560 --> 04:03:12,640 the code of our fit coach app. Now what 8477 04:03:10,880 --> 04:03:14,800 I'm going to do is I'm going to go to 8478 04:03:12,640 --> 04:03:17,040 versel which is right here. This is the 8479 04:03:14,800 --> 04:03:18,479 UC one that I was looking at earlier. 8480 04:03:17,040 --> 04:03:21,279 And what's going to happen is you can 8481 04:03:18,479 --> 04:03:23,439 see that this is pulling from my GitHub 8482 04:03:21,279 --> 04:03:25,120 repo for this code. So what I'm going to 8483 04:03:23,439 --> 04:03:27,199 do here is click on add new. We're going 8484 04:03:25,120 --> 04:03:29,439 to add a new project. And I should be 8485 04:03:27,199 --> 04:03:31,520 able to see import git repository. And 8486 04:03:29,439 --> 04:03:32,640 right here we have our fit coach AI app. 8487 04:03:31,520 --> 04:03:34,720 So I'm just going to go ahead and click 8488 04:03:32,640 --> 04:03:36,399 import on that repo. And now I could 8489 04:03:34,720 --> 04:03:38,080 change the name or the team or the 8490 04:03:36,399 --> 04:03:40,239 preset or whatever I want to do, but I'm 8491 04:03:38,080 --> 04:03:41,520 just going to go ahead and click deploy. 8492 04:03:40,239 --> 04:03:42,880 All right, cool. So, we just deployed 8493 04:03:41,520 --> 04:03:44,960 this project. I'm going to go back out 8494 04:03:42,880 --> 04:03:46,319 to my dashboard and I'm just going to 8495 04:03:44,960 --> 04:03:48,080 show you guys how you can get there. So, 8496 04:03:46,319 --> 04:03:49,439 if I go back home, you can see the 8497 04:03:48,080 --> 04:03:51,279 different projects that you have in your 8498 04:03:49,439 --> 04:03:52,560 Verscell. So, if I just give this a 8499 04:03:51,279 --> 04:03:54,720 refresh, we can see we have the Fit 8500 04:03:52,560 --> 04:03:56,880 Coach app. So, I click into that. What 8501 04:03:54,720 --> 04:03:58,399 you can look at here is deployments. So, 8502 04:03:56,880 --> 04:04:00,319 every time you have a new version, you 8503 04:03:58,399 --> 04:04:02,720 can see when it was actually uploaded. 8504 04:04:00,319 --> 04:04:04,319 We can look at our logs. We can look at 8505 04:04:02,720 --> 04:04:06,319 gateways, storage, we can look at all 8506 04:04:04,319 --> 04:04:07,680 this kind of stuff. But right now, what 8507 04:04:06,319 --> 04:04:09,439 I wanted to do was actually just click 8508 04:04:07,680 --> 04:04:10,880 on the project itself. So we can go to 8509 04:04:09,439 --> 04:04:13,880 that domain, which is fit 8510 04:04:10,880 --> 04:04:13,880 coach-ai-app.verell.app. 8511 04:04:14,319 --> 04:04:18,560 So if I open that up, this is what we 8512 04:04:16,080 --> 04:04:21,120 see. And we're no longer on localhost. 8513 04:04:18,560 --> 04:04:23,199 Now we are on this domain, which means 8514 04:04:21,120 --> 04:04:24,960 that if I gave you guys this URL, you 8515 04:04:23,199 --> 04:04:27,199 could access this and you could talk to 8516 04:04:24,960 --> 04:04:28,720 like my instance and all that kind of 8517 04:04:27,199 --> 04:04:30,000 stuff. So what I'm going to do is we're 8518 04:04:28,720 --> 04:04:31,920 just going to say, how do I stay 8519 04:04:30,000 --> 04:04:34,080 motivated? And what we get is a server 8520 04:04:31,920 --> 04:04:36,720 configuration error. And so we need to 8521 04:04:34,080 --> 04:04:38,000 figure out what happened here. So the 8522 04:04:36,720 --> 04:04:39,439 first thing that I want to look at is 8523 04:04:38,000 --> 04:04:41,359 I'm going to go to my actual end 8524 04:04:39,439 --> 04:04:43,920 workflow and I'm going to go to 8525 04:04:41,359 --> 04:04:46,000 executions. Now what happens here is we 8526 04:04:43,920 --> 04:04:48,080 don't see that execution that we just 8527 04:04:46,000 --> 04:04:50,239 did. So what that tells me in my brain 8528 04:04:48,080 --> 04:04:52,000 is that we have our front end deployed 8529 04:04:50,239 --> 04:04:53,680 on the web. We have ended end deployed 8530 04:04:52,000 --> 04:04:55,760 on the web but for some reason they're 8531 04:04:53,680 --> 04:04:57,520 not talking to each other. So when I hit 8532 04:04:55,760 --> 04:04:59,120 this button which says you know like 8533 04:04:57,520 --> 04:05:01,359 when I send the message when I hit that 8534 04:04:59,120 --> 04:05:04,000 button normally what that does is it 8535 04:05:01,359 --> 04:05:05,760 sends this string of text to the end and 8536 04:05:04,000 --> 04:05:07,680 web hook but for some reason that's not 8537 04:05:05,760 --> 04:05:09,840 configured. So if you remember we went 8538 04:05:07,680 --> 04:05:11,359 back into cloud code and it says to add 8539 04:05:09,840 --> 04:05:13,279 the environment variable which is the 8540 04:05:11,359 --> 04:05:15,120 our edited web hook and then we have the 8541 04:05:13,279 --> 04:05:16,399 actual web hook to hit. So this is one 8542 04:05:15,120 --> 04:05:17,840 of those examples like I was talking 8543 04:05:16,399 --> 04:05:19,439 about earlier where we have an 8544 04:05:17,840 --> 04:05:21,040 environment variable that only gets 8545 04:05:19,439 --> 04:05:22,800 called when we need it. And so the 8546 04:05:21,040 --> 04:05:24,640 reason why Cloud Code built it like this 8547 04:05:22,800 --> 04:05:27,040 is because they didn't want anyone to be 8548 04:05:24,640 --> 04:05:30,319 able to look at the GitHub repo and find 8549 04:05:27,040 --> 04:05:31,920 our URL for our NN web hook. Now, in 8550 04:05:30,319 --> 04:05:33,600 this case, I don't really care because 8551 04:05:31,920 --> 04:05:35,120 if I have a web hook, I could set up my 8552 04:05:33,600 --> 04:05:36,560 own authentication so that only people 8553 04:05:35,120 --> 04:05:38,239 that make an account can actually talk 8554 04:05:36,560 --> 04:05:41,040 to it. But it's important to think about 8555 04:05:38,239 --> 04:05:42,479 because if I gave you guys this URL and 8556 04:05:41,040 --> 04:05:44,319 I didn't have any, you know, web hook 8557 04:05:42,479 --> 04:05:46,160 security, someone could spam it 8558 04:05:44,319 --> 04:05:48,640 thousands of times and it would cost me 8559 04:05:46,160 --> 04:05:50,720 money because it's on my NN with my 8560 04:05:48,640 --> 04:05:52,239 OpenAI credentials or my open router 8561 04:05:50,720 --> 04:05:53,520 credentials. So in this case, what you 8562 04:05:52,239 --> 04:05:56,160 would do is you'd add the environment 8563 04:05:53,520 --> 04:05:57,920 variable. So you would come into where'd 8564 04:05:56,160 --> 04:05:59,760 my Verscell go? So we'd actually be able 8565 04:05:57,920 --> 04:06:01,760 to add that by going in here. We'd go to 8566 04:05:59,760 --> 04:06:03,600 our settings. We could scroll down here 8567 04:06:01,760 --> 04:06:06,000 to environment variables and we would 8568 04:06:03,600 --> 04:06:10,000 basically just add one and we would have 8569 04:06:06,000 --> 04:06:12,640 the key be nadn web hook URL and then we 8570 04:06:10,000 --> 04:06:14,399 put in the actual URL and that way 8571 04:06:12,640 --> 04:06:16,239 versell would understand to call on it 8572 04:06:14,399 --> 04:06:17,439 when we hit that button. But in this 8573 04:06:16,239 --> 04:06:18,720 tutorial I just want to keep things 8574 04:06:17,439 --> 04:06:20,720 pretty simple. So what I'm going to do 8575 04:06:18,720 --> 04:06:22,560 is just go back to cloud code and just 8576 04:06:20,720 --> 04:06:24,640 tell it don't do the environment 8577 04:06:22,560 --> 04:06:26,319 variable just hardcode my web hook in 8578 04:06:24,640 --> 04:06:28,000 the code because I also wanted to just 8579 04:06:26,319 --> 04:06:30,880 show you guys how we can push that 8580 04:06:28,000 --> 04:06:32,399 change instantly to forcell I don't want 8581 04:06:30,880 --> 04:06:35,760 to use my web hook as an environment 8582 04:06:32,399 --> 04:06:38,319 variable please just change the code so 8583 04:06:35,760 --> 04:06:40,239 the web hook URL is hardcoded in there 8584 04:06:38,319 --> 04:06:42,239 it's going to make it much more simple 8585 04:06:40,239 --> 04:06:44,319 okay so now the web hook URL has been 8586 04:06:42,239 --> 04:06:46,080 hardcoded into the code and we have to 8587 04:06:44,319 --> 04:06:49,520 redeploy that so I'm going to import the 8588 04:06:46,080 --> 04:06:52,640 changes to GitHub you You can see in my 8589 04:06:49,520 --> 04:06:55,680 forcell it's rebuilding this real quick. 8590 04:06:52,640 --> 04:06:57,680 And in GitHub if I refresh you can see 8591 04:06:55,680 --> 04:06:58,960 that now there are two commits. So every 8592 04:06:57,680 --> 04:07:01,120 time that you change the code and you 8593 04:06:58,960 --> 04:07:02,720 push it to GitHub it will have another 8594 04:07:01,120 --> 04:07:04,560 version here. So that way you can see 8595 04:07:02,720 --> 04:07:06,560 what happened each time. And now you can 8596 04:07:04,560 --> 04:07:10,000 see that this has been redeployed onto 8597 04:07:06,560 --> 04:07:11,600 our um app in Verscell. So I'm going to 8598 04:07:10,000 --> 04:07:12,640 go to the new landing page and we're 8599 04:07:11,600 --> 04:07:14,800 just going to try to ask another 8600 04:07:12,640 --> 04:07:17,120 question. So um design a beginner 8601 04:07:14,800 --> 04:07:18,800 strength routine. And this time it's 8602 04:07:17,120 --> 04:07:20,319 actually working. It looks like it's 8603 04:07:18,800 --> 04:07:22,640 writing back some sort of response 8604 04:07:20,319 --> 04:07:25,359 because it did hit our end web hook. 8605 04:07:22,640 --> 04:07:27,199 That's at least the hypothesis here. 8606 04:07:25,359 --> 04:07:28,640 Cool. So now it responded with much more 8607 04:07:27,199 --> 04:07:29,840 natural language, which is cool. You 8608 04:07:28,640 --> 04:07:31,120 know what I think actually happened last 8609 04:07:29,840 --> 04:07:33,040 time is maybe we just didn't like 8610 04:07:31,120 --> 04:07:35,279 publish the most recent version. But 8611 04:07:33,040 --> 04:07:36,960 anyways, in the fitness coach end 8612 04:07:35,279 --> 04:07:38,160 workflow, I'm going to refresh this. 8613 04:07:36,960 --> 04:07:40,640 We're going to see if we got that 8614 04:07:38,160 --> 04:07:42,880 execution, which is right here. And we 8615 04:07:40,640 --> 04:07:44,960 know it worked in this case because the 8616 04:07:42,880 --> 04:07:47,359 actual post request that got sent over 8617 04:07:44,960 --> 04:07:49,600 was design a beginner strength routine, 8618 04:07:47,359 --> 04:07:51,760 which is exactly what we just said in 8619 04:07:49,600 --> 04:07:53,359 our app right here. And I would also 8620 04:07:51,760 --> 04:07:54,800 feel a little bit bad if one of you guys 8621 04:07:53,359 --> 04:07:56,640 followed this tutorial and then woke up 8622 04:07:54,800 --> 04:07:58,560 with like thousands of, you know, 8623 04:07:56,640 --> 04:07:59,840 credits spent on your account. So 8624 04:07:58,560 --> 04:08:01,760 another thing you can do is they have 8625 04:07:59,840 --> 04:08:04,319 like a security review function in Cloud 8626 04:08:01,760 --> 04:08:06,160 Code. And obviously claude code with 8627 04:08:04,319 --> 04:08:08,880 Opus 4.5 is going to be really really 8628 04:08:06,160 --> 04:08:10,239 good at like reading your code and 8629 04:08:08,880 --> 04:08:11,439 understanding if there's vulnerabilities 8630 04:08:10,239 --> 04:08:13,439 which is something that you should you 8631 04:08:11,439 --> 04:08:15,840 know regularly just say hey by the way 8632 04:08:13,439 --> 04:08:17,760 like what should I be aware of and what 8633 04:08:15,840 --> 04:08:19,680 like risks do I have? So I basically 8634 04:08:17,760 --> 04:08:21,040 said here do a full security review of 8635 04:08:19,680 --> 04:08:22,000 anything that I've pushed to GitHub to 8636 04:08:21,040 --> 04:08:24,080 make sure that I don't have any 8637 04:08:22,000 --> 04:08:26,800 credentials exposed online because my 8638 04:08:24,080 --> 04:08:28,479 GitHub repo is public and my workflow is 8639 04:08:26,800 --> 04:08:30,160 you know out there too. So, it searched 8640 04:08:28,479 --> 04:08:32,399 through everything and it said, "Okay, 8641 04:08:30,160 --> 04:08:34,479 cool." So, your hard-coded ended web 8642 04:08:32,399 --> 04:08:37,199 hook is out there, which I told it to do 8643 04:08:34,479 --> 04:08:38,399 that. It's fine. I understand that. 8644 04:08:37,199 --> 04:08:39,760 And that basically just means that 8645 04:08:38,399 --> 04:08:42,080 people could see this and then hit the 8646 04:08:39,760 --> 04:08:43,520 web hook directly. So, that is a 8647 04:08:42,080 --> 04:08:44,880 problem. But if you set up your own 8648 04:08:43,520 --> 04:08:46,479 authentication on the back end or 8649 04:08:44,880 --> 04:08:48,319 obviously this is just a demo, so I'm 8650 04:08:46,479 --> 04:08:50,000 not too worried. 8651 04:08:48,319 --> 04:08:52,880 And the recommendation would be to move 8652 04:08:50,000 --> 04:08:53,840 this to an environment variable. And 8653 04:08:52,880 --> 04:08:54,960 then it also talked about my 8654 04:08:53,840 --> 04:08:56,319 credentials, which is something I 8655 04:08:54,960 --> 04:08:58,000 brought up to you guys earlier, which is 8656 04:08:56,319 --> 04:09:01,199 the fact that those are all stored in 8657 04:08:58,000 --> 04:09:03,359 this MCP file. So in this JSON file, I 8658 04:09:01,199 --> 04:09:05,359 have my credentials for GitHub and Nitn. 8659 04:09:03,359 --> 04:09:07,600 So if someone got this file, that could 8660 04:09:05,359 --> 04:09:09,199 be a big problem, too. But this file is 8661 04:09:07,600 --> 04:09:10,880 stored locally. So I basically said to 8662 04:09:09,199 --> 04:09:12,080 it, hey, why do I have to rotate my 8663 04:09:10,880 --> 04:09:13,680 credentials? Aren't they safe for my 8664 04:09:12,080 --> 04:09:14,720 local environment? And it basically 8665 04:09:13,680 --> 04:09:16,479 said, yeah, you're right. Your 8666 04:09:14,720 --> 04:09:18,560 credentials are safe. I was being overly 8667 04:09:16,479 --> 04:09:21,040 cautious because this file is not in the 8668 04:09:18,560 --> 04:09:22,960 GitHub repo. It's not online. it only 8669 04:09:21,040 --> 04:09:24,560 exists locally on your machine. And I 8670 04:09:22,960 --> 04:09:26,560 know that this project itself right 8671 04:09:24,560 --> 04:09:28,880 here, like this app, isn't anything too 8672 04:09:26,560 --> 04:09:30,880 complex or like super impressive. But 8673 04:09:28,880 --> 04:09:32,239 the idea is now that you understand like 8674 04:09:30,880 --> 04:09:34,000 this whole framework and how everything 8675 04:09:32,239 --> 04:09:35,920 works together, you can continuously 8676 04:09:34,000 --> 04:09:37,600 iterate upon this and you can maybe even 8677 04:09:35,920 --> 04:09:39,600 add more end workflows on the back end 8678 04:09:37,600 --> 04:09:40,960 using the help of cloud code, fixing 8679 04:09:39,600 --> 04:09:42,319 things on the front end, adding 8680 04:09:40,960 --> 04:09:44,000 different functionality, pushing it back 8681 04:09:42,319 --> 04:09:45,359 to GitHub, and then it continuously gets 8682 04:09:44,000 --> 04:09:46,960 better. Cuz I mean, think about it with 8683 04:09:45,359 --> 04:09:48,560 something like this, it's really your 8684 04:09:46,960 --> 04:09:50,080 imagination because you can control what 8685 04:09:48,560 --> 04:09:51,600 you want on here. Maybe you want 8686 04:09:50,080 --> 04:09:54,319 somewhere where they can upload progress 8687 04:09:51,600 --> 04:09:56,080 pictures or a food logger or a workout 8688 04:09:54,319 --> 04:09:57,520 logger, things like that. And then by 8689 04:09:56,080 --> 04:09:59,120 default when you deploy something on 8690 04:09:57,520 --> 04:10:01,359 Verscell, it'll have the domain that 8691 04:09:59,120 --> 04:10:03,279 ends inversel.app. 8692 04:10:01,359 --> 04:10:04,560 And so you will want to buy a domain 8693 04:10:03,279 --> 04:10:06,399 somewhere else or just buy one right 8694 04:10:04,560 --> 04:10:07,439 here in Verscell and connect it. And 8695 04:10:06,399 --> 04:10:08,800 it's pretty simple. You would pretty 8696 04:10:07,439 --> 04:10:10,560 much just click on this plus right here 8697 04:10:08,800 --> 04:10:11,840 and you could either buy a domain or add 8698 04:10:10,560 --> 04:10:13,199 a domain. You'll have to do something 8699 04:10:11,840 --> 04:10:15,840 with the DNS records if you're 8700 04:10:13,199 --> 04:10:17,600 transferring in a domain from like 8701 04:10:15,840 --> 04:10:18,720 NameCheep or Squarespace or wherever you 8702 04:10:17,600 --> 04:10:19,920 bought the domain. But it's super 8703 04:10:18,720 --> 04:10:22,479 simple. You just have to go in there and 8704 04:10:19,920 --> 04:10:24,800 change like an A record and it may seem 8705 04:10:22,479 --> 04:10:26,560 a little confusing, but just have chatbt 8706 04:10:24,800 --> 04:10:28,080 or Gemini or Claude walk you through it. 8707 04:10:26,560 --> 04:10:30,000 It's really easy. Or Claude Code. Just 8708 04:10:28,080 --> 04:10:31,279 have Claude code tell you how to do it. 8709 04:10:30,000 --> 04:10:32,239 And then the last thing I had to talk 8710 04:10:31,279 --> 04:10:34,160 about cuz I know there's going to be 8711 04:10:32,239 --> 04:10:36,560 tons of comments about this is the 8712 04:10:34,160 --> 04:10:38,160 Claude plan. So yes, you could 100% 8713 04:10:36,560 --> 04:10:40,160 start on Pro because you do get access 8714 04:10:38,160 --> 04:10:42,479 to Claude code if you're on the pro 8715 04:10:40,160 --> 04:10:44,479 plan. But I will say you probably will 8716 04:10:42,479 --> 04:10:45,680 reach your limit pretty quickly. But I 8717 04:10:44,479 --> 04:10:47,120 really wouldn't stress this. It's just 8718 04:10:45,680 --> 04:10:49,199 one of those things where Start on Pro. 8719 04:10:47,120 --> 04:10:50,800 If you hit your limit, okay, go upgrade 8720 04:10:49,199 --> 04:10:52,399 to the $100 a month plan. If you hit 8721 04:10:50,800 --> 04:10:54,160 your limit on the $100 a month plan, 8722 04:10:52,399 --> 04:10:56,000 upgrade to the $200 a month plan. And I 8723 04:10:54,160 --> 04:10:57,359 know $200 a month sounds expensive, but 8724 04:10:56,000 --> 04:10:58,960 if you think about how much you can do, 8725 04:10:57,359 --> 04:11:00,960 and if you think about how much would it 8726 04:10:58,960 --> 04:11:02,640 cost for me to pay like a top tier 8727 04:11:00,960 --> 04:11:04,479 developer to do this kind of stuff, it 8728 04:11:02,640 --> 04:11:06,080 is significantly more than 200 bucks. So 8729 04:11:04,479 --> 04:11:07,840 that 200 is going to be a huge bang for 8730 04:11:06,080 --> 04:11:09,199 your buck. Once again, if you're on 200 8731 04:11:07,840 --> 04:11:10,399 a month and then you realize you're not 8732 04:11:09,199 --> 04:11:12,560 using it all the way and it's not worth 8733 04:11:10,399 --> 04:11:14,319 it, then just downgrade. It's not going 8734 04:11:12,560 --> 04:11:16,239 to be permanent. Okay, so we just 8735 04:11:14,319 --> 04:11:18,479 covered a ton of information. So let's 8736 04:11:16,239 --> 04:11:20,319 just recap what we just did. First of 8737 04:11:18,479 --> 04:11:22,720 all, what we did is we connected cloud 8738 04:11:20,319 --> 04:11:25,199 code to the end MCP server to look 8739 04:11:22,720 --> 04:11:27,520 through how NIDin works and to be able 8740 04:11:25,199 --> 04:11:29,439 to go into our instance, get workflows, 8741 04:11:27,520 --> 04:11:31,040 create them, edit them, publish them, 8742 04:11:29,439 --> 04:11:32,880 all that kind of stuff. And then we gave 8743 04:11:31,040 --> 04:11:34,560 it access to the end skills so it 8744 04:11:32,880 --> 04:11:37,040 actually knows how to use that server 8745 04:11:34,560 --> 04:11:39,279 and how to build endto-end workflows. 8746 04:11:37,040 --> 04:11:41,680 After that, we were able to have Cloud 8747 04:11:39,279 --> 04:11:44,160 Code optimize the workflows to be ready 8748 04:11:41,680 --> 04:11:45,920 for a front-end deployment. So, we also 8749 04:11:44,160 --> 04:11:47,600 gave it access to a front-end designer 8750 04:11:45,920 --> 04:11:49,600 skill. We gave it access to the GitHub 8751 04:11:47,600 --> 04:11:51,600 MCP so that as we're building this web 8752 04:11:49,600 --> 04:11:53,840 app and we're hosting it and testing it 8753 04:11:51,600 --> 04:11:55,920 locally once we have that code ready to 8754 04:11:53,840 --> 04:11:57,520 go, then we push it to GitHub which 8755 04:11:55,920 --> 04:11:59,359 automatically syncs with Verscell and 8756 04:11:57,520 --> 04:12:00,800 then deploys it on the web. So, now 8757 04:11:59,359 --> 04:12:02,880 other people can actually access your 8758 04:12:00,800 --> 04:12:04,640 app. It's not just on your own local 8759 04:12:02,880 --> 04:12:06,479 environment. And then of course because 8760 04:12:04,640 --> 04:12:08,080 of this whole framework, as soon as you 8761 04:12:06,479 --> 04:12:10,080 update the code and push it to GitHub, 8762 04:12:08,080 --> 04:12:11,359 it automatically will update on the web. 8763 04:12:10,080 --> 04:12:13,120 And now that you're already in this 8764 04:12:11,359 --> 04:12:15,120 project called an event app or whatever 8765 04:12:13,120 --> 04:12:16,800 you called yours, if you wanted to, you 8766 04:12:15,120 --> 04:12:18,080 could just do another workflow in this 8767 04:12:16,800 --> 04:12:20,399 project because you already have the 8768 04:12:18,080 --> 04:12:21,520 cloud MD file. You already have your MCP 8769 04:12:20,399 --> 04:12:23,279 server set up. You already have your 8770 04:12:21,520 --> 04:12:24,640 skills set up globally. You have this 8771 04:12:23,279 --> 04:12:26,479 folder right here, which is all the 8772 04:12:24,640 --> 04:12:28,160 stuff you need for this app. But if we 8773 04:12:26,479 --> 04:12:30,080 wanted to, we could obviously just come 8774 04:12:28,160 --> 04:12:31,520 into here. We could clear out this 8775 04:12:30,080 --> 04:12:33,760 conversation history and we could say, 8776 04:12:31,520 --> 04:12:35,520 "Okay, cool. Now I want to build a front 8777 04:12:33,760 --> 04:12:37,040 end for this other app and just go 8778 04:12:35,520 --> 04:12:38,560 through that whole process again. And 8779 04:12:37,040 --> 04:12:39,760 because all of this is stuff that it can 8780 04:12:38,560 --> 04:12:41,199 look through, it could maybe even take 8781 04:12:39,760 --> 04:12:44,680 inspiration from other apps that you've 8782 04:12:41,199 --> 04:12:44,680 done in the past. 8783 04:12:44,960 --> 04:12:48,000 Today I'm going to be showing you guys 8784 04:12:46,399 --> 04:12:49,520 five simple hacks that you can use to 8785 04:12:48,000 --> 04:12:51,439 make sure that Claude Code is building 8786 04:12:49,520 --> 04:12:53,359 you websites that don't look like they 8787 04:12:51,439 --> 04:12:55,439 were AI vibe coded, but they actually 8788 04:12:53,359 --> 04:12:56,399 feel professional and branded. And we're 8789 04:12:55,439 --> 04:12:57,840 going to be going through this in a way 8790 04:12:56,399 --> 04:12:59,520 where even if you've never used Claude 8791 04:12:57,840 --> 04:13:00,720 Code before, that's completely fine. 8792 04:12:59,520 --> 04:13:02,399 you're going to be able to by the end of 8793 04:13:00,720 --> 04:13:04,080 this video spin up some really awesome 8794 04:13:02,399 --> 04:13:05,199 looking landing pages and websites. All 8795 04:13:04,080 --> 04:13:06,319 right, so I don't want to waste any time 8796 04:13:05,199 --> 04:13:08,080 at all. The first thing that you need to 8797 04:13:06,319 --> 04:13:09,760 do is you need to go download Visual 8798 04:13:08,080 --> 04:13:12,000 Studio Code. So go to a browser and type 8799 04:13:09,760 --> 04:13:13,439 in VS Code and download this for your 8800 04:13:12,000 --> 04:13:15,359 operating system. This is essentially 8801 04:13:13,439 --> 04:13:17,920 just the IDE that we're going to be 8802 04:13:15,359 --> 04:13:19,279 using Cloud Code within. So once you've 8803 04:13:17,920 --> 04:13:20,399 done that and you've opened it up, this 8804 04:13:19,279 --> 04:13:21,760 is what it will look like. You're going 8805 04:13:20,399 --> 04:13:23,279 to go to the lefth hand side right here 8806 04:13:21,760 --> 04:13:25,840 and click on extensions and you're going 8807 04:13:23,279 --> 04:13:27,920 to type in cloud code and install it 8808 04:13:25,840 --> 04:13:29,199 like what you see right here. Now, once 8809 04:13:27,920 --> 04:13:30,880 you do that, it's going to prompt you to 8810 04:13:29,199 --> 04:13:32,560 sign in with your Enthropic subscription 8811 04:13:30,880 --> 04:13:34,080 or your cloud subscription, which you do 8812 04:13:32,560 --> 04:13:35,520 need a paid account. As you can see 8813 04:13:34,080 --> 04:13:37,760 here, if you're on free, you don't have 8814 04:13:35,520 --> 04:13:40,479 access to Cloud Code. But here on Pro, 8815 04:13:37,760 --> 04:13:42,399 you actually can use Cloud Code. Whether 8816 04:13:40,479 --> 04:13:43,680 you're on pro or max, you can use it. 8817 04:13:42,399 --> 04:13:45,680 I'd probably just start with Pro. If you 8818 04:13:43,680 --> 04:13:47,120 hit limits, which you probably will if 8819 04:13:45,680 --> 04:13:48,239 you want to, you know, build websites 8820 04:13:47,120 --> 04:13:50,640 all day, then you should probably 8821 04:13:48,239 --> 04:13:52,080 upgrade to max. So, once you've got that 8822 04:13:50,640 --> 04:13:54,319 installed, you will see this little 8823 04:13:52,080 --> 04:13:56,000 button up here, which is Cloud Code. And 8824 04:13:54,319 --> 04:13:57,600 when you click on that, this is where it 8825 04:13:56,000 --> 04:13:59,600 opens up the ability to actually use 8826 04:13:57,600 --> 04:14:01,439 cloud code, talk to this little crab 8827 04:13:59,600 --> 04:14:03,359 agent. And this is very similar to sort 8828 04:14:01,439 --> 04:14:05,120 of like a chatbt or using cloud in the 8829 04:14:03,359 --> 04:14:06,720 web. Now, the way that this works when 8830 04:14:05,120 --> 04:14:08,720 you're using cloud code in Visual Studio 8831 04:14:06,720 --> 04:14:10,239 Code or really wherever you use it is 8832 04:14:08,720 --> 04:14:11,439 you have files on the lefth hand side 8833 04:14:10,239 --> 04:14:13,199 and then you have your agent on the 8834 04:14:11,439 --> 04:14:14,880 right hand side. So, first thing we need 8835 04:14:13,199 --> 04:14:16,560 to do is open up a project so that we 8836 04:14:14,880 --> 04:14:17,920 can start working with some files. So, 8837 04:14:16,560 --> 04:14:19,840 I'm going to go up here to the top left 8838 04:14:17,920 --> 04:14:21,040 and I'm going to click on explorer. What 8839 04:14:19,840 --> 04:14:22,560 you can see is that it says you have not 8840 04:14:21,040 --> 04:14:24,319 yet opened a folder. So, I'm going to go 8841 04:14:22,560 --> 04:14:26,560 ahead and open up a fresh folder that 8842 04:14:24,319 --> 04:14:28,800 has nothing in it. So, here we are in my 8843 04:14:26,560 --> 04:14:30,800 website building YouTube folder, which 8844 04:14:28,800 --> 04:14:32,399 like I said, it's a blank project. If 8845 04:14:30,800 --> 04:14:33,520 you don't have a folder, just go ahead 8846 04:14:32,399 --> 04:14:35,359 and create one. Whether that's in your 8847 04:14:33,520 --> 04:14:37,120 desktop or your documents, just create 8848 04:14:35,359 --> 04:14:38,960 one to start and then open that up. And 8849 04:14:37,120 --> 04:14:40,479 that is where we will be working on this 8850 04:14:38,960 --> 04:14:42,479 project. So, let's get started going 8851 04:14:40,479 --> 04:14:43,840 through these five hacks. The first one 8852 04:14:42,479 --> 04:14:45,680 is actually number zero. And the reason 8853 04:14:43,840 --> 04:14:48,159 that I did this is because the first one 8854 04:14:45,680 --> 04:14:49,359 is a claw.md file. And I put this as 8855 04:14:48,159 --> 04:14:51,199 number zero because it's kind of a 8856 04:14:49,359 --> 04:14:53,600 prerequisite, but also a lot of times 8857 04:14:51,199 --> 04:14:56,000 near the end, even after 1 2 3 and four, 8858 04:14:53,600 --> 04:14:58,000 you might have to rego back and update 8859 04:14:56,000 --> 04:15:00,640 your cloud.MD file or just have Claude 8860 04:14:58,000 --> 04:15:02,479 do it itself. So what is a claw.md file? 8861 04:15:00,640 --> 04:15:05,600 Just think of it as a system prompt. 8862 04:15:02,479 --> 04:15:07,840 Think of it as every time before you ask 8863 04:15:05,600 --> 04:15:10,560 claude code to do something, it will 8864 04:15:07,840 --> 04:15:12,239 read the claw.md file first. It will 8865 04:15:10,560 --> 04:15:13,760 always process that. So what you want to 8866 04:15:12,239 --> 04:15:15,120 do is make sure that that is pretty 8867 04:15:13,760 --> 04:15:16,560 concise. You don't want to bloat it too 8868 04:15:15,120 --> 04:15:18,560 much with context, but you want to give 8869 04:15:16,560 --> 04:15:20,159 it the rules that it needs. So, every 8870 04:15:18,560 --> 04:15:22,239 time you are doing something in this 8871 04:15:20,159 --> 04:15:23,840 project, this website building project, 8872 04:15:22,239 --> 04:15:25,120 do this, this, and this. And always 8873 04:15:23,840 --> 04:15:26,399 remember that's kind of the end goal. 8874 04:15:25,120 --> 04:15:28,399 And so, if you don't exactly know your 8875 04:15:26,399 --> 04:15:30,560 full process yet or the end goal, then 8876 04:15:28,399 --> 04:15:31,920 you might start without a claw. MD file. 8877 04:15:30,560 --> 04:15:33,279 But luckily for you guys, if you go over 8878 04:15:31,920 --> 04:15:34,800 to my free school community, the link 8879 04:15:33,279 --> 04:15:36,560 for that's down in the description, you 8880 04:15:34,800 --> 04:15:38,399 go to the classroom, you go to cloud 8881 04:15:36,560 --> 04:15:40,399 code, and right here you will see the 8882 04:15:38,399 --> 04:15:41,680 web designcloud.mmd file, which is the 8883 04:15:40,399 --> 04:15:42,880 one we're going to be using today. You 8884 04:15:41,680 --> 04:15:44,560 can go ahead and just download that for 8885 04:15:42,880 --> 04:15:45,920 free right here. Now, once you've done 8886 04:15:44,560 --> 04:15:47,279 that, you can actually just drag it 8887 04:15:45,920 --> 04:15:48,720 right over here to the lefth hand side. 8888 04:15:47,279 --> 04:15:50,159 Like I told you guys, the lefth hand 8889 04:15:48,720 --> 04:15:51,920 side is where we can see our files and 8890 04:15:50,159 --> 04:15:53,840 our folders. And what that does is it 8891 04:15:51,920 --> 04:15:55,359 opens up the claw.md file, which if I 8892 04:15:53,840 --> 04:15:57,840 drag over here, we can see it kind of 8893 04:15:55,359 --> 04:15:59,680 full screen. Now, the MD stands for 8894 04:15:57,840 --> 04:16:01,279 markdown, which is basically just this 8895 04:15:59,680 --> 04:16:03,120 right here. We've got the pound signs, 8896 04:16:01,279 --> 04:16:05,279 we've got um asterisks, and it just 8897 04:16:03,120 --> 04:16:06,640 helps keep the text organized so that 8898 04:16:05,279 --> 04:16:08,479 the agent can read, you know, what's a 8899 04:16:06,640 --> 04:16:09,760 header, what's a subheader, what's bold, 8900 04:16:08,479 --> 04:16:11,120 what are bullet points, things like 8901 04:16:09,760 --> 04:16:12,960 that. So, you could obviously read 8902 04:16:11,120 --> 04:16:14,720 through this entire claw.md file if you 8903 04:16:12,960 --> 04:16:16,479 want to to kind of understand what we're 8904 04:16:14,720 --> 04:16:17,600 telling it to do in this project. I'm 8905 04:16:16,479 --> 04:16:19,040 not going to read everything because you 8906 04:16:17,600 --> 04:16:20,479 guys can just, you know, look at it here 8907 04:16:19,040 --> 04:16:21,840 or download it. And as we go through 8908 04:16:20,479 --> 04:16:23,680 these other hacks, you will see why I 8909 04:16:21,840 --> 04:16:25,199 put some of this stuff in here. But that 8910 04:16:23,680 --> 04:16:27,120 actually brings me over to our first 8911 04:16:25,199 --> 04:16:29,680 technically our first hack, which is the 8912 04:16:27,120 --> 04:16:31,600 front-end design skill, which is why you 8913 04:16:29,680 --> 04:16:33,680 can see right here in our cloud. MD, the 8914 04:16:31,600 --> 04:16:35,279 first thing I wrote is always invoke the 8915 04:16:33,680 --> 04:16:37,840 front-end design skill before writing 8916 04:16:35,279 --> 04:16:39,439 any front-end code every session. No 8917 04:16:37,840 --> 04:16:41,199 exceptions. So, first of all, real 8918 04:16:39,439 --> 04:16:42,560 quick, what are skills? Well, if you go 8919 04:16:41,199 --> 04:16:44,080 to the cloud code docs, you can read 8920 04:16:42,560 --> 04:16:46,159 about skills right here. Essentially, 8921 04:16:44,080 --> 04:16:47,840 they are custom instructions. So, every 8922 04:16:46,159 --> 04:16:49,600 time you build like a custom GBT or 8923 04:16:47,840 --> 04:16:50,640 cloud project, you're usually putting in 8924 04:16:49,600 --> 04:16:53,279 knowledge and you're putting in 8925 04:16:50,640 --> 04:16:55,279 instructions. And basically, skills are 8926 04:16:53,279 --> 04:16:57,120 just that, but in a markdown file. And 8927 04:16:55,279 --> 04:16:58,880 why it's so important and cool is 8928 04:16:57,120 --> 04:17:01,359 because every time you ask Claude a 8929 04:16:58,880 --> 04:17:03,520 question, first it reads its cloud.mmd 8930 04:17:01,359 --> 04:17:05,199 file, but then it will think, okay, the 8931 04:17:03,520 --> 04:17:06,960 user asked me this. Do I have any skills 8932 04:17:05,199 --> 04:17:08,960 in my library that help me do this 8933 04:17:06,960 --> 04:17:10,640 better? If yes, I'll grab the skill. 8934 04:17:08,960 --> 04:17:12,319 I'll read it and then I'll take action. 8935 04:17:10,640 --> 04:17:14,080 If no, I'll just use my general 8936 04:17:12,319 --> 04:17:15,680 knowledge. So, that's why we need to 8937 04:17:14,080 --> 04:17:17,600 have the front-end skill because it 8938 04:17:15,680 --> 04:17:19,680 helps us create designs that are way 8939 04:17:17,600 --> 04:17:22,239 more modern and professional and they 8940 04:17:19,680 --> 04:17:24,000 don't look as much vibecoded, AI 8941 04:17:22,239 --> 04:17:26,159 vibecoded. And the good news is it's 8942 04:17:24,000 --> 04:17:27,680 super super simple. You just have to 8943 04:17:26,159 --> 04:17:29,520 install it. So, here's a tweet that 8944 04:17:27,680 --> 04:17:31,199 showed the power of this. All they 8945 04:17:29,520 --> 04:17:32,960 prompted Cloud Code to do was use the 8946 04:17:31,199 --> 04:17:35,040 front-end design skill, create a music 8947 04:17:32,960 --> 04:17:36,479 player app, and it created this that has 8948 04:17:35,040 --> 04:17:38,000 some, you know, animations, it has some 8949 04:17:36,479 --> 04:17:39,359 dynamic elements, and if you would have 8950 04:17:38,000 --> 04:17:40,880 just told Claude Code to do this without 8951 04:17:39,359 --> 04:17:42,239 that skill, it would have looked much 8952 04:17:40,880 --> 04:17:43,600 worse. So, I'll leave a link to this 8953 04:17:42,239 --> 04:17:44,800 tweet in the description of this video, 8954 04:17:43,600 --> 04:17:46,239 you basically just have to run this 8955 04:17:44,800 --> 04:17:48,239 command and then you run this one, and 8956 04:17:46,239 --> 04:17:50,560 then you should be good with the skill 8957 04:17:48,239 --> 04:17:51,680 installed globally across any Cloud Code 8958 04:17:50,560 --> 04:17:53,120 project that you might use in the 8959 04:17:51,680 --> 04:17:54,479 future. And when I say run these 8960 04:17:53,120 --> 04:17:56,319 commands, you can literally just copy 8961 04:17:54,479 --> 04:17:58,080 this if you wanted to and just paste 8962 04:17:56,319 --> 04:17:59,680 that right into here in cloud code and 8963 04:17:58,080 --> 04:18:01,040 it would install that for you. All 8964 04:17:59,680 --> 04:18:03,199 right, so let me go ahead and show you 8965 04:18:01,040 --> 04:18:05,120 guys how good this front-end design 8966 04:18:03,199 --> 04:18:06,960 skill really is with such a minimal 8967 04:18:05,120 --> 04:18:07,920 prompt. So before we prompt this agent, 8968 04:18:06,960 --> 04:18:09,279 I just wanted to show you guys something 8969 04:18:07,920 --> 04:18:10,880 else you can do, which is kind of a 8970 04:18:09,279 --> 04:18:12,399 bonus hack. What I'm going to do is I'm 8971 04:18:10,880 --> 04:18:15,199 going to create a new folder. I'm going 8972 04:18:12,399 --> 04:18:17,359 to call this brand_assets. 8973 04:18:15,199 --> 04:18:19,439 And our claw.md file actually explains 8974 04:18:17,359 --> 04:18:21,359 that this might be a file or a folder 8975 04:18:19,439 --> 04:18:23,920 that cloud code needs to look at. And 8976 04:18:21,359 --> 04:18:27,120 what I'm going to put in here are two 8977 04:18:23,920 --> 04:18:28,800 things. My logo and brand guidelines so 8978 04:18:27,120 --> 04:18:30,560 that it creates this website and it 8979 04:18:28,800 --> 04:18:32,080 feels very branded towards me and my 8980 04:18:30,560 --> 04:18:34,000 business. So right here I'm dragging in 8981 04:18:32,080 --> 04:18:35,760 the AI automation society logo as you 8982 04:18:34,000 --> 04:18:37,279 can see like that. And then I'm also 8983 04:18:35,760 --> 04:18:39,920 going to drag in our brand guidelines 8984 04:18:37,279 --> 04:18:42,880 which has stuff like our colors, our 8985 04:18:39,920 --> 04:18:44,640 typography icons, stuff like that. And 8986 04:18:42,880 --> 04:18:46,080 so now that Claude can look at that, I'm 8987 04:18:44,640 --> 04:18:48,080 going to just give it a very very simple 8988 04:18:46,080 --> 04:18:50,000 prompt. So, all I'm saying is build me a 8989 04:18:48,080 --> 04:18:51,760 modern and professional landing page for 8990 04:18:50,000 --> 04:18:53,279 AI Automation Society. And I'm also 8991 04:18:51,760 --> 04:18:54,880 going to tell it that here's my logo and 8992 04:18:53,279 --> 04:18:56,239 here's my brand guidelines. It would be 8993 04:18:54,880 --> 04:18:58,239 able to figure it out either way because 8994 04:18:56,239 --> 04:18:59,279 we put it in the claw.md. But I just 8995 04:18:58,239 --> 04:19:01,760 wanted to show you guys that you can 8996 04:18:59,279 --> 04:19:03,760 actually tag assets directly. So, if I 8997 04:19:01,760 --> 04:19:05,920 do an at, it will basically pop up and 8998 04:19:03,760 --> 04:19:07,840 let me choose or point at the right 8999 04:19:05,920 --> 04:19:09,680 things. So now I can explicitly say, 9000 04:19:07,840 --> 04:19:11,279 "Hey, here are the, you know, here's the 9001 04:19:09,680 --> 04:19:13,199 brand guidelines and here's the logo 9002 04:19:11,279 --> 04:19:15,840 because maybe they're not named in a way 9003 04:19:13,199 --> 04:19:17,600 that's super intuitive and now I'm just 9004 04:19:15,840 --> 04:19:18,720 showing Cloud Code exactly what I want." 9005 04:19:17,600 --> 04:19:20,159 So I'm going to shoot this off. I'm not 9006 04:19:18,720 --> 04:19:22,080 even in plan mode. I just want to show 9007 04:19:20,159 --> 04:19:23,359 you guys how good this front-end design 9008 04:19:22,080 --> 04:19:24,960 skill is. And what you're going to 9009 04:19:23,359 --> 04:19:27,760 notice is first of all, what it did is 9010 04:19:24,960 --> 04:19:29,680 it read the clawenmd file and now it's 9011 04:19:27,760 --> 04:19:31,359 reading the brand assets. And now what 9012 04:19:29,680 --> 04:19:33,600 it's going to do is it should hopefully 9013 04:19:31,359 --> 04:19:35,439 invoke the front-end design skill and 9014 04:19:33,600 --> 04:19:37,840 start building out that website for us. 9015 04:19:35,439 --> 04:19:40,000 There we go. right on Q. It has invoked 9016 04:19:37,840 --> 04:19:41,279 the front-end design skill right there. 9017 04:19:40,000 --> 04:19:43,199 All right, so that has finished up. You 9018 04:19:41,279 --> 04:19:44,960 can see that we've got a nav, a hero, 9019 04:19:43,199 --> 04:19:46,800 tools marquee, we've got stats, about 9020 04:19:44,960 --> 04:19:48,319 benefits. So, a full onepage landing 9021 04:19:46,800 --> 04:19:50,239 page, and it should be completely 9022 04:19:48,319 --> 04:19:52,720 matching our brand as far as the logo, 9023 04:19:50,239 --> 04:19:54,159 the colors, and the typography. It also 9024 04:19:52,720 --> 04:19:55,760 added some animations. So, I'm excited 9025 04:19:54,159 --> 04:19:57,359 to see how that works. And it threw it 9026 04:19:55,760 --> 04:19:58,560 on local host for us to check out. So, 9027 04:19:57,359 --> 04:19:59,760 let's head over there. All right, look 9028 04:19:58,560 --> 04:20:01,439 at that. We've got like a little 9029 04:19:59,760 --> 04:20:03,439 animation up here. We've got a line 9030 04:20:01,439 --> 04:20:06,080 going down. We can see that we do have 9031 04:20:03,439 --> 04:20:08,479 our logo up here as well as our exact 9032 04:20:06,080 --> 04:20:10,080 colors and font. We've got a community 9033 04:20:08,479 --> 04:20:13,120 rating. Oh, that's super nice. We've 9034 04:20:10,080 --> 04:20:14,880 also got some scrolling tech companies. 9035 04:20:13,120 --> 04:20:17,359 So, we've got edit end make, Claude, 9036 04:20:14,880 --> 04:20:18,880 GBT40, Zapier, Air Table. We've got some 9037 04:20:17,359 --> 04:20:20,960 random stats here. Obviously, we'd have 9038 04:20:18,880 --> 04:20:23,279 to fill this in with our own copy, but 9039 04:20:20,960 --> 04:20:25,120 keep in mind all of this happened with 9040 04:20:23,279 --> 04:20:26,319 only us saying, "Create me a landing 9041 04:20:25,120 --> 04:20:27,840 page for our community called A 9042 04:20:26,319 --> 04:20:29,920 Automation Society." That was literally 9043 04:20:27,840 --> 04:20:31,920 it. And it created all of this. We've 9044 04:20:29,920 --> 04:20:33,199 got testimonials. We've got a final call 9045 04:20:31,920 --> 04:20:34,960 to action here. The logo is doing a 9046 04:20:33,199 --> 04:20:36,640 little floating for basically a one 9047 04:20:34,960 --> 04:20:38,560 sentence prompt. This is super super 9048 04:20:36,640 --> 04:20:39,760 solid with the front-end design skill. 9049 04:20:38,560 --> 04:20:41,279 Now, there was another secret thing 9050 04:20:39,760 --> 04:20:42,399 going on here that I didn't yet tell you 9051 04:20:41,279 --> 04:20:44,880 guys about, but if you've already read 9052 04:20:42,399 --> 04:20:46,560 the Claw Denm, you might have noticed. 9053 04:20:44,880 --> 04:20:49,760 And that brings us on to hack number 9054 04:20:46,560 --> 04:20:52,159 two, which is the screenshot loop. So, 9055 04:20:49,760 --> 04:20:53,760 the idea here is that AI is really good 9056 04:20:52,159 --> 04:20:56,080 at getting you where you want to go, but 9057 04:20:53,760 --> 04:20:57,680 it takes a lot of manual correction and 9058 04:20:56,080 --> 04:20:59,600 steering. So, let's say I just told 9059 04:20:57,680 --> 04:21:01,279 Claude Code to build us that website. 9060 04:20:59,600 --> 04:21:02,960 Without the front-end design skill, it 9061 04:21:01,279 --> 04:21:04,159 might have gotten us like 40% of the way 9062 04:21:02,960 --> 04:21:05,439 there. But now that we added the 9063 04:21:04,159 --> 04:21:06,880 front-end design skill, it's going to 9064 04:21:05,439 --> 04:21:09,040 get us maybe let's let's just call it 9065 04:21:06,880 --> 04:21:11,439 60. What we can do now is use 9066 04:21:09,040 --> 04:21:13,279 screenshots to help AI iterate upon 9067 04:21:11,439 --> 04:21:14,239 itself. So, instead of it getting 60% of 9068 04:21:13,279 --> 04:21:15,279 the way there and then we make an 9069 04:21:14,239 --> 04:21:16,960 improvement and then we make another 9070 04:21:15,279 --> 04:21:18,319 improvement and we keep doing this, it 9071 04:21:16,960 --> 04:21:20,000 basically should just bridge this gap 9072 04:21:18,319 --> 04:21:21,920 itself because it's able to take a 9073 04:21:20,000 --> 04:21:23,520 screenshot, look at the browser, see 9074 04:21:21,920 --> 04:21:24,960 what it looks like, and then make make 9075 04:21:23,520 --> 04:21:26,880 changes. So, what you guys didn't 9076 04:21:24,960 --> 04:21:28,479 notice, or maybe you did, is over here, 9077 04:21:26,880 --> 04:21:30,399 it created a new folder for us called 9078 04:21:28,479 --> 04:21:31,920 temporary screenshots. And we can see 9079 04:21:30,399 --> 04:21:33,760 that in that process of building out 9080 04:21:31,920 --> 04:21:35,920 that first version of our workflow, it 9081 04:21:33,760 --> 04:21:37,359 took 10 screenshots. So, I can click 9082 04:21:35,920 --> 04:21:39,359 here, and I can see what it looked at. 9083 04:21:37,359 --> 04:21:42,000 It looked at the hero section, which 9084 04:21:39,359 --> 04:21:43,680 kind of was a a random full page. It got 9085 04:21:42,000 --> 04:21:45,199 the viewport, which was that's more of 9086 04:21:43,680 --> 04:21:46,880 the hero section. It looked at the 9087 04:21:45,199 --> 04:21:48,640 stats. It looked at the about page. And 9088 04:21:46,880 --> 04:21:51,040 what it did is it used these screenshots 9089 04:21:48,640 --> 04:21:53,359 as it kept clicking through and looking 9090 04:21:51,040 --> 04:21:55,920 and improved things. So, you guys didn't 9091 04:21:53,359 --> 04:21:58,000 see this, but in the actual to-dos, it 9092 04:21:55,920 --> 04:21:59,680 wrote the index. HTML, it started the 9093 04:21:58,000 --> 04:22:01,520 server and screenshotted the workflow, 9094 04:21:59,680 --> 04:22:03,439 and then it did a two pass screenshot 9095 04:22:01,520 --> 04:22:04,800 review and polish. So, it basically uses 9096 04:22:03,439 --> 04:22:06,319 its eyes to check that what it's 9097 04:22:04,800 --> 04:22:07,439 building actually looks good. And in 9098 04:22:06,319 --> 04:22:08,720 order to set that up, it's actually 9099 04:22:07,439 --> 04:22:10,319 really, really easy. If you go to the 9100 04:22:08,720 --> 04:22:12,159 cloud.md file, you can see that I've got 9101 04:22:10,319 --> 04:22:13,920 a section for screenshot workflow. And 9102 04:22:12,159 --> 04:22:15,920 we're just doing this using Puppeteer. 9103 04:22:13,920 --> 04:22:17,520 So, literally, if you take this cloudMD 9104 04:22:15,920 --> 04:22:19,680 and say, "Hey, Cloud Code, can you set 9105 04:22:17,520 --> 04:22:21,439 up Puppeteer to take screenshots?" It 9106 04:22:19,680 --> 04:22:23,359 should be able to install all of that 9107 04:22:21,439 --> 04:22:25,279 stuff for you right there really simply. 9108 04:22:23,359 --> 04:22:27,120 And so, yes, that's cool on its own, but 9109 04:22:25,279 --> 04:22:29,199 where it actually comes into handy a lot 9110 04:22:27,120 --> 04:22:32,640 more is when we look at hack number 9111 04:22:29,199 --> 04:22:34,159 three, which is using other websites as 9112 04:22:32,640 --> 04:22:36,159 inspiration. Because what we're able to 9113 04:22:34,159 --> 04:22:37,760 do is say, "Hey, Claude Code, take this 9114 04:22:36,159 --> 04:22:39,439 website right here and build me a 9115 04:22:37,760 --> 04:22:40,800 clone." So, you should build one that 9116 04:22:39,439 --> 04:22:42,560 looks exactly like this one. And then 9117 04:22:40,800 --> 04:22:44,319 what it's able to do is use its eyes, 9118 04:22:42,560 --> 04:22:45,600 use its screenshot tool to screenshot 9119 04:22:44,319 --> 04:22:47,520 what it's building and look at the 9120 04:22:45,600 --> 04:22:49,840 reference and keep going back and forth 9121 04:22:47,520 --> 04:22:51,680 until it's close enough. So, let me show 9122 04:22:49,840 --> 04:22:52,960 you guys that in action right now. So, 9123 04:22:51,680 --> 04:22:55,279 there's tons of sites that you could go 9124 04:22:52,960 --> 04:22:56,960 to for website inspiration. Here's one 9125 04:22:55,279 --> 04:22:59,520 example called Dribble. Here's another 9126 04:22:56,960 --> 04:23:00,720 example called godly website. And here's 9127 04:22:59,520 --> 04:23:03,040 another really cool example called 9128 04:23:00,720 --> 04:23:05,439 Awards with three W's. So, there's tons 9129 04:23:03,040 --> 04:23:07,199 of places that you can find inspiration. 9130 04:23:05,439 --> 04:23:09,120 So, for the sake of this video, I found 9131 04:23:07,199 --> 04:23:10,560 this one that I want to use. It's got a 9132 04:23:09,120 --> 04:23:12,800 nice little animation in the background. 9133 04:23:10,560 --> 04:23:14,399 It's obviously not our color scheme, but 9134 04:23:12,800 --> 04:23:16,159 it has some cool things as you scroll 9135 04:23:14,399 --> 04:23:17,760 down like a dashboard. It's got some 9136 04:23:16,159 --> 04:23:19,120 other little cards down here. None of 9137 04:23:17,760 --> 04:23:20,800 this is really too animated. Well, I 9138 04:23:19,120 --> 04:23:22,239 guess that is. But let's just say we 9139 04:23:20,800 --> 04:23:23,680 wanted our website to look like this 9140 04:23:22,239 --> 04:23:25,680 one, for example. First thing that I 9141 04:23:23,680 --> 04:23:27,760 would do is I would hit F12. I'm on 9142 04:23:25,680 --> 04:23:30,080 Windows, by the way. I would go to 9143 04:23:27,760 --> 04:23:32,239 console and I would do control shiftP 9144 04:23:30,080 --> 04:23:34,080 and search for screenshot. What this 9145 04:23:32,239 --> 04:23:36,080 lets me do is capture a full-size 9146 04:23:34,080 --> 04:23:38,560 screenshot of the entire page rather 9147 04:23:36,080 --> 04:23:40,159 than just my current view. So here you 9148 04:23:38,560 --> 04:23:42,399 can see it downloaded this screenshot 9149 04:23:40,159 --> 04:23:44,159 and you can see that that is indeed the 9150 04:23:42,399 --> 04:23:46,560 entire website. Now, if you're on Mac, 9151 04:23:44,159 --> 04:23:48,080 that's still doable, but you just have 9152 04:23:46,560 --> 04:23:49,680 to Google the different buttons to do 9153 04:23:48,080 --> 04:23:51,199 it. And then the next thing what I want 9154 04:23:49,680 --> 04:23:53,040 to do is on the top right here, I'm 9155 04:23:51,199 --> 04:23:54,640 going to go to elements, and in the 9156 04:23:53,040 --> 04:23:56,800 style section down here, I'm just going 9157 04:23:54,640 --> 04:23:59,040 to copy everything. So, I'm actually 9158 04:23:56,800 --> 04:24:00,640 copying basically like the raw code or 9159 04:23:59,040 --> 04:24:02,960 HTML or, you know, whatever you want to 9160 04:24:00,640 --> 04:24:04,560 consider this as that tells the website 9161 04:24:02,960 --> 04:24:06,479 how this is styled. And we're going to 9162 04:24:04,560 --> 04:24:08,000 give Claude code that. So, I'm going to 9163 04:24:06,479 --> 04:24:10,080 go ahead and do a clear so we can start 9164 04:24:08,000 --> 04:24:12,159 a fresh session. I'm going to first of 9165 04:24:10,080 --> 04:24:14,159 all just paste in the code that we just 9166 04:24:12,159 --> 04:24:15,600 copied which is the style information. 9167 04:24:14,159 --> 04:24:17,199 So I said I want you to spin up a new 9168 04:24:15,600 --> 04:24:18,880 website for us. Get rid of the old one 9169 04:24:17,199 --> 04:24:20,399 and you can put this one on local host. 9170 04:24:18,880 --> 04:24:21,680 I basically want you to clone this 9171 04:24:20,399 --> 04:24:23,120 website. So I'm going to give you the 9172 04:24:21,680 --> 04:24:25,120 screenshot which what I'm going to do is 9173 04:24:23,120 --> 04:24:26,560 just drag it in from my files and put it 9174 04:24:25,120 --> 04:24:28,159 right over here. As you can see that is 9175 04:24:26,560 --> 04:24:30,080 the screenshot we just took. And I'm 9176 04:24:28,159 --> 04:24:33,680 going to point to it so it knows what to 9177 04:24:30,080 --> 04:24:35,199 use which is the www right there. And 9178 04:24:33,680 --> 04:24:36,960 then I said here's a screenshot. Here's 9179 04:24:35,199 --> 04:24:39,359 the style. and just go ahead and clone 9180 04:24:36,960 --> 04:24:41,840 this website for us. So, that is all 9181 04:24:39,359 --> 04:24:43,359 we're going to do to start and then we 9182 04:24:41,840 --> 04:24:45,199 can come back in later and tell it to 9183 04:24:43,359 --> 04:24:46,560 use our branding and our, you know, 9184 04:24:45,199 --> 04:24:47,840 colors and logo and everything like 9185 04:24:46,560 --> 04:24:49,680 that. Now, a couple things to keep in 9186 04:24:47,840 --> 04:24:51,359 mind. When you're doing some of the big 9187 04:24:49,680 --> 04:24:53,439 processes like spinning up a website 9188 04:24:51,359 --> 04:24:55,680 from scratch or comparing two websites 9189 04:24:53,439 --> 04:24:58,159 and cloning them, that coding process 9190 04:24:55,680 --> 04:25:00,080 and thinking will take longer. But once 9191 04:24:58,159 --> 04:25:02,560 you have a working version, making small 9192 04:25:00,080 --> 04:25:04,239 changes or tweaks, that happens pretty 9193 04:25:02,560 --> 04:25:05,359 quickly. And one other thing is you 9194 04:25:04,239 --> 04:25:07,279 might have noticed that this really 9195 04:25:05,359 --> 04:25:08,479 isn't stopping to ask me questions. And 9196 04:25:07,279 --> 04:25:10,080 that's because I'm using bypass 9197 04:25:08,479 --> 04:25:11,680 permissions mode. So if you don't see 9198 04:25:10,080 --> 04:25:13,359 this in your instance, you're going to 9199 04:25:11,680 --> 04:25:15,439 go to settings. You're going to type in 9200 04:25:13,359 --> 04:25:17,680 clawed code. And then right here, you 9201 04:25:15,439 --> 04:25:19,040 should see allow dangerously skip 9202 04:25:17,680 --> 04:25:20,319 permissions. And that is where you turn 9203 04:25:19,040 --> 04:25:23,199 that on. Now I definitely have a 9204 04:25:20,319 --> 04:25:25,120 responsibility to tell you that this is 9205 04:25:23,199 --> 04:25:26,479 dangerous. It has the potential to just 9206 04:25:25,120 --> 04:25:29,520 kind of like run any command that it 9207 04:25:26,479 --> 04:25:31,279 wants. But in my practice, I've never 9208 04:25:29,520 --> 04:25:33,359 really had this be an issue, especially 9209 04:25:31,279 --> 04:25:34,800 because I'm never like setting this to 9210 04:25:33,359 --> 04:25:36,239 code all night long and then going to 9211 04:25:34,800 --> 04:25:39,359 sleep. I'm always still kind of like 9212 04:25:36,239 --> 04:25:41,120 watching it or I'm nearby and nothing 9213 04:25:39,359 --> 04:25:42,560 bad really is going to happen. All 9214 04:25:41,120 --> 04:25:44,319 right, awesome. So, we just got to the 9215 04:25:42,560 --> 04:25:46,080 point where now it is creating a to-do 9216 04:25:44,319 --> 04:25:48,159 list. And what you can see here is once 9217 04:25:46,080 --> 04:25:49,439 it actually writes the code for the 9218 04:25:48,159 --> 04:25:50,319 website, it's going to start up the 9219 04:25:49,439 --> 04:25:52,000 server and it's going to take 9220 04:25:50,319 --> 04:25:54,800 screenshots and it's going to do two 9221 04:25:52,000 --> 04:25:56,159 rounds at least of comparing. It's going 9222 04:25:54,800 --> 04:25:57,359 to look at what it built versus the 9223 04:25:56,159 --> 04:25:58,560 reference. It's going to fix any 9224 04:25:57,359 --> 04:26:00,000 mismatches and then it's going to do 9225 04:25:58,560 --> 04:26:02,080 that again. And that is why the 9226 04:26:00,000 --> 04:26:03,600 screenshot loop is so powerful. So 9227 04:26:02,080 --> 04:26:04,880 logically, this is really cool. I mean, 9228 04:26:03,600 --> 04:26:07,040 it's going through and it's looking 9229 04:26:04,880 --> 04:26:08,560 section by section and analyzing how 9230 04:26:07,040 --> 04:26:10,159 well it's stacking up. But we will have 9231 04:26:08,560 --> 04:26:11,760 to see how it actually turns out. Okay, 9232 04:26:10,159 --> 04:26:13,920 so that just finished up and before we 9233 04:26:11,760 --> 04:26:15,199 actually see how good it really built 9234 04:26:13,920 --> 04:26:16,960 this, I wanted to point out one thing 9235 04:26:15,199 --> 04:26:19,279 about the screenshots. So you can see 9236 04:26:16,960 --> 04:26:21,520 that we have screenshot 1 2 3 4, all of 9237 04:26:19,279 --> 04:26:22,960 this kind of stuff. But we don't really 9238 04:26:21,520 --> 04:26:24,800 know which one is which without clicking 9239 04:26:22,960 --> 04:26:26,159 on them. So, it looks like these are the 9240 04:26:24,800 --> 04:26:27,680 clones as you can see because they're 9241 04:26:26,159 --> 04:26:29,760 coming out looking like the website that 9242 04:26:27,680 --> 04:26:31,439 we gave it. Well, we either should have 9243 04:26:29,760 --> 04:26:32,800 before we started this new build, we 9244 04:26:31,439 --> 04:26:34,000 should have told cloud code, hey, you 9245 04:26:32,800 --> 04:26:37,199 can delete all of those temporary 9246 04:26:34,000 --> 04:26:38,800 screenshots or in the claw.md, we should 9247 04:26:37,199 --> 04:26:40,399 be more specific about the naming 9248 04:26:38,800 --> 04:26:41,920 convention of the screenshots so that we 9249 04:26:40,399 --> 04:26:43,600 can actually tell. Now, realistically, 9250 04:26:41,920 --> 04:26:45,680 these temporary screenshots are more for 9251 04:26:43,600 --> 04:26:47,040 claw codes benefit than for ours, but 9252 04:26:45,680 --> 04:26:48,560 that is something else that you can be 9253 04:26:47,040 --> 04:26:49,680 thinking about if you do want to be able 9254 04:26:48,560 --> 04:26:51,040 to click through and see the changes 9255 04:26:49,680 --> 04:26:52,239 that were made with each version. But 9256 04:26:51,040 --> 04:26:54,319 anyways, let's go ahead and open up this 9257 04:26:52,239 --> 04:26:56,319 link and see what we got. All right, so 9258 04:26:54,319 --> 04:26:58,640 I'm going to switch this to English for 9259 04:26:56,319 --> 04:27:00,800 my head. But we can see we've got the 9260 04:26:58,640 --> 04:27:02,319 purple colors. We've got your strategic 9261 04:27:00,800 --> 04:27:04,560 ally for a truly profitable business. 9262 04:27:02,319 --> 04:27:05,920 We've got the same top menu bar. Um a 9263 04:27:04,560 --> 04:27:08,640 similar type of dashboard here. We've 9264 04:27:05,920 --> 04:27:10,479 got some cards. And as we scroll down, 9265 04:27:08,640 --> 04:27:12,239 it feels very similar to the real 9266 04:27:10,479 --> 04:27:14,319 version that we gave it, which was this 9267 04:27:12,239 --> 04:27:15,840 one. Obviously, some of the dynamic 9268 04:27:14,319 --> 04:27:17,520 elements in the background and some of 9269 04:27:15,840 --> 04:27:20,479 the actual images could not have been 9270 04:27:17,520 --> 04:27:23,359 the exact same, but for a clone, this is 9271 04:27:20,479 --> 04:27:24,960 very, very similar. And it is a really 9272 04:27:23,359 --> 04:27:26,640 good spot for us to actually start. And 9273 04:27:24,960 --> 04:27:29,600 now we can just start to integrate our 9274 04:27:26,640 --> 04:27:31,840 own colors and logos and copy right into 9275 04:27:29,600 --> 04:27:33,279 this template. And it's as simple as 9276 04:27:31,840 --> 04:27:35,840 just asking it to do so. So, I'm going 9277 04:27:33,279 --> 04:27:37,840 to go ahead and clear this out. I'm 9278 04:27:35,840 --> 04:27:39,520 going to say go ahead and delete all of 9279 04:27:37,840 --> 04:27:41,199 the temporary screenshots in the 9280 04:27:39,520 --> 04:27:42,479 temporary screenshots folder. And so now 9281 04:27:41,199 --> 04:27:43,840 all of those have been deleted as you 9282 04:27:42,479 --> 04:27:46,640 can see. And we're basically going to 9283 04:27:43,840 --> 04:27:48,399 say the most recent landing page looks 9284 04:27:46,640 --> 04:27:51,760 really good. What I want you to do now 9285 04:27:48,399 --> 04:27:55,680 is work in our brand assets. So our 9286 04:27:51,760 --> 04:27:58,159 brand guidelines and our AIS logo. And 9287 04:27:55,680 --> 04:28:00,479 this is for our community called AI 9288 04:27:58,159 --> 04:28:02,399 Automation Society. So just work in 9289 04:28:00,479 --> 04:28:04,000 those changes to that website clone that 9290 04:28:02,399 --> 04:28:05,040 you just built. And once again, we are 9291 04:28:04,000 --> 04:28:06,080 just going to stay on bypass 9292 04:28:05,040 --> 04:28:08,880 permissions. I'm going to shoot that 9293 04:28:06,080 --> 04:28:10,399 off. One shot prompt this thing. And 9294 04:28:08,880 --> 04:28:11,920 hopefully we should get something that 9295 04:28:10,399 --> 04:28:13,120 looks pretty solid. Now, what I'm 9296 04:28:11,920 --> 04:28:14,800 interested to see is what it ends up 9297 04:28:13,120 --> 04:28:16,560 doing with this dashboard and what it 9298 04:28:14,800 --> 04:28:18,000 ends up doing with this iPhone screen 9299 04:28:16,560 --> 04:28:20,000 because we haven't given it any other 9300 04:28:18,000 --> 04:28:20,960 pictures. As you saw in our website, we 9301 04:28:20,000 --> 04:28:22,800 obviously gave it some different 9302 04:28:20,960 --> 04:28:25,279 pictures like the school games dashboard 9303 04:28:22,800 --> 04:28:26,399 or me with Hermosi and Sam Ovens. But 9304 04:28:25,279 --> 04:28:27,840 that's what you could do is you would 9305 04:28:26,399 --> 04:28:29,279 come back into Cloud Code and you would 9306 04:28:27,840 --> 04:28:31,279 say, "Hey, I gave you some more pictures 9307 04:28:29,279 --> 04:28:32,720 in the brand assets. Put this one here. 9308 04:28:31,279 --> 04:28:34,239 Put this one there." And it would figure 9309 04:28:32,720 --> 04:28:35,680 that out for you. And of course, you 9310 04:28:34,239 --> 04:28:37,359 would also have to say, "Cool. When they 9311 04:28:35,680 --> 04:28:38,720 click on start for free, take them to 9312 04:28:37,359 --> 04:28:40,159 this link." or when they click on see 9313 04:28:38,720 --> 04:28:41,279 the demo, take them to this link. So, 9314 04:28:40,159 --> 04:28:43,120 there's other little pieces that you 9315 04:28:41,279 --> 04:28:44,880 would obviously have to configure as 9316 04:28:43,120 --> 04:28:47,279 well, but those changes take basically 9317 04:28:44,880 --> 04:28:48,640 no time. Okay, so that finished up 9318 04:28:47,279 --> 04:28:49,760 pretty quickly. We've got three 9319 04:28:48,640 --> 04:28:50,800 screenshots here, but I'm not going to 9320 04:28:49,760 --> 04:28:53,680 click into them because I don't want to 9321 04:28:50,800 --> 04:28:55,439 ruin the final reveal here. But we used 9322 04:28:53,680 --> 04:28:57,279 our colors. We have our primary accent, 9323 04:28:55,439 --> 04:28:58,960 our secondary, our dark background, and 9324 04:28:57,279 --> 04:29:00,640 our mid background. We've got the right 9325 04:28:58,960 --> 04:29:02,239 typography. We've got the right logo, 9326 04:29:00,640 --> 04:29:04,080 and everything was fully translated from 9327 04:29:02,239 --> 04:29:05,680 French to English. Thank goodness. And 9328 04:29:04,080 --> 04:29:07,120 now it's rewritten for our community, 9329 04:29:05,680 --> 04:29:08,720 which once again, we didn't actually 9330 04:29:07,120 --> 04:29:10,880 give it facts about the community yet. 9331 04:29:08,720 --> 04:29:12,640 This is just very simple prompting. It 9332 04:29:10,880 --> 04:29:14,479 also mocked up a dashboard. So, let's 9333 04:29:12,640 --> 04:29:16,640 head over to our local host. Let's give 9334 04:29:14,479 --> 04:29:18,720 this a hard refresh. And boom. We now 9335 04:29:16,640 --> 04:29:20,720 have our new site, master a automation, 9336 04:29:18,720 --> 04:29:22,000 build faster, earn more. For the 9337 04:29:20,720 --> 04:29:23,600 dashboard, it worked in like a little 9338 04:29:22,000 --> 04:29:26,239 bit of a it's got members. It's got 9339 04:29:23,600 --> 04:29:28,319 automations, courses. It's got it's kind 9340 04:29:26,239 --> 04:29:29,760 of like a community tracker dashboard, 9341 04:29:28,319 --> 04:29:31,279 and it uses our colors in there, too, 9342 04:29:29,760 --> 04:29:32,800 which is cool. We've got different 9343 04:29:31,279 --> 04:29:35,120 things on here, workshops, templates, 9344 04:29:32,800 --> 04:29:37,199 expert community. It also changed this 9345 04:29:35,120 --> 04:29:38,960 iPhone thing to member growth this 9346 04:29:37,199 --> 04:29:41,279 month. So, it's keeping all of this on 9347 04:29:38,960 --> 04:29:43,840 brand with the actual original reference 9348 04:29:41,279 --> 04:29:45,760 site, which once again looked like this. 9349 04:29:43,840 --> 04:29:47,760 However, now it has our colors and it 9350 04:29:45,760 --> 04:29:49,600 has our information in here. We've got 9351 04:29:47,760 --> 04:29:51,359 two paths and then we have some other 9352 04:29:49,600 --> 04:29:53,120 stats down here and a nice little call 9353 04:29:51,359 --> 04:29:54,479 to action at the bottom. So, cool. What 9354 04:29:53,120 --> 04:29:56,000 we could do now is obviously go back and 9355 04:29:54,479 --> 04:29:57,520 forth a little bit, maybe change some 9356 04:29:56,000 --> 04:29:59,040 text, make things bigger, you know, 9357 04:29:57,520 --> 04:30:00,399 change the images and stuff like that. 9358 04:29:59,040 --> 04:30:02,640 But let's say we're at a spot where we 9359 04:30:00,399 --> 04:30:04,319 like the overall feel and vibe of the 9360 04:30:02,640 --> 04:30:05,600 website. But now, how do we really up it 9361 04:30:04,319 --> 04:30:07,600 to the next level to make it feel 9362 04:30:05,600 --> 04:30:10,000 unique? Well, what we're going to do is 9363 04:30:07,600 --> 04:30:12,000 unlock the final hack, which is 9364 04:30:10,000 --> 04:30:13,600 individual components. And what I mean 9365 04:30:12,000 --> 04:30:15,279 by that is taking inspiration from 9366 04:30:13,600 --> 04:30:17,760 different places, but for very 9367 04:30:15,279 --> 04:30:19,920 individual components, for small pieces, 9368 04:30:17,760 --> 04:30:21,520 not entire websites. So, what we can do 9369 04:30:19,920 --> 04:30:23,040 is we can go to a website called 9370 04:30:21,520 --> 04:30:25,279 21st.dev, 9371 04:30:23,040 --> 04:30:26,640 which has some of the best website 9372 04:30:25,279 --> 04:30:28,640 components you might be able to find. 9373 04:30:26,640 --> 04:30:30,800 It's got shaders. It's got backgrounds. 9374 04:30:28,640 --> 04:30:32,239 It's got home screens. It's got buttons. 9375 04:30:30,800 --> 04:30:33,359 It's got, you know, mouse highlights. 9376 04:30:32,239 --> 04:30:34,880 It's got so many different things that 9377 04:30:33,359 --> 04:30:36,399 you can do. So, here you can see I've 9378 04:30:34,880 --> 04:30:37,840 got buttons and I could make them have a 9379 04:30:36,399 --> 04:30:39,600 rainbow outline. I could make them 9380 04:30:37,840 --> 04:30:40,960 shiny. We could toggle, you know, dark 9381 04:30:39,600 --> 04:30:42,239 mode or light mode. There's lots of 9382 04:30:40,960 --> 04:30:43,520 different things we could do here. Or I 9383 04:30:42,239 --> 04:30:44,960 could just click on backgrounds in here 9384 04:30:43,520 --> 04:30:46,479 and I could look at other ways that we 9385 04:30:44,960 --> 04:30:47,920 could have our background. So, maybe we 9386 04:30:46,479 --> 04:30:49,760 want these little kind of drop down 9387 04:30:47,920 --> 04:30:51,199 pills instead. Or maybe we want these 9388 04:30:49,760 --> 04:30:52,560 hero waves in the background. I think we 9389 04:30:51,199 --> 04:30:53,760 should actually do this instead. So, 9390 04:30:52,560 --> 04:30:55,520 what I'm going to do is just copy this 9391 04:30:53,760 --> 04:30:57,680 prompt right here. This will basically 9392 04:30:55,520 --> 04:30:59,600 copy a chunk of code for us to give to 9393 04:30:57,680 --> 04:31:02,000 Claude Code. And I'm just going to say, 9394 04:30:59,600 --> 04:31:04,560 I want you to work in this background 9395 04:31:02,000 --> 04:31:06,239 element right behind the hero text. And 9396 04:31:04,560 --> 04:31:08,800 after I give it that prompt, I just 9397 04:31:06,239 --> 04:31:11,439 paste in what we grabbed from 21st. And 9398 04:31:08,800 --> 04:31:13,680 it should be able to use all of this and 9399 04:31:11,439 --> 04:31:15,040 understand how to put that into our 9400 04:31:13,680 --> 04:31:16,720 site. So, I'm just going to go ahead and 9401 04:31:15,040 --> 04:31:18,080 shoot this off and we will see. 9402 04:31:16,720 --> 04:31:21,040 Actually, one thing that I forgot to 9403 04:31:18,080 --> 04:31:22,960 mention is in this case, because we're 9404 04:31:21,040 --> 04:31:24,640 working with an animation, the 9405 04:31:22,960 --> 04:31:26,319 screenshot might not always work the 9406 04:31:24,640 --> 04:31:28,080 best. So, sometimes you might want to 9407 04:31:26,319 --> 04:31:29,439 tell it not to do the screenshot flow. 9408 04:31:28,080 --> 04:31:32,159 So, I'm basically actually just going to 9409 04:31:29,439 --> 04:31:33,600 copy all of this text once again. I'm 9410 04:31:32,159 --> 04:31:35,840 going to clear this out. I'm going to 9411 04:31:33,600 --> 04:31:38,239 paste it back in. But then I'm also 9412 04:31:35,840 --> 04:31:40,399 going to say 9413 04:31:38,239 --> 04:31:42,239 because this is an animated background, 9414 04:31:40,399 --> 04:31:44,239 do not use the screenshot tool to 9415 04:31:42,239 --> 04:31:45,680 compare. just work in the code and then 9416 04:31:44,239 --> 04:31:47,600 I will let you know if we need to make 9417 04:31:45,680 --> 04:31:48,800 any changes. So hopefully with that 9418 04:31:47,600 --> 04:31:50,479 mentioned even though it's going to read 9419 04:31:48,800 --> 04:31:52,000 the claw.mmd it won't do a bunch of 9420 04:31:50,479 --> 04:31:53,840 screenshots here because I've actually 9421 04:31:52,000 --> 04:31:54,960 tested this out and I've had you know 9422 04:31:53,840 --> 04:31:56,720 different background elements come 9423 04:31:54,960 --> 04:31:58,080 through and because they're dynamic 9424 04:31:56,720 --> 04:31:59,680 sometimes the screenshot doesn't fully 9425 04:31:58,080 --> 04:32:01,040 capture it. So it gets stuck in this 9426 04:31:59,680 --> 04:32:02,319 loop of thinking I haven't built this 9427 04:32:01,040 --> 04:32:04,000 good enough. I'm going to keep trying 9428 04:32:02,319 --> 04:32:05,840 and it like overengineers and it just 9429 04:32:04,000 --> 04:32:08,080 doesn't really work. So sometimes you 9430 04:32:05,840 --> 04:32:09,520 may want to turn off the screenshot 9431 04:32:08,080 --> 04:32:10,640 tool. All right, so that just finished 9432 04:32:09,520 --> 04:32:12,640 up. It didn't take a bunch of 9433 04:32:10,640 --> 04:32:14,720 screenshots, so it didn't take forever. 9434 04:32:12,640 --> 04:32:18,159 Let's go to the website. Let's give it a 9435 04:32:14,720 --> 04:32:20,800 refresh and see. Okay. Okay. So, we've 9436 04:32:18,159 --> 04:32:22,479 got a background. It looks a little bit 9437 04:32:20,800 --> 04:32:24,560 um distracting. It also looks a little 9438 04:32:22,479 --> 04:32:25,680 bit cheap. It looks like too pixelated. 9439 04:32:24,560 --> 04:32:28,399 So, what I'm going to do now is just 9440 04:32:25,680 --> 04:32:30,560 iterate. I'm going to tell it that 9441 04:32:28,399 --> 04:32:33,520 I think that it's a little bit 9442 04:32:30,560 --> 04:32:35,439 distracting as far as it makes the hero 9443 04:32:33,520 --> 04:32:38,080 text right behind it a little bit tough 9444 04:32:35,439 --> 04:32:41,760 to read. Also, in the hero text, I'd 9445 04:32:38,080 --> 04:32:43,359 like it if the earn more was maybe a 9446 04:32:41,760 --> 04:32:44,880 blue or a different color. I think that 9447 04:32:43,359 --> 04:32:46,479 doesn't really feel good to have that be 9448 04:32:44,880 --> 04:32:48,239 orange. It would be good if there was 9449 04:32:46,479 --> 04:32:50,319 maybe some sort of background behind the 9450 04:32:48,239 --> 04:32:52,159 hero text so that we could see it and it 9451 04:32:50,319 --> 04:32:54,880 would still stand out and contrast 9452 04:32:52,159 --> 04:32:56,319 against the background animation, but 9453 04:32:54,880 --> 04:32:58,479 the background animation looks super 9454 04:32:56,319 --> 04:33:01,120 fuzzy and super pixy. If you could make 9455 04:32:58,479 --> 04:33:03,199 that look a little bit more professional 9456 04:33:01,120 --> 04:33:04,240 and clean, that would be great. And if 9457 04:33:03,199 --> 04:33:05,520 you guys were curious why I was just 9458 04:33:04,240 --> 04:33:07,520 like staring at that and talking is 9459 04:33:05,520 --> 04:33:08,879 because I was dictating and I wanted to 9460 04:33:07,520 --> 04:33:11,600 be able to look at what I was talking 9461 04:33:08,879 --> 04:33:13,039 about. So we've given some feedback now. 9462 04:33:11,600 --> 04:33:14,719 Let's see if it can go ahead and make 9463 04:33:13,039 --> 04:33:17,039 those changes. And once again, like 9464 04:33:14,719 --> 04:33:18,719 we're being pretty vague here and it 9465 04:33:17,039 --> 04:33:20,080 would be up to the creativity of the 9466 04:33:18,719 --> 04:33:22,480 model to understand what we're asking 9467 04:33:20,080 --> 04:33:24,240 for and be able to make these changes. 9468 04:33:22,480 --> 04:33:25,600 Now, if you were on plan mode, it might 9469 04:33:24,240 --> 04:33:27,439 be able to do a little bit better job of 9470 04:33:25,600 --> 04:33:29,199 asking you some questions and maybe 9471 04:33:27,439 --> 04:33:31,439 helping you get to a better solution 9472 04:33:29,199 --> 04:33:32,799 first before it starts coding. But for 9473 04:33:31,439 --> 04:33:34,799 the sake of the video, let's see how 9474 04:33:32,799 --> 04:33:36,240 well it does with this prompt. All 9475 04:33:34,799 --> 04:33:37,760 right, that just finished up. And you 9476 04:33:36,240 --> 04:33:39,840 can see that that looks much, much 9477 04:33:37,760 --> 04:33:42,480 better. This is definitely more what I 9478 04:33:39,840 --> 04:33:44,719 was looking for when we copied over that 9479 04:33:42,480 --> 04:33:46,000 animation into this website. So from 9480 04:33:44,719 --> 04:33:47,439 here, we would just keep going through 9481 04:33:46,000 --> 04:33:48,719 and we'd keep being really nitpicky 9482 04:33:47,439 --> 04:33:50,240 about what we want to change. We'd add 9483 04:33:48,719 --> 04:33:51,760 our own pictures in. We'd maybe want to 9484 04:33:50,240 --> 04:33:53,600 change some of these buttons to be more 9485 04:33:51,760 --> 04:33:54,719 dynamic. We'd want to maybe animate some 9486 04:33:53,600 --> 04:33:56,719 of this other stuff, which we could 9487 04:33:54,719 --> 04:33:58,639 easily do just by asking Claude Code to 9488 04:33:56,719 --> 04:34:00,879 do so. So from here, the question is, 9489 04:33:58,639 --> 04:34:02,320 how do you actually get this onto a real 9490 04:34:00,879 --> 04:34:03,760 landing page? Because right now, we're 9491 04:34:02,320 --> 04:34:06,160 still developing all of this code and 9492 04:34:03,760 --> 04:34:07,119 we're previewing this in our local host. 9493 04:34:06,160 --> 04:34:08,400 So what we're going to do is we're going 9494 04:34:07,119 --> 04:34:10,719 to use a combination of GitHub and 9495 04:34:08,400 --> 04:34:12,160 Verscell to do this. Cloud code is where 9496 04:34:10,719 --> 04:34:13,840 we're working right now. All of these 9497 04:34:12,160 --> 04:34:15,439 folders, all of these files are local, 9498 04:34:13,840 --> 04:34:16,719 meaning if I pulled up my laptop, I 9499 04:34:15,439 --> 04:34:18,320 wouldn't be able to access them. And 9500 04:34:16,719 --> 04:34:20,639 when we're building our website, which 9501 04:34:18,320 --> 04:34:22,480 is obviously this website right here, 9502 04:34:20,639 --> 04:34:24,639 this is all made up of a bunch of code 9503 04:34:22,480 --> 04:34:26,080 in our cloud code project. So what we 9504 04:34:24,639 --> 04:34:29,039 need to do with that is we sync that 9505 04:34:26,080 --> 04:34:30,799 code to GitHub and GitHub has version 9506 04:34:29,039 --> 04:34:32,561 control. We can see all of our commits, 9507 04:34:30,799 --> 04:34:34,400 other people can work on it, stuff like 9508 04:34:32,561 --> 04:34:36,480 that. We basically host our code or our 9509 04:34:34,400 --> 04:34:38,719 project in the cloud and we set up a 9510 04:34:36,480 --> 04:34:40,400 really cool autodeploy between Verscell 9511 04:34:38,719 --> 04:34:43,199 and GitHub. And Versell is basically 9512 04:34:40,400 --> 04:34:45,600 just where we deploy our code to a live 9513 04:34:43,199 --> 04:34:47,520 site. So basically what this means is 9514 04:34:45,600 --> 04:34:48,879 whenever we tell cloud code, hey this 9515 04:34:47,520 --> 04:34:51,279 looks good, push these changes to 9516 04:34:48,879 --> 04:34:52,959 GitHub, GitHub grabs the new changes and 9517 04:34:51,279 --> 04:34:55,680 then Verscell automatically grabs those 9518 04:34:52,959 --> 04:34:57,199 from GitHub and then updates the real 9519 04:34:55,680 --> 04:34:58,639 working version of our site. And I will 9520 04:34:57,199 --> 04:35:00,959 show you guys that. But let's first of 9521 04:34:58,639 --> 04:35:03,119 all do this pipeline. So the first thing 9522 04:35:00,959 --> 04:35:04,480 that you're going to need to do is go to 9523 04:35:03,119 --> 04:35:05,600 GitHub, create an account if you don't 9524 04:35:04,480 --> 04:35:07,760 already have one, and you're going to 9525 04:35:05,600 --> 04:35:09,039 need to create a new repository. So I'm 9526 04:35:07,760 --> 04:35:13,279 going to create a repository right here 9527 04:35:09,039 --> 04:35:14,639 called AIS test website. I'm not going 9528 04:35:13,279 --> 04:35:16,000 to worry right now about a description 9529 04:35:14,639 --> 04:35:18,400 or all of this and I'm just going to go 9530 04:35:16,000 --> 04:35:20,561 ahead and create that repository. Now, 9531 04:35:18,400 --> 04:35:23,279 what you also could do is you could tell 9532 04:35:20,561 --> 04:35:24,879 Claude Code, hey, create me a GitHub 9533 04:35:23,279 --> 04:35:26,080 repository and it could actually do 9534 04:35:24,879 --> 04:35:27,279 that. But right now, I just wanted to 9535 04:35:26,080 --> 04:35:29,039 show you guys so you can get a feel for 9536 04:35:27,279 --> 04:35:30,719 GitHub if you've never used it before. 9537 04:35:29,039 --> 04:35:32,639 So, anyways, now we have this repository 9538 04:35:30,719 --> 04:35:34,160 called AIS test website. I'm just going 9539 04:35:32,639 --> 04:35:35,760 to copy the name of that real quick and 9540 04:35:34,160 --> 04:35:37,680 I'm going to come back into Cloud Code. 9541 04:35:35,760 --> 04:35:39,199 We're going to clear this out and say 9542 04:35:37,680 --> 04:35:41,279 awesome. So now that this site looks 9543 04:35:39,199 --> 04:35:43,920 good, we need to actually deploy this on 9544 04:35:41,279 --> 04:35:46,160 our domain. I need you to help push this 9545 04:35:43,920 --> 04:35:49,119 to GitHub and we're going to push it to 9546 04:35:46,160 --> 04:35:50,799 a GitHub repository called 9547 04:35:49,119 --> 04:35:53,199 and then I'm going to paste in the name. 9548 04:35:50,799 --> 04:35:54,480 Now, so far it has not yet gotten our 9549 04:35:53,199 --> 04:35:56,080 GitHub credentials. So we're going to 9550 04:35:54,480 --> 04:35:58,320 have to obviously authenticate into 9551 04:35:56,080 --> 04:36:00,320 GitHub first so it can push that into 9552 04:35:58,320 --> 04:36:03,039 GitHub. So I just got logged in as Nate 9553 04:36:00,320 --> 04:36:04,719 Herkai and now it's going to create the 9554 04:36:03,039 --> 04:36:06,080 ignore and get everything set up so it 9555 04:36:04,719 --> 04:36:07,760 can actually do so. Now, it's not too 9556 04:36:06,080 --> 04:36:09,520 big of a deal right now because nothing 9557 04:36:07,760 --> 04:36:12,080 that we'd be pushing into the public 9558 04:36:09,520 --> 04:36:14,000 GitHub or, you know, onto the cloud has 9559 04:36:12,080 --> 04:36:15,680 API keys or has any usernames or 9560 04:36:14,000 --> 04:36:17,680 passwords or any sensitive information 9561 04:36:15,680 --> 04:36:19,359 or, you know, web hook abilities. But 9562 04:36:17,680 --> 04:36:20,799 that is something to be aware of once 9563 04:36:19,359 --> 04:36:22,480 you actually are pushing automations and 9564 04:36:20,799 --> 04:36:23,840 things like that to the cloud. Make sure 9565 04:36:22,480 --> 04:36:25,279 that you're not putting any of your 9566 04:36:23,840 --> 04:36:27,039 sensitive information out there. 9567 04:36:25,279 --> 04:36:29,039 Awesome. So, it now says that our site 9568 04:36:27,039 --> 04:36:30,719 is live on GitHub. So, if I click into 9569 04:36:29,039 --> 04:36:32,561 this link, we should see that we now 9570 04:36:30,719 --> 04:36:34,240 have a new commit. We have all of this 9571 04:36:32,561 --> 04:36:36,160 stuff like our claw.mmd. We have our 9572 04:36:34,240 --> 04:36:38,561 screenshot stuff. We have brand assets 9573 04:36:36,160 --> 04:36:39,600 and now we can sync this to Verscell. So 9574 04:36:38,561 --> 04:36:41,680 that would be step two is you're going 9575 04:36:39,600 --> 04:36:43,039 to go to versell.com create an account. 9576 04:36:41,680 --> 04:36:44,480 When you create that account, it's much 9577 04:36:43,039 --> 04:36:46,240 easier if you just sign in or create 9578 04:36:44,480 --> 04:36:48,320 that account with your GitHub 9579 04:36:46,240 --> 04:36:50,639 credentials. And then all we have to do 9580 04:36:48,320 --> 04:36:52,561 is go ahead and add a new project and 9581 04:36:50,639 --> 04:36:54,561 then we're able to just choose a GitHub 9582 04:36:52,561 --> 04:36:56,320 repository. As simple as that. So I can 9583 04:36:54,561 --> 04:36:57,840 literally just hit import on our AIS 9584 04:36:56,320 --> 04:36:59,760 test website which you guys just saw me 9585 04:36:57,840 --> 04:37:02,080 set up. And then all I have to do is go 9586 04:36:59,760 --> 04:37:03,840 ahead and deploy this project. Awesome. 9587 04:37:02,080 --> 04:37:05,359 So I've deployed a new project to my 9588 04:37:03,840 --> 04:37:07,439 project. I can go ahead and continue to 9589 04:37:05,359 --> 04:37:09,920 the dashboard here. And what this now 9590 04:37:07,439 --> 04:37:13,400 does is we can actually visit this by 9591 04:37:09,920 --> 04:37:13,400 going to ais-test-website.vercell.app. 9592 04:37:13,600 --> 04:37:17,119 I open that up and now this is no longer 9593 04:37:15,520 --> 04:37:18,719 local. I could open up my phone and type 9594 04:37:17,119 --> 04:37:20,400 in this. You could open up your browser 9595 04:37:18,719 --> 04:37:22,000 and type this in and you guys could all 9596 04:37:20,400 --> 04:37:23,840 visit this site because it's now 9597 04:37:22,000 --> 04:37:25,680 deployed on the cloud. But of course, 9598 04:37:23,840 --> 04:37:27,119 it's got an ugly domain. So what you 9599 04:37:25,680 --> 04:37:29,840 would have to do now is you would have 9600 04:37:27,119 --> 04:37:31,520 to go to your project settings. You 9601 04:37:29,840 --> 04:37:32,561 would go to domains. And then this is 9602 04:37:31,520 --> 04:37:34,879 where you would actually just have to 9603 04:37:32,561 --> 04:37:36,320 either buy a domain right here or add an 9604 04:37:34,879 --> 04:37:37,439 existing one. And it's really simple. It 9605 04:37:36,320 --> 04:37:39,119 would walk you through the DNS 9606 04:37:37,439 --> 04:37:41,039 configuration that you need to set up. 9607 04:37:39,119 --> 04:37:42,320 And it's not too difficult, but I'm not 9608 04:37:41,039 --> 04:37:43,600 going to actually do that live in this 9609 04:37:42,320 --> 04:37:45,119 video. So, what I wanted to show you 9610 04:37:43,600 --> 04:37:46,799 guys real quick before we end off this 9611 04:37:45,119 --> 04:37:48,400 video is what actually happens if we 9612 04:37:46,799 --> 04:37:50,639 realize that we want to make a change to 9613 04:37:48,400 --> 04:37:52,320 our website that is on the cloud. Well, 9614 04:37:50,639 --> 04:37:53,760 that's why it's good that we still have, 9615 04:37:52,320 --> 04:37:55,760 you guys can't see because you can't see 9616 04:37:53,760 --> 04:37:57,920 the URL, but we still do have our local 9617 04:37:55,760 --> 04:37:59,119 version because if I make a change here 9618 04:37:57,920 --> 04:38:01,600 and I don't like it, I don't want that 9619 04:37:59,119 --> 04:38:03,279 to automatically get pushed to um 9620 04:38:01,600 --> 04:38:05,119 Verscell. So, what you'd probably want 9621 04:38:03,279 --> 04:38:06,719 to do is in your claw.mmd file, you 9622 04:38:05,119 --> 04:38:08,080 would say ultimately what's going to 9623 04:38:06,719 --> 04:38:09,600 happen is we're syncing all of the 9624 04:38:08,080 --> 04:38:11,119 changes to GitHub. GitHub's going to 9625 04:38:09,600 --> 04:38:13,039 automatically push them to Verscell and 9626 04:38:11,119 --> 04:38:14,561 we'll be good to go. But when I'm making 9627 04:38:13,039 --> 04:38:16,480 changes with you here, we're always 9628 04:38:14,561 --> 04:38:18,320 going to test on a local host until I 9629 04:38:16,480 --> 04:38:19,920 tell you explicitly to push that to 9630 04:38:18,320 --> 04:38:22,000 GitHub or commit those changes to 9631 04:38:19,920 --> 04:38:23,119 GitHub. Okay. So, this is our local 9632 04:38:22,000 --> 04:38:25,039 version. And let's just say, for 9633 04:38:23,119 --> 04:38:27,039 example, we wanted to make this button a 9634 04:38:25,039 --> 04:38:29,840 little bit cooler. So, I'm going to ask 9635 04:38:27,039 --> 04:38:32,160 in Cloud Code, could you go ahead and 9636 04:38:29,840 --> 04:38:34,799 make the join the community button in 9637 04:38:32,160 --> 04:38:36,480 the main hero text section, make it more 9638 04:38:34,799 --> 04:38:38,400 professional. So, give it like a cool 9639 04:38:36,480 --> 04:38:41,039 glow. And once you've made this change, 9640 04:38:38,400 --> 04:38:42,879 let me see it in local host. Don't push 9641 04:38:41,039 --> 04:38:44,160 it to GitHub until I tell you to. This 9642 04:38:42,879 --> 04:38:45,920 thing is getting pretty screenshot 9643 04:38:44,160 --> 04:38:48,000 happy. I may have to adjust the wording 9644 04:38:45,920 --> 04:38:49,600 in the cloudmd file a little bit. It 9645 04:38:48,000 --> 04:38:51,279 literally took one of the main screen 9646 04:38:49,600 --> 04:38:53,359 and then it took one of where it just 9647 04:38:51,279 --> 04:38:54,719 cropped the actual button, but hey, it 9648 04:38:53,359 --> 04:38:56,320 looks good. Okay, so what happens is 9649 04:38:54,719 --> 04:38:58,160 here's the local host. I'll refresh 9650 04:38:56,320 --> 04:39:00,160 that. Now we can see the little glow 9651 04:38:58,160 --> 04:39:02,080 behind the join the community button and 9652 04:39:00,160 --> 04:39:03,920 here is the web app version. I refresh 9653 04:39:02,080 --> 04:39:05,439 this and we don't have that change yet, 9654 04:39:03,920 --> 04:39:07,199 which is great because we don't want to 9655 04:39:05,439 --> 04:39:09,279 push changes if they're not good, right? 9656 04:39:07,199 --> 04:39:10,879 But now what I'll do is say awesome. I 9657 04:39:09,279 --> 04:39:12,480 love that change. Go ahead and push that 9658 04:39:10,879 --> 04:39:13,920 to GitHub. All right, so it just pushed 9659 04:39:12,480 --> 04:39:15,920 that. We have a new commit. If I go to 9660 04:39:13,920 --> 04:39:17,199 GitHub and I give this a refresh, we can 9661 04:39:15,920 --> 04:39:20,240 see that we should see right here two 9662 04:39:17,199 --> 04:39:22,639 commits. This one was add glowing pulse 9663 04:39:20,240 --> 04:39:25,199 effect to hero join the community 9664 04:39:22,639 --> 04:39:26,959 button. And then if I go to Verscell and 9665 04:39:25,199 --> 04:39:28,400 we go to our deployments, we should see 9666 04:39:26,959 --> 04:39:30,480 that we just got a second one come 9667 04:39:28,400 --> 04:39:33,520 through as well just now. And now if I 9668 04:39:30,480 --> 04:39:35,279 go to the site on the web and I refresh, 9669 04:39:33,520 --> 04:39:36,561 we see the actual glowing join the 9670 04:39:35,279 --> 04:39:37,600 community button. All right, so those 9671 04:39:36,561 --> 04:39:39,440 are the five hacks that I wanted to 9672 04:39:37,600 --> 04:39:41,360 cover today. We have our claw.md file, 9673 04:39:39,440 --> 04:39:42,638 which as you could tell by this video, 9674 04:39:41,360 --> 04:39:44,320 yes, it's nice to have something to 9675 04:39:42,638 --> 04:39:45,680 start, but you are going to continue to 9676 04:39:44,320 --> 04:39:47,360 iterate upon it throughout your project 9677 04:39:45,680 --> 04:39:48,560 until you get to a good spot. We've got 9678 04:39:47,360 --> 04:39:50,400 the front-end design skill, which is 9679 04:39:48,560 --> 04:39:51,760 just like way too easy to not use. We've 9680 04:39:50,400 --> 04:39:53,120 got the screenshot loop, which you got 9681 04:39:51,760 --> 04:39:54,878 to be careful about, but it is very 9682 04:39:53,120 --> 04:39:57,040 helpful. We've got inspiration websites, 9683 04:39:54,878 --> 04:39:58,798 and then we have inspiration individual 9684 04:39:57,040 --> 04:40:01,040 components, and now it's just a matter 9685 04:39:58,798 --> 04:40:03,120 of making small tweaks and iterating 9686 04:40:01,040 --> 04:40:05,200 upon your website. Just a reminder, you 9687 04:40:03,120 --> 04:40:06,480 can grab this claw.md file for free in 9688 04:40:05,200 --> 04:40:10,120 my free school community. The link for 9689 04:40:06,480 --> 04:40:10,120 that is down in the description. 9690 04:40:10,400 --> 04:40:13,120 So, you know how on Apple's site we've 9691 04:40:11,760 --> 04:40:14,638 got the product, we've got quotes come 9692 04:40:13,120 --> 04:40:16,080 in, we've got dynamic elements like 9693 04:40:14,638 --> 04:40:18,000 this. We can see sort of like the 9694 04:40:16,080 --> 04:40:19,360 deconstruction of the product itself. 9695 04:40:18,000 --> 04:40:21,200 And all of these features on the website 9696 04:40:19,360 --> 04:40:22,560 give it a super professional and branded 9697 04:40:21,200 --> 04:40:23,920 feel. And I'm sure that some of you guys 9698 04:40:22,560 --> 04:40:25,440 have realized by now, but this website 9699 04:40:23,920 --> 04:40:27,760 is not Apple. This is one that I built 9700 04:40:25,440 --> 04:40:29,520 with cloud code using this new skill in 9701 04:40:27,760 --> 04:40:31,120 like 30 minutes. So, I'm going to show 9702 04:40:29,520 --> 04:40:32,718 you guys today the exact process to 9703 04:40:31,120 --> 04:40:34,080 build sites just like this that are 9704 04:40:32,718 --> 04:40:36,000 super professional, that have these 9705 04:40:34,080 --> 04:40:38,240 really nice animations going on, and 9706 04:40:36,000 --> 04:40:39,760 they just feel awesome. I'm also going 9707 04:40:38,240 --> 04:40:41,040 to be giving you away the skill and 9708 04:40:39,760 --> 04:40:42,798 everything that you need to do this for 9709 04:40:41,040 --> 04:40:44,638 completely free so that even if you've 9710 04:40:42,798 --> 04:40:46,240 never opened up Cloud Code or, you know, 9711 04:40:44,638 --> 04:40:47,600 built a website before, you will be able 9712 04:40:46,240 --> 04:40:49,280 to do exactly what you're seeing on 9713 04:40:47,600 --> 04:40:50,798 screen. So, let's not waste any time and 9714 04:40:49,280 --> 04:40:52,878 get straight into the video. Okay, so 9715 04:40:50,798 --> 04:40:54,160 we're using Cloud Code in Visual Studio 9716 04:40:52,878 --> 04:40:56,080 Code. So, if you don't have that, just 9717 04:40:54,160 --> 04:40:57,440 go to the browser, type in VS Code, and 9718 04:40:56,080 --> 04:40:58,958 download this for your operating system. 9719 04:40:57,440 --> 04:41:00,080 and it's completely free. Once you're in 9720 04:40:58,958 --> 04:41:01,680 here, you're going to go over to the 9721 04:41:00,080 --> 04:41:03,120 left, which is the extensions button. 9722 04:41:01,680 --> 04:41:04,718 You're going to type in Cloud Code and 9723 04:41:03,120 --> 04:41:06,320 install this one. It will then prompt 9724 04:41:04,718 --> 04:41:07,920 you to sign in with your Anthropic 9725 04:41:06,320 --> 04:41:09,360 subscription. And by the way, you do 9726 04:41:07,920 --> 04:41:11,280 have to be on the paid plan, so either 9727 04:41:09,360 --> 04:41:12,480 the Pro or the Max in order to use Cloud 9728 04:41:11,280 --> 04:41:13,600 Code. Now, once you've got that 9729 04:41:12,480 --> 04:41:15,200 installed, you're going to click on this 9730 04:41:13,600 --> 04:41:17,040 button up here, which is the Explorer, 9731 04:41:15,200 --> 04:41:18,160 and you need to open up a folder. So, 9732 04:41:17,040 --> 04:41:19,680 just go to your desktop, go to your 9733 04:41:18,160 --> 04:41:21,120 documents, open up a brand new folder, 9734 04:41:19,680 --> 04:41:23,200 just call it, you know, 3D website 9735 04:41:21,120 --> 04:41:24,560 testing, and then open it up right here. 9736 04:41:23,200 --> 04:41:25,760 So, here you can see this is the project 9737 04:41:24,560 --> 04:41:27,360 that I've been working in. And I've just 9738 04:41:25,760 --> 04:41:28,798 called it animated websites. And what 9739 04:41:27,360 --> 04:41:30,480 I'm going to do is give you guys all the 9740 04:41:28,798 --> 04:41:32,320 skills in here that you need in order to 9741 04:41:30,480 --> 04:41:33,680 just replicate what I'm doing. And I'm 9742 04:41:32,320 --> 04:41:35,600 giving you guys all that for free, of 9743 04:41:33,680 --> 04:41:37,840 course. So that once you have that, all 9744 04:41:35,600 --> 04:41:39,680 you have to do is give Cloud Code a 9745 04:41:37,840 --> 04:41:41,600 video. For example, here we have a video 9746 04:41:39,680 --> 04:41:43,120 of a camera. You can see what happens is 9747 04:41:41,600 --> 04:41:45,360 it just basically spins around and then 9748 04:41:43,120 --> 04:41:46,958 it kind of like goes into X-ray mode and 9749 04:41:45,360 --> 04:41:48,400 we can see inside the camera. And now 9750 04:41:46,958 --> 04:41:50,560 that Cloud Code has that, you just say, 9751 04:41:48,400 --> 04:41:52,000 "Build me a website for this video." And 9752 04:41:50,560 --> 04:41:53,760 what you get is something like this 9753 04:41:52,000 --> 04:41:55,360 where we have Vans 1. You can see it 9754 04:41:53,760 --> 04:41:56,958 looks like a product landing page. As we 9755 04:41:55,360 --> 04:41:58,560 start to scroll down, the camera is 9756 04:41:56,958 --> 04:42:00,400 revealed. And as we continue to scroll 9757 04:41:58,560 --> 04:42:02,718 more, we get dynamic text that comes 9758 04:42:00,400 --> 04:42:04,638 through as well as the actual camera 9759 04:42:02,718 --> 04:42:06,400 animation starting. And the crazy part 9760 04:42:04,638 --> 04:42:07,840 is I didn't give it any of the copy. I 9761 04:42:06,400 --> 04:42:09,680 didn't give it a color scheme. I didn't 9762 04:42:07,840 --> 04:42:11,680 give it any information about the 9763 04:42:09,680 --> 04:42:13,120 product. Obviously, you could, but what 9764 04:42:11,680 --> 04:42:14,718 it will do is it will just basically 9765 04:42:13,120 --> 04:42:16,320 create this for you and then you can go 9766 04:42:14,718 --> 04:42:17,440 ahead and make the tweaks that you need. 9767 04:42:16,320 --> 04:42:19,280 So, the two skills that you're going to 9768 04:42:17,440 --> 04:42:20,798 need to go grab are the front-end design 9769 04:42:19,280 --> 04:42:22,240 skill, which is the one that I grabbed 9770 04:42:20,798 --> 04:42:23,840 from Anthropic. It was an official 9771 04:42:22,240 --> 04:42:25,280 skill, but I changed it a little bit. 9772 04:42:23,840 --> 04:42:26,878 So, this is like kind of my version of 9773 04:42:25,280 --> 04:42:28,638 the front-end design skill for this 9774 04:42:26,878 --> 04:42:30,000 specific use case. And then you're also 9775 04:42:28,638 --> 04:42:32,240 going to need to go get the video to 9776 04:42:30,000 --> 04:42:33,760 website skill. So, both of these skills 9777 04:42:32,240 --> 04:42:35,040 are literally just markdown files. 9778 04:42:33,760 --> 04:42:36,718 They're markdown files that I've worked 9779 04:42:35,040 --> 04:42:39,200 on that tell Claude Code the best 9780 04:42:36,718 --> 04:42:40,958 practices for creating these animated 3D 9781 04:42:39,200 --> 04:42:42,560 websites. And you can get these skills 9782 04:42:40,958 --> 04:42:43,760 for completely free by going to my free 9783 04:42:42,560 --> 04:42:45,040 school community. The link for that is 9784 04:42:43,760 --> 04:42:46,638 down in the description. You'll go to 9785 04:42:45,040 --> 04:42:47,920 the classroom, you'll go to the skills 9786 04:42:46,638 --> 04:42:49,440 section, and you'll be able to find all 9787 04:42:47,920 --> 04:42:50,958 of them right in there. And literally 9788 04:42:49,440 --> 04:42:52,480 all you'd have to do is take them from 9789 04:42:50,958 --> 04:42:53,920 your downloads folder, drag them over 9790 04:42:52,480 --> 04:42:55,600 here to the lefth hand side, and then 9791 04:42:53,920 --> 04:42:57,360 just basically tell Claude, "Hey, set up 9792 04:42:55,600 --> 04:42:59,040 this folder." So I've got myclaude. 9793 04:42:57,360 --> 04:43:00,480 Within that claude, I've got a skills 9794 04:42:59,040 --> 04:43:02,798 folder. And then within that skills 9795 04:43:00,480 --> 04:43:05,120 folder, here are my two skills I need 9796 04:43:02,798 --> 04:43:07,040 you to use. And it should look something 9797 04:43:05,120 --> 04:43:08,240 like this on the lefth hand side. Now, 9798 04:43:07,040 --> 04:43:09,840 before you get too overwhelmed, if 9799 04:43:08,240 --> 04:43:11,520 you've never used Cloud Code before, 9800 04:43:09,840 --> 04:43:13,280 it's super simple. Right here, we have 9801 04:43:11,520 --> 04:43:15,040 our actual agent that we talk to and 9802 04:43:13,280 --> 04:43:16,798 have conversations with. And over here, 9803 04:43:15,040 --> 04:43:18,320 we just have folders. So, I just showed 9804 04:43:16,798 --> 04:43:20,798 you where the skills live, which is in a 9805 04:43:18,320 --> 04:43:22,080 docloud folder within a skills folder. 9806 04:43:20,798 --> 04:43:23,760 But then the other stuff in here is 9807 04:43:22,080 --> 04:43:25,040 super simple. Here are all the video 9808 04:43:23,760 --> 04:43:26,958 files that I've used to make the 9809 04:43:25,040 --> 04:43:28,718 previous websites. And then for each 9810 04:43:26,958 --> 04:43:30,718 website, it created its own folder. So, 9811 04:43:28,718 --> 04:43:32,320 for the camera website, it has all this 9812 04:43:30,718 --> 04:43:33,600 information. For the watch website, it 9813 04:43:32,320 --> 04:43:34,958 has all this information. And for the 9814 04:43:33,600 --> 04:43:36,718 Yeti website, it has all that 9815 04:43:34,958 --> 04:43:38,000 information as well. But anyways, if you 9816 04:43:36,718 --> 04:43:39,760 just follow the steps that I take in 9817 04:43:38,000 --> 04:43:41,600 this video, it will all make sense and 9818 04:43:39,760 --> 04:43:42,798 you will get a nice output. And by the 9819 04:43:41,600 --> 04:43:44,480 way, if that's a bit confusing, then 9820 04:43:42,798 --> 04:43:46,000 definitely go check out my skills video, 9821 04:43:44,480 --> 04:43:47,520 which I will tag right up here. And then 9822 04:43:46,000 --> 04:43:48,718 once you understand that, hop right back 9823 04:43:47,520 --> 04:43:50,240 over here. All right, so I'm going to 9824 04:43:48,718 --> 04:43:52,160 walk you guys through this process step 9825 04:43:50,240 --> 04:43:53,840 by step so you can see exactly what I 9826 04:43:52,160 --> 04:43:55,280 did to create these really cool 9827 04:43:53,840 --> 04:43:56,638 animations. And what you need to 9828 04:43:55,280 --> 04:43:58,718 understand is that all of these 9829 04:43:56,638 --> 04:44:00,000 animations that you're seeing on the 9830 04:43:58,718 --> 04:44:02,000 site and all the other ones that I've 9831 04:44:00,000 --> 04:44:03,680 shown, they're just videos. And so all I 9832 04:44:02,000 --> 04:44:05,200 did here was had Nano Banana generate 9833 04:44:03,680 --> 04:44:06,878 two different images for me and then 9834 04:44:05,200 --> 04:44:08,320 turn it into a video. So, for example, 9835 04:44:06,878 --> 04:44:10,080 that first one with the Apple Watch is 9836 04:44:08,320 --> 04:44:12,560 just the Apple Watch kind of opening up 9837 04:44:10,080 --> 04:44:14,240 and then exposing all of its layers. And 9838 04:44:12,560 --> 04:44:16,320 then when I wanted it to close back up, 9839 04:44:14,240 --> 04:44:18,000 I just prompted it to do the opposite. 9840 04:44:16,320 --> 04:44:19,920 And now we have the second one where it 9841 04:44:18,000 --> 04:44:21,760 goes from that end frame and then kind 9842 04:44:19,920 --> 04:44:23,760 of like folds back in on itself and 9843 04:44:21,760 --> 04:44:24,958 reveals the Apple Watch. So, now that 9844 04:44:23,760 --> 04:44:27,600 you understand how simple this really 9845 04:44:24,958 --> 04:44:29,280 is, let's go over to Nano Banana and 9846 04:44:27,600 --> 04:44:30,718 start making some images. Okay, so the 9847 04:44:29,280 --> 04:44:32,080 way that I like to use Nano Banana, 9848 04:44:30,718 --> 04:44:34,560 whether I'm doing it in a playground 9849 04:44:32,080 --> 04:44:36,000 like this or over API, is with key.ai AI 9850 04:44:34,560 --> 04:44:37,920 because I found that it's really fast 9851 04:44:36,000 --> 04:44:40,240 and it's like really cheap. So I went to 9852 04:44:37,920 --> 04:44:42,320 Nano Banana 2, the new version of Nano 9853 04:44:40,240 --> 04:44:45,200 Banana, and I came in here and did a 9854 04:44:42,320 --> 04:44:46,718 16x9 aspect ratio image, and I said, I 9855 04:44:45,200 --> 04:44:48,638 need a professional studio grade image 9856 04:44:46,718 --> 04:44:50,400 of a blender. It should be against a 9857 04:44:48,638 --> 04:44:53,120 plain all black background with no 9858 04:44:50,400 --> 04:44:54,480 shadows, no hands, no reflections. And 9859 04:44:53,120 --> 04:44:56,240 this is essentially going to be our 9860 04:44:54,480 --> 04:44:58,080 start frame when we make that actual 9861 04:44:56,240 --> 04:44:59,680 video. So then I saved that output, 9862 04:44:58,080 --> 04:45:01,440 dropped it in here as an image input and 9863 04:44:59,680 --> 04:45:03,040 I just said the exact same prompt, but 9864 04:45:01,440 --> 04:45:04,958 this time it should be filled with fruit 9865 04:45:03,040 --> 04:45:07,040 and juice. So now we have our start 9866 04:45:04,958 --> 04:45:08,560 frame over here and our end frame and we 9867 04:45:07,040 --> 04:45:10,798 just need to animate it so that it 9868 04:45:08,560 --> 04:45:12,638 actually looks like fruit and juice is 9869 04:45:10,798 --> 04:45:14,400 you know being dropped and poured in. So 9870 04:45:12,638 --> 04:45:16,638 then I found the best results using 9871 04:45:14,400 --> 04:45:20,000 cling 3.0 which once again you can also 9872 04:45:16,638 --> 04:45:21,440 access in this key.ai. So we give it the 9873 04:45:20,000 --> 04:45:23,680 start frame, we give it the end frame 9874 04:45:21,440 --> 04:45:25,120 and here's what I did for my prompt. I 9875 04:45:23,680 --> 04:45:26,240 actually went over to Claude and I gave 9876 04:45:25,120 --> 04:45:28,958 it the start and end frame and said, 9877 04:45:26,240 --> 04:45:30,718 "Help me make an AI video prompt where I 9878 04:45:28,958 --> 04:45:32,240 want the lid to float off. I want fruit 9879 04:45:30,718 --> 04:45:34,000 and juice to be dropped in. And then I 9880 04:45:32,240 --> 04:45:36,400 want the lid to be put back on. No 9881 04:45:34,000 --> 04:45:38,480 shadows, no hands, no reflections." It 9882 04:45:36,400 --> 04:45:40,320 spits out this prompt. I put that into 9883 04:45:38,480 --> 04:45:41,440 Cling. And here's the result. I haven't 9884 04:45:40,320 --> 04:45:44,440 watched this yet, so hopefully it's 9885 04:45:41,440 --> 04:45:44,440 good. 9886 04:45:45,920 --> 04:45:49,680 Okay. Interesting. I mean, obviously, we 9887 04:45:48,080 --> 04:45:51,200 maybe want to fix that a little bit, but 9888 04:45:49,680 --> 04:45:52,878 I'm fine with that for the sake of the 9889 04:45:51,200 --> 04:45:54,638 demo. the fruit and juice kind of just 9890 04:45:52,878 --> 04:45:56,240 magically appear from nowhere and now 9891 04:45:54,638 --> 04:45:57,600 they're in the blender. Okay, so I 9892 04:45:56,240 --> 04:45:59,280 downloaded that video. I'm just going to 9893 04:45:57,600 --> 04:46:00,718 drag it over here to the lefth hand side 9894 04:45:59,280 --> 04:46:02,480 and you can see right now that this 9895 04:46:00,718 --> 04:46:03,920 video that cloud code is looking at is 9896 04:46:02,480 --> 04:46:05,280 the exact one that we just generated 9897 04:46:03,920 --> 04:46:07,040 together. So this is what it's going to 9898 04:46:05,280 --> 04:46:09,520 use. It's basically going to take that 9899 04:46:07,040 --> 04:46:11,200 video, pull out like 120 frames or 9900 04:46:09,520 --> 04:46:12,560 however many frames make up that video 9901 04:46:11,200 --> 04:46:14,878 and then it's going to have all of those 9902 04:46:12,560 --> 04:46:17,120 saved. So just as an example, if I go to 9903 04:46:14,878 --> 04:46:20,560 the frames from the watch, you can see 9904 04:46:17,120 --> 04:46:22,718 it created over a hundred webp pictures 9905 04:46:20,560 --> 04:46:24,400 from that actual video. And it's kind of 9906 04:46:22,718 --> 04:46:26,240 like stopotion animation where each one 9907 04:46:24,400 --> 04:46:28,638 just changes a little bit and as you go 9908 04:46:26,240 --> 04:46:30,480 through the actual video starts to form. 9909 04:46:28,638 --> 04:46:32,878 So it basically associates each of these 9910 04:46:30,480 --> 04:46:34,718 frames with a scroll position. So as you 9911 04:46:32,878 --> 04:46:36,638 scroll down it kind of like reveals 9912 04:46:34,718 --> 04:46:38,160 itself or if you scroll backwards it 9913 04:46:36,638 --> 04:46:39,840 goes the other way. So now I'm going to 9914 04:46:38,160 --> 04:46:41,040 make sure that my agent is on plan mode 9915 04:46:39,840 --> 04:46:42,480 which basically means it won't actually 9916 04:46:41,040 --> 04:46:44,240 do anything. It'll just read things and 9917 04:46:42,480 --> 04:46:45,840 it will help create a plan which is 9918 04:46:44,240 --> 04:46:47,360 going to result in much better websites 9919 04:46:45,840 --> 04:46:48,958 on the first try. All right, so I 9920 04:46:47,360 --> 04:46:51,840 started off by saying I just dropped in 9921 04:46:48,958 --> 04:46:53,840 a video called blendercling.mpp4. 9922 04:46:51,840 --> 04:46:56,400 Help me create a one-page product 9923 04:46:53,840 --> 04:46:58,240 landing page for this product. It should 9924 04:46:56,400 --> 04:46:59,840 be modern. It should feel very 9925 04:46:58,240 --> 04:47:02,320 professional. It should have smooth 9926 04:46:59,840 --> 04:47:04,160 animations and design throughout. All of 9927 04:47:02,320 --> 04:47:06,638 the text should be easy to read. And the 9928 04:47:04,160 --> 04:47:08,240 background of the website should be 9929 04:47:06,638 --> 04:47:10,638 completely black. It should be a dark 9930 04:47:08,240 --> 04:47:13,200 mode. and it should blend into the 9931 04:47:10,638 --> 04:47:15,360 background of the Blender Cling image so 9932 04:47:13,200 --> 04:47:17,520 that it looks like it was one, you know, 9933 04:47:15,360 --> 04:47:18,958 fluid web page. So, if you were really 9934 04:47:17,520 --> 04:47:20,160 doing this for a product or for a 9935 04:47:18,958 --> 04:47:21,600 business, you'd probably want to prompt 9936 04:47:20,160 --> 04:47:22,958 it with some more information. But, I'm 9937 04:47:21,600 --> 04:47:24,240 just going to show you guys for now how 9938 04:47:22,958 --> 04:47:25,840 this works. I'm going to shoot that off 9939 04:47:24,240 --> 04:47:27,360 in plan mode, and you will see that it 9940 04:47:25,840 --> 04:47:28,798 naturally comes back and asks me some 9941 04:47:27,360 --> 04:47:30,480 questions. Now, if you're wondering how 9942 04:47:28,798 --> 04:47:32,240 I was able to speak right into my cloud 9943 04:47:30,480 --> 04:47:33,760 code, then check the description for my 9944 04:47:32,240 --> 04:47:35,040 tool. Now, one thing you'll notice once 9945 04:47:33,760 --> 04:47:37,440 you read through the way that this works 9946 04:47:35,040 --> 04:47:39,520 is that you will have to have FFmpeg, 9947 04:47:37,440 --> 04:47:41,600 which basically just extracts frames 9948 04:47:39,520 --> 04:47:43,040 from videos. It's a free tool, and if 9949 04:47:41,600 --> 04:47:44,320 you don't have it installed, Claude Code 9950 04:47:43,040 --> 04:47:46,000 will help you install it. It'll just do 9951 04:47:44,320 --> 04:47:47,360 it for you, so don't worry about that. 9952 04:47:46,000 --> 04:47:48,878 But now, you can see it's asking us some 9953 04:47:47,360 --> 04:47:50,240 questions. So, the first one is, what is 9954 04:47:48,878 --> 04:47:51,520 the product name and brand for this 9955 04:47:50,240 --> 04:47:53,280 blender? And I'm just going to go ahead 9956 04:47:51,520 --> 04:47:55,600 and say create fictional branding, just 9957 04:47:53,280 --> 04:47:57,840 like it did for the Vanta 1, which was 9958 04:47:55,600 --> 04:47:59,200 the camera website. Then it says, what 9959 04:47:57,840 --> 04:48:00,400 kind of content sections do you want? 9960 04:47:59,200 --> 04:48:01,760 I'm just going to go with the full 9961 04:48:00,400 --> 04:48:03,840 premium, which is what we've been doing 9962 04:48:01,760 --> 04:48:04,798 for the other example sites. But of 9963 04:48:03,840 --> 04:48:07,200 course, this is where you could 9964 04:48:04,798 --> 04:48:08,878 customize it a little bit to fit your 9965 04:48:07,200 --> 04:48:11,120 needs. And if you've never used Cloud 9966 04:48:08,878 --> 04:48:12,638 Code before, what's happening here is 9967 04:48:11,120 --> 04:48:14,080 you are basically able to look at 9968 04:48:12,638 --> 04:48:16,160 everything that Cloud Code is thinking 9969 04:48:14,080 --> 04:48:17,440 and doing. You can see a task, you can 9970 04:48:16,160 --> 04:48:18,798 see a glob, you can see what it's 9971 04:48:17,440 --> 04:48:20,160 reading, and you'll see later when it 9972 04:48:18,798 --> 04:48:21,840 actually starts implementing things, 9973 04:48:20,160 --> 04:48:23,360 it'll create itself a task list or a 9974 04:48:21,840 --> 04:48:25,440 to-do list, and you can actually watch 9975 04:48:23,360 --> 04:48:27,280 it fulfill those to-dos. So, it's really 9976 04:48:25,440 --> 04:48:29,120 cool. Okay, so now we at the point where 9977 04:48:27,280 --> 04:48:31,360 the plan is done. We've got Obsidian 9978 04:48:29,120 --> 04:48:33,200 Vortex premium blender landing page. 9979 04:48:31,360 --> 04:48:35,440 We've got the brand identity here. So, 9980 04:48:33,200 --> 04:48:37,680 Obsidian, Obsidian Vortex. The tagline 9981 04:48:35,440 --> 04:48:40,240 is annihilate everything. The accent 9982 04:48:37,680 --> 04:48:41,520 color is blood red. And we've got fonts. 9983 04:48:40,240 --> 04:48:43,760 We've got the video details, 9984 04:48:41,520 --> 04:48:45,440 implementation steps. So, here is the 9985 04:48:43,760 --> 04:48:48,080 ffmpeg thing I was talking about. That 9986 04:48:45,440 --> 04:48:50,000 will extract the actual frames. Then it 9987 04:48:48,080 --> 04:48:51,200 will build the HTML. Then it will create 9988 04:48:50,000 --> 04:48:53,520 all these different sections. It will 9989 04:48:51,200 --> 04:48:55,280 build the CSS. It'll build the JS. And 9990 04:48:53,520 --> 04:48:56,798 then it will test locally. So, before 9991 04:48:55,280 --> 04:48:58,160 this actually goes anywhere on the web, 9992 04:48:56,798 --> 04:48:59,440 we will test it right here. And then if 9993 04:48:58,160 --> 04:49:00,798 we're good with it, we can push it to 9994 04:48:59,440 --> 04:49:02,080 the web. And I'll show you guys that at 9995 04:49:00,798 --> 04:49:03,120 the end of the video. So I'm actually 9996 04:49:02,080 --> 04:49:04,798 just going to make one more suggestion 9997 04:49:03,120 --> 04:49:06,560 and then we'll let it start building. I 9998 04:49:04,798 --> 04:49:07,920 want to say this looks pretty much 9999 04:49:06,560 --> 04:49:09,760 there. There's one thing that I forgot 10000 04:49:07,920 --> 04:49:11,840 to mention, which is that I want the 10001 04:49:09,760 --> 04:49:13,440 product video to be kind of right 10002 04:49:11,840 --> 04:49:16,718 aligned. So I want it to be on the right 10003 04:49:13,440 --> 04:49:18,400 2/3 of the page and all the text can be 10004 04:49:16,718 --> 04:49:20,000 left aligned. And this is just to show 10005 04:49:18,400 --> 04:49:21,200 you that you do have control over the 10006 04:49:20,000 --> 04:49:22,240 way it looks. So I'm going to go ahead 10007 04:49:21,200 --> 04:49:24,000 and shoot this off. It's going to come 10008 04:49:22,240 --> 04:49:25,280 back with another plan and I'm going to 10009 04:49:24,000 --> 04:49:26,878 accept it and then I'll check in with 10010 04:49:25,280 --> 04:49:29,120 you guys when we have our first 10011 04:49:26,878 --> 04:49:30,480 iteration of this website done. And by 10012 04:49:29,120 --> 04:49:32,400 the way, now that I've accepted the 10013 04:49:30,480 --> 04:49:33,920 plan, I put it in bypass permissions 10014 04:49:32,400 --> 04:49:35,440 mode so that it can just continue to run 10015 04:49:33,920 --> 04:49:37,200 without stopping all the time to ask me 10016 04:49:35,440 --> 04:49:38,320 questions. Here is the to-do list that I 10017 04:49:37,200 --> 04:49:40,240 talked about. It's going to go through 10018 04:49:38,320 --> 04:49:41,840 and make sure that all of these are good 10019 04:49:40,240 --> 04:49:43,440 to go. All right, so in just a few 10020 04:49:41,840 --> 04:49:44,878 minutes that came back and it says, as 10021 04:49:43,440 --> 04:49:46,638 you can see, the site is live at 10022 04:49:44,878 --> 04:49:48,320 localhost. Open it up in your browser 10023 04:49:46,638 --> 04:49:49,840 and check it out. So let me go ahead and 10024 04:49:48,320 --> 04:49:51,120 open this up and we will see what we 10025 04:49:49,840 --> 04:49:52,958 got. So, you just saw the Obsidian 10026 04:49:51,120 --> 04:49:54,958 loading. We've got Obsidian Vortex. It 10027 04:49:52,958 --> 04:49:56,160 looks really clean so far. Now, let's 10028 04:49:54,958 --> 04:49:58,798 see what happens when I start to scroll 10029 04:49:56,160 --> 04:50:00,560 down. So, we see the blender starts to 10030 04:49:58,798 --> 04:50:02,080 appear. Nice. And as I continue to 10031 04:50:00,560 --> 04:50:03,920 scroll, we have we didn't build another 10032 04:50:02,080 --> 04:50:06,160 blender. We engineered a force of nature 10033 04:50:03,920 --> 04:50:08,000 that reduces anything to nothing in 10034 04:50:06,160 --> 04:50:09,360 absolute silence. As I keep scrolling, 10035 04:50:08,000 --> 04:50:11,440 we can see that the fruit is starting to 10036 04:50:09,360 --> 04:50:13,680 appear. So, we've got meet the obsidian 10037 04:50:11,440 --> 04:50:15,200 vortex machine from aerospace grade 10038 04:50:13,680 --> 04:50:17,040 stainless steel blah blah blah. There's 10039 04:50:15,200 --> 04:50:19,600 also text in the background as you can 10040 04:50:17,040 --> 04:50:21,440 see that says I think it says obliterate 10041 04:50:19,600 --> 04:50:24,560 everything. So that's pretty cool. We've 10042 04:50:21,440 --> 04:50:25,840 got brushless motor. We've got titanium 10043 04:50:24,560 --> 04:50:27,120 blade array. So that actually kind of 10044 04:50:25,840 --> 04:50:29,120 pops in a little bit late as you can 10045 04:50:27,120 --> 04:50:31,280 see. As I'm scrolling it pops in a bit 10046 04:50:29,120 --> 04:50:33,280 late. This one comes through. And then 10047 04:50:31,280 --> 04:50:35,200 we've got these stats that come up. 10048 04:50:33,280 --> 04:50:36,798 Really nice. And then we have the last 10049 04:50:35,200 --> 04:50:39,120 blender you'll ever own. And then I 10050 04:50:36,798 --> 04:50:40,958 should have the CTA right here which is 10051 04:50:39,120 --> 04:50:42,718 own the force. Pre-order the Obsidian 10052 04:50:40,958 --> 04:50:45,040 Vortex. So let's just actually think 10053 04:50:42,718 --> 04:50:47,360 about that. I dropped in a prompt that 10054 04:50:45,040 --> 04:50:49,600 said, "Here's a video. Create a onepage 10055 04:50:47,360 --> 04:50:51,680 landing page." That was basically it. It 10056 04:50:49,600 --> 04:50:54,000 used the skill and it created a plan for 10057 04:50:51,680 --> 04:50:55,680 us. And then we actually had a website 10058 04:50:54,000 --> 04:50:56,958 where pretty much everything is perfect. 10059 04:50:55,680 --> 04:50:59,120 Obviously, there's a few things that we 10060 04:50:56,958 --> 04:51:01,040 need to iterate upon, but this is super 10061 04:50:59,120 --> 04:51:02,878 super clean and the animation I think 10062 04:51:01,040 --> 04:51:04,240 looks really good. But the the biggest 10063 04:51:02,878 --> 04:51:06,798 problem that I'm noticing is right here 10064 04:51:04,240 --> 04:51:08,240 when we scroll to number two feature, we 10065 04:51:06,798 --> 04:51:09,760 really don't get to see it unless we 10066 04:51:08,240 --> 04:51:10,878 scroll back down. So, what I'm going to 10067 04:51:09,760 --> 04:51:12,958 do now is I'm going to go ahead and 10068 04:51:10,878 --> 04:51:14,798 clear this out because we're at 53% 10069 04:51:12,958 --> 04:51:16,400 context, so I don't want to mess with 10070 04:51:14,798 --> 04:51:18,080 context rot. And I'm going to once again 10071 04:51:16,400 --> 04:51:21,200 go back into plan mode. All right. So, I 10072 04:51:18,080 --> 04:51:22,718 just tested out the Blender website and 10073 04:51:21,200 --> 04:51:24,638 it looks really good. I do have one 10074 04:51:22,718 --> 04:51:26,878 piece of feedback though. When we're 10075 04:51:24,638 --> 04:51:28,560 scrolling down and we see the features, 10076 04:51:26,878 --> 04:51:30,718 feature number two doesn't actually 10077 04:51:28,560 --> 04:51:32,638 appear until it's basically off the 10078 04:51:30,718 --> 04:51:35,040 screen. So, we need that to actually 10079 04:51:32,638 --> 04:51:36,798 come into view a bit earlier. But 10080 04:51:35,040 --> 04:51:38,400 besides that, all the other features, 10081 04:51:36,798 --> 04:51:39,920 features 1, three, and four are working 10082 04:51:38,400 --> 04:51:41,360 well. So, I'll shoot that off. And while 10083 04:51:39,920 --> 04:51:42,480 it's coming up with a plan, I just want 10084 04:51:41,360 --> 04:51:44,240 to make sure that that was accurate. 10085 04:51:42,480 --> 04:51:45,760 Feature three looks good. And we don't 10086 04:51:44,240 --> 04:51:47,440 even have feature four. So, hopefully it 10087 04:51:45,760 --> 04:51:49,280 can understand, read through the code, 10088 04:51:47,440 --> 04:51:50,400 and see what's going on. So, while this 10089 04:51:49,280 --> 04:51:52,000 is creating a plan, I thought that I 10090 04:51:50,400 --> 04:51:54,320 would real quick explain the difference 10091 04:51:52,000 --> 04:51:55,600 between local host and actually having 10092 04:51:54,320 --> 04:51:57,040 something on the web. Because if you've 10093 04:51:55,600 --> 04:51:59,840 never built a website before in cloud 10094 04:51:57,040 --> 04:52:01,040 code, that part might not click yet. So, 10095 04:51:59,840 --> 04:52:02,400 what happens is we kind of have two 10096 04:52:01,040 --> 04:52:04,080 different environments. We've got our 10097 04:52:02,400 --> 04:52:05,680 local computer and then we've got the 10098 04:52:04,080 --> 04:52:07,120 actual cloud. So remember when cloud 10099 04:52:05,680 --> 04:52:08,958 code said, "Hey, cool. Your website's 10100 04:52:07,120 --> 04:52:12,080 live. You can go ahead and test it on 10101 04:52:08,958 --> 04:52:13,760 localhost port 51006." 10102 04:52:12,080 --> 04:52:15,520 If you right now typed this into your 10103 04:52:13,760 --> 04:52:17,840 browser, you'd probably get nothing. But 10104 04:52:15,520 --> 04:52:19,840 I can type it in because it lives on my 10105 04:52:17,840 --> 04:52:22,480 machine locally because what's going on 10106 04:52:19,840 --> 04:52:23,840 is cloud code is helping us write all of 10107 04:52:22,480 --> 04:52:25,840 the actual code because that's really 10108 04:52:23,840 --> 04:52:28,480 what a website is. It's a bunch of code. 10109 04:52:25,840 --> 04:52:30,560 Whether that's HTML or JS or CSS or 10110 04:52:28,480 --> 04:52:32,080 whatever it is, it's code. And so what 10111 04:52:30,560 --> 04:52:33,840 we're doing right now is we're using it 10112 04:52:32,080 --> 04:52:35,120 to build code and then we're testing it. 10113 04:52:33,840 --> 04:52:37,200 And then we're going back and forth on 10114 04:52:35,120 --> 04:52:39,120 our computer until we're good. And then 10115 04:52:37,200 --> 04:52:40,798 once we actually like the code, we push 10116 04:52:39,120 --> 04:52:43,200 it to somewhere on the cloud so that it 10117 04:52:40,798 --> 04:52:44,958 can actually be viewed by other people. 10118 04:52:43,200 --> 04:52:46,320 So I'll cover this pipeline once we 10119 04:52:44,958 --> 04:52:47,600 actually get to that stage in the video. 10120 04:52:46,320 --> 04:52:49,440 But I thought that I would address this 10121 04:52:47,600 --> 04:52:51,040 kind of like local thing first real 10122 04:52:49,440 --> 04:52:52,480 quick. All right. You can see it came 10123 04:52:51,040 --> 04:52:53,920 back with a plan to fix the Blender 10124 04:52:52,480 --> 04:52:55,120 feature number two late appearance. I'm 10125 04:52:53,920 --> 04:52:56,480 just going to go ahead and accept this. 10126 04:52:55,120 --> 04:52:57,680 Okay. So it did that really fast. I'm 10127 04:52:56,480 --> 04:52:59,840 going to click into this website and 10128 04:52:57,680 --> 04:53:02,160 we'll see if that fix has actually been 10129 04:52:59,840 --> 04:53:04,240 changed. We've got feature one. We've 10130 04:53:02,160 --> 04:53:05,600 got feature two. There we go. And we've 10131 04:53:04,240 --> 04:53:08,000 got feature three. And everything else 10132 04:53:05,600 --> 04:53:09,680 still looks intact with the site. So all 10133 04:53:08,000 --> 04:53:11,280 of the magic that's happening here is 10134 04:53:09,680 --> 04:53:13,200 once again within the skill that I 10135 04:53:11,280 --> 04:53:14,798 built. So it is the video to website 10136 04:53:13,200 --> 04:53:16,480 skill. If I open this up, this is 10137 04:53:14,798 --> 04:53:18,560 basically just a markdown file and it 10138 04:53:16,480 --> 04:53:20,320 says turn a video into a premium scroll 10139 04:53:18,560 --> 04:53:22,080 driven animated website. So this is 10140 04:53:20,320 --> 04:53:24,000 where all the secret sauce really lives 10141 04:53:22,080 --> 04:53:26,560 on how it actually does this. I know 10142 04:53:24,000 --> 04:53:28,400 that this is a pretty beefy skill, but 10143 04:53:26,560 --> 04:53:30,080 hey, I mean, it seems to be working 10144 04:53:28,400 --> 04:53:31,440 pretty well. And what you can do now is 10145 04:53:30,080 --> 04:53:33,280 every time you're using this skill to 10146 04:53:31,440 --> 04:53:35,280 build websites, you would just say, 10147 04:53:33,280 --> 04:53:36,400 "Awesome. Here's what I told you to fix. 10148 04:53:35,280 --> 04:53:37,920 Here's what I like. Here's what I don't 10149 04:53:36,400 --> 04:53:40,080 like. Make sure that all of this is 10150 04:53:37,920 --> 04:53:41,360 reflected on the skill.md." So 10151 04:53:40,080 --> 04:53:42,958 essentially, every single time that you 10152 04:53:41,360 --> 04:53:45,360 build a website with this skill, the 10153 04:53:42,958 --> 04:53:47,840 skill gets better and better and better. 10154 04:53:45,360 --> 04:53:49,760 Now, we have our code that we like, and 10155 04:53:47,840 --> 04:53:50,958 it's time to push it over here. So, what 10156 04:53:49,760 --> 04:53:53,440 we need to do is we're going to use a 10157 04:53:50,958 --> 04:53:56,000 combination of GitHub and Versel. GitHub 10158 04:53:53,440 --> 04:53:57,200 basically just lets us store code. So 10159 04:53:56,000 --> 04:53:58,958 basically the same way you would have 10160 04:53:57,200 --> 04:54:00,560 maybe like a word file locally on your 10161 04:53:58,958 --> 04:54:01,600 computer. If you wanted other people to 10162 04:54:00,560 --> 04:54:04,718 be able to use that, you would have to 10163 04:54:01,600 --> 04:54:06,240 put that on one drive or you know uh 10164 04:54:04,718 --> 04:54:07,520 Google doc so that other people could 10165 04:54:06,240 --> 04:54:09,360 look at the different versions and 10166 04:54:07,520 --> 04:54:11,840 collaborate on it. And then what happens 10167 04:54:09,360 --> 04:54:13,600 is we sync up Verscell to our GitHub so 10168 04:54:11,840 --> 04:54:15,680 that we can actually deploy that code 10169 04:54:13,600 --> 04:54:17,600 onto a real URL so that it's no longer 10170 04:54:15,680 --> 04:54:19,200 just like a local host URL. First thing 10171 04:54:17,600 --> 04:54:20,718 you want to do is go over to GitHub and 10172 04:54:19,200 --> 04:54:22,878 create an account. It's completely free 10173 04:54:20,718 --> 04:54:24,718 and it has been around for tons and tons 10174 04:54:22,878 --> 04:54:26,160 of years. It is a industry standard for 10175 04:54:24,718 --> 04:54:27,280 code. And then the second thing that 10176 04:54:26,160 --> 04:54:28,798 you're going to do is go over to 10177 04:54:27,280 --> 04:54:30,480 Verscell and create an account over here 10178 04:54:28,798 --> 04:54:32,320 as well. So what's cool is we can 10179 04:54:30,480 --> 04:54:33,840 basically have cloud code do this entire 10180 04:54:32,320 --> 04:54:35,600 pipeline for us. It's super super 10181 04:54:33,840 --> 04:54:37,440 simple. So if you haven't yet connected 10182 04:54:35,600 --> 04:54:38,718 your cloud code to your GitHub, you 10183 04:54:37,440 --> 04:54:41,120 would just come in here, maybe clear out 10184 04:54:38,718 --> 04:54:43,360 the conversation and say help me connect 10185 04:54:41,120 --> 04:54:45,840 to GitHub so that I can push this code 10186 04:54:43,360 --> 04:54:47,360 base to my GitHub repository. And what 10187 04:54:45,840 --> 04:54:49,680 it can do is it can help you basically 10188 04:54:47,360 --> 04:54:51,200 use the CLI to authenticate. Meaning it 10189 04:54:49,680 --> 04:54:52,560 will basically just have a popup for you 10190 04:54:51,200 --> 04:54:54,080 and all you have to do is sign in. It's 10191 04:54:52,560 --> 04:54:55,600 super simple. So here you can see it 10192 04:54:54,080 --> 04:54:57,920 says you're already authenticated with 10193 04:54:55,600 --> 04:55:00,718 GitHub as Nate Herkai. Nice. Now the 10194 04:54:57,920 --> 04:55:02,480 next step is to say awesome. Now let's 10195 04:55:00,718 --> 04:55:04,080 go ahead and create a new GitHub 10196 04:55:02,480 --> 04:55:06,878 repository for me. You can just call it 10197 04:55:04,080 --> 04:55:08,560 blender- website and push the codebase 10198 04:55:06,878 --> 04:55:10,560 for the Blender website into that 10199 04:55:08,560 --> 04:55:12,480 repository. Now because we're pushing 10200 04:55:10,560 --> 04:55:13,760 something to GitHub and because it's 10201 04:55:12,480 --> 04:55:15,280 going to go on the web, this is where 10202 04:55:13,760 --> 04:55:17,520 you'd want to be careful if you had like 10203 04:55:15,280 --> 04:55:19,040 API keys or anything sensitive in there. 10204 04:55:17,520 --> 04:55:20,878 In this case, we have literally nothing 10205 04:55:19,040 --> 04:55:22,638 to worry about, but that is something 10206 04:55:20,878 --> 04:55:24,320 just to keep in mind. All right, nice. 10207 04:55:22,638 --> 04:55:25,920 So, your Blender website is now live on 10208 04:55:24,320 --> 04:55:27,200 GitHub. Here's everything that it did. 10209 04:55:25,920 --> 04:55:28,958 And it also says if you want to connect 10210 04:55:27,200 --> 04:55:30,958 this to Verscell for auto deploys, you 10211 04:55:28,958 --> 04:55:32,958 can import the repo from the Versell 10212 04:55:30,958 --> 04:55:35,280 dashboard. So, first let's just check in 10213 04:55:32,958 --> 04:55:36,798 on this GitHub repo. We can see that 10214 04:55:35,280 --> 04:55:38,080 this has been set up. We have one 10215 04:55:36,798 --> 04:55:39,840 commit, which is the one that we just 10216 04:55:38,080 --> 04:55:41,440 did. And that's important because every 10217 04:55:39,840 --> 04:55:42,878 time we make a change, we can see 10218 04:55:41,440 --> 04:55:44,160 exactly what happened to the code here. 10219 04:55:42,878 --> 04:55:45,920 Now, what you'll notice is that this is 10220 04:55:44,160 --> 04:55:47,040 a public repository. You could go into 10221 04:55:45,920 --> 04:55:48,480 the settings and you could make this 10222 04:55:47,040 --> 04:55:50,638 private and it would still be able to 10223 04:55:48,480 --> 04:55:52,160 auto deploy to Verscell, no problem. And 10224 04:55:50,638 --> 04:55:54,160 now that we're in Versell, all I have to 10225 04:55:52,160 --> 04:55:55,920 do is come here to projects and click on 10226 04:55:54,160 --> 04:55:57,360 add new. And then what you'll notice is 10227 04:55:55,920 --> 04:55:59,440 right here because I've signed into 10228 04:55:57,360 --> 04:56:01,200 Verscell with my GitHub, it says import 10229 04:55:59,440 --> 04:56:03,200 GitHub repository. And all I can do is 10230 04:56:01,200 --> 04:56:04,958 choose right here blender- website. 10231 04:56:03,200 --> 04:56:06,638 Click import. And this is automatically 10232 04:56:04,958 --> 04:56:08,240 just going to build up this site for us. 10233 04:56:06,638 --> 04:56:10,000 So I'll hit deploy. And then we'll let 10234 04:56:08,240 --> 04:56:12,560 this spin up. And I'll show you guys 10235 04:56:10,000 --> 04:56:14,400 that this is now accessible on the web. 10236 04:56:12,560 --> 04:56:15,840 Awesome. So, you just deployed a new 10237 04:56:14,400 --> 04:56:17,280 project to Nate Her projects. Let's go 10238 04:56:15,840 --> 04:56:18,240 ahead and continue into the dashboard 10239 04:56:17,280 --> 04:56:19,440 here. All right. So, something 10240 04:56:18,240 --> 04:56:21,440 interesting just happened and I'm glad 10241 04:56:19,440 --> 04:56:24,400 it did so I can show you guys how to fix 10242 04:56:21,440 --> 04:56:25,840 it. So, our project is now here on 10243 04:56:24,400 --> 04:56:27,520 Versell and when I click into the 10244 04:56:25,840 --> 04:56:29,040 domain, everything seems to load up, 10245 04:56:27,520 --> 04:56:30,638 right? Right. We've got Obsidian Vortex. 10246 04:56:29,040 --> 04:56:32,798 We see the animations come through, but 10247 04:56:30,638 --> 04:56:34,718 as I start to scroll, where's our 10248 04:56:32,798 --> 04:56:36,080 Blender? We still get the text coming 10249 04:56:34,718 --> 04:56:37,600 through. We still get all these 10250 04:56:36,080 --> 04:56:39,360 animations that we were looking for, but 10251 04:56:37,600 --> 04:56:41,200 our Blender is not there. So what 10252 04:56:39,360 --> 04:56:44,080 happened was when it pushed this GitHub 10253 04:56:41,200 --> 04:56:45,280 repo, it excluded the frames. So if I 10254 04:56:44,080 --> 04:56:47,040 come over to the lefth hand side and we 10255 04:56:45,280 --> 04:56:48,560 go to our Blender project and we open up 10256 04:56:47,040 --> 04:56:50,080 the frames, you can see that all of 10257 04:56:48,560 --> 04:56:51,840 these were grayed out, which basically 10258 04:56:50,080 --> 04:56:54,160 means everything got pushed to GitHub in 10259 04:56:51,840 --> 04:56:55,600 this folder except for the frames, which 10260 04:56:54,160 --> 04:56:57,280 means when the site tries to render it, 10261 04:56:55,600 --> 04:56:58,878 there's no frames to actually render. So 10262 04:56:57,280 --> 04:57:00,638 what I did is I said, "Okay, that didn't 10263 04:56:58,878 --> 04:57:02,240 work. You need to have the frames in the 10264 04:57:00,638 --> 04:57:03,280 codebase so that it can actually use it. 10265 04:57:02,240 --> 04:57:05,280 Otherwise, the animation just 10266 04:57:03,280 --> 04:57:07,360 disappears." So I told it to update 10267 04:57:05,280 --> 04:57:09,120 those changes, make another push. It 10268 04:57:07,360 --> 04:57:11,440 fixed that and then basically it came 10269 04:57:09,120 --> 04:57:13,520 back and said okay I did that now the 10270 04:57:11,440 --> 04:57:14,878 frames are in the GitHub repo. If I go 10271 04:57:13,520 --> 04:57:16,560 to the GitHub repo you can see that we 10272 04:57:14,878 --> 04:57:18,320 now have two commits. If I click into 10273 04:57:16,560 --> 04:57:20,638 the commits you can see nice the second 10274 04:57:18,320 --> 04:57:22,878 one added animation frames for Verscell 10275 04:57:20,638 --> 04:57:24,560 deployment. And then in Verscell if I go 10276 04:57:22,878 --> 04:57:25,920 to deployments you can see that we had 10277 04:57:24,560 --> 04:57:27,600 two. We had this current one that I 10278 04:57:25,920 --> 04:57:28,958 rolled back to so I could show you guys 10279 04:57:27,600 --> 04:57:31,360 and then we have this main production 10280 04:57:28,958 --> 04:57:33,520 one which I could go to and we could 10281 04:57:31,360 --> 04:57:34,798 actually roll up to this one. So I could 10282 04:57:33,520 --> 04:57:36,798 click on these three dots and then click 10283 04:57:34,798 --> 04:57:38,958 on redeploy. And now that I have 10284 04:57:36,798 --> 04:57:40,878 redeployed, if I open up this Blender 10285 04:57:38,958 --> 04:57:42,400 website one more time and we come down 10286 04:57:40,878 --> 04:57:43,760 and we start to scroll, we can now see 10287 04:57:42,400 --> 04:57:45,440 that the frames are being rendered and 10288 04:57:43,760 --> 04:57:47,680 we still have all of the animations that 10289 04:57:45,440 --> 04:57:49,520 we had built. And now the site is 10290 04:57:47,680 --> 04:57:50,798 actually ready to go. And just to prove 10291 04:57:49,520 --> 04:57:52,638 to you guys that this really is on the 10292 04:57:50,798 --> 04:57:54,480 cloud, you can see on my phone we have 10293 04:57:52,638 --> 04:57:56,000 the Blender website with the animations. 10294 04:57:54,480 --> 04:57:57,600 Now, obviously, this hasn't been yet 10295 04:57:56,000 --> 04:57:59,360 optimized for mobile, which would kind 10296 04:57:57,600 --> 04:58:01,760 of be the next step, but you can see the 10297 04:57:59,360 --> 04:58:03,520 animations are still here. And if it 10298 04:58:01,760 --> 04:58:05,760 hasn't quite stuck yet, here's the 10299 04:58:03,520 --> 04:58:07,600 advantage of doing it like this. Now 10300 04:58:05,760 --> 04:58:09,200 that we have our site on the web, which 10301 04:58:07,600 --> 04:58:10,798 maybe customers would be looking at and 10302 04:58:09,200 --> 04:58:12,160 interfacing with, what if we wanted to 10303 04:58:10,798 --> 04:58:14,080 change something like the colors or 10304 04:58:12,160 --> 04:58:15,200 maybe even change the animation, we 10305 04:58:14,080 --> 04:58:16,878 don't want to be changing what's 10306 04:58:15,200 --> 04:58:18,958 actually out there in production in real 10307 04:58:16,878 --> 04:58:20,560 time. So, we can change the code, we can 10308 04:58:18,958 --> 04:58:22,160 test on a local host, and then once 10309 04:58:20,560 --> 04:58:23,440 we're finally good with it, we push it 10310 04:58:22,160 --> 04:58:25,360 to GitHub and then it automatically 10311 04:58:23,440 --> 04:58:27,440 syncs to our real domain. So, that way 10312 04:58:25,360 --> 04:58:29,040 we have basically a testing environment, 10313 04:58:27,440 --> 04:58:30,878 a staging environment, and then we have 10314 04:58:29,040 --> 04:58:32,480 our actual production website. And what 10315 04:58:30,878 --> 04:58:34,480 you guys saw is that this literally took 10316 04:58:32,480 --> 04:58:36,080 me like 30 minutes. And obviously if I 10317 04:58:34,480 --> 04:58:37,600 spend another 30 minutes, the site could 10318 04:58:36,080 --> 04:58:38,958 be like five times better. And this is 10319 04:58:37,600 --> 04:58:40,638 crazy because there's so many businesses 10320 04:58:38,958 --> 04:58:42,878 out there, whether they're local in your 10321 04:58:40,638 --> 04:58:44,638 area or you know, you look online that 10322 04:58:42,878 --> 04:58:45,760 have horrible websites because they 10323 04:58:44,638 --> 04:58:47,760 don't want to prioritize it or they 10324 04:58:45,760 --> 04:58:49,520 don't want to pay some web design agency 10325 04:58:47,760 --> 04:58:51,040 tens of thousands of dollars for a new 10326 04:58:49,520 --> 04:58:52,638 website. That could also take 10327 04:58:51,040 --> 04:58:54,240 potentially months. Whereas what you 10328 04:58:52,638 --> 04:58:55,440 could do is you could find prospects. 10329 04:58:54,240 --> 04:58:56,798 You could find some sort of niche. So 10330 04:58:55,440 --> 04:58:58,878 let's say you want to design websites 10331 04:58:56,798 --> 04:59:00,638 for blender companies. You could build a 10332 04:58:58,878 --> 04:59:02,240 demo site similar to this, right? Like 10333 04:59:00,638 --> 04:59:03,920 you could build something like this in 10334 04:59:02,240 --> 04:59:05,840 one day if you sat down and you wanted 10335 04:59:03,920 --> 04:59:07,520 to make it really really good. And then 10336 04:59:05,840 --> 04:59:08,878 you email them the link or you walk in 10337 04:59:07,520 --> 04:59:10,718 and you show them and say I can build 10338 04:59:08,878 --> 04:59:12,718 this for you with your products with 10339 04:59:10,718 --> 04:59:14,878 your copy and I can get that to you in 2 10340 04:59:12,718 --> 04:59:16,798 days and I can charge you know $5 to 10341 04:59:14,878 --> 04:59:18,878 $10,000 which is a lot cheaper than they 10342 04:59:16,798 --> 04:59:20,400 might get with other vendors. And then 10343 04:59:18,878 --> 04:59:21,520 of course on top of that you could do 10344 04:59:20,400 --> 04:59:23,200 monthly hosting, you could have 10345 04:59:21,520 --> 04:59:24,798 maintenance which is recurring revenue, 10346 04:59:23,200 --> 04:59:26,400 but it also ensures for them that if 10347 04:59:24,798 --> 04:59:27,920 they need any different features, you 10348 04:59:26,400 --> 04:59:29,440 can fix that codebase and you can push 10349 04:59:27,920 --> 04:59:31,760 that all up there because you understand 10350 04:59:29,440 --> 04:59:33,200 how this all works now. So maybe you 10351 04:59:31,760 --> 04:59:34,718 don't like the style of how I'm doing 10352 04:59:33,200 --> 04:59:36,080 this with the different, you know, text 10353 04:59:34,718 --> 04:59:37,840 coming through and maybe like this 10354 04:59:36,080 --> 04:59:40,000 animation overlay thing, then just 10355 04:59:37,840 --> 04:59:41,680 update the skill so that your cloud code 10356 04:59:40,000 --> 04:59:43,600 doesn't actually do that. And once you 10357 04:59:41,680 --> 04:59:45,120 now actually understand how all we're 10358 04:59:43,600 --> 04:59:46,878 doing is we're turning videos into a 10359 04:59:45,120 --> 04:59:48,560 bunch of frames and then having it 10360 04:59:46,878 --> 04:59:49,840 scroll through, you'll be able to do so 10361 04:59:48,560 --> 04:59:52,080 much more because it doesn't just have 10362 04:59:49,840 --> 04:59:54,240 to be product spinning or you know X-ray 10363 04:59:52,080 --> 04:59:55,840 vision. It can be words. It can be like 10364 04:59:54,240 --> 04:59:57,600 walking. It can be whatever you want. 10365 04:59:55,840 --> 04:59:58,958 You can also you can go to this website 10366 04:59:57,600 --> 05:00:01,040 awards with three Ws for some 10367 04:59:58,958 --> 05:00:05,280 inspiration on animations. It is super 10368 05:00:01,040 --> 05:00:07,120 super cool what people are doing here. 10369 05:00:05,280 --> 05:00:08,560 So Cloud Code is insanely smart. We've 10370 05:00:07,120 --> 05:00:10,240 got Opus that's kind of behind the 10371 05:00:08,560 --> 05:00:11,920 scenes. It's the chat model that runs 10372 05:00:10,240 --> 05:00:15,120 all of the, you know, thinking and 10373 05:00:11,920 --> 05:00:17,120 planning and coding, but it's limited 10374 05:00:15,120 --> 05:00:19,600 because without having, you know, web 10375 05:00:17,120 --> 05:00:21,840 search or without having APIs or other 10376 05:00:19,600 --> 05:00:23,840 elements of bringing in live data or 10377 05:00:21,840 --> 05:00:25,600 your specific data, it's going to be 10378 05:00:23,840 --> 05:00:26,958 very general. So, this section I'm just 10379 05:00:25,600 --> 05:00:29,200 going to show you a few tips and tricks 10380 05:00:26,958 --> 05:00:31,600 when it comes to using things like APIs 10381 05:00:29,200 --> 05:00:33,120 and MCP servers. So, let's go ahead and 10382 05:00:31,600 --> 05:00:34,240 jump straight in. Today, I'm going to 10383 05:00:33,120 --> 05:00:36,480 show you guys how you can take any 10384 05:00:34,240 --> 05:00:38,080 website and turn it into LM ready data 10385 05:00:36,480 --> 05:00:39,840 in seconds. We're going to be able to 10386 05:00:38,080 --> 05:00:41,440 take any website and fully scrape 10387 05:00:39,840 --> 05:00:43,120 everything from it. We can get all the 10388 05:00:41,440 --> 05:00:45,120 screenshots, the branding. We can map 10389 05:00:43,120 --> 05:00:46,798 out the entire site. We can extract the 10390 05:00:45,120 --> 05:00:47,920 data in any form we want. We can pretty 10391 05:00:46,798 --> 05:00:49,200 much do it all. And we're going to be 10392 05:00:47,920 --> 05:00:51,440 doing all of this through cloud code 10393 05:00:49,200 --> 05:00:52,480 using a tool called Firecrawl, which I'm 10394 05:00:51,440 --> 05:00:54,160 sure you guys might have heard of 10395 05:00:52,480 --> 05:00:55,440 before. So, within Firecrawl, there's a 10396 05:00:54,160 --> 05:00:57,040 lot of different things that we can do. 10397 05:00:55,440 --> 05:00:59,200 We can scrape content, so get everything 10398 05:00:57,040 --> 05:01:00,400 from the page. We can map out a site, so 10399 05:00:59,200 --> 05:01:02,080 get all the different URLs and 10400 05:01:00,400 --> 05:01:04,160 understand the architecture of that 10401 05:01:02,080 --> 05:01:06,000 website. We can crawl it, so then 10402 05:01:04,160 --> 05:01:07,680 explore all of those pages. we can 10403 05:01:06,000 --> 05:01:09,200 actually search. So do like a web search 10404 05:01:07,680 --> 05:01:10,878 first and then scrape the data which 10405 05:01:09,200 --> 05:01:13,600 means that we can turn pages into 10406 05:01:10,878 --> 05:01:14,958 structured content for us to use however 10407 05:01:13,600 --> 05:01:16,320 we want. Now the thing about this is 10408 05:01:14,958 --> 05:01:17,760 there are a lot of different endpoints 10409 05:01:16,320 --> 05:01:19,680 to hit if you were doing this through 10410 05:01:17,760 --> 05:01:21,280 traditional like API calls. So we're 10411 05:01:19,680 --> 05:01:22,638 going to be using the MCP server for 10412 05:01:21,280 --> 05:01:24,560 firecrawl. We're going to give that to 10413 05:01:22,638 --> 05:01:26,638 claude code so it can figure out based 10414 05:01:24,560 --> 05:01:28,638 on Nate's natural language request which 10415 05:01:26,638 --> 05:01:30,718 of these tools do I invoke and in which 10416 05:01:28,638 --> 05:01:32,080 order do I use them to actually get the 10417 05:01:30,718 --> 05:01:33,680 end result that he's looking for. So, 10418 05:01:32,080 --> 05:01:35,040 just to start off with a quick example, 10419 05:01:33,680 --> 05:01:36,958 I'm going to use Firecrawl in the 10420 05:01:35,040 --> 05:01:38,958 playground, which is just on the web on 10421 05:01:36,958 --> 05:01:40,080 firecrawl.dev. You guys can get here 10422 05:01:38,958 --> 05:01:41,360 using the link in the description. You 10423 05:01:40,080 --> 05:01:42,718 can get on the free plan, which is more 10424 05:01:41,360 --> 05:01:44,000 than enough to just play around. And 10425 05:01:42,718 --> 05:01:45,120 then when you're ready to upgrade, use 10426 05:01:44,000 --> 05:01:47,440 the link in the description, and you can 10427 05:01:45,120 --> 05:01:49,440 get 10% off a plan. But anyways, I'm 10428 05:01:47,440 --> 05:01:52,160 going to go to Upai, and I'm going to 10429 05:01:49,440 --> 05:01:54,000 copy this URL, paste that in here, and 10430 05:01:52,160 --> 05:01:55,440 I'm going to run a scrape. But first, we 10431 05:01:54,000 --> 05:01:56,798 have to choose the format. So, by 10432 05:01:55,440 --> 05:01:58,080 default, it'll pretty much say, okay, 10433 05:01:56,798 --> 05:01:59,920 we're going to turn this website into 10434 05:01:58,080 --> 05:02:02,000 markdown for you. But what you could 10435 05:01:59,920 --> 05:02:04,080 also do is get an AI generated summary. 10436 05:02:02,000 --> 05:02:05,760 You get all the links. You get HTML. You 10437 05:02:04,080 --> 05:02:07,120 could get a screenshot of the full page. 10438 05:02:05,760 --> 05:02:08,638 You could get the branding scraped so 10439 05:02:07,120 --> 05:02:10,080 you can understand like the logo and the 10440 05:02:08,638 --> 05:02:11,520 images and stuff like that. So I'm going 10441 05:02:10,080 --> 05:02:12,958 to go ahead and start the scrape. And 10442 05:02:11,520 --> 05:02:14,878 what we'll see is it'll pop up down 10443 05:02:12,958 --> 05:02:16,160 below and we'll get all of this data. So 10444 05:02:14,878 --> 05:02:17,920 that just finished up. We can see first 10445 05:02:16,160 --> 05:02:19,760 of all we have markdowns. So we get the 10446 05:02:17,920 --> 05:02:21,120 actual like hero text. We get all of 10447 05:02:19,760 --> 05:02:23,280 this stuff up here. We've got the 10448 05:02:21,120 --> 05:02:25,440 process. We have the testimonials, get 10449 05:02:23,280 --> 05:02:27,440 in touch, all of this kind of stuff. We 10450 05:02:25,440 --> 05:02:29,520 have an AI generated summary of what the 10451 05:02:27,440 --> 05:02:31,520 business aims to do. We've got a 10452 05:02:29,520 --> 05:02:33,360 screenshot of the entire page. As you 10453 05:02:31,520 --> 05:02:35,520 can see, we've got branding information. 10454 05:02:33,360 --> 05:02:37,600 So, the OG image, the favicon, the logo, 10455 05:02:35,520 --> 05:02:39,680 colors, typography, stuff like that. And 10456 05:02:37,600 --> 05:02:41,520 then we also have the JSON if for some 10457 05:02:39,680 --> 05:02:43,680 reason you're crazy enough to want to 10458 05:02:41,520 --> 05:02:45,360 read this. So, like I said, we're going 10459 05:02:43,680 --> 05:02:46,958 to get this into cloud code. So, I'm 10460 05:02:45,360 --> 05:02:48,240 going to click on the docs and on the 10461 05:02:46,958 --> 05:02:50,320 right hand side or on the lefth hand 10462 05:02:48,240 --> 05:02:51,920 side, we can see MCP server right here. 10463 05:02:50,320 --> 05:02:53,600 And then what we want to look for is 10464 05:02:51,920 --> 05:02:55,920 running this on cloud code as you can 10465 05:02:53,600 --> 05:02:57,920 see right here. And now this gives us 10466 05:02:55,920 --> 05:02:59,440 basically just this one line to put into 10467 05:02:57,920 --> 05:03:01,600 cloud code and it will be able to 10468 05:02:59,440 --> 05:03:03,360 install this for us. So I'm just going 10469 05:03:01,600 --> 05:03:04,878 to go ahead and copy this. I'm going to 10470 05:03:03,360 --> 05:03:06,798 go into VS Code and we're going to start 10471 05:03:04,878 --> 05:03:08,400 up a new project and get everything 10472 05:03:06,798 --> 05:03:09,840 initialized. So if you've never actually 10473 05:03:08,400 --> 05:03:10,878 been in VS Code or worked with cloud 10474 05:03:09,840 --> 05:03:12,320 code, then I'm going to link a video 10475 05:03:10,878 --> 05:03:13,440 right up here. It'll get you caught up 10476 05:03:12,320 --> 05:03:14,958 and then you can come back over here 10477 05:03:13,440 --> 05:03:17,120 when you are ready. So what I'm going to 10478 05:03:14,958 --> 05:03:18,160 do is open up a folder. So I'm just 10479 05:03:17,120 --> 05:03:19,760 going to open up a project called 10480 05:03:18,160 --> 05:03:21,120 scraper. There's nothing in here. It's a 10481 05:03:19,760 --> 05:03:22,878 completely new project. So this is what 10482 05:03:21,120 --> 05:03:24,958 your guys' setup should look like. 10483 05:03:22,878 --> 05:03:26,480 Lefthand side, nothing. right-and side, 10484 05:03:24,958 --> 05:03:28,400 open up cloud code. And I'm just going 10485 05:03:26,480 --> 05:03:31,120 to say, "Hey Claude, I want to connect 10486 05:03:28,400 --> 05:03:33,680 to Firecrawl's MCP server." And you can 10487 05:03:31,120 --> 05:03:35,440 do that using this command. But I'm not 10488 05:03:33,680 --> 05:03:38,080 going to give you my API key. I'm just 10489 05:03:35,440 --> 05:03:39,920 going to put it in av. So if you could 10490 05:03:38,080 --> 05:03:41,440 create that file for me, I will put my 10491 05:03:39,920 --> 05:03:42,958 API key in there. And then you can go 10492 05:03:41,440 --> 05:03:44,878 ahead and initialize and connect to 10493 05:03:42,958 --> 05:03:45,920 Firecrawl's MCP server. All right. So 10494 05:03:44,878 --> 05:03:48,320 that's going to go ahead and get set up 10495 05:03:45,920 --> 05:03:51,120 for us. You can see we now have av right 10496 05:03:48,320 --> 05:03:53,840 here, which is a new file. And this is 10497 05:03:51,120 --> 05:03:55,520 basically the best way for us to 10498 05:03:53,840 --> 05:03:56,638 securely put in our API keys so that 10499 05:03:55,520 --> 05:03:58,080 they're not being stored in like the 10500 05:03:56,638 --> 05:03:59,920 conversation history. So I'm going to 10501 05:03:58,080 --> 05:04:02,080 delete this. I'm going to go back into 10502 05:03:59,920 --> 05:04:03,600 firecrawl. I'm going to go to my 10503 05:04:02,080 --> 05:04:05,120 dashboard. And right here you can see 10504 05:04:03,600 --> 05:04:06,798 there is an MCP integration, but we 10505 05:04:05,120 --> 05:04:08,400 wanted to use the cloud code version. 10506 05:04:06,798 --> 05:04:10,080 And now we can see API key. I'm going to 10507 05:04:08,400 --> 05:04:11,200 go ahead and copy that. Paste in the API 10508 05:04:10,080 --> 05:04:13,440 key right there. And then I'm going to 10509 05:04:11,200 --> 05:04:15,520 do CRL S just to save it. You could also 10510 05:04:13,440 --> 05:04:17,360 go here and click file and then save 10511 05:04:15,520 --> 05:04:19,040 right there. And now we can close out of 10512 05:04:17,360 --> 05:04:21,840 that file. My API key has been added 10513 05:04:19,040 --> 05:04:23,760 tov. go ahead and set up the firecrawl 10514 05:04:21,840 --> 05:04:25,280 mcb server. So now everything should 10515 05:04:23,760 --> 05:04:27,040 have been set up correctly. So I'm going 10516 05:04:25,280 --> 05:04:29,040 to hit control shiftp and I'm going to 10517 05:04:27,040 --> 05:04:31,040 say developer reload the window which is 10518 05:04:29,040 --> 05:04:32,638 just going to actually let cloud code be 10519 05:04:31,040 --> 05:04:33,920 able to use this now. So just sending 10520 05:04:32,638 --> 05:04:35,520 off a request to make sure that that 10521 05:04:33,920 --> 05:04:37,040 actually worked. As you can see it was 10522 05:04:35,520 --> 05:04:39,440 able to call the tool and it decided to 10523 05:04:37,040 --> 05:04:41,280 use the scrape endpoint rather than you 10524 05:04:39,440 --> 05:04:43,440 know like a map or a crawl. So this is 10525 05:04:41,280 --> 05:04:45,440 the actual like full markdown of the 10526 05:04:43,440 --> 05:04:47,920 website itself. Cool. So the next thing 10527 05:04:45,440 --> 05:04:49,840 I want to do is give our project a 10528 05:04:47,920 --> 05:04:51,360 little bit more context as to what it's 10529 05:04:49,840 --> 05:04:53,200 actually doing in here. So first of all, 10530 05:04:51,360 --> 05:04:55,680 what I want to do is create a fire crawl 10531 05:04:53,200 --> 05:04:57,440 MCP guide so that when we ask it 10532 05:04:55,680 --> 05:04:59,600 something, it understands what are the 10533 05:04:57,440 --> 05:05:01,440 tools I have access to and which ones 10534 05:04:59,600 --> 05:05:03,120 should I use for what scenario. So I 10535 05:05:01,440 --> 05:05:04,878 said create a firewall cheat sheet as a 10536 05:05:03,120 --> 05:05:06,320 markdown file in this project that you 10537 05:05:04,878 --> 05:05:08,400 can look at and basically it should tell 10538 05:05:06,320 --> 05:05:09,520 you about the different tools and how to 10539 05:05:08,400 --> 05:05:11,600 use them. So it's going to go ahead and 10540 05:05:09,520 --> 05:05:13,040 create this markdown file for us. All 10541 05:05:11,600 --> 05:05:14,480 right, cool. So, it created that cheat 10542 05:05:13,040 --> 05:05:16,160 sheet as you can see right here. And if 10543 05:05:14,480 --> 05:05:17,760 I just open up this full screen, you can 10544 05:05:16,160 --> 05:05:19,280 see that we've got a quick reference 10545 05:05:17,760 --> 05:05:21,120 guide. We've got the tool overview. And 10546 05:05:19,280 --> 05:05:23,120 then it goes on to actually break down 10547 05:05:21,120 --> 05:05:25,600 how you use each tool. So, this should 10548 05:05:23,120 --> 05:05:27,280 hopefully be good enough for now Claude 10549 05:05:25,600 --> 05:05:28,798 to look at whenever we want it to do 10550 05:05:27,280 --> 05:05:30,718 something else. It even gave it a quick 10551 05:05:28,798 --> 05:05:32,480 little decision guide, which is pretty 10552 05:05:30,718 --> 05:05:33,920 nice. Now, finally, before we actually 10553 05:05:32,480 --> 05:05:36,240 start running with this thing is we need 10554 05:05:33,920 --> 05:05:38,080 a claw.md file, which is basically the 10555 05:05:36,240 --> 05:05:39,600 system prompts for this project. Hey 10556 05:05:38,080 --> 05:05:42,560 Claude, I need you to help me set up a 10557 05:05:39,600 --> 05:05:44,320 claw.md file for this project. I want 10558 05:05:42,560 --> 05:05:46,400 this to basically explain that this 10559 05:05:44,320 --> 05:05:48,400 project specifically is for scraping 10560 05:05:46,400 --> 05:05:49,760 data. Whether that is extracting it, 10561 05:05:48,400 --> 05:05:52,080 getting screenshots, crawling 10562 05:05:49,760 --> 05:05:54,320 everything, mapping everything. You have 10563 05:05:52,080 --> 05:05:55,680 access to the firecrawl mcp server to do 10564 05:05:54,320 --> 05:05:57,280 everything that you need to do with 10565 05:05:55,680 --> 05:05:59,440 websites. And you also have the 10566 05:05:57,280 --> 05:06:01,280 firecrol-cheatsheet.mmd 10567 05:05:59,440 --> 05:06:02,798 which explains how that MCP server works 10568 05:06:01,280 --> 05:06:04,400 and when to use each tool. So I just 10569 05:06:02,798 --> 05:06:05,920 shut that off. Now I just did want to 10570 05:06:04,400 --> 05:06:07,840 say this is a demo, right? So, I'm doing 10571 05:06:05,920 --> 05:06:09,120 this all in bypass permissions mode. But 10572 05:06:07,840 --> 05:06:10,798 in practice, what I would have done is 10573 05:06:09,120 --> 05:06:12,718 went to plan mode, brainstormed with 10574 05:06:10,798 --> 05:06:14,400 Claude a little bit to make sure that it 10575 05:06:12,718 --> 05:06:16,080 agrees with like the way that we're 10576 05:06:14,400 --> 05:06:18,080 setting up all these files and then we'd 10577 05:06:16,080 --> 05:06:20,080 go ahead and implement that plan once we 10578 05:06:18,080 --> 05:06:22,560 are in alignment. But as you can see, we 10579 05:06:20,080 --> 05:06:24,798 now have our claw.md file and this is 10580 05:06:22,560 --> 05:06:26,400 basically a scraper project. We have 10581 05:06:24,798 --> 05:06:28,240 some information about what this project 10582 05:06:26,400 --> 05:06:30,000 does, how to actually use the tool, what 10583 05:06:28,240 --> 05:06:31,680 to reference. And this document, as you 10584 05:06:30,000 --> 05:06:33,200 can see, is a lot more concise than the 10585 05:06:31,680 --> 05:06:35,040 cheat sheet. And the reason I wanted to 10586 05:06:33,200 --> 05:06:36,718 separate this is because you don't 10587 05:06:35,040 --> 05:06:39,040 actually need this entire cheat sheet to 10588 05:06:36,718 --> 05:06:40,400 be in the claw.mmd file, but now claude 10589 05:06:39,040 --> 05:06:42,000 knows that it's there in case it ever 10590 05:06:40,400 --> 05:06:43,760 needs to use it. Okay, so let's think 10591 05:06:42,000 --> 05:06:45,440 about a cool use case that we might 10592 05:06:43,760 --> 05:06:47,040 actually want to do with something like 10593 05:06:45,440 --> 05:06:49,360 firecrawl. So let's say we've got this 10594 05:06:47,040 --> 05:06:51,280 remote job website and I search for 10595 05:06:49,360 --> 05:06:53,120 content and there's about 1,700 10596 05:06:51,280 --> 05:06:55,280 different job opportunities here and 10597 05:06:53,120 --> 05:06:57,360 there's also I'm assuming not all just 10598 05:06:55,280 --> 05:06:59,360 on one page. So there's 2, three, four, 10599 05:06:57,360 --> 05:07:01,520 maybe even up to 60. So, I'm just going 10600 05:06:59,360 --> 05:07:03,120 to go ahead and copy the URL of this 10601 05:07:01,520 --> 05:07:04,560 first page right here. We're going to go 10602 05:07:03,120 --> 05:07:06,878 into Claude and ask it to help us out 10603 05:07:04,560 --> 05:07:09,040 with this. Hey, Claude. So, I found this 10604 05:07:06,878 --> 05:07:10,560 website and I've got about 1,700 job 10605 05:07:09,040 --> 05:07:12,638 opportunities that I want to look at, 10606 05:07:10,560 --> 05:07:14,638 but I need help using the Firecol MCP 10607 05:07:12,638 --> 05:07:16,400 server in order to get all of these 10608 05:07:14,638 --> 05:07:17,680 listed out. I want these as structured 10609 05:07:16,400 --> 05:07:19,360 data so I could maybe just throw them 10610 05:07:17,680 --> 05:07:20,798 into a Google sheet. Now, in this case, 10611 05:07:19,360 --> 05:07:22,000 I am going to go to plan mode because 10612 05:07:20,798 --> 05:07:23,520 this might take a little bit of thinking 10613 05:07:22,000 --> 05:07:25,280 as far as understanding the structure of 10614 05:07:23,520 --> 05:07:27,040 the site and maybe using more than just 10615 05:07:25,280 --> 05:07:28,798 a scrape. It might have to use a map or 10616 05:07:27,040 --> 05:07:30,480 a crawl or something else. So, we'll see 10617 05:07:28,798 --> 05:07:32,080 what it decides to do here. So, hope you 10618 05:07:30,480 --> 05:07:33,920 guys see now why I did this. It first 10619 05:07:32,080 --> 05:07:35,760 decided to scrape. It understood the 10620 05:07:33,920 --> 05:07:36,798 website and then it decided to map. And 10621 05:07:35,760 --> 05:07:39,280 now it's creating more of a 10622 05:07:36,798 --> 05:07:40,560 comprehensive plan about what to find. 10623 05:07:39,280 --> 05:07:42,320 It's also asking me some questions, 10624 05:07:40,560 --> 05:07:44,240 which is going to make this job work a 10625 05:07:42,320 --> 05:07:46,240 lot better. So, it asks if we want all 10626 05:07:44,240 --> 05:07:47,840 1782. I'm actually just going to go 10627 05:07:46,240 --> 05:07:49,200 ahead and say like 200 because I don't 10628 05:07:47,840 --> 05:07:50,638 want this to take forever. For data 10629 05:07:49,200 --> 05:07:52,798 fields, I'm going to grab all of them. 10630 05:07:50,638 --> 05:07:54,000 For description, let's just do a 10631 05:07:52,798 --> 05:07:55,120 summary. And I'm going to go ahead and 10632 05:07:54,000 --> 05:07:56,638 submit those answers. and it's going to 10633 05:07:55,120 --> 05:07:57,920 keep working on the plan. All right, so 10634 05:07:56,638 --> 05:08:00,080 looks like that is all done. We're going 10635 05:07:57,920 --> 05:08:01,120 to go ahead and auto accept this plan. 10636 05:08:00,080 --> 05:08:02,560 So I'll check in with you guys when 10637 05:08:01,120 --> 05:08:04,878 that's done. Now, right here is the 10638 05:08:02,560 --> 05:08:06,798 beauty of Agentic Workflows because it 10639 05:08:04,878 --> 05:08:08,240 tried to, you know, execute the plan, 10640 05:08:06,798 --> 05:08:09,680 but once it got into it, it realized 10641 05:08:08,240 --> 05:08:11,760 that something didn't work. So it said 10642 05:08:09,680 --> 05:08:13,760 that the extract actually returned empty 10643 05:08:11,760 --> 05:08:15,520 results and the site might require more 10644 05:08:13,760 --> 05:08:17,360 sophisticated handling. So now it's 10645 05:08:15,520 --> 05:08:18,878 trying out the firewall agent. So just 10646 05:08:17,360 --> 05:08:20,958 super cool the way that it's able to, 10647 05:08:18,878 --> 05:08:22,958 you know, run into an issue and then fix 10648 05:08:20,958 --> 05:08:24,798 it. Okay, so that just finished up and 10649 05:08:22,958 --> 05:08:26,400 it was able to get 200 job listings for 10650 05:08:24,798 --> 05:08:27,760 us. A few things happened in there, but 10651 05:08:26,400 --> 05:08:30,320 it it was able to just correct itself 10652 05:08:27,760 --> 05:08:31,920 and change up the plan and we did get 10653 05:08:30,320 --> 05:08:34,160 our final output. So, let me open up 10654 05:08:31,920 --> 05:08:35,680 this CSV. You can also see that it 10655 05:08:34,160 --> 05:08:37,120 dropped it in this project and we could 10656 05:08:35,680 --> 05:08:38,798 look at it over here, but it's not 10657 05:08:37,120 --> 05:08:41,120 really very nice to look at. So, here's 10658 05:08:38,798 --> 05:08:43,120 the actual Excel file. We've got title, 10659 05:08:41,120 --> 05:08:45,520 company, job type, location, salary, 10660 05:08:43,120 --> 05:08:48,000 experience, category, posted, how long 10661 05:08:45,520 --> 05:08:50,400 ago, apply URL, description, and tags. 10662 05:08:48,000 --> 05:08:51,680 And we do indeed have 200 of these. So 10663 05:08:50,400 --> 05:08:53,040 now if we wanted to applied all of 10664 05:08:51,680 --> 05:08:54,798 these, we've got all the URLs and we 10665 05:08:53,040 --> 05:08:56,718 have all this info that we need in order 10666 05:08:54,798 --> 05:08:57,760 to go and do that. So think about how 10667 05:08:56,718 --> 05:08:59,840 long that would have taken you to build 10668 05:08:57,760 --> 05:09:01,920 an automation in something like Nitn in 10669 05:08:59,840 --> 05:09:03,520 order to go scrape 200 of these job 10670 05:09:01,920 --> 05:09:05,120 postings. Or if you were to just do this 10671 05:09:03,520 --> 05:09:06,798 manually, it would have taken a lot 10672 05:09:05,120 --> 05:09:08,400 longer. And once again, I didn't have to 10673 05:09:06,798 --> 05:09:10,160 think about any of the configuration. I 10674 05:09:08,400 --> 05:09:11,760 just gave Cloud Code the MCP server and 10675 05:09:10,160 --> 05:09:13,360 let it run. We're going to do two more 10676 05:09:11,760 --> 05:09:15,280 really quick use cases. The first one 10677 05:09:13,360 --> 05:09:17,200 I'm going to do is grab Cloudbot or 10678 05:09:15,280 --> 05:09:18,958 Moltbot and drop it in here and say, 10679 05:09:17,200 --> 05:09:20,480 "Please grab screenshots of this page 10680 05:09:18,958 --> 05:09:21,520 and help me understand the branding." 10681 05:09:20,480 --> 05:09:23,280 And I'm assuming that this is going to 10682 05:09:21,520 --> 05:09:24,798 use the Fire Crawl MCP server. I hope it 10683 05:09:23,280 --> 05:09:27,040 does. And then I'm going to grab this 10684 05:09:24,798 --> 05:09:28,240 website, which is coffee. And I'm going 10685 05:09:27,040 --> 05:09:29,840 to open up a different agent on the 10686 05:09:28,240 --> 05:09:31,600 right hand side. And for this one, I'm 10687 05:09:29,840 --> 05:09:33,840 just going to tell it to map this site. 10688 05:09:31,600 --> 05:09:36,240 Go ahead and map out this site for me 10689 05:09:33,840 --> 05:09:37,520 and show me what it looks like. So now 10690 05:09:36,240 --> 05:09:39,040 we've got two different Cloud Code 10691 05:09:37,520 --> 05:09:40,400 agents working at the same time. They're 10692 05:09:39,040 --> 05:09:42,320 both doing different tasks and they're 10693 05:09:40,400 --> 05:09:43,440 using different fire crawl tools. and 10694 05:09:42,320 --> 05:09:44,878 then I'll check in with you guys when we 10695 05:09:43,440 --> 05:09:46,480 get both of these back. All right, so 10696 05:09:44,878 --> 05:09:48,000 the map is already done. You can see 10697 05:09:46,480 --> 05:09:49,280 that it comes back and it says, "Okay, 10698 05:09:48,000 --> 05:09:50,718 so here are all the main pages and it 10699 05:09:49,280 --> 05:09:52,320 gives me the links. Here are all the 10700 05:09:50,718 --> 05:09:54,240 different categories. So best sellers, 10701 05:09:52,320 --> 05:09:55,920 coffee, instant, matcha, all this other 10702 05:09:54,240 --> 05:09:58,000 stuff. We've got different collections. 10703 05:09:55,920 --> 05:10:00,000 We've got different locations. We've got 10704 05:09:58,000 --> 05:10:01,680 tons of different URLs for products, 10705 05:10:00,000 --> 05:10:03,200 brew guides, all this kind of stuff." 10706 05:10:01,680 --> 05:10:04,400 And so now that it has that context, I 10707 05:10:03,200 --> 05:10:05,920 could have it go actually crawl those 10708 05:10:04,400 --> 05:10:08,000 things if I wanted to or, you know, 10709 05:10:05,920 --> 05:10:09,520 extract all of that to a database or 10710 05:10:08,000 --> 05:10:11,120 whatever we want to do with it. And now 10711 05:10:09,520 --> 05:10:13,440 it looks like this one is finishing up 10712 05:10:11,120 --> 05:10:14,798 over here with the Moltbot 10713 05:10:13,440 --> 05:10:16,400 documentation. So the first thing we 10714 05:10:14,798 --> 05:10:18,000 have is a screenshot. So if I open this 10715 05:10:16,400 --> 05:10:19,520 up, we can see right here that we do 10716 05:10:18,000 --> 05:10:21,920 have a screenshot of that whole landing 10717 05:10:19,520 --> 05:10:23,680 page for Moltbot. And then we also have 10718 05:10:21,920 --> 05:10:26,160 the branding like the color palette, the 10719 05:10:23,680 --> 05:10:28,718 typography, spacing, and components. 10720 05:10:26,160 --> 05:10:30,160 We've got the logo. And you can see that 10721 05:10:28,718 --> 05:10:32,480 all of this was able to be done with 10722 05:10:30,160 --> 05:10:34,080 Firecrawl super easily. So I wanted to 10723 05:10:32,480 --> 05:10:35,760 show you guys all of that stuff that we 10724 05:10:34,080 --> 05:10:37,200 just did together, what that actually 10725 05:10:35,760 --> 05:10:38,480 costed me. So, I'm going to refresh my 10726 05:10:37,200 --> 05:10:40,638 dashboard here when we're looking at the 10727 05:10:38,480 --> 05:10:43,120 usage. And you can see that that took me 10728 05:10:40,638 --> 05:10:46,240 about 30 credits out of my 500 that I 10729 05:10:43,120 --> 05:10:47,520 get for free. So, 6% of my 500 credit 10730 05:10:46,240 --> 05:10:48,798 limit. Now, that's really the main 10731 05:10:47,520 --> 05:10:50,320 difference when it comes to pricing. 10732 05:10:48,798 --> 05:10:51,600 You've got these different plans. You've 10733 05:10:50,320 --> 05:10:52,718 got a different amount of pages that you 10734 05:10:51,600 --> 05:10:55,040 can scrape. You get a different amount 10735 05:10:52,718 --> 05:10:56,878 of credits. But the other big one is the 10736 05:10:55,040 --> 05:10:58,240 concurrent requests. So, with the free 10737 05:10:56,878 --> 05:11:00,160 plan, you can only be doing two at a 10738 05:10:58,240 --> 05:11:01,760 time. With this hobby plan in the 10739 05:11:00,160 --> 05:11:03,200 middle, you can be doing five. If you 10740 05:11:01,760 --> 05:11:04,958 scale that up, you can be doing more and 10741 05:11:03,200 --> 05:11:06,560 more. And it's not really a huge deal 10742 05:11:04,958 --> 05:11:07,920 because what would happen is cloud code 10743 05:11:06,560 --> 05:11:10,480 would basically just cue them up and 10744 05:11:07,920 --> 05:11:12,320 wait and retry. But if you did want to 10745 05:11:10,480 --> 05:11:14,000 do some big operations in bulk, then it 10746 05:11:12,320 --> 05:11:15,840 may be nice to have more concurrent 10747 05:11:14,000 --> 05:11:17,120 requests running. And remember, you can 10748 05:11:15,840 --> 05:11:21,798 use the link in the description to get 10749 05:11:17,120 --> 05:11:21,798 10% off your firewall plan. 10750 05:11:22,000 --> 05:11:24,638 You can see right here, all I said was, 10751 05:11:23,360 --> 05:11:26,240 "Hey Claude, I want you to take this 10752 05:11:24,638 --> 05:11:28,320 YouTube video and repurpose it into a 10753 05:11:26,240 --> 05:11:29,520 LinkedIn X and Instagram post." Then I 10754 05:11:28,320 --> 05:11:31,600 dropped in the link to the YouTube video 10755 05:11:29,520 --> 05:11:33,440 and shot it off. Not only did it create 10756 05:11:31,600 --> 05:11:35,680 all these assets, but it also found bugs 10757 05:11:33,440 --> 05:11:36,958 in its own code and fixed those. And 10758 05:11:35,680 --> 05:11:38,400 then we have this folder over here 10759 05:11:36,958 --> 05:11:40,000 called drafts. And if I open it up, you 10760 05:11:38,400 --> 05:11:41,520 can see that we have building beautiful 10761 05:11:40,000 --> 05:11:43,200 websites with cloud code, which is the 10762 05:11:41,520 --> 05:11:45,440 video I gave it. And then in here, we 10763 05:11:43,200 --> 05:11:47,280 have Instagram with our actual post text 10764 05:11:45,440 --> 05:11:49,040 and five visuals. We've got LinkedIn 10765 05:11:47,280 --> 05:11:51,120 with our post text and a visual. And 10766 05:11:49,040 --> 05:11:52,638 then same exact thing for X. So that 10767 05:11:51,120 --> 05:11:54,638 exact workflow right there took me from 10768 05:11:52,638 --> 05:11:56,878 having one long form YouTube video to 10769 05:11:54,638 --> 05:11:59,200 having a finished LinkedIn post, a 10770 05:11:56,878 --> 05:12:01,040 finished Instagram post, and a finished 10771 05:11:59,200 --> 05:12:03,040 X post. And if I wanted to ask it to 10772 05:12:01,040 --> 05:12:05,600 generate posts for six other social 10773 05:12:03,040 --> 05:12:07,120 platforms, it could because it can use 10774 05:12:05,600 --> 05:12:08,798 all of them and understands how they all 10775 05:12:07,120 --> 05:12:10,560 work. So today I'm going to be showing 10776 05:12:08,798 --> 05:12:12,160 you guys how you can basically 9x your 10777 05:12:10,560 --> 05:12:14,400 content game using a combination of 10778 05:12:12,160 --> 05:12:15,680 cloud code and potato. So right now when 10779 05:12:14,400 --> 05:12:17,360 you're creating content, you know, it 10780 05:12:15,680 --> 05:12:18,878 takes a lot of time and when you put all 10781 05:12:17,360 --> 05:12:20,638 that time into creating, let's just say 10782 05:12:18,878 --> 05:12:23,120 a YouTube video, it'd be really nice to 10783 05:12:20,638 --> 05:12:25,680 be able to repurpose that content into 10784 05:12:23,120 --> 05:12:27,520 different platforms as well. So what can 10785 05:12:25,680 --> 05:12:28,798 help you do is it can create the source. 10786 05:12:27,520 --> 05:12:31,360 So it can look through transcripts, 10787 05:12:28,798 --> 05:12:32,958 websites, PDFs. It can find inspiration. 10788 05:12:31,360 --> 05:12:35,280 It can then create visuals for you. So 10789 05:12:32,958 --> 05:12:36,798 infographics, carousels or videos. And 10790 05:12:35,280 --> 05:12:38,240 then it can actually go ahead and 10791 05:12:36,798 --> 05:12:40,000 schedule that stuff. So it can post it 10792 05:12:38,240 --> 05:12:41,840 to nine platforms. It can create the 10793 05:12:40,000 --> 05:12:43,520 stories. It can create the, you know, 10794 05:12:41,840 --> 05:12:45,520 content calendar. And we can do all of 10795 05:12:43,520 --> 05:12:47,200 that using potato and automate it with 10796 05:12:45,520 --> 05:12:48,638 cloud code. So you guys saw a demo 10797 05:12:47,200 --> 05:12:50,320 earlier, but I'm literally going to set 10798 05:12:48,638 --> 05:12:51,680 up a brand new account today. I'm going 10799 05:12:50,320 --> 05:12:53,200 to walk you through the exact steps that 10800 05:12:51,680 --> 05:12:55,600 you need to do. And basically all we 10801 05:12:53,200 --> 05:12:57,920 have to do is get our API key, add our 10802 05:12:55,600 --> 05:12:59,200 MCP config for potato and then just 10803 05:12:57,920 --> 05:13:00,798 connect our accounts and we're already 10804 05:12:59,200 --> 05:13:02,480 ready to start creating content in less 10805 05:13:00,798 --> 05:13:04,480 than 5 minutes. All right, so the way 10806 05:13:02,480 --> 05:13:06,798 that I like to use cloud code is within 10807 05:13:04,480 --> 05:13:08,718 an IDE called Visual Studio Code. Now 10808 05:13:06,798 --> 05:13:10,000 you could use this in anti-gravity, you 10809 05:13:08,718 --> 05:13:11,680 could use it in the terminal, you could 10810 05:13:10,000 --> 05:13:13,600 use it in cursor, but I like to use 10811 05:13:11,680 --> 05:13:14,958 Visual Studio Code. So if you don't have 10812 05:13:13,600 --> 05:13:16,560 this, then just go to your browser, type 10813 05:13:14,958 --> 05:13:18,480 in Visual Studio Code. You can download 10814 05:13:16,560 --> 05:13:19,920 this for both Windows or Mac or whatever 10815 05:13:18,480 --> 05:13:21,040 operating system that you're on. Now 10816 05:13:19,920 --> 05:13:22,080 once you're in here, this is what it 10817 05:13:21,040 --> 05:13:23,280 should look like. and I'm going to walk 10818 05:13:22,080 --> 05:13:25,200 you through everything you need to click 10819 05:13:23,280 --> 05:13:26,878 on and everywhere you need to type. So, 10820 05:13:25,200 --> 05:13:28,560 don't get overwhelmed. If you'd rather 10821 05:13:26,878 --> 05:13:29,840 watch like kind of an intro video and 10822 05:13:28,560 --> 05:13:32,080 then come back, then I'll tag this one 10823 05:13:29,840 --> 05:13:33,360 right up here and then hop on back over 10824 05:13:32,080 --> 05:13:34,718 here. And by the way, if you've been 10825 05:13:33,360 --> 05:13:36,638 watching my channel for a while, then 10826 05:13:34,718 --> 05:13:38,878 you've known about Blotato. I showed it 10827 05:13:36,638 --> 05:13:40,560 in Naden in this video. And also in all 10828 05:13:38,878 --> 05:13:42,958 of my kind of like faceless shorts 10829 05:13:40,560 --> 05:13:44,718 videos, we use Blot to do the auto 10830 05:13:42,958 --> 05:13:46,000 posting and scheduling. But now, I'm 10831 05:13:44,718 --> 05:13:48,000 just showing you how it's actually a lot 10832 05:13:46,000 --> 05:13:49,440 easier to use with Cloud Code. So, 10833 05:13:48,000 --> 05:13:50,480 that's exactly why once we're in here, 10834 05:13:49,440 --> 05:13:52,160 we're going to go over to this lefth 10835 05:13:50,480 --> 05:13:53,360 hand side and click on the extensions 10836 05:13:52,160 --> 05:13:54,798 button. And all you have to do is type 10837 05:13:53,360 --> 05:13:56,560 in cloud code. It'll be this one right 10838 05:13:54,798 --> 05:13:57,760 here that's verified from Anthropic. And 10839 05:13:56,560 --> 05:13:59,680 then you'll just go ahead and install 10840 05:13:57,760 --> 05:14:02,320 this. When you install it, it will 10841 05:13:59,680 --> 05:14:04,400 prompt you to sign in with your paid 10842 05:14:02,320 --> 05:14:06,160 Cloud subscription. Now, this does have 10843 05:14:04,400 --> 05:14:07,920 to be the Pro or Max plan because if 10844 05:14:06,160 --> 05:14:10,000 you're on just the free, you don't have 10845 05:14:07,920 --> 05:14:11,520 access to Claude Code. Now, once you've 10846 05:14:10,000 --> 05:14:12,958 installed this, what it will do is give 10847 05:14:11,520 --> 05:14:14,878 you this little orange button in the top 10848 05:14:12,958 --> 05:14:16,560 right which lets you open up Claude 10849 05:14:14,878 --> 05:14:18,480 Code. And this is kind of like your 10850 05:14:16,560 --> 05:14:20,160 typical Claude or Chat GBT interface 10851 05:14:18,480 --> 05:14:21,840 where you get to talk to an agent right 10852 05:14:20,160 --> 05:14:24,240 here. And now what we need to do is open 10853 05:14:21,840 --> 05:14:26,160 up a project or a folder. So I'm going 10854 05:14:24,240 --> 05:14:28,080 to go over to this top left button that 10855 05:14:26,160 --> 05:14:29,600 says explorer. And it will say you have 10856 05:14:28,080 --> 05:14:31,200 not yet opened a folder. Go ahead and 10857 05:14:29,600 --> 05:14:33,200 open one up. And that's where we'll be 10858 05:14:31,200 --> 05:14:35,920 working inside for this specific, you 10859 05:14:33,200 --> 05:14:37,920 know, AI social media poster project. So 10860 05:14:35,920 --> 05:14:39,360 I just went ahead and I created a brand 10861 05:14:37,920 --> 05:14:40,638 new one. I just called it potato. 10862 05:14:39,360 --> 05:14:42,160 There's absolutely nothing in here. And 10863 05:14:40,638 --> 05:14:43,840 this is what your screen should look 10864 05:14:42,160 --> 05:14:45,040 like. And now what we want to do is just 10865 05:14:43,840 --> 05:14:46,958 basically close out of the welcome 10866 05:14:45,040 --> 05:14:49,040 thing. We can go ahead and double click 10867 05:14:46,958 --> 05:14:50,718 and then hit the cloud code button. And 10868 05:14:49,040 --> 05:14:52,400 now we just have our files which will be 10869 05:14:50,718 --> 05:14:54,000 on the left. We don't have any yet. And 10870 05:14:52,400 --> 05:14:55,200 then we have our cloud code agent right 10871 05:14:54,000 --> 05:14:56,878 here that we are going to be able to 10872 05:14:55,200 --> 05:14:58,638 talk to. So what I'm going to do in the 10873 05:14:56,878 --> 05:15:00,320 chat is paste in this prompt that says 10874 05:14:58,638 --> 05:15:01,840 create me a new skill called repurpose 10875 05:15:00,320 --> 05:15:03,280 YouTube video. It's going to create an 10876 05:15:01,840 --> 05:15:04,560 AI social media manager that makes 10877 05:15:03,280 --> 05:15:06,560 social media posts for LinkedIn, 10878 05:15:04,560 --> 05:15:09,040 Instagram, and X. The user will input a 10879 05:15:06,560 --> 05:15:11,040 YouTube video URL and wants it I 10880 05:15:09,040 --> 05:15:12,878 misspelled this here to be turned into a 10881 05:15:11,040 --> 05:15:14,798 LinkedIn post, Instagram post, expost, 10882 05:15:12,878 --> 05:15:16,958 and each one should have a visual that's 10883 05:15:14,798 --> 05:15:18,320 optimized for that platform. So, Volt is 10884 05:15:16,958 --> 05:15:20,320 basically going to take this video and 10885 05:15:18,320 --> 05:15:21,840 do everything for us. I end this prompt 10886 05:15:20,320 --> 05:15:23,600 by saying, "Ask me clarifying questions 10887 05:15:21,840 --> 05:15:25,200 one at a time until you are 95% 10888 05:15:23,600 --> 05:15:27,280 confident that you can complete the task 10889 05:15:25,200 --> 05:15:28,958 successfully." And I kind of use this 10890 05:15:27,280 --> 05:15:30,798 templated prompt from Sabrina. So, shout 10891 05:15:28,958 --> 05:15:32,240 out, Sabrina. You guys can all copy and 10892 05:15:30,798 --> 05:15:34,480 paste this exact prompt for my free 10893 05:15:32,240 --> 05:15:36,160 school community or you can just copy it 10894 05:15:34,480 --> 05:15:37,360 by looking at it right here. So now that 10895 05:15:36,160 --> 05:15:39,040 this is running, it's going to start 10896 05:15:37,360 --> 05:15:40,160 going through that process. The first 10897 05:15:39,040 --> 05:15:41,920 thing that it's doing is it's 10898 05:15:40,160 --> 05:15:43,600 researching about Blotato to figure out 10899 05:15:41,920 --> 05:15:44,638 what it's actually able to do and it's 10900 05:15:43,600 --> 05:15:47,040 basically going to help us build out 10901 05:15:44,638 --> 05:15:48,878 this flow where we drop in a video. Blot 10902 05:15:47,040 --> 05:15:50,718 extracts the transcript, adapts the 10903 05:15:48,878 --> 05:15:52,080 content for these different media 10904 05:15:50,718 --> 05:15:53,840 platforms, and then it creates 10905 05:15:52,080 --> 05:15:55,600 everything. And then we're able to 10906 05:15:53,840 --> 05:15:57,520 review it and then just basically 10907 05:15:55,600 --> 05:15:58,718 approve it manually. Now, before I start 10908 05:15:57,520 --> 05:16:00,638 going through this flow of answering 10909 05:15:58,718 --> 05:16:02,480 questions, I wanted to explain what is a 10910 05:16:00,638 --> 05:16:04,320 skill because you'll notice I asked it 10911 05:16:02,480 --> 05:16:06,560 to create a new skill. Just think of a 10912 05:16:04,320 --> 05:16:08,320 skill like a recipe. If you tell your 10913 05:16:06,560 --> 05:16:10,320 agent to write a LinkedIn post, it would 10914 05:16:08,320 --> 05:16:12,480 look at the LinkedIn post skill and that 10915 05:16:10,320 --> 05:16:14,160 would have the name of the dish, the 10916 05:16:12,480 --> 05:16:15,760 ingredients, the steps, and then the 10917 05:16:14,160 --> 05:16:17,280 finished output. That way, the agent 10918 05:16:15,760 --> 05:16:18,718 could read the recipe and make sure that 10919 05:16:17,280 --> 05:16:21,200 every single time you ask it to make 10920 05:16:18,718 --> 05:16:22,560 that dish, it comes out perfect. So, 10921 05:16:21,200 --> 05:16:24,718 because we're turning this process into 10922 05:16:22,560 --> 05:16:26,160 a skill, every single time we use it, 10923 05:16:24,718 --> 05:16:27,840 it's only going to get better and more 10924 05:16:26,160 --> 05:16:29,840 consistent. But anyways, now we're going 10925 05:16:27,840 --> 05:16:31,440 to come back into Cloud Code and answer 10926 05:16:29,840 --> 05:16:33,040 the clarifying questions. So, it's 10927 05:16:31,440 --> 05:16:34,718 asking me what program language to build 10928 05:16:33,040 --> 05:16:36,080 this in. I don't really know what I want 10929 05:16:34,718 --> 05:16:38,240 to do here, and you may not either. So, 10930 05:16:36,080 --> 05:16:40,400 what I'm just going to say is whatever 10931 05:16:38,240 --> 05:16:41,840 you think is best. It decides to go with 10932 05:16:40,400 --> 05:16:44,400 Python because it's the cleanest for 10933 05:16:41,840 --> 05:16:47,040 this kind of APIdriven tool. So, then it 10934 05:16:44,400 --> 05:16:49,440 asks, should the tool autopublish or do 10935 05:16:47,040 --> 05:16:50,958 preview and approval? I want you to 10936 05:16:49,440 --> 05:16:52,718 always make sure I review it before you 10937 05:16:50,958 --> 05:16:54,080 ever publish anything on my social media 10938 05:16:52,718 --> 05:16:55,600 accounts. And if you guys are curious 10939 05:16:54,080 --> 05:16:56,560 about how I'm talking and words are 10940 05:16:55,600 --> 05:16:58,638 appearing, then check out the 10941 05:16:56,560 --> 05:17:00,798 description for the tool. Anyways, for 10942 05:16:58,638 --> 05:17:02,480 the AI generated post copy, do you want 10943 05:17:00,798 --> 05:17:04,480 to use Claude to write the tailored 10944 05:17:02,480 --> 05:17:06,480 posts or should the tool just reformat 10945 05:17:04,480 --> 05:17:08,718 the extracted YouTube content without an 10946 05:17:06,480 --> 05:17:10,878 LLM? I definitely want to use Claude to 10947 05:17:08,718 --> 05:17:12,480 rewrite the text content for the 10948 05:17:10,878 --> 05:17:13,840 different platforms. Cool. So, we'll 10949 05:17:12,480 --> 05:17:16,560 eventually have to give it an Enthropic 10950 05:17:13,840 --> 05:17:18,240 API key as well as the Blot API key. 10951 05:17:16,560 --> 05:17:20,000 Now, it asks about the tone of voice 10952 05:17:18,240 --> 05:17:22,320 that we want. So, in this case, if you 10953 05:17:20,000 --> 05:17:23,760 had like a custom GPT or Claude project 10954 05:17:22,320 --> 05:17:25,360 already that helps you write LinkedIn 10955 05:17:23,760 --> 05:17:26,718 posts or Instagram posts, you could just 10956 05:17:25,360 --> 05:17:28,320 go ahead and grab the instructions from 10957 05:17:26,718 --> 05:17:29,200 that and put that here. But for now, I'm 10958 05:17:28,320 --> 05:17:31,760 just going to keep this really simple 10959 05:17:29,200 --> 05:17:33,440 for the sake of the demo and just say 10960 05:17:31,760 --> 05:17:35,360 platform adapted, professional on 10961 05:17:33,440 --> 05:17:37,200 LinkedIn. Um, and on X, you can be 10962 05:17:35,360 --> 05:17:38,958 casual and maybe even a little bit 10963 05:17:37,200 --> 05:17:40,320 humorous. Now, it's asking for 10964 05:17:38,958 --> 05:17:42,560 Instagram. What type of post should it 10965 05:17:40,320 --> 05:17:46,080 create? I would like you to create a 10966 05:17:42,560 --> 05:17:48,560 educational carousel that looks like I 10967 05:17:46,080 --> 05:17:50,400 am writing tweets. And now it asks about 10968 05:17:48,560 --> 05:17:53,360 the visuals for LinkedIn X. For 10969 05:17:50,400 --> 05:17:55,280 LinkedIn, let's do a key takeaway 10970 05:17:53,360 --> 05:17:57,600 graphic. It should be clean and it 10971 05:17:55,280 --> 05:17:59,360 should have some text that explains the 10972 05:17:57,600 --> 05:18:00,958 value in the video. And for X, yeah, 10973 05:17:59,360 --> 05:18:03,120 let's just do something eye-catching. 10974 05:18:00,958 --> 05:18:04,718 Maybe a cool quote. Next question is, 10975 05:18:03,120 --> 05:18:07,040 how do you want to review the stuff? 10976 05:18:04,718 --> 05:18:08,480 Let's just go ahead and save everything 10977 05:18:07,040 --> 05:18:10,240 to the drafts folder so I can take a 10978 05:18:08,480 --> 05:18:11,520 look at it myself. When publishing, 10979 05:18:10,240 --> 05:18:13,680 should you be able to selectively 10980 05:18:11,520 --> 05:18:16,080 approve which platforms to post to? 10981 05:18:13,680 --> 05:18:17,920 Yeah, I will tell you one by one which 10982 05:18:16,080 --> 05:18:19,120 ones have been approved. I think I 10983 05:18:17,920 --> 05:18:20,878 nearly have everything. One last 10984 05:18:19,120 --> 05:18:23,280 question. Should the tool let you edit 10985 05:18:20,878 --> 05:18:24,878 the draft text files before publishing 10986 05:18:23,280 --> 05:18:28,400 and have the publish command pick up 10987 05:18:24,878 --> 05:18:29,760 your changes? Absolutely. 10988 05:18:28,400 --> 05:18:31,600 Okay, so it looks like we're done with 10989 05:18:29,760 --> 05:18:32,798 the question stage now. Now, you might 10990 05:18:31,600 --> 05:18:34,240 notice that there's still some stuff 10991 05:18:32,798 --> 05:18:35,600 that we might want to give to this 10992 05:18:34,240 --> 05:18:36,718 platform, like maybe some more 10993 05:18:35,600 --> 05:18:37,680 information about our business. It 10994 05:18:36,718 --> 05:18:39,760 doesn't really know anything about what 10995 05:18:37,680 --> 05:18:42,240 we do and maybe things like the colors 10996 05:18:39,760 --> 05:18:44,320 we like to use or our logo or something 10997 05:18:42,240 --> 05:18:46,160 like that so that it can be on the 10998 05:18:44,320 --> 05:18:48,000 visuals. So, now what it's going to do 10999 05:18:46,160 --> 05:18:49,360 is it's going to build up those 11000 05:18:48,000 --> 05:18:50,718 different tools. As you can see, it 11001 05:18:49,360 --> 05:18:52,718 makes a to-do list and it's going to go 11002 05:18:50,718 --> 05:18:54,080 through one by one and finish all that. 11003 05:18:52,718 --> 05:18:55,600 And also, what you're going to notice is 11004 05:18:54,080 --> 05:18:57,920 on the lefth hand side, we're going to 11005 05:18:55,600 --> 05:18:59,840 start to get files and folders in our 11006 05:18:57,920 --> 05:19:02,080 project set up. And that's really 11007 05:18:59,840 --> 05:19:03,920 important because if your cloud code 11008 05:19:02,080 --> 05:19:05,600 workspace isn't organized and it doesn't 11009 05:19:03,920 --> 05:19:07,040 understand where files are and if you 11010 05:19:05,600 --> 05:19:08,400 don't understand where files are then 11011 05:19:07,040 --> 05:19:10,480 it's just going to get messy and it 11012 05:19:08,400 --> 05:19:12,160 might be hard to manage the context. 11013 05:19:10,480 --> 05:19:13,280 Okay, so that has finished up. You can 11014 05:19:12,160 --> 05:19:15,360 see that we have a new project 11015 05:19:13,280 --> 05:19:17,120 structure. So over here we have a pi 11016 05:19:15,360 --> 05:19:18,560 cache. We've got claude with our 11017 05:19:17,120 --> 05:19:20,560 command. So this is essentially the 11018 05:19:18,560 --> 05:19:22,560 exact same thing as skills. So this is 11019 05:19:20,560 --> 05:19:24,240 the repurpose YouTube video skill that 11020 05:19:22,560 --> 05:19:26,718 it created. You can see that it created 11021 05:19:24,240 --> 05:19:28,718 some actual Python scripts to draft to 11022 05:19:26,718 --> 05:19:30,080 post to publish. And so maybe we would 11023 05:19:28,718 --> 05:19:31,920 want to clean this up and put this in a 11024 05:19:30,080 --> 05:19:33,840 different folder called scripts or 11025 05:19:31,920 --> 05:19:36,480 something like that. But the action item 11026 05:19:33,840 --> 05:19:39,520 on us now is to actually set up our API 11027 05:19:36,480 --> 05:19:41,600 keys. So if I go into thev, you can see 11028 05:19:39,520 --> 05:19:43,360 that we have a potato API key and an 11029 05:19:41,600 --> 05:19:45,040 anthropic API key that we need to set 11030 05:19:43,360 --> 05:19:47,520 up. So the first step would be to use 11031 05:19:45,040 --> 05:19:49,920 the link in the description and go to 11032 05:19:47,520 --> 05:19:51,440 and that will help you get 30% off for 6 11033 05:19:49,920 --> 05:19:52,638 months. Now once you get that set up, 11034 05:19:51,440 --> 05:19:54,400 all you'll have to do is go over to the 11035 05:19:52,638 --> 05:19:56,878 bottom left and go to your settings and 11036 05:19:54,400 --> 05:19:58,400 then click on right here API. And this 11037 05:19:56,878 --> 05:19:59,920 is where it will ask you to just 11038 05:19:58,400 --> 05:20:01,600 basically make sure that this is a paid 11039 05:19:59,920 --> 05:20:03,600 feature. So if you enable it, you will 11040 05:20:01,600 --> 05:20:05,600 be on a paid plan. And then you'll go 11041 05:20:03,600 --> 05:20:08,160 ahead and copy this API key right there. 11042 05:20:05,600 --> 05:20:10,560 And then in thev, you'll paste this in. 11043 05:20:08,160 --> 05:20:12,480 And then you will save it. And then it's 11044 05:20:10,560 --> 05:20:14,480 also asking for an anthropic API key. 11045 05:20:12,480 --> 05:20:15,920 I'm actually going to go ahead and use 11046 05:20:14,480 --> 05:20:17,280 open router instead because you can 11047 05:20:15,920 --> 05:20:18,798 access all the models there. So I went 11048 05:20:17,280 --> 05:20:20,480 into open router. I created a new key 11049 05:20:18,798 --> 05:20:22,718 and I'm going to copy this and paste it 11050 05:20:20,480 --> 05:20:25,200 into Visual Studio Code. And I'm just 11051 05:20:22,718 --> 05:20:27,600 going to tell Cloud Code that I am using 11052 05:20:25,200 --> 05:20:29,280 Open Router with Cloud models instead of 11053 05:20:27,600 --> 05:20:30,958 Enthropic, but you can use whatever you 11054 05:20:29,280 --> 05:20:32,560 want here. So, I just cleared the 11055 05:20:30,958 --> 05:20:34,000 context and we're about to do a test 11056 05:20:32,560 --> 05:20:35,360 run. But before that, I just wanted to 11057 05:20:34,000 --> 05:20:37,040 show you guys something that we can do 11058 05:20:35,360 --> 05:20:38,080 that's pretty cool real quick. So, I'm 11059 05:20:37,040 --> 05:20:40,000 going to go over here and I'm going to 11060 05:20:38,080 --> 05:20:42,560 drop in a new folder. And I'm going to 11061 05:20:40,000 --> 05:20:44,320 call this brand 11062 05:20:42,560 --> 05:20:46,240 assets. Now, what I'm going to do is 11063 05:20:44,320 --> 05:20:47,920 drag in a profile picture of myself in 11064 05:20:46,240 --> 05:20:49,280 the brand assets. It's this provo 11065 05:20:47,920 --> 05:20:51,760 picture right here because I wanted to 11066 05:20:49,280 --> 05:20:53,680 be able to use this in the tweet style 11067 05:20:51,760 --> 05:20:55,200 infographics or carousels that we told 11068 05:20:53,680 --> 05:20:56,638 it we want to make. So, what I can do 11069 05:20:55,200 --> 05:20:57,840 now is go to YouTube. I've got this 11070 05:20:56,638 --> 05:20:59,840 video I made a few days ago about 11071 05:20:57,840 --> 05:21:01,520 building websites in Cloud Code. Copy 11072 05:20:59,840 --> 05:21:03,200 the link. Come back into Visual Studio 11073 05:21:01,520 --> 05:21:05,040 Code and say, "Hey, Claude, I want you 11074 05:21:03,200 --> 05:21:08,080 to take this YouTube video and repurpose 11075 05:21:05,040 --> 05:21:10,000 it into a LinkedIn X and Instagram post. 11076 05:21:08,080 --> 05:21:12,320 I've given you in the brand assets 11077 05:21:10,000 --> 05:21:14,080 folder a profile picture of myself to 11078 05:21:12,320 --> 05:21:15,760 use in these, you know, different visual 11079 05:21:14,080 --> 05:21:17,200 posts. Let me know when you've got some 11080 05:21:15,760 --> 05:21:19,760 stuff ready to review and make sure 11081 05:21:17,200 --> 05:21:21,760 you're updating your skill document with 11082 05:21:19,760 --> 05:21:23,120 your findings from this first test run. 11083 05:21:21,760 --> 05:21:25,040 So now it's going to read through the 11084 05:21:23,120 --> 05:21:27,040 skill. It's going to execute these 11085 05:21:25,040 --> 05:21:29,040 different Python scripts right here. And 11086 05:21:27,040 --> 05:21:31,040 if it runs into any issues or anything 11087 05:21:29,040 --> 05:21:32,638 that we told it, like using our profile 11088 05:21:31,040 --> 05:21:34,480 picture, it will update that skill 11089 05:21:32,638 --> 05:21:36,400 document with. And here's an example of 11090 05:21:34,480 --> 05:21:38,080 it already needing to make an adjustment 11091 05:21:36,400 --> 05:21:39,440 is because it said YouTube is blocked by 11092 05:21:38,080 --> 05:21:41,280 the web fetch tool. Let me try 11093 05:21:39,440 --> 05:21:42,480 alternative approaches. So that just 11094 05:21:41,280 --> 05:21:44,240 finished up. You can see that it started 11095 05:21:42,480 --> 05:21:45,440 off by reading the skill. It goes 11096 05:21:44,240 --> 05:21:47,360 through and it tries different things. 11097 05:21:45,440 --> 05:21:49,520 It made its to-do list and it was able 11098 05:21:47,360 --> 05:21:52,080 to create the actual textbased posts, 11099 05:21:49,520 --> 05:21:54,560 but what happened was it actually failed 11100 05:21:52,080 --> 05:21:56,560 on the visuals. So, what it did is it 11101 05:21:54,560 --> 05:21:58,560 added a known issues and finding section 11102 05:21:56,560 --> 05:22:00,240 to the actual skill itself. But, we're 11103 05:21:58,560 --> 05:22:01,920 going to go ahead and try it again and 11104 05:22:00,240 --> 05:22:03,440 we're going to see if it can fix it. So, 11105 05:22:01,920 --> 05:22:05,680 I just said try to create the visuals 11106 05:22:03,440 --> 05:22:07,200 again. Make sure they are images, not 11107 05:22:05,680 --> 05:22:08,560 videos. And we aren't worried about 11108 05:22:07,200 --> 05:22:10,320 posting yet. We just want you to create 11109 05:22:08,560 --> 05:22:12,000 the assets. So, it's once again going to 11110 05:22:10,320 --> 05:22:14,240 dive into everything. It is going to 11111 05:22:12,000 --> 05:22:15,440 investigate the templates and then it's 11112 05:22:14,240 --> 05:22:17,520 going to come back hopefully with 11113 05:22:15,440 --> 05:22:18,718 something that we can review. So visuals 11114 05:22:17,520 --> 05:22:20,320 have been created this time and 11115 05:22:18,718 --> 05:22:21,760 apparently they're looking great and you 11116 05:22:20,320 --> 05:22:23,280 can see once again it's updating the 11117 05:22:21,760 --> 05:22:25,120 skill document so that that never 11118 05:22:23,280 --> 05:22:26,958 happens again. Okay, so these have been 11119 05:22:25,120 --> 05:22:28,718 created successfully. We've got our 11120 05:22:26,958 --> 05:22:29,920 LinkedIn with a whiteboard infographic. 11121 05:22:28,718 --> 05:22:31,600 Let me go ahead and open that up real 11122 05:22:29,920 --> 05:22:33,200 quick. It's putting all of this stuff in 11123 05:22:31,600 --> 05:22:35,440 the drafts folder and you can see we've 11124 05:22:33,200 --> 05:22:37,360 got Instagram, LinkedIn and X and this 11125 05:22:35,440 --> 05:22:38,718 is all for the YouTube video which is 11126 05:22:37,360 --> 05:22:40,560 called building beautiful websites. So 11127 05:22:38,718 --> 05:22:42,240 it's keeping our stuff organized. So for 11128 05:22:40,560 --> 05:22:43,600 LinkedIn, here's our visual. We've got a 11129 05:22:42,240 --> 05:22:45,280 whiteboard that says building beautiful 11130 05:22:43,600 --> 05:22:47,440 websites with cloud code, three key 11131 05:22:45,280 --> 05:22:48,958 steps. We've got cloud.md, front-end 11132 05:22:47,440 --> 05:22:51,200 design skill, and then adding your brand 11133 05:22:48,958 --> 05:22:52,638 assets to a folder. And you can see at 11134 05:22:51,200 --> 05:22:55,040 the bottom, it also says full 11135 05:22:52,638 --> 05:22:56,718 walkthrough on YouTube at Nate Herk. And 11136 05:22:55,040 --> 05:22:59,520 then we also have the actual post right 11137 05:22:56,718 --> 05:23:01,680 here, which is the textbased copy of the 11138 05:22:59,520 --> 05:23:02,638 LinkedIn post. So let's say we like that 11139 05:23:01,680 --> 05:23:03,840 one. Let's go ahead and look at 11140 05:23:02,638 --> 05:23:05,600 Instagram. We've got the same thing. 11141 05:23:03,840 --> 05:23:07,280 We've got the post right here with the 11142 05:23:05,600 --> 05:23:09,280 different, you know, slides, and then we 11143 05:23:07,280 --> 05:23:11,280 have the actual visuals. So, here is 11144 05:23:09,280 --> 05:23:12,638 number one. Your cloudMD file is 11145 05:23:11,280 --> 05:23:14,638 everything. It is a system prompt that 11146 05:23:12,638 --> 05:23:16,000 runs before every session. We've got the 11147 05:23:14,638 --> 05:23:17,520 next one, which is the front-end design 11148 05:23:16,000 --> 05:23:19,600 skill. And then pretty much all of these 11149 05:23:17,520 --> 05:23:21,200 I'm assuming are the same. We've got 11150 05:23:19,600 --> 05:23:22,718 brand assets. We've got you don't need 11151 05:23:21,200 --> 05:23:24,400 to be a developer. And then we've got 11152 05:23:22,718 --> 05:23:26,080 the difference between vibecoded and 11153 05:23:24,400 --> 05:23:27,920 professional. So, the one thing I will 11154 05:23:26,080 --> 05:23:29,760 say about these are that I think this 11155 05:23:27,920 --> 05:23:31,760 would look a lot better if we had our 11156 05:23:29,760 --> 05:23:33,600 profile picture as well as like a blue 11157 05:23:31,760 --> 05:23:34,480 check mark verified badge. So, that's 11158 05:23:33,600 --> 05:23:35,920 something that we'll probably want to 11159 05:23:34,480 --> 05:23:37,840 change. And then real quick, just to 11160 05:23:35,920 --> 05:23:40,718 look at the X post, we've got the actual 11161 05:23:37,840 --> 05:23:42,320 text itself, which is um very casual and 11162 05:23:40,718 --> 05:23:43,600 it's kind of more like a meme. And then 11163 05:23:42,320 --> 05:23:45,920 for the visual, we just have a very 11164 05:23:43,600 --> 05:23:47,600 simple quote. But as you guys know, I 11165 05:23:45,920 --> 05:23:49,120 want to make those carousels have the 11166 05:23:47,600 --> 05:23:51,200 profile picture in there. So I just 11167 05:23:49,120 --> 05:23:53,440 asked Claude Code to put our profile 11168 05:23:51,200 --> 05:23:55,200 picture in the carousel slides as well 11169 05:23:53,440 --> 05:23:56,638 as adding a blue check mark. So we'll 11170 05:23:55,200 --> 05:23:58,240 see if we can get the job done. All 11171 05:23:56,638 --> 05:24:00,000 right. So look how cool this is. It 11172 05:23:58,240 --> 05:24:02,400 fixed that workflow. So it now should 11173 05:24:00,000 --> 05:24:04,480 have new carousel slides for us. But 11174 05:24:02,400 --> 05:24:06,560 what it did is it actually had to resize 11175 05:24:04,480 --> 05:24:08,480 our image because it realized that the 11176 05:24:06,560 --> 05:24:10,400 potato API wouldn't take it if it was 11177 05:24:08,480 --> 05:24:12,080 too big. So this was the original and 11178 05:24:10,400 --> 05:24:14,240 then it resized it to make it smaller, 11179 05:24:12,080 --> 05:24:15,760 but it still obviously looks the same. 11180 05:24:14,240 --> 05:24:17,680 And now every single time that we run 11181 05:24:15,760 --> 05:24:19,600 this for Instagram carousels, it should 11182 05:24:17,680 --> 05:24:21,200 be able to make it the way we want it. 11183 05:24:19,600 --> 05:24:22,718 So let's take a look. All right, here is 11184 05:24:21,200 --> 05:24:24,160 the new Instagram carousel. We've got 11185 05:24:22,718 --> 05:24:26,080 our name, we've got the verified badge, 11186 05:24:24,160 --> 05:24:27,200 as well as our profile picture. And so 11187 05:24:26,080 --> 05:24:29,440 now it would just be a matter of 11188 05:24:27,200 --> 05:24:31,120 optimizing the actual content that's put 11189 05:24:29,440 --> 05:24:32,958 in here if we don't think that this was 11190 05:24:31,120 --> 05:24:34,958 prompted well enough and maybe adding 11191 05:24:32,958 --> 05:24:36,320 one more at the end which would be a CTA 11192 05:24:34,958 --> 05:24:38,000 that says like follow for more or 11193 05:24:36,320 --> 05:24:39,760 something like that. But keep in mind 11194 05:24:38,000 --> 05:24:41,520 all I said was take this YouTube video 11195 05:24:39,760 --> 05:24:43,520 and repurpose it. We didn't give it any 11196 05:24:41,520 --> 05:24:45,760 context about our business about 11197 05:24:43,520 --> 05:24:46,958 previous Instagram or LinkedIn posts. We 11198 05:24:45,760 --> 05:24:48,958 didn't give it anything but literally 11199 05:24:46,958 --> 05:24:50,798 just said make us content. And the only 11200 05:24:48,958 --> 05:24:52,480 reason I'm telling you this is because 11201 05:24:50,798 --> 05:24:53,920 think about how much better this will be 11202 05:24:52,480 --> 05:24:56,400 as you start to add more business 11203 05:24:53,920 --> 05:24:58,320 context, add more brand guidelines, and 11204 05:24:56,400 --> 05:25:00,000 then iterate and refine. We've ran this 11205 05:24:58,320 --> 05:25:01,600 workflow twice, I think, at this point, 11206 05:25:00,000 --> 05:25:03,040 and it's gotten better each time. What 11207 05:25:01,600 --> 05:25:04,638 would happen if we ran this 10 times, 11208 05:25:03,040 --> 05:25:06,400 and every time we gave it more feedback 11209 05:25:04,638 --> 05:25:08,240 and more feedback so that by the time 11210 05:25:06,400 --> 05:25:09,760 we're ready to host it, so that if we 11211 05:25:08,240 --> 05:25:11,120 want it to run automatically, every time 11212 05:25:09,760 --> 05:25:12,958 I post a new YouTube video, it 11213 05:25:11,120 --> 05:25:14,878 automatically gives us this stuff. By 11214 05:25:12,958 --> 05:25:16,718 the time we do that automatically, it's 11215 05:25:14,878 --> 05:25:19,040 already like a really rock solid or 11216 05:25:16,718 --> 05:25:20,638 battle tested skill. And by the way, in 11217 05:25:19,040 --> 05:25:21,600 Blotato, if you go to my videos, you can 11218 05:25:20,638 --> 05:25:22,958 see all of the ones that you've 11219 05:25:21,600 --> 05:25:25,040 generated. And you can also go to the 11220 05:25:22,958 --> 05:25:27,280 API dashboard to see all of the requests 11221 05:25:25,040 --> 05:25:28,718 that you had been making to Blot. But at 11222 05:25:27,280 --> 05:25:30,400 this point, the only thing left to do is 11223 05:25:28,718 --> 05:25:32,000 schedule these out or just instantly 11224 05:25:30,400 --> 05:25:33,200 post them now that we've reviewed them. 11225 05:25:32,000 --> 05:25:34,958 So, what you do is you go to your 11226 05:25:33,200 --> 05:25:36,080 settings and you have to log in with 11227 05:25:34,958 --> 05:25:37,600 your different accounts. And it's 11228 05:25:36,080 --> 05:25:39,120 literally like, let's say we wanted to 11229 05:25:37,600 --> 05:25:40,718 log in with Instagram. We'd click on 11230 05:25:39,120 --> 05:25:42,480 this and it would just bring us to a 11231 05:25:40,718 --> 05:25:44,400 sign-in page in Instagram and it would 11232 05:25:42,480 --> 05:25:45,840 connect everything very easy for us. And 11233 05:25:44,400 --> 05:25:48,240 then after we've done that, you can see 11234 05:25:45,840 --> 05:25:50,080 here I've only connected to my X 11235 05:25:48,240 --> 05:25:52,160 account. It lets you copy your account 11236 05:25:50,080 --> 05:25:53,920 ID. So basically it associates an 11237 05:25:52,160 --> 05:25:55,680 account ID in here with potato to 11238 05:25:53,920 --> 05:25:57,280 actually post on your behalf. But Claude 11239 05:25:55,680 --> 05:25:58,798 code using the right API endpoints 11240 05:25:57,280 --> 05:26:00,480 should be able to grab all those IDs for 11241 05:25:58,798 --> 05:26:02,400 us. So there's really nothing manual 11242 05:26:00,480 --> 05:26:04,080 here. So just as an example, let's make 11243 05:26:02,400 --> 05:26:06,320 sure that it can actually post to X for 11244 05:26:04,080 --> 05:26:08,798 us. Cool. That output looks great. Can 11245 05:26:06,320 --> 05:26:10,798 you go ahead and post our content on X 11246 05:26:08,798 --> 05:26:13,200 for us? All right, so that post is live. 11247 05:26:10,798 --> 05:26:15,760 If I open this up, we should see on X 11248 05:26:13,200 --> 05:26:17,760 that I did just make this tweet, which 11249 05:26:15,760 --> 05:26:18,798 I'm going to delete right now. But just 11250 05:26:17,760 --> 05:26:21,600 wanted to prove to you guys that that 11251 05:26:18,798 --> 05:26:23,120 endpoint does in fact work. So at this 11252 05:26:21,600 --> 05:26:25,120 point, now that we know this works, we 11253 05:26:23,120 --> 05:26:27,040 could just build different skills within 11254 05:26:25,120 --> 05:26:28,638 this kind of potato environment. So we 11255 05:26:27,040 --> 05:26:30,160 could build one for getting inspiration. 11256 05:26:28,638 --> 05:26:31,840 We could build one for creating, you 11257 05:26:30,160 --> 05:26:33,520 know, Tik Tok videos, whatever we want 11258 05:26:31,840 --> 05:26:34,878 to do. But before you start scaling this 11259 05:26:33,520 --> 05:26:36,958 up, it's really important to have some 11260 05:26:34,878 --> 05:26:38,160 structure to this project because we've 11261 05:26:36,958 --> 05:26:39,680 got, you know, our claude with our 11262 05:26:38,160 --> 05:26:41,440 skills, we've got our brand assets, 11263 05:26:39,680 --> 05:26:42,718 we've got our drafts, but we also have 11264 05:26:41,440 --> 05:26:44,638 some scripts right here that are just 11265 05:26:42,718 --> 05:26:47,520 kind of in the middle of nowhere. And we 11266 05:26:44,638 --> 05:26:48,480 also don't have a claw.md file yet. So, 11267 05:26:47,520 --> 05:26:50,798 I'm just going to go ahead and do 11268 05:26:48,480 --> 05:26:52,320 slashinit, which basically just reads 11269 05:26:50,798 --> 05:26:54,878 through the current project structure 11270 05:26:52,320 --> 05:26:56,718 and creates a claw.md file around what 11271 05:26:54,878 --> 05:26:57,760 we have right here. And I assume at this 11272 05:26:56,718 --> 05:27:00,160 point everyone's aware of what the 11273 05:26:57,760 --> 05:27:01,920 cloudmd file is, but if you're not, it's 11274 05:27:00,160 --> 05:27:03,760 basically the overall system prompt for 11275 05:27:01,920 --> 05:27:05,840 this specific project. Meaning every 11276 05:27:03,760 --> 05:27:07,600 time before you shoot off a message to 11277 05:27:05,840 --> 05:27:09,920 cloud code or before cloud code reads 11278 05:27:07,600 --> 05:27:12,160 it, it's going to read the claw.md file 11279 05:27:09,920 --> 05:27:14,240 first to understand the direction, what 11280 05:27:12,160 --> 05:27:16,320 tools it has at its disposal, what rules 11281 05:27:14,240 --> 05:27:17,920 it needs to follow, things like that. 11282 05:27:16,320 --> 05:27:20,320 Which means you don't want to keep your 11283 05:27:17,920 --> 05:27:22,400 claw.md file very long. I think best 11284 05:27:20,320 --> 05:27:23,680 practice is to keep it under 150 lines. 11285 05:27:22,400 --> 05:27:25,840 Otherwise, you're just going to fill up 11286 05:27:23,680 --> 05:27:27,520 your context much quicker. So now you 11287 05:27:25,840 --> 05:27:28,878 can see that we have a claw.mmd file 11288 05:27:27,520 --> 05:27:30,320 that goes over the overview, the 11289 05:27:28,878 --> 05:27:32,160 commands, environment variables, 11290 05:27:30,320 --> 05:27:34,240 architecture, patterns, things like 11291 05:27:32,160 --> 05:27:35,920 that, which now, as you can see, gives 11292 05:27:34,240 --> 05:27:37,680 our project a little bit more structure 11293 05:27:35,920 --> 05:27:40,080 right here. But I'm still not satisfied. 11294 05:27:37,680 --> 05:27:41,840 What I want to say now is we have four 11295 05:27:40,080 --> 05:27:43,280 Python scripts that don't have a home. 11296 05:27:41,840 --> 05:27:44,718 Could you throw those into a folder, 11297 05:27:43,280 --> 05:27:47,040 maybe call it scripts or something like 11298 05:27:44,718 --> 05:27:50,240 that, and make sure that our other 11299 05:27:47,040 --> 05:27:52,240 skills and cloudmd files are aware of 11300 05:27:50,240 --> 05:27:53,440 this and can reference it in the future? 11301 05:27:52,240 --> 05:27:54,718 And that's just the way that I decided 11302 05:27:53,440 --> 05:27:56,080 to set it up. But you could also say, 11303 05:27:54,718 --> 05:27:57,360 "Hey, you know, we've got a ton of files 11304 05:27:56,080 --> 05:27:59,040 here. Can you help me figure out a 11305 05:27:57,360 --> 05:28:01,120 strategy to clean this up so we can 11306 05:27:59,040 --> 05:28:02,480 continue to scale this project?" So, you 11307 05:28:01,120 --> 05:28:03,680 can see that it made a new folder. It 11308 05:28:02,480 --> 05:28:05,200 threw all of the Python scripts in 11309 05:28:03,680 --> 05:28:07,120 there, and now it's updating other files 11310 05:28:05,200 --> 05:28:09,040 in here to make sure that the whole 11311 05:28:07,120 --> 05:28:10,718 project understands where everything is. 11312 05:28:09,040 --> 05:28:11,920 So, that is going to do it for today. I 11313 05:28:10,718 --> 05:28:13,440 think that you guys should be in a 11314 05:28:11,920 --> 05:28:16,080 really good spot now set up with Cloud 11315 05:28:13,440 --> 05:28:19,638 Code, set up with Plot to really improve 11316 05:28:16,080 --> 05:28:19,638 your content game. 11317 05:28:19,760 --> 05:28:22,718 Google just dropped what some are 11318 05:28:21,200 --> 05:28:24,878 already calling the most powerful 11319 05:28:22,718 --> 05:28:26,400 workspace CLI on the internet. So if 11320 05:28:24,878 --> 05:28:28,320 you've got a ton of stuff that lives in 11321 05:28:26,400 --> 05:28:29,840 the Google environment just like I do, 11322 05:28:28,320 --> 05:28:31,520 then you're going to love this because 11323 05:28:29,840 --> 05:28:33,280 now any of my cloud code projects can 11324 05:28:31,520 --> 05:28:36,240 access everything. And all I had to do 11325 05:28:33,280 --> 05:28:37,680 was install one simple thing. So here 11326 05:28:36,240 --> 05:28:41,520 you can see I said what can you do with 11327 05:28:37,680 --> 05:28:43,280 GWS which is Google Workspace CLI. So it 11328 05:28:41,520 --> 05:28:45,760 can search, list, upload, download, 11329 05:28:43,280 --> 05:28:48,160 move, copy, share anything in my Google 11330 05:28:45,760 --> 05:28:49,840 Drive. It can do anything in my Gmail. 11331 05:28:48,160 --> 05:28:51,920 It can do anything in my calendar. It 11332 05:28:49,840 --> 05:28:53,280 can do anything with Google Docs. Same 11333 05:28:51,920 --> 05:28:55,920 thing with Sheets. Same thing with 11334 05:28:53,280 --> 05:28:57,600 Slides. And it also has multi-step 11335 05:28:55,920 --> 05:28:59,600 workflow recipes. So these are basically 11336 05:28:57,600 --> 05:29:01,680 like skills. These are chain command 11337 05:28:59,600 --> 05:29:03,440 patterns for common tasks like creating 11338 05:29:01,680 --> 05:29:05,200 docs from templates, reading sheet data, 11339 05:29:03,440 --> 05:29:06,718 and creating a report doc, finding free 11340 05:29:05,200 --> 05:29:08,080 time and scheduling a meeting. And there 11341 05:29:06,718 --> 05:29:09,840 are over a hundred of these that it 11342 05:29:08,080 --> 05:29:12,240 actually has. So out of the box, when 11343 05:29:09,840 --> 05:29:13,920 you give Claude Code the GWS CLI, you 11344 05:29:12,240 --> 05:29:15,360 can do anything across any of the tools. 11345 05:29:13,920 --> 05:29:17,360 And you also have access to over a 11346 05:29:15,360 --> 05:29:18,400 hundred skills. So I don't know how many 11347 05:29:17,360 --> 05:29:20,000 times you guys have tried to use 11348 05:29:18,400 --> 05:29:22,080 something like Claude or Naden to build 11349 05:29:20,000 --> 05:29:24,000 you a Google doc. And you do this over 11350 05:29:22,080 --> 05:29:25,120 API. And it ends up just looking like 11351 05:29:24,000 --> 05:29:26,958 something like this. It literally just 11352 05:29:25,120 --> 05:29:28,958 looks like raw markdown. And it's 11353 05:29:26,958 --> 05:29:30,320 obviously horrible. And sometimes to go 11354 05:29:28,958 --> 05:29:31,920 along with a YouTube video, I make 11355 05:29:30,320 --> 05:29:33,120 resource guides that look like this. But 11356 05:29:31,920 --> 05:29:34,718 obviously they have to be formatted. 11357 05:29:33,120 --> 05:29:37,280 I've got like a header up here and I've 11358 05:29:34,718 --> 05:29:38,958 got links and different things in this 11359 05:29:37,280 --> 05:29:40,638 format. But now I can literally just 11360 05:29:38,958 --> 05:29:42,320 take the link to a YouTube video. I can 11361 05:29:40,638 --> 05:29:44,240 drop that into cloud code and say create 11362 05:29:42,320 --> 05:29:46,000 me a YouTube resource guide. It's going 11363 05:29:44,240 --> 05:29:47,520 to go ahead and download that transcript 11364 05:29:46,000 --> 05:29:49,680 from the video. And now what it's doing 11365 05:29:47,520 --> 05:29:52,558 is it's creating the Google doc not via 11366 05:29:49,680 --> 05:29:54,080 API call, not via MCP, but via a bash 11367 05:29:52,558 --> 05:29:56,558 command. Meaning it's literally running 11368 05:29:54,080 --> 05:29:58,240 a terminal command in order to talk to 11369 05:29:56,558 --> 05:30:00,080 Google and make this. So it just 11370 05:29:58,240 --> 05:30:01,520 actually created the doc. Here's the ID. 11371 05:30:00,080 --> 05:30:02,958 And now it's going to populate it with 11372 05:30:01,520 --> 05:30:04,558 what I need. And now it finished this 11373 05:30:02,958 --> 05:30:06,558 up. It gave me the link. I'll click into 11374 05:30:04,558 --> 05:30:08,160 this. And we can see boom, we have an 11375 05:30:06,558 --> 05:30:09,920 actual resource guide. It's got the 11376 05:30:08,160 --> 05:30:11,360 image inserted up here as a header. It's 11377 05:30:09,920 --> 05:30:12,798 got a link that goes right back to my 11378 05:30:11,360 --> 05:30:14,160 YouTube channel. It breaks down the 11379 05:30:12,798 --> 05:30:15,680 market traditional automation. It goes 11380 05:30:14,160 --> 05:30:17,680 through all this stuff and then even has 11381 05:30:15,680 --> 05:30:19,600 my CTA at the bottom as you can see 11382 05:30:17,680 --> 05:30:21,440 after all these horizontal lines to join 11383 05:30:19,600 --> 05:30:23,040 the plus group. So that was obviously 11384 05:30:21,440 --> 05:30:24,638 just one quick example, but there's so 11385 05:30:23,040 --> 05:30:26,638 many different benefits here using this 11386 05:30:24,638 --> 05:30:28,160 Workspace CLI. The first one is that you 11387 05:30:26,638 --> 05:30:30,480 have one interface. So basically, like I 11388 05:30:28,160 --> 05:30:32,240 said, it was one GWS CLI that Cloud Code 11389 05:30:30,480 --> 05:30:34,400 now has access to and it can access my 11390 05:30:32,240 --> 05:30:36,798 Gmail, my drive, Docs, Sheets, Calendar, 11391 05:30:34,400 --> 05:30:38,480 Admin, and more. It's also JSON first 11392 05:30:36,798 --> 05:30:39,760 with structured responses. So, our AI 11393 05:30:38,480 --> 05:30:41,280 agent is really, really good at working 11394 05:30:39,760 --> 05:30:42,798 with it. We have auto discovery, meaning 11395 05:30:41,280 --> 05:30:44,558 the CLI is pretty much always going to 11396 05:30:42,798 --> 05:30:45,760 stay up to date automatically. Pretty 11397 05:30:44,558 --> 05:30:46,878 much zero maintenance because we 11398 05:30:45,760 --> 05:30:48,878 authenticate and then we're going to be 11399 05:30:46,878 --> 05:30:50,878 good to go. It has built-in skills for 11400 05:30:48,878 --> 05:30:53,360 triage, for prep, for generations. Like 11401 05:30:50,878 --> 05:30:54,798 I said, there's 100 others. And it's not 11402 05:30:53,360 --> 05:30:56,638 much overhead because it's basically 11403 05:30:54,798 --> 05:30:58,160 just one tool. It's not the same as like 11404 05:30:56,638 --> 05:31:00,080 having all these different API endpoints 11405 05:30:58,160 --> 05:31:01,600 or all of these different MCP configs 11406 05:31:00,080 --> 05:31:03,040 and tools that would take up more 11407 05:31:01,600 --> 05:31:04,878 context. But I know you're probably 11408 05:31:03,040 --> 05:31:06,958 wondering, what is a CLI? It stands for 11409 05:31:04,878 --> 05:31:08,878 command line interface. And what we're 11410 05:31:06,958 --> 05:31:10,320 typically used to is a GUI or a 11411 05:31:08,878 --> 05:31:12,080 graphical user interface where we can 11412 05:31:10,320 --> 05:31:14,160 see buttons, we can see form fields, and 11413 05:31:12,080 --> 05:31:16,080 we can click on things and that's how we 11414 05:31:14,160 --> 05:31:18,240 navigate, but computers are more 11415 05:31:16,080 --> 05:31:20,080 navigating by text and by commands and 11416 05:31:18,240 --> 05:31:22,638 by typing. So that's really all that a 11417 05:31:20,080 --> 05:31:24,320 CLI is. And this is an open- source 11418 05:31:22,638 --> 05:31:26,000 Google Workspace product, and obviously 11419 05:31:24,320 --> 05:31:27,520 it's completely free. So I'll leave a 11420 05:31:26,000 --> 05:31:28,480 link to this GitHub repository down in 11421 05:31:27,520 --> 05:31:29,920 the description if you want to check it 11422 05:31:28,480 --> 05:31:30,798 out, read more about it. But I'm also 11423 05:31:29,920 --> 05:31:32,080 going to walk through some of the key 11424 05:31:30,798 --> 05:31:33,520 details right here. The first thing that 11425 05:31:32,080 --> 05:31:35,520 I wanted to show you is if you go down 11426 05:31:33,520 --> 05:31:37,040 here to the skills, this is where we can 11427 05:31:35,520 --> 05:31:39,760 actually see all of the different kind 11428 05:31:37,040 --> 05:31:41,840 of recipes they call them for pre-made 11429 05:31:39,760 --> 05:31:43,520 multi-step workflows that it has. As you 11430 05:31:41,840 --> 05:31:45,040 can see, creating events from sheets, 11431 05:31:43,520 --> 05:31:46,958 creating presentations, creating meat 11432 05:31:45,040 --> 05:31:48,718 space, label and archiving emails. 11433 05:31:46,958 --> 05:31:50,400 There's so many different patterns that 11434 05:31:48,718 --> 05:31:52,000 you might use from this pre-built 11435 05:31:50,400 --> 05:31:53,360 library. Now, if we keep scrolling down, 11436 05:31:52,000 --> 05:31:55,520 what you'll also notice is that right 11437 05:31:53,360 --> 05:31:57,200 here it says this is not an officially 11438 05:31:55,520 --> 05:31:58,718 supported Google product. Now, that 11439 05:31:57,200 --> 05:32:00,718 doesn't mean that it's unsafe. This is 11440 05:31:58,718 --> 05:32:02,240 an actual Google product, but the reason 11441 05:32:00,718 --> 05:32:03,680 why it's not officially supported is 11442 05:32:02,240 --> 05:32:05,280 because right now it's more of like an 11443 05:32:03,680 --> 05:32:07,200 open- source beta. It's kind of a 11444 05:32:05,280 --> 05:32:09,680 developer playground rather than like an 11445 05:32:07,200 --> 05:32:11,120 enterprisebacked software. And you can 11446 05:32:09,680 --> 05:32:12,558 see right here that it also says this 11447 05:32:11,120 --> 05:32:14,160 project is under active development. 11448 05:32:12,558 --> 05:32:16,160 Expect breaking changes as we march 11449 05:32:14,160 --> 05:32:17,680 towards v 1.0. So this thing's already 11450 05:32:16,160 --> 05:32:18,958 really good out of the box and it's only 11451 05:32:17,680 --> 05:32:20,718 going to get better. And you can see, 11452 05:32:18,958 --> 05:32:23,280 like I said, when Google Workspace adds 11453 05:32:20,718 --> 05:32:24,878 an API endpoint or method, GWS picks it 11454 05:32:23,280 --> 05:32:26,160 up automatically. So you might as well 11455 05:32:24,878 --> 05:32:27,760 chuck it into cloud code right now and 11456 05:32:26,160 --> 05:32:29,360 start getting used to it. Okay, so I 11457 05:32:27,760 --> 05:32:30,638 just uninstalled this so I can walk you 11458 05:32:29,360 --> 05:32:32,320 guys through step by step how this 11459 05:32:30,638 --> 05:32:34,558 actually works. It's super easy. What I 11460 05:32:32,320 --> 05:32:36,878 do is I basically copy the link to this 11461 05:32:34,558 --> 05:32:38,480 GitHub repository as you can see. And 11462 05:32:36,878 --> 05:32:40,798 I'm going to basically just give it to 11463 05:32:38,480 --> 05:32:44,320 Cloud Code and say, "Hey, I want to 11464 05:32:40,798 --> 05:32:45,920 install this GWS CLI, read through the 11465 05:32:44,320 --> 05:32:47,360 documentation, and help me install 11466 05:32:45,920 --> 05:32:48,638 everything that I need to install, and 11467 05:32:47,360 --> 05:32:49,840 then we're going to get set up." So, 11468 05:32:48,638 --> 05:32:51,760 this is basically going to do all the 11469 05:32:49,840 --> 05:32:53,840 research for me, and then all I have to 11470 05:32:51,760 --> 05:32:55,360 do is follow its instructions. So, it 11471 05:32:53,840 --> 05:32:56,878 read the docs. It's looking at what we 11472 05:32:55,360 --> 05:32:57,920 already have installed. It basically saw 11473 05:32:56,878 --> 05:32:59,360 that I already had some of the 11474 05:32:57,920 --> 05:33:01,120 prerequisites. So if you don't have 11475 05:32:59,360 --> 05:33:02,240 those, you'll have to install those. And 11476 05:33:01,120 --> 05:33:04,480 then it told me that we needed to 11477 05:33:02,240 --> 05:33:06,000 install the CLI. So it did that. And now 11478 05:33:04,480 --> 05:33:07,920 we have two options. So the first one is 11479 05:33:06,000 --> 05:33:09,920 to install G-Cloud CLI so that we have 11480 05:33:07,920 --> 05:33:12,320 automatic setup and off. Or we could do 11481 05:33:09,920 --> 05:33:13,760 it manually by creating our own project 11482 05:33:12,320 --> 05:33:15,440 and whatnot. So let's just go ahead and 11483 05:33:13,760 --> 05:33:17,040 try option A. Okay. I thought this was 11484 05:33:15,440 --> 05:33:18,878 going to be just like a simple command 11485 05:33:17,040 --> 05:33:20,080 that it ran and then we were good. But 11486 05:33:18,878 --> 05:33:21,520 it's actually like some other thing to 11487 05:33:20,080 --> 05:33:23,440 install. So let's actually go back and 11488 05:33:21,520 --> 05:33:24,958 try manual and I'll just show you guys I 11489 05:33:23,440 --> 05:33:26,480 guess the harder way. Okay. So I'm going 11490 05:33:24,958 --> 05:33:27,920 to go to this link. go to our Google 11491 05:33:26,480 --> 05:33:29,360 Cloud Console and make sure you're 11492 05:33:27,920 --> 05:33:30,718 signed in with the right account up in 11493 05:33:29,360 --> 05:33:32,080 the top right. And I'm just going to go 11494 05:33:30,718 --> 05:33:33,280 ahead and create a new project just to 11495 05:33:32,080 --> 05:33:35,200 show you guys what this would look like. 11496 05:33:33,280 --> 05:33:40,080 So, new project. I'm going to call this 11497 05:33:35,200 --> 05:33:41,360 one Claude Code GWS. And we're just 11498 05:33:40,080 --> 05:33:43,280 going to go ahead and create this 11499 05:33:41,360 --> 05:33:45,120 project. So, this is spinning up right 11500 05:33:43,280 --> 05:33:46,400 now as you can see. And now that it has 11501 05:33:45,120 --> 05:33:47,760 been created, I'm going to select it so 11502 05:33:46,400 --> 05:33:50,000 we're inside of it. And then I'm going 11503 05:33:47,760 --> 05:33:51,840 to go up here and type in APIs and 11504 05:33:50,000 --> 05:33:53,760 services. Click on that. And we have to 11505 05:33:51,840 --> 05:33:55,680 set up our OOTH consent screen. So, I'll 11506 05:33:53,760 --> 05:33:58,160 click on this. and it's going to say get 11507 05:33:55,680 --> 05:34:00,080 started. Click on that. We have to give 11508 05:33:58,160 --> 05:34:01,600 our app a name. And then we have to 11509 05:34:00,080 --> 05:34:03,360 choose an audience. So I'm just going to 11510 05:34:01,600 --> 05:34:05,600 do internal because I only need this 11511 05:34:03,360 --> 05:34:07,360 right now for my own organization. If 11512 05:34:05,600 --> 05:34:09,840 you want to do external, it'll basically 11513 05:34:07,360 --> 05:34:11,200 have you do testing or published. And if 11514 05:34:09,840 --> 05:34:14,320 you do testing, just make sure that you 11515 05:34:11,200 --> 05:34:15,520 add your email as a test user. And then 11516 05:34:14,320 --> 05:34:18,080 all you have to do after you put in your 11517 05:34:15,520 --> 05:34:19,680 contact information is hit I agree. And 11518 05:34:18,080 --> 05:34:21,280 then you go ahead and create that. Now 11519 05:34:19,680 --> 05:34:23,680 once that has been done, you're going to 11520 05:34:21,280 --> 05:34:25,760 go to create a client ID. So, I'm going 11521 05:34:23,680 --> 05:34:27,440 to go back into APIs and services. I'm 11522 05:34:25,760 --> 05:34:28,480 going to go to credentials and then I'm 11523 05:34:27,440 --> 05:34:30,400 going to go ahead and do a create 11524 05:34:28,480 --> 05:34:32,320 credential oath client ID. Now, in here, 11525 05:34:30,400 --> 05:34:35,040 we're going to choose a desktop app. I'm 11526 05:34:32,320 --> 05:34:37,120 going to just call this GWS and go ahead 11527 05:34:35,040 --> 05:34:39,120 and hit create. And now, we have our 11528 05:34:37,120 --> 05:34:40,320 client ID and our client secret. And so, 11529 05:34:39,120 --> 05:34:42,638 what you're going to do is download this 11530 05:34:40,320 --> 05:34:44,638 as a JSON file. Now, you can see here 11531 05:34:42,638 --> 05:34:48,798 that it says to download that file and 11532 05:34:44,638 --> 05:34:50,000 save it to your global.config/GWS. 11533 05:34:48,798 --> 05:34:51,120 So, basically, if you can't find this, 11534 05:34:50,000 --> 05:34:52,958 just say, "Hey, can you give that to me 11535 05:34:51,120 --> 05:34:55,040 in a full path?" And then you can paste 11536 05:34:52,958 --> 05:34:56,798 that into your finder or your file 11537 05:34:55,040 --> 05:34:58,320 explorer and it will take you there. It 11538 05:34:56,798 --> 05:34:59,520 will probably look something like this. 11539 05:34:58,320 --> 05:35:01,840 And then you just drag in that 11540 05:34:59,520 --> 05:35:03,520 credential thing. I called mine client 11541 05:35:01,840 --> 05:35:05,280 secret. And cloud code will be able to 11542 05:35:03,520 --> 05:35:06,638 look at this globally now. And so what 11543 05:35:05,280 --> 05:35:09,200 you'll notice is that we didn't in this 11544 05:35:06,638 --> 05:35:10,718 project yet enable these APIs. So let me 11545 05:35:09,200 --> 05:35:13,360 just show you what happens without that. 11546 05:35:10,718 --> 05:35:15,120 So it says the last step is to run GWS 11547 05:35:13,360 --> 05:35:16,558 off login. So I just said, hey, I 11548 05:35:15,120 --> 05:35:19,040 finished option B. The credentials are 11549 05:35:16,558 --> 05:35:21,280 called client secret. And then I told it 11550 05:35:19,040 --> 05:35:23,360 to run the O login. So that should 11551 05:35:21,280 --> 05:35:25,120 basically open up a tab for you, but if 11552 05:35:23,360 --> 05:35:26,558 it doesn't, then you can ask for it to 11553 05:35:25,120 --> 05:35:28,160 give you that URL so that you can 11554 05:35:26,558 --> 05:35:29,600 actually authenticate in. So you would 11555 05:35:28,160 --> 05:35:31,040 basically choose your account that you 11556 05:35:29,600 --> 05:35:32,718 want to use. And then you just have to 11557 05:35:31,040 --> 05:35:33,920 basically confirm that it can access all 11558 05:35:32,718 --> 05:35:36,000 of these different things as you can 11559 05:35:33,920 --> 05:35:37,840 see. And then when you hit allow, you 11560 05:35:36,000 --> 05:35:38,878 should be properly authenticated. After 11561 05:35:37,840 --> 05:35:40,240 that, it's going to come back and say, 11562 05:35:38,878 --> 05:35:42,240 "Okay, cool. Let me see if everything 11563 05:35:40,240 --> 05:35:44,160 works." Now, this hasn't been perfect on 11564 05:35:42,240 --> 05:35:45,280 the first try every time, but if you 11565 05:35:44,160 --> 05:35:46,798 just go back and forth a little bit, 11566 05:35:45,280 --> 05:35:48,638 say, "Hey, that didn't work. Hey, this 11567 05:35:46,798 --> 05:35:49,600 is what I'm seeing." It will be able to 11568 05:35:48,638 --> 05:35:51,040 get you there. It's going to be your 11569 05:35:49,600 --> 05:35:52,638 best friend for something like this 11570 05:35:51,040 --> 05:35:54,558 because remember it can read all of the 11571 05:35:52,638 --> 05:35:55,840 actual documentation. And now it says 11572 05:35:54,558 --> 05:35:58,320 that the author is working, but we have 11573 05:35:55,840 --> 05:35:59,680 to enable these APIs in our Google Cloud 11574 05:35:58,320 --> 05:36:01,520 projects. So basically just clicking 11575 05:35:59,680 --> 05:36:03,680 open these one at a time and all you 11576 05:36:01,520 --> 05:36:05,120 have to do is hit enable. So it's super 11577 05:36:03,680 --> 05:36:06,878 simple. You just have to do this like I 11578 05:36:05,120 --> 05:36:08,080 said for all of these different services 11579 05:36:06,878 --> 05:36:09,680 that you actually want to be able to 11580 05:36:08,080 --> 05:36:10,798 use. So that's why I did this on a new 11581 05:36:09,680 --> 05:36:12,160 project cuz I just wanted you guys to 11582 05:36:10,798 --> 05:36:13,600 see that. But if you already have one 11583 05:36:12,160 --> 05:36:15,840 that has all these enabled, then you can 11584 05:36:13,600 --> 05:36:17,840 just use that project and generate that 11585 05:36:15,840 --> 05:36:19,200 OOTH client ID. So there you go. You can 11586 05:36:17,840 --> 05:36:20,798 see that this works. I said, "Can you 11587 05:36:19,200 --> 05:36:22,638 find my Google doc that I made in April 11588 05:36:20,798 --> 05:36:24,400 of 2025?" And I went ahead and pulled 11589 05:36:22,638 --> 05:36:26,160 links to all five of these because 11590 05:36:24,400 --> 05:36:27,520 obviously that was a very vague request. 11591 05:36:26,160 --> 05:36:29,440 And now we could take action pretty much 11592 05:36:27,520 --> 05:36:32,000 anywhere in Google Workspace super 11593 05:36:29,440 --> 05:36:33,440 simply with this CLI. But like I said, I 11594 05:36:32,000 --> 05:36:34,878 just got this set up today and I've been 11595 05:36:33,440 --> 05:36:36,638 playing around with it a ton in my 11596 05:36:34,878 --> 05:36:37,920 executive assistant project and it's 11597 05:36:36,638 --> 05:36:39,680 been awesome. It can literally do 11598 05:36:37,920 --> 05:36:41,440 anything. So here I'm asking it to grab 11599 05:36:39,680 --> 05:36:42,958 my unread emails from today and based on 11600 05:36:41,440 --> 05:36:44,878 what it knows about my business and my 11601 05:36:42,958 --> 05:36:46,240 priorities, give them a score. And if 11602 05:36:44,878 --> 05:36:47,600 the priority score is below five, just 11603 05:36:46,240 --> 05:36:48,480 mark it as unread automatically. All 11604 05:36:47,600 --> 05:36:50,558 right. All right. So, here you can see 11605 05:36:48,480 --> 05:36:52,320 it said, "Got 30 unread emails. Here's 11606 05:36:50,558 --> 05:36:54,320 my priority score based on your business 11607 05:36:52,320 --> 05:36:55,760 context." And as I scroll down, you can 11608 05:36:54,320 --> 05:36:57,440 see that it's getting different ratings. 11609 05:36:55,760 --> 05:36:59,200 And based on what I'm seeing right now, 11610 05:36:57,440 --> 05:37:00,240 this actually looks pretty good. So then 11611 05:36:59,200 --> 05:37:02,160 I started playing around with Google 11612 05:37:00,240 --> 05:37:03,680 Slides because I use Gamma right now, 11613 05:37:02,160 --> 05:37:05,040 but at some point I could imagine that 11614 05:37:03,680 --> 05:37:06,480 if this gets good enough, then I 11615 05:37:05,040 --> 05:37:08,320 wouldn't need Gamma anymore. And this is 11616 05:37:06,480 --> 05:37:09,840 a free option compared to Gamma 11617 05:37:08,320 --> 05:37:12,080 subscription. So I had it create me a 11618 05:37:09,840 --> 05:37:13,840 slide deck and it was okay. I threw in 11619 05:37:12,080 --> 05:37:15,840 my brand guidelines. I threw in my logo 11620 05:37:13,840 --> 05:37:17,440 and I said, "Hey, can you see this? you 11621 05:37:15,840 --> 05:37:19,120 created this using the Google slides and 11622 05:37:17,440 --> 05:37:20,878 it's okay but there's some weird things 11623 05:37:19,120 --> 05:37:22,638 that I need you to fix. So then it came 11624 05:37:20,878 --> 05:37:23,680 back and said I cannot see the slides. I 11625 05:37:22,638 --> 05:37:24,958 just know how to build them 11626 05:37:23,680 --> 05:37:26,320 programmatically. So that's why there 11627 05:37:24,958 --> 05:37:27,920 may be some errors with spacing and 11628 05:37:26,320 --> 05:37:29,600 stuff. So then I basically just gave it 11629 05:37:27,920 --> 05:37:31,520 access to ChromeDev tools so that it 11630 05:37:29,600 --> 05:37:33,600 could open the page, screenshot it, look 11631 05:37:31,520 --> 05:37:35,680 at it and then we built a plan to add 11632 05:37:33,600 --> 05:37:37,440 visual validation to this Google Slide 11633 05:37:35,680 --> 05:37:38,798 Creator skill. So now you can see as 11634 05:37:37,440 --> 05:37:40,480 it's going through it actually takes 11635 05:37:38,798 --> 05:37:42,320 screenshots and then it can make fixes 11636 05:37:40,480 --> 05:37:43,520 based on that. So then after it fixes 11637 05:37:42,320 --> 05:37:45,200 everything, it says, "Okay, cool. 11638 05:37:43,520 --> 05:37:46,958 Updated the skill. Take a look at it 11639 05:37:45,200 --> 05:37:49,360 now." So I'll open up this link. Brings 11640 05:37:46,958 --> 05:37:51,280 me to Google Slides where I have this 11641 05:37:49,360 --> 05:37:53,120 slide deck. It has kind of my brand 11642 05:37:51,280 --> 05:37:54,480 colors. It's got the logo up top right. 11643 05:37:53,120 --> 05:37:55,680 And then as we go through, we can also 11644 05:37:54,480 --> 05:37:56,798 see that the spacing is a little bit 11645 05:37:55,680 --> 05:37:58,638 better. It's still not perfect 11646 05:37:56,798 --> 05:38:00,480 obviously, but we have custom images 11647 05:37:58,638 --> 05:38:02,240 here that were generated with Nano 11648 05:38:00,480 --> 05:38:04,718 Banana 2. And even the images are kind 11649 05:38:02,240 --> 05:38:06,798 of on brand with the sort of orange and 11650 05:38:04,718 --> 05:38:08,400 blue color scheme. As you can see, we've 11651 05:38:06,798 --> 05:38:10,000 got this one with the WAT framework. 11652 05:38:08,400 --> 05:38:12,160 We've got this slide. And it even ends 11653 05:38:10,000 --> 05:38:13,600 with a CTA for the free school 11654 05:38:12,160 --> 05:38:14,718 community. So, just to see what else 11655 05:38:13,600 --> 05:38:16,480 happens, I'm going to say, "Take a look 11656 05:38:14,718 --> 05:38:17,840 at the slide deck and do another audit. 11657 05:38:16,480 --> 05:38:20,480 How could you improve the skill in the 11658 05:38:17,840 --> 05:38:22,080 future?" So, it's going to go ahead open 11659 05:38:20,480 --> 05:38:23,280 up a tab as you guys just saw. It's 11660 05:38:22,080 --> 05:38:24,958 going to take images. It's going to 11661 05:38:23,280 --> 05:38:26,958 flick through the different slides and 11662 05:38:24,958 --> 05:38:29,600 capture them. And as you can see over 11663 05:38:26,958 --> 05:38:31,120 here, it now says take screenshot. And 11664 05:38:29,600 --> 05:38:32,638 now, it's reading that screenshot right 11665 05:38:31,120 --> 05:38:34,240 there. 11666 05:38:32,638 --> 05:38:35,600 Now, it just moved on to the next slide. 11667 05:38:34,240 --> 05:38:36,878 And it's going to go through and look at 11668 05:38:35,600 --> 05:38:38,400 every single slide. And then, it's going 11669 05:38:36,878 --> 05:38:39,920 to come back with a plan. And we could 11670 05:38:38,400 --> 05:38:42,480 probably do a similar visual and 11671 05:38:39,920 --> 05:38:44,080 validate flow with creating Google Docs 11672 05:38:42,480 --> 05:38:45,600 as well. So now you can see it's almost 11673 05:38:44,080 --> 05:38:47,280 on to that last slide. And I hope it 11674 05:38:45,600 --> 05:38:49,280 fixes this last slide because what you 11675 05:38:47,280 --> 05:38:51,200 can see here is that the spacing is 11676 05:38:49,280 --> 05:38:52,638 really off down here. So you can see it 11677 05:38:51,200 --> 05:38:54,638 came back with an audit. It came back 11678 05:38:52,638 --> 05:38:56,400 with some future improvements. And one 11679 05:38:54,638 --> 05:38:57,840 thing that I did notice is that because 11680 05:38:56,400 --> 05:38:59,840 I made the window smaller, its 11681 05:38:57,840 --> 05:39:01,840 screenshots were probably worse quality. 11682 05:38:59,840 --> 05:39:03,760 So it said presentation mode screenshots 11683 05:39:01,840 --> 05:39:04,718 would probably be better. But anyways, I 11684 05:39:03,760 --> 05:39:07,280 just wanted to give you guys a little 11685 05:39:04,718 --> 05:39:09,280 taste of how you can use the GWS CLI. 11686 05:39:07,280 --> 05:39:11,040 but also use it with other tools to make 11687 05:39:09,280 --> 05:39:12,638 the functionality even more powerful. 11688 05:39:11,040 --> 05:39:14,000 So, just remember that this is very new. 11689 05:39:12,638 --> 05:39:15,280 There's a lot of people out there on 11690 05:39:14,000 --> 05:39:16,958 Twitter right now saying that this is 11691 05:39:15,280 --> 05:39:18,000 insanely overpowered. There's also a lot 11692 05:39:16,958 --> 05:39:19,600 of people that are saying that it just 11693 05:39:18,000 --> 05:39:20,718 feels kind of finicky. So far for me, 11694 05:39:19,600 --> 05:39:23,440 it's been pretty great. Everything that 11695 05:39:20,718 --> 05:39:24,718 I've asked it to do or find or schedule, 11696 05:39:23,440 --> 05:39:26,240 whatever it is, it's been doing that 11697 05:39:24,718 --> 05:39:27,680 pretty much perfectly. But there are 11698 05:39:26,240 --> 05:39:29,600 some people saying that it's asking them 11699 05:39:27,680 --> 05:39:31,120 to reauthenticate multiple times. So, if 11700 05:39:29,600 --> 05:39:32,718 that's a little frustrating, I guess 11701 05:39:31,120 --> 05:39:34,240 just keep in mind that it will only get 11702 05:39:32,718 --> 05:39:35,920 better and we're not even to version one 11703 05:39:34,240 --> 05:39:37,440 yet. So I definitely recommend that you 11704 05:39:35,920 --> 05:39:38,718 come to this GitHub, read about it, but 11705 05:39:37,440 --> 05:39:40,400 more importantly get this thing 11706 05:39:38,718 --> 05:39:45,360 installed in your cloud code setup and 11707 05:39:40,400 --> 05:39:46,798 just start using it, using it, using it. 11708 05:39:45,360 --> 05:39:49,360 All right, are you ready for a really 11709 05:39:46,798 --> 05:39:51,280 fun project? We are going to build our 11710 05:39:49,360 --> 05:39:52,400 own executive assistant. So think about 11711 05:39:51,280 --> 05:39:54,400 everything that you've done so far in 11712 05:39:52,400 --> 05:39:56,000 this course. We built some workflows. 11713 05:39:54,400 --> 05:39:58,480 We've talked about the folder 11714 05:39:56,000 --> 05:39:59,680 architecture. We've talked about claw 11715 05:39:58,480 --> 05:40:01,920 MD. We've done a lot of different 11716 05:39:59,680 --> 05:40:04,240 things, right? Let's turn this into an 11717 05:40:01,920 --> 05:40:05,680 actual system that can know everything 11718 05:40:04,240 --> 05:40:06,878 about our business and that we can use 11719 05:40:05,680 --> 05:40:08,558 all the time. Essentially, a second 11720 05:40:06,878 --> 05:40:09,920 brain. Now, before you guys hop into 11721 05:40:08,558 --> 05:40:11,120 this next one, I wanted to preface 11722 05:40:09,920 --> 05:40:12,480 something just to make sure that there's 11723 05:40:11,120 --> 05:40:13,760 no confusion. So, what you're going to 11724 05:40:12,480 --> 05:40:15,520 notice is that I've got some skills 11725 05:40:13,760 --> 05:40:17,200 running. And if you just think back to 11726 05:40:15,520 --> 05:40:18,878 earlier when we were building a 11727 05:40:17,200 --> 05:40:21,280 workflows using the WAT framework, 11728 05:40:18,878 --> 05:40:23,200 workflows agent tools. Skills are 11729 05:40:21,280 --> 05:40:25,600 basically workflows. They're basically 11730 05:40:23,200 --> 05:40:27,600 the exact same thing. We build out, you 11731 05:40:25,600 --> 05:40:29,520 know, markdown SOPs, natural language 11732 05:40:27,600 --> 05:40:31,920 instructions that cloud code can read 11733 05:40:29,520 --> 05:40:33,200 and execute on natural language. So, as 11734 05:40:31,920 --> 05:40:34,558 I start to talk about skills and as we 11735 05:40:33,200 --> 05:40:35,840 start to learn more about that, just 11736 05:40:34,558 --> 05:40:37,600 think of them as the workflows from 11737 05:40:35,840 --> 05:40:38,958 earlier in this course because workflows 11738 05:40:37,600 --> 05:40:41,040 have tools that it can call on. And 11739 05:40:38,958 --> 05:40:42,558 guess what? Skills have Python scripts 11740 05:40:41,040 --> 05:40:44,160 that they can call on. So, they're 11741 05:40:42,558 --> 05:40:45,600 literally the exact same thing. I just 11742 05:40:44,160 --> 05:40:47,200 like to start off calling them workflows 11743 05:40:45,600 --> 05:40:48,878 and tools because I think that it's just 11744 05:40:47,200 --> 05:40:50,400 a little bit more intuitive. So, 11745 05:40:48,878 --> 05:40:51,840 hopefully you guys get that, but it'll 11746 05:40:50,400 --> 05:40:53,440 click as soon as you get through these 11747 05:40:51,840 --> 05:40:54,798 next couple videos. So, let's not waste 11748 05:40:53,440 --> 05:40:58,280 any time. I hope you guys are excited. 11749 05:40:54,798 --> 05:40:58,280 Let's get into it. 11750 05:40:58,480 --> 05:41:01,600 This right here is my Claude Code 11751 05:41:00,080 --> 05:41:03,200 executive assistant. Let me show you a 11752 05:41:01,600 --> 05:41:04,080 few things that it can do. Okay, so I'm 11753 05:41:03,200 --> 05:41:05,440 going to start off by saying pretend 11754 05:41:04,080 --> 05:41:07,200 that it's morning because it's not right 11755 05:41:05,440 --> 05:41:08,480 now and use the morning coffee skill to 11756 05:41:07,200 --> 05:41:10,320 help me plan my day. So, I'm going to 11757 05:41:08,480 --> 05:41:12,080 shoot that off. Now, while that's going, 11758 05:41:10,320 --> 05:41:13,440 I'm going to open up a new tab and I'm 11759 05:41:12,080 --> 05:41:15,280 going to shoot off this message that 11760 05:41:13,440 --> 05:41:16,798 says, "Spin up a sub agent to do 11761 05:41:15,280 --> 05:41:18,320 research on the new Cloud Code voice 11762 05:41:16,798 --> 05:41:20,558 feature and then create both a LinkedIn 11763 05:41:18,320 --> 05:41:22,480 post and a Twitter style carousel for 11764 05:41:20,558 --> 05:41:24,080 me." It's created a to-do list and it's 11765 05:41:22,480 --> 05:41:25,920 getting going on that. I'm opening up 11766 05:41:24,080 --> 05:41:27,120 another window and I'm saying do a pulse 11767 05:41:25,920 --> 05:41:28,958 check on the team to see if we're on 11768 05:41:27,120 --> 05:41:30,718 track for the week and for the quarter. 11769 05:41:28,958 --> 05:41:32,638 And finally, one more just for fun. 11770 05:41:30,718 --> 05:41:34,480 Create me a visualization for a YouTube 11771 05:41:32,638 --> 05:41:36,480 video where I want to explain why having 11772 05:41:34,480 --> 05:41:37,840 Claude as an executive assistant is 11773 05:41:36,480 --> 05:41:39,600 awesome. And now it's using a 11774 05:41:37,840 --> 05:41:40,958 visualization skill. So what you're 11775 05:41:39,600 --> 05:41:43,920 watching right now are four different 11776 05:41:40,958 --> 05:41:45,520 agents. 1 2 3 4. All doing things for me 11777 05:41:43,920 --> 05:41:46,798 in parallel. And not just for a cool 11778 05:41:45,520 --> 05:41:48,718 demo, but these are actually things that 11779 05:41:46,798 --> 05:41:50,718 I do every single day or every single 11780 05:41:48,718 --> 05:41:52,160 other day. So, the first agent's done, 11781 05:41:50,718 --> 05:41:53,840 which is our morning coffee. And we can 11782 05:41:52,160 --> 05:41:55,600 see this is what is on the calendar for 11783 05:41:53,840 --> 05:41:57,360 today. That's crazy that it said March 11784 05:41:55,600 --> 05:41:58,878 5th. It's actually the 4th, but still 11785 05:41:57,360 --> 05:42:00,000 this is all correct. So, it looked 11786 05:41:58,878 --> 05:42:01,520 through my calendar. It looked through 11787 05:42:00,000 --> 05:42:03,440 my project management and our quarterly 11788 05:42:01,520 --> 05:42:05,200 goals. And it pulled in urgent action 11789 05:42:03,440 --> 05:42:06,558 items. It also pulled in my video 11790 05:42:05,200 --> 05:42:08,240 pipeline. So, it sees what I'm scripting 11791 05:42:06,558 --> 05:42:09,600 and what's in the backlog. And it uses 11792 05:42:08,240 --> 05:42:11,120 all of this context as well as 11793 05:42:09,600 --> 05:42:13,040 everything on this lefth hand side which 11794 05:42:11,120 --> 05:42:15,360 are, you know, current priorities, me, 11795 05:42:13,040 --> 05:42:17,040 OTAAS, my team, work, we've got 11796 05:42:15,360 --> 05:42:18,638 projects, we've got decisions, we've got 11797 05:42:17,040 --> 05:42:20,160 all this stuff in here that it's able to 11798 05:42:18,638 --> 05:42:21,680 look through. So, we've basically given 11799 05:42:20,160 --> 05:42:23,280 it access to everything going on in my 11800 05:42:21,680 --> 05:42:24,878 business and now it's able to just plan 11801 05:42:23,280 --> 05:42:26,480 out my entire day and I can go ahead and 11802 05:42:24,878 --> 05:42:27,920 say yes and it will just block off my 11803 05:42:26,480 --> 05:42:29,280 whole calendar. And I really love doing 11804 05:42:27,920 --> 05:42:30,718 this because if I don't have to have 11805 05:42:29,280 --> 05:42:32,558 that decision fatigue of what should I 11806 05:42:30,718 --> 05:42:34,400 do with my next 15 minutes, my next hour 11807 05:42:32,558 --> 05:42:36,080 and it's just done for me, I'm way more 11808 05:42:34,400 --> 05:42:37,520 productive. The second one is done. So, 11809 05:42:36,080 --> 05:42:38,958 we had a sub agent doing research. We've 11810 05:42:37,520 --> 05:42:40,638 got a LinkedIn post and we've got our 11811 05:42:38,958 --> 05:42:42,320 carousel. So, right here is the LinkedIn 11812 05:42:40,638 --> 05:42:43,840 post which is in my tone of voice as you 11813 05:42:42,320 --> 05:42:46,320 can see. And then if I go over here to 11814 05:42:43,840 --> 05:42:48,558 our projects and I go to carousels and I 11815 05:42:46,320 --> 05:42:50,558 go to March 4th, we can see that we have 11816 05:42:48,558 --> 05:42:52,400 seven slides. We've got slide one which 11817 05:42:50,558 --> 05:42:54,638 is you can now talk to your code editor. 11818 05:42:52,400 --> 05:42:56,558 Slide two cloud code voice mode is live. 11819 05:42:54,638 --> 05:42:57,760 Slide three. Slide four. I think you 11820 05:42:56,558 --> 05:42:59,680 guys get the point. And then here's 11821 05:42:57,760 --> 05:43:01,040 slide seven which is the CTA. Now we've 11822 05:42:59,680 --> 05:43:02,638 got the pulse check which is an even 11823 05:43:01,040 --> 05:43:04,080 deeper dive than that morning coffee 11824 05:43:02,638 --> 05:43:05,440 skill. It's looking at all of the 11825 05:43:04,080 --> 05:43:07,200 initiatives that we currently have in 11826 05:43:05,440 --> 05:43:08,958 progress and I can see each task and the 11827 05:43:07,200 --> 05:43:10,558 current status and based on all that 11828 05:43:08,958 --> 05:43:11,920 information and based on our goals, it 11829 05:43:10,558 --> 05:43:13,520 gives me follow-ups. So, I'm really 11830 05:43:11,920 --> 05:43:14,558 easily able to check in on the team and 11831 05:43:13,520 --> 05:43:16,320 make sure that everything is actually 11832 05:43:14,558 --> 05:43:18,240 progressing. And the last one is our 11833 05:43:16,320 --> 05:43:19,360 actual visualization for an executive 11834 05:43:18,240 --> 05:43:20,878 assistant. So, I would just need to go 11835 05:43:19,360 --> 05:43:22,878 to projects. I would go to 11836 05:43:20,878 --> 05:43:24,798 visualizations and we should see March 11837 05:43:22,878 --> 05:43:26,558 4th, we have Claude executive assistant 11838 05:43:24,798 --> 05:43:27,840 PNG. So, here's what we got. We've got 11839 05:43:26,558 --> 05:43:29,280 you on the lefth hand side where you're 11840 05:43:27,840 --> 05:43:31,360 buried in work and on the right hand 11841 05:43:29,280 --> 05:43:32,878 side we've got with Claude executive 11842 05:43:31,360 --> 05:43:34,798 assistant. And I'm actually going to use 11843 05:43:32,878 --> 05:43:36,240 this in the video. So, that was a quick 11844 05:43:34,798 --> 05:43:37,760 demo. You guys got a little bit of a 11845 05:43:36,240 --> 05:43:39,280 taste of what this executive assistant 11846 05:43:37,760 --> 05:43:40,638 can do for me. Now, don't be overwhelmed 11847 05:43:39,280 --> 05:43:42,000 by all these files over here. I've built 11848 05:43:40,638 --> 05:43:43,440 this up by using it every day, but I'm 11849 05:43:42,000 --> 05:43:44,958 going to show you guys exactly how you 11850 05:43:43,440 --> 05:43:46,480 can follow this framework to have 11851 05:43:44,958 --> 05:43:48,080 basically your own Herk 2, which is what 11852 05:43:46,480 --> 05:43:49,680 I have right here, but it would be for 11853 05:43:48,080 --> 05:43:51,280 you. And so, all four of these things 11854 05:43:49,680 --> 05:43:52,958 that just happened probably took me a 11855 05:43:51,280 --> 05:43:54,240 minute or two. And if I was to do each 11856 05:43:52,958 --> 05:43:56,480 of those manually, it would have taken 11857 05:43:54,240 --> 05:43:57,440 me at least 25 minutes. So, if you want 11858 05:43:56,480 --> 05:43:59,120 to know how you can build this for 11859 05:43:57,440 --> 05:44:00,240 yourself, let's get into it. So today 11860 05:43:59,120 --> 05:44:01,760 you are going to be building your own 11861 05:44:00,240 --> 05:44:03,280 executive assistant with claude code. 11862 05:44:01,760 --> 05:44:04,878 But I wanted to start off real quick by 11863 05:44:03,280 --> 05:44:06,400 just talking about what most people do 11864 05:44:04,878 --> 05:44:08,080 and why that's not really the same 11865 05:44:06,400 --> 05:44:10,160 thing. So with something like claude or 11866 05:44:08,080 --> 05:44:11,440 chatbt, we've been way more productive 11867 05:44:10,160 --> 05:44:13,200 because we've been able to save 11868 05:44:11,440 --> 05:44:14,798 memories. We've been able to save, you 11869 05:44:13,200 --> 05:44:16,160 know, maybe custom skills or custom 11870 05:44:14,798 --> 05:44:16,878 prompts. There's still so many times 11871 05:44:16,160 --> 05:44:18,320 where you've probably thought to 11872 05:44:16,878 --> 05:44:20,160 yourself, man, I wish this thing just 11873 05:44:18,320 --> 05:44:21,360 knew everything about what's going on. 11874 05:44:20,160 --> 05:44:22,718 So in that old way, you kind of feel 11875 05:44:21,360 --> 05:44:24,480 like you're repeating yourself a lot or 11876 05:44:22,718 --> 05:44:26,000 you're giving it extra context or it's 11877 05:44:24,480 --> 05:44:27,680 just helping you get maybe like 50% of 11878 05:44:26,000 --> 05:44:29,440 the way there instead of 90% of the way 11879 05:44:27,680 --> 05:44:30,958 there. But with an AI assistant, it 11880 05:44:29,440 --> 05:44:32,400 knows your name, your business, your 11881 05:44:30,958 --> 05:44:33,840 priorities, your team, your current 11882 05:44:32,400 --> 05:44:35,600 things. It knows the decisions you've 11883 05:44:33,840 --> 05:44:36,798 made. And it can also do things for you 11884 05:44:35,600 --> 05:44:38,240 like check in with the team. It can 11885 05:44:36,798 --> 05:44:39,600 create stuff. It can research. It can 11886 05:44:38,240 --> 05:44:41,120 plan your day. And this is the visual 11887 05:44:39,600 --> 05:44:42,480 that we just generated together. And I 11888 05:44:41,120 --> 05:44:43,840 actually like this more because it's 11889 05:44:42,480 --> 05:44:45,600 showing that I'm able to create more 11890 05:44:43,840 --> 05:44:46,958 YouTube videos because of this 11891 05:44:45,600 --> 05:44:48,718 assistant. So, the benefits are pretty 11892 05:44:46,958 --> 05:44:49,760 clear here. You can save a lot of time. 11893 05:44:48,718 --> 05:44:51,760 You never have to really repeat 11894 05:44:49,760 --> 05:44:53,760 yourself. You scale your team. And you 11895 05:44:51,760 --> 05:44:55,200 could potentially sell this skill 11896 05:44:53,760 --> 05:44:57,040 because now you understand how to set up 11897 05:44:55,200 --> 05:44:59,280 these frameworks with context management 11898 05:44:57,040 --> 05:45:00,638 and you know memory. And in this process 11899 05:44:59,280 --> 05:45:02,000 of building your own assistant, you're 11900 05:45:00,638 --> 05:45:03,520 going to get so much better at cloud 11901 05:45:02,000 --> 05:45:05,040 code, which is a really good skill to 11902 05:45:03,520 --> 05:45:06,480 have. So like I said, today I'm going to 11903 05:45:05,040 --> 05:45:07,760 be showing you guys exactly how I built 11904 05:45:06,480 --> 05:45:09,920 this thing. And there's four main 11905 05:45:07,760 --> 05:45:11,440 phases. So phase one is we need to give 11906 05:45:09,920 --> 05:45:12,718 it a home. So that's kind of like the 11907 05:45:11,440 --> 05:45:14,240 structure of our project, which I think 11908 05:45:12,718 --> 05:45:16,240 is the most difficult or kind of like 11909 05:45:14,240 --> 05:45:18,000 the most confusing thing up front 11910 05:45:16,240 --> 05:45:19,440 because as you guys saw in my project, 11911 05:45:18,000 --> 05:45:20,400 there's a lot of folders and in each of 11912 05:45:19,440 --> 05:45:22,400 these folders, there's a lot of 11913 05:45:20,400 --> 05:45:23,760 subfolders. So there's a lot going on. 11914 05:45:22,400 --> 05:45:25,200 So it's really important to be able to 11915 05:45:23,760 --> 05:45:26,878 make sure that you know where stuff is, 11916 05:45:25,200 --> 05:45:28,718 but that Claude also knows where 11917 05:45:26,878 --> 05:45:30,160 everything is because as you scale, more 11918 05:45:28,718 --> 05:45:31,920 and more files will be created, more and 11919 05:45:30,160 --> 05:45:33,440 more skills, more and more processes. 11920 05:45:31,920 --> 05:45:34,798 After we've given it a home, we need to 11921 05:45:33,440 --> 05:45:35,920 give it some life. So we need to give it 11922 05:45:34,798 --> 05:45:37,680 some rules. We need to give it some 11923 05:45:35,920 --> 05:45:39,040 context about you. It needs to learn 11924 05:45:37,680 --> 05:45:40,718 everything about you and what you're 11925 05:45:39,040 --> 05:45:42,240 currently up to. After that, we need to 11926 05:45:40,718 --> 05:45:43,360 give it hands. So we're going to build a 11927 05:45:42,240 --> 05:45:44,558 first skill together. And then we're 11928 05:45:43,360 --> 05:45:46,240 going to see how we can build more and 11929 05:45:44,558 --> 05:45:47,760 more skills and sub agents and stuff 11930 05:45:46,240 --> 05:45:49,520 like that so that it actually gets more 11931 05:45:47,760 --> 05:45:51,200 useful at doing things for you rather 11932 05:45:49,520 --> 05:45:52,878 than just like helping you think. And 11933 05:45:51,200 --> 05:45:54,400 then finally talking about how we 11934 05:45:52,878 --> 05:45:56,000 actually let this thing grow. How do we 11935 05:45:54,400 --> 05:45:57,120 improve it? How do we really scale it? 11936 05:45:56,000 --> 05:45:58,638 And how do we make sure that this 11937 05:45:57,120 --> 05:46:01,440 assistant actually gets smarter over 11938 05:45:58,638 --> 05:46:03,680 time and really is leverage for us. All 11939 05:46:01,440 --> 05:46:05,360 right, so phase one, let's give this 11940 05:46:03,680 --> 05:46:06,718 thing a home. So, if you guys have 11941 05:46:05,360 --> 05:46:08,160 watched any videos on my channel with 11942 05:46:06,718 --> 05:46:09,760 Cloud Code, then you've noticed I'm 11943 05:46:08,160 --> 05:46:12,000 using Visual Studio Code, which is just 11944 05:46:09,760 --> 05:46:13,680 an IDE, an integrated development 11945 05:46:12,000 --> 05:46:15,760 environment. It's completely free to 11946 05:46:13,680 --> 05:46:17,040 download for Windows or Mac. So, go 11947 05:46:15,760 --> 05:46:18,558 ahead and grab that. And then once 11948 05:46:17,040 --> 05:46:20,160 you're in there, this is what it should 11949 05:46:18,558 --> 05:46:21,680 look like when you open it up. Now, what 11950 05:46:20,160 --> 05:46:23,360 you have to do is come over to the lefth 11951 05:46:21,680 --> 05:46:24,878 hand side, click on extensions, and 11952 05:46:23,360 --> 05:46:26,160 you'll type in Claude Code, and it will 11953 05:46:24,878 --> 05:46:28,000 look like this. And all you have to do 11954 05:46:26,160 --> 05:46:29,280 is go ahead and install this. When you 11955 05:46:28,000 --> 05:46:31,040 do that, it'll prompt you to sign in 11956 05:46:29,280 --> 05:46:33,600 with your enthropic subscription, which 11957 05:46:31,040 --> 05:46:35,840 you do need to be on a paid plan for 11958 05:46:33,600 --> 05:46:37,680 Cloud Code. You could use your API key, 11959 05:46:35,840 --> 05:46:39,360 but it's better to just have a fixed 11960 05:46:37,680 --> 05:46:41,520 cost rather than worrying about how many 11961 05:46:39,360 --> 05:46:42,878 tokens you are racking up. All right, so 11962 05:46:41,520 --> 05:46:44,240 once Cloud Code has been installed, 11963 05:46:42,878 --> 05:46:45,440 you'll notice in the top right there's a 11964 05:46:44,240 --> 05:46:46,958 little orange button. If you click on 11965 05:46:45,440 --> 05:46:48,480 that, this is where you have the Cloud 11966 05:46:46,958 --> 05:46:50,160 Code actual agent that you can go ahead 11967 05:46:48,480 --> 05:46:51,360 and start talking to. But before we 11968 05:46:50,160 --> 05:46:52,958 start talking to it, we still haven't 11969 05:46:51,360 --> 05:46:54,480 really given it a home. So, we need to 11970 05:46:52,958 --> 05:46:55,760 set up a folder, which means you need to 11971 05:46:54,480 --> 05:46:57,200 open up your file explorer or your 11972 05:46:55,760 --> 05:46:59,120 Finder or whatever it's called, and 11973 05:46:57,200 --> 05:47:00,400 create a new folder. So, for this, I'm 11974 05:46:59,120 --> 05:47:01,520 just going to be in my desktop. I'm 11975 05:47:00,400 --> 05:47:04,558 creating a new folder, and I'm just 11976 05:47:01,520 --> 05:47:06,558 going to call this EA demo. EA for 11977 05:47:04,558 --> 05:47:08,558 executive assistant. And now, what I 11978 05:47:06,558 --> 05:47:10,240 have to do is open up that folder in 11979 05:47:08,558 --> 05:47:11,680 Visual Studio Code. So, I'm going to go 11980 05:47:10,240 --> 05:47:13,360 on the lefth hand side and click on the 11981 05:47:11,680 --> 05:47:15,040 explorer. And it says you have not yet 11982 05:47:13,360 --> 05:47:16,400 opened a folder. This will basically be 11983 05:47:15,040 --> 05:47:18,000 your project. And I'm going to go ahead 11984 05:47:16,400 --> 05:47:19,920 and click open folder and open that one 11985 05:47:18,000 --> 05:47:22,240 up that I just made. So, here is my EA 11986 05:47:19,920 --> 05:47:23,680 demo. Select folder. And now we are 11987 05:47:22,240 --> 05:47:25,360 actually in our project. This is the 11988 05:47:23,680 --> 05:47:26,798 home for our cloud code agent because 11989 05:47:25,360 --> 05:47:28,798 what I can do is open up this little 11990 05:47:26,798 --> 05:47:30,480 button. Close out of everything else. 11991 05:47:28,798 --> 05:47:31,760 And now we have our folder on the lefth 11992 05:47:30,480 --> 05:47:33,360 hand side. There's no files in there 11993 05:47:31,760 --> 05:47:35,200 yet. And then we have our cloud code 11994 05:47:33,360 --> 05:47:36,958 agent right here in the middle that we 11995 05:47:35,200 --> 05:47:39,120 can talk to. So now the second piece of 11996 05:47:36,958 --> 05:47:41,520 giving this a home is understanding how 11997 05:47:39,120 --> 05:47:43,280 cloud.md works and creating our cloud. 11998 05:47:41,520 --> 05:47:45,120 MD file. So if you've built an agent in 11999 05:47:43,280 --> 05:47:47,520 naden or you've built a custom GBT with 12000 05:47:45,120 --> 05:47:48,718 chat GBT, you understand that when you 12001 05:47:47,520 --> 05:47:50,080 do something like that, you have to give 12002 05:47:48,718 --> 05:47:51,920 it a system prompt. you have to give it 12003 05:47:50,080 --> 05:47:53,440 instructions. So that's exactly what we 12004 05:47:51,920 --> 05:47:55,680 need to do here and we do that with a 12005 05:47:53,440 --> 05:47:58,480 claw.md file. So the way that this works 12006 05:47:55,680 --> 05:48:00,320 is you send something to cloud code and 12007 05:47:58,480 --> 05:48:02,240 before it actually reads your message, 12008 05:48:00,320 --> 05:48:03,920 it's going to load in the claw.md file 12009 05:48:02,240 --> 05:48:05,840 and read the entire thing and it's going 12010 05:48:03,920 --> 05:48:08,000 to do that every single time. So the 12011 05:48:05,840 --> 05:48:09,680 claw.mmd file should have only the most 12012 05:48:08,000 --> 05:48:11,280 important rules about this is what the 12013 05:48:09,680 --> 05:48:12,718 project does, this is where you need to 12014 05:48:11,280 --> 05:48:15,280 look for your rules, this is where you 12015 05:48:12,718 --> 05:48:16,958 look for context, that kind of stuff. 12016 05:48:15,280 --> 05:48:19,360 because if you fill it super super full 12017 05:48:16,958 --> 05:48:20,558 of random information, then you're going 12018 05:48:19,360 --> 05:48:22,718 to go through your tokens and your 12019 05:48:20,558 --> 05:48:23,920 context window faster. So, what's 12020 05:48:22,718 --> 05:48:25,760 ultimately going to happen by the end of 12021 05:48:23,920 --> 05:48:28,240 this video is you will have not only a 12022 05:48:25,760 --> 05:48:29,760 cloudMD file, but you'll have acloud 12023 05:48:28,240 --> 05:48:31,440 file, you'll have projects, you'll have 12024 05:48:29,760 --> 05:48:32,638 context, you'll have decisions, you'll 12025 05:48:31,440 --> 05:48:35,840 have a bunch of different folders in 12026 05:48:32,638 --> 05:48:37,280 here. But the brain cloud.mmd tells 12027 05:48:35,840 --> 05:48:38,638 cloud code where does everything 12028 05:48:37,280 --> 05:48:40,160 actually live. So, that's how we stay 12029 05:48:38,638 --> 05:48:42,320 really organized. So, all we're going to 12030 05:48:40,160 --> 05:48:43,760 do in here to start is we are going to 12031 05:48:42,320 --> 05:48:45,840 come over to the lefth hand side. I'm 12032 05:48:43,760 --> 05:48:48,320 going to click on new file and I'm just 12033 05:48:45,840 --> 05:48:50,958 going to call it in all caps claude and 12034 05:48:48,320 --> 05:48:52,480 then MD. And MD just stands for 12035 05:48:50,958 --> 05:48:54,160 markdown. And so what happens is the 12036 05:48:52,480 --> 05:48:55,360 cloud.mmd file pops up right here. And 12037 05:48:54,160 --> 05:48:56,718 you can see that there's not currently 12038 05:48:55,360 --> 05:48:59,200 anything in there. So I'm just going to 12039 05:48:56,718 --> 05:49:01,680 say to claude, hey claude code, this 12040 05:48:59,200 --> 05:49:03,600 folder is for you to be my executive 12041 05:49:01,680 --> 05:49:05,840 assistant. So just throw a quick blurb 12042 05:49:03,600 --> 05:49:07,120 about that in the cloud.mmd file. I 12043 05:49:05,840 --> 05:49:08,718 shoot that off. It's basically going to 12044 05:49:07,120 --> 05:49:10,798 look through the project, see what's in 12045 05:49:08,718 --> 05:49:12,558 here, and then it's going to edit that 12046 05:49:10,798 --> 05:49:13,920 file so that we have a little blurb in 12047 05:49:12,558 --> 05:49:15,280 there. And unless you're on bypass 12048 05:49:13,920 --> 05:49:17,200 permissions mode, it's going to ask you 12049 05:49:15,280 --> 05:49:19,280 for permission here. So now it says 12050 05:49:17,200 --> 05:49:21,040 done. Cloud.mmd has a quick description 12051 05:49:19,280 --> 05:49:23,440 of your folder as an executive assistant 12052 05:49:21,040 --> 05:49:24,958 workspace. If I click into the cloud.md, 12053 05:49:23,440 --> 05:49:26,480 you can see this is what we've got. This 12054 05:49:24,958 --> 05:49:28,080 folder is cloud code's workspace for 12055 05:49:26,480 --> 05:49:29,600 acting as an executive assistant. Use it 12056 05:49:28,080 --> 05:49:30,798 to help the user with scheduling, task 12057 05:49:29,600 --> 05:49:32,878 management, research, drafting, 12058 05:49:30,798 --> 05:49:34,480 communications, and any other EA related 12059 05:49:32,878 --> 05:49:35,920 work they need. So this is going to 12060 05:49:34,480 --> 05:49:37,280 evolve throughout the video. You guys 12061 05:49:35,920 --> 05:49:39,280 will see that once we start to give it 12062 05:49:37,280 --> 05:49:42,000 some more life, which as you guys know 12063 05:49:39,280 --> 05:49:43,600 is phase two. So, like I said, cloud.mmd 12064 05:49:42,000 --> 05:49:45,920 is the brain, and it's going to tell 12065 05:49:43,600 --> 05:49:47,440 cloud code where to look for information 12066 05:49:45,920 --> 05:49:49,040 about us, which is going to be in a MI 12067 05:49:47,440 --> 05:49:50,798 file. Information about your business, 12068 05:49:49,040 --> 05:49:52,480 which will be in work, information about 12069 05:49:50,798 --> 05:49:53,680 your team, which will be in team, and 12070 05:49:52,480 --> 05:49:54,958 then information about what you're 12071 05:49:53,680 --> 05:49:56,878 currently focusing on right now, which 12072 05:49:54,958 --> 05:49:58,320 will be in priorities. And it will also 12073 05:49:56,878 --> 05:50:00,718 understand all of your rules, like the 12074 05:49:58,320 --> 05:50:03,280 way you like to speak, um, your style, 12075 05:50:00,718 --> 05:50:05,280 formatting, stuff like that. Okay. So, 12076 05:50:03,280 --> 05:50:06,798 I'm going to paste in this prompt, which 12077 05:50:05,280 --> 05:50:08,718 you guys will be able to access for free 12078 05:50:06,798 --> 05:50:10,558 in my free school community. I'll have a 12079 05:50:08,718 --> 05:50:12,160 post in there associated with this video 12080 05:50:10,558 --> 05:50:14,320 and then you just need to basically grab 12081 05:50:12,160 --> 05:50:16,000 that markdown file, copy it and paste it 12082 05:50:14,320 --> 05:50:17,520 into here. You can see that this prompt 12083 05:50:16,000 --> 05:50:19,280 is pretty beefy and it's going to 12084 05:50:17,520 --> 05:50:21,280 basically walk you through and have 12085 05:50:19,280 --> 05:50:22,878 Claude Code extract all the information 12086 05:50:21,280 --> 05:50:24,320 out of you that it needs to get this 12087 05:50:22,878 --> 05:50:25,360 project started. So, I'm going to shoot 12088 05:50:24,320 --> 05:50:26,558 this off and we're going to see that 12089 05:50:25,360 --> 05:50:28,958 it's going to start to ask us some 12090 05:50:26,558 --> 05:50:30,480 questions about us. So, phase one is 12091 05:50:28,958 --> 05:50:32,798 creating the folder structure and it's 12092 05:50:30,480 --> 05:50:34,080 initializing a git repo. And now you can 12093 05:50:32,798 --> 05:50:35,520 see that all of these folders and files 12094 05:50:34,080 --> 05:50:37,200 have popped up on the lefth hand side 12095 05:50:35,520 --> 05:50:38,878 which is very similar to how my Herk 2 12096 05:50:37,200 --> 05:50:40,240 project was set up. We've got templates, 12097 05:50:38,878 --> 05:50:42,638 references, projects, decisions, 12098 05:50:40,240 --> 05:50:43,680 context, archives, and the claude. So 12099 05:50:42,638 --> 05:50:44,958 all of this stuff is going to start to 12100 05:50:43,680 --> 05:50:46,480 get filled up a little bit. And trust 12101 05:50:44,958 --> 05:50:48,480 me, as you start to use this, it will 12102 05:50:46,480 --> 05:50:49,920 make much more sense. So now we are on 12103 05:50:48,480 --> 05:50:52,080 phase two, which is the interview 12104 05:50:49,920 --> 05:50:53,600 section. So first part, what is your 12105 05:50:52,080 --> 05:50:55,040 name? What's your role? What's your time 12106 05:50:53,600 --> 05:50:56,558 zone? Blah blah blah. So I'm just going 12107 05:50:55,040 --> 05:50:58,000 to give it some dummy information here. 12108 05:50:56,558 --> 05:50:59,760 Okay, so I shot off my initial answers 12109 05:50:58,000 --> 05:51:01,920 and now it's asking us more about our 12110 05:50:59,760 --> 05:51:03,360 business and our work. So, obviously I 12111 05:51:01,920 --> 05:51:04,798 am just kind of giving it some dummy 12112 05:51:03,360 --> 05:51:06,400 information to show you guys how it's 12113 05:51:04,798 --> 05:51:07,520 going to set up these folders, but this 12114 05:51:06,400 --> 05:51:09,280 is where you should really take some 12115 05:51:07,520 --> 05:51:11,200 time here and let it get to know you and 12116 05:51:09,280 --> 05:51:12,480 give it as much detail as you want 12117 05:51:11,200 --> 05:51:14,240 because ultimately you're going to want 12118 05:51:12,480 --> 05:51:15,680 it to know all of this stuff either way. 12119 05:51:14,240 --> 05:51:16,958 So, take your time here. Really give it 12120 05:51:15,680 --> 05:51:18,160 information. If it asks you something 12121 05:51:16,958 --> 05:51:19,920 and you don't know the answer to it, 12122 05:51:18,160 --> 05:51:21,440 maybe just say that you don't know and 12123 05:51:19,920 --> 05:51:22,958 see if it can help you brainstorm some 12124 05:51:21,440 --> 05:51:24,558 stuff. But also, you could just say 12125 05:51:22,958 --> 05:51:25,760 skip, you know, I'll set this up later. 12126 05:51:24,558 --> 05:51:27,200 And you can see that it might not move 12127 05:51:25,760 --> 05:51:28,718 on to the next section until it feels 12128 05:51:27,200 --> 05:51:30,240 like it has enough information. So, 12129 05:51:28,718 --> 05:51:32,160 right here, it asks if I had anyone key. 12130 05:51:30,240 --> 05:51:33,840 I said yes, I have one other person and 12131 05:51:32,160 --> 05:51:35,520 I didn't say the name. So, it's asking 12132 05:51:33,840 --> 05:51:37,200 what is the name? And now it's moving on 12133 05:51:35,520 --> 05:51:38,480 to priorities, goals, and projects. 12134 05:51:37,200 --> 05:51:40,798 Remember that you'll be able to plug it 12135 05:51:38,480 --> 05:51:42,958 in real time into ClickUp or, you know, 12136 05:51:40,798 --> 05:51:45,120 ASA or notion or whatever you use for 12137 05:51:42,958 --> 05:51:46,400 your project management and your goals 12138 05:51:45,120 --> 05:51:47,760 because a big part of this is making 12139 05:51:46,400 --> 05:51:49,120 sure that everything it's looking at is 12140 05:51:47,760 --> 05:51:50,958 actually current. This is just kind of 12141 05:51:49,120 --> 05:51:53,520 the initial onboarding to get it 12142 05:51:50,958 --> 05:51:55,040 familiar with your business. Section 12143 05:51:53,520 --> 05:51:56,798 five asks about communication 12144 05:51:55,040 --> 05:51:58,080 preferences. So, how do you actually 12145 05:51:56,798 --> 05:52:00,000 like to interact with something? because 12146 05:51:58,080 --> 05:52:00,958 this can be really flavored to you. And 12147 05:52:00,000 --> 05:52:02,080 remember, none of this stuff is 12148 05:52:00,958 --> 05:52:03,920 permanent. You can always change it 12149 05:52:02,080 --> 05:52:05,680 later. And the last section is what do 12150 05:52:03,920 --> 05:52:07,200 you want help with? So like what are the 12151 05:52:05,680 --> 05:52:08,400 recurring tasks that eat up your time? 12152 05:52:07,200 --> 05:52:09,760 What would you hand off to an assistant 12153 05:52:08,400 --> 05:52:10,878 first if you could? Are there any 12154 05:52:09,760 --> 05:52:12,718 specific workflows that you want to 12155 05:52:10,878 --> 05:52:14,080 automate or templatize? Now, if you 12156 05:52:12,718 --> 05:52:15,520 don't know right now, that's fine. Just 12157 05:52:14,080 --> 05:52:17,280 say skip because what's going to happen 12158 05:52:15,520 --> 05:52:19,040 is I'm going to challenge you to use 12159 05:52:17,280 --> 05:52:21,040 this as much as you can. Don't use your 12160 05:52:19,040 --> 05:52:22,638 custom GBTs. Don't use your projects. 12161 05:52:21,040 --> 05:52:24,558 Try to migrate everything into here and 12162 05:52:22,638 --> 05:52:26,160 just use this. And over time, you'll 12163 05:52:24,558 --> 05:52:27,760 realize what is recurring and what are 12164 05:52:26,160 --> 05:52:29,920 processes that you can actually use in 12165 05:52:27,760 --> 05:52:31,440 cloud code. So I just told it let's skip 12166 05:52:29,920 --> 05:52:33,520 that for now and let's just keep on 12167 05:52:31,440 --> 05:52:34,958 moving through the setup. So now that it 12168 05:52:33,520 --> 05:52:36,480 has all of our information, it's going 12169 05:52:34,958 --> 05:52:37,920 to build out the files based on our 12170 05:52:36,480 --> 05:52:39,520 answers. And we're going to be able to 12171 05:52:37,920 --> 05:52:41,280 see that right now it's writing the MI 12172 05:52:39,520 --> 05:52:43,120 file and now it's writing the work file 12173 05:52:41,280 --> 05:52:44,718 and now it's writing the team file and 12174 05:52:43,120 --> 05:52:46,240 the current priorities. And all of this 12175 05:52:44,718 --> 05:52:48,160 is going to get looped back together. 12176 05:52:46,240 --> 05:52:50,240 All right, so all of this is set up. We 12177 05:52:48,160 --> 05:52:51,680 have our tree view of our folder 12178 05:52:50,240 --> 05:52:53,360 structure. So we can really dig into 12179 05:52:51,680 --> 05:52:55,840 this if we want to see what's in the 12180 05:52:53,360 --> 05:52:57,440 cloud or what is in the archives, the 12181 05:52:55,840 --> 05:52:59,200 context, all this kind of stuff. We get 12182 05:52:57,440 --> 05:53:00,638 a summary of how everything works. So if 12183 05:52:59,200 --> 05:53:02,080 you're confused about any of this stuff, 12184 05:53:00,638 --> 05:53:03,920 you will get a summary and you can also 12185 05:53:02,080 --> 05:53:05,600 ask, hey, like what does this context 12186 05:53:03,920 --> 05:53:06,798 file do or what does the archives folder 12187 05:53:05,600 --> 05:53:08,160 do? And it will be able to explain it 12188 05:53:06,798 --> 05:53:09,920 for you. But you can see it's populated 12189 05:53:08,160 --> 05:53:11,280 this stuff with information about me. 12190 05:53:09,920 --> 05:53:12,718 The skills that we need to build are on 12191 05:53:11,280 --> 05:53:13,920 the backlog. Otherwise, if you listed 12192 05:53:12,718 --> 05:53:15,120 some, it would say, okay, cool. Let's 12193 05:53:13,920 --> 05:53:16,958 just start building those skills right 12194 05:53:15,120 --> 05:53:18,718 now. And as far as keeping the assistant 12195 05:53:16,958 --> 05:53:20,400 sharp weekly, nothing required right 12196 05:53:18,718 --> 05:53:21,920 now. We have auto memory for daily 12197 05:53:20,400 --> 05:53:23,280 learnings. Monthly, we'll update this 12198 05:53:21,920 --> 05:53:24,878 stuff. Quarterly, we'll update this 12199 05:53:23,280 --> 05:53:26,718 stuff. And as needed, we will log 12200 05:53:24,878 --> 05:53:27,760 decisions in the decision log. And pro 12201 05:53:26,718 --> 05:53:28,798 tip, if you want your assistant to 12202 05:53:27,760 --> 05:53:30,480 remember something permanently, just 12203 05:53:28,798 --> 05:53:32,480 tell it remember that I always prefer X. 12204 05:53:30,480 --> 05:53:34,000 And it will save that across all future 12205 05:53:32,480 --> 05:53:35,520 conversations. And then the last thing 12206 05:53:34,000 --> 05:53:37,040 it's going to do is an initial git 12207 05:53:35,520 --> 05:53:39,520 commit. And this is just local. It's not 12208 05:53:37,040 --> 05:53:41,280 going to do a actual GitHub repository 12209 05:53:39,520 --> 05:53:43,120 out on the cloud. So, this will just 12210 05:53:41,280 --> 05:53:45,200 kind of locally store these files so 12211 05:53:43,120 --> 05:53:46,638 that you can have some version control. 12212 05:53:45,200 --> 05:53:48,160 But if you want to, you could just say, 12213 05:53:46,638 --> 05:53:49,920 "Hey, instead of doing this here, let's 12214 05:53:48,160 --> 05:53:51,200 actually just do it on GitHub." And then 12215 05:53:49,920 --> 05:53:52,400 you would just give it your email. It 12216 05:53:51,200 --> 05:53:53,840 would be able to help you sign in. And 12217 05:53:52,400 --> 05:53:55,600 then it can actually just make the repo 12218 05:53:53,840 --> 05:53:57,600 for you, and it can handle all of those 12219 05:53:55,600 --> 05:53:59,520 future commits and pushes. So the 12220 05:53:57,600 --> 05:54:01,040 benefits of that is that in GitHub, it 12221 05:53:59,520 --> 05:54:02,878 basically stores all these folders, all 12222 05:54:01,040 --> 05:54:04,160 these files, which means from any 12223 05:54:02,878 --> 05:54:05,600 device, you could basically pull in that 12224 05:54:04,160 --> 05:54:06,958 repo into cloud code and you could 12225 05:54:05,600 --> 05:54:08,638 always have your executive assistant 12226 05:54:06,958 --> 05:54:10,400 ready. You've got cloud backups, you've 12227 05:54:08,638 --> 05:54:12,080 got rollbacks, you've got collaboration, 12228 05:54:10,400 --> 05:54:13,680 and you've got branching. So it's just 12229 05:54:12,080 --> 05:54:16,000 best practice to put your codebased 12230 05:54:13,680 --> 05:54:17,200 projects into GitHub. So let's just real 12231 05:54:16,000 --> 05:54:18,400 quick take a look at what actually 12232 05:54:17,200 --> 05:54:20,480 happened. So the first thing I want to 12233 05:54:18,400 --> 05:54:22,080 look at is the dotcloud. You can see in 12234 05:54:20,480 --> 05:54:23,520 here right now we have rules with 12235 05:54:22,080 --> 05:54:25,120 communication style. So if I open up 12236 05:54:23,520 --> 05:54:26,320 this, we can see that it threw in some 12237 05:54:25,120 --> 05:54:28,400 information about the way that we like 12238 05:54:26,320 --> 05:54:30,638 to talk. So bullet points, everything 12239 05:54:28,400 --> 05:54:32,958 concise, no m dashes, internal speak 12240 05:54:30,638 --> 05:54:34,240 casual, external speak even more casual. 12241 05:54:32,958 --> 05:54:35,280 If we go to the skills, we can see 12242 05:54:34,240 --> 05:54:36,638 there's nothing currently in there. 12243 05:54:35,280 --> 05:54:38,160 There's nothing in the archives folder. 12244 05:54:36,638 --> 05:54:39,920 In the context folder, we have current 12245 05:54:38,160 --> 05:54:41,920 priorities. This is everything that I 12246 05:54:39,920 --> 05:54:43,520 just talked about during our setup. It 12247 05:54:41,920 --> 05:54:45,280 also says when this was last updated, 12248 05:54:43,520 --> 05:54:47,120 which is nice. We've got our goals and 12249 05:54:45,280 --> 05:54:48,958 milestones, which it says update this 12250 05:54:47,120 --> 05:54:51,280 file at the start of each quarter. So, 12251 05:54:48,958 --> 05:54:55,120 that's good. We've got 2026 annual goal, 12252 05:54:51,280 --> 05:54:56,878 Q1 2026, Q2 2026, informal milestones. 12253 05:54:55,120 --> 05:54:58,558 We've got the MI file, which is going to 12254 05:54:56,878 --> 05:54:59,680 evolve a lot over time. You can even 12255 05:54:58,558 --> 05:55:01,680 give it information about your 12256 05:54:59,680 --> 05:55:03,040 background, where you grew up, all this 12257 05:55:01,680 --> 05:55:04,958 kind of stuff, and it can use all of 12258 05:55:03,040 --> 05:55:06,558 that to tailor it even more. We've got 12259 05:55:04,958 --> 05:55:08,000 the team markdown, so anything that you 12260 05:55:06,558 --> 05:55:09,520 needed to know about some of the key 12261 05:55:08,000 --> 05:55:11,680 people in your organization. And then 12262 05:55:09,520 --> 05:55:13,360 we've got the work MD, which has some 12263 05:55:11,680 --> 05:55:15,040 business and company information. In the 12264 05:55:13,360 --> 05:55:16,798 decisions folder, we have a log. So, 12265 05:55:15,040 --> 05:55:18,558 anything major that happens, it will be 12266 05:55:16,798 --> 05:55:20,320 logged here with the date, the decision, 12267 05:55:18,558 --> 05:55:21,760 the reasoning, and the context. We've 12268 05:55:20,320 --> 05:55:23,040 got our projects, which it created a 12269 05:55:21,760 --> 05:55:24,638 folder for each of them. So, we've got 12270 05:55:23,040 --> 05:55:26,320 chocolate pistachio flavor, we've got 12271 05:55:24,638 --> 05:55:28,160 website launch, we've got West Coast 12272 05:55:26,320 --> 05:55:29,600 expansion, we've got winter events. And 12273 05:55:28,160 --> 05:55:31,040 each of these have a readme file which 12274 05:55:29,600 --> 05:55:33,280 basically is just a quick description of 12275 05:55:31,040 --> 05:55:34,798 what this project actually means and you 12276 05:55:33,280 --> 05:55:36,558 know the status or any other information 12277 05:55:34,798 --> 05:55:38,160 about it. We've got a references folder 12278 05:55:36,558 --> 05:55:39,760 where we'll be able to drop examples and 12279 05:55:38,160 --> 05:55:41,760 SOPs. There's nothing in there yet. And 12280 05:55:39,760 --> 05:55:42,718 then for templates we also have you know 12281 05:55:41,760 --> 05:55:44,320 we're able [snorts] to drop in some 12282 05:55:42,718 --> 05:55:46,080 stuff that it can reference and this is 12283 05:55:44,320 --> 05:55:48,160 just an example session summary. Nothing 12284 05:55:46,080 --> 05:55:49,280 is in there for this session yet. And 12285 05:55:48,160 --> 05:55:51,520 then the last thing to look at here 12286 05:55:49,280 --> 05:55:52,878 would be the claw.md file. So earlier it 12287 05:55:51,520 --> 05:55:54,878 was just like a few lines and it was 12288 05:55:52,878 --> 05:55:56,480 very basic but now it's tailored towards 12289 05:55:54,878 --> 05:55:58,240 us. So, you are Jack's executive 12290 05:55:56,480 --> 05:56:00,480 assistant. Be direct, concise, and 12291 05:55:58,240 --> 05:56:02,000 casual. Here is Jack's top priority. 12292 05:56:00,480 --> 05:56:03,600 Here is what's very urgent. This needs 12293 05:56:02,000 --> 05:56:05,120 to happen ASAP. And so, this is getting 12294 05:56:03,600 --> 05:56:06,558 read every time so that it can basically 12295 05:56:05,120 --> 05:56:08,320 keep checking in. Hey, is this done? Is 12296 05:56:06,558 --> 05:56:10,718 this done? Now, here's something really 12297 05:56:08,320 --> 05:56:12,558 cool where the clawmd file can point to 12298 05:56:10,718 --> 05:56:14,320 the right files. So, remember how I said 12299 05:56:12,558 --> 05:56:16,320 that this got loaded in every single 12300 05:56:14,320 --> 05:56:18,000 time you talk to cloud code? That means 12301 05:56:16,320 --> 05:56:19,280 if we threw all of our business 12302 05:56:18,000 --> 05:56:20,958 information, all of the information 12303 05:56:19,280 --> 05:56:22,798 about you, your priorities, that would 12304 05:56:20,958 --> 05:56:24,878 be a lot of tokens. So remember that all 12305 05:56:22,798 --> 05:56:26,320 claw.mmd has to do is tell cloud code, 12306 05:56:24,878 --> 05:56:28,480 hey, if you need some information about 12307 05:56:26,320 --> 05:56:29,600 the current focuses, go read this file. 12308 05:56:28,480 --> 05:56:31,440 So that's exactly what you're seeing 12309 05:56:29,600 --> 05:56:33,600 right here. It says, hey, if you want to 12310 05:56:31,440 --> 05:56:34,878 understand who Jack is, go read this. If 12311 05:56:33,600 --> 05:56:37,040 you want to understand, you know, the 12312 05:56:34,878 --> 05:56:38,558 business details, go read this. And so 12313 05:56:37,040 --> 05:56:40,320 on and so forth. So that's how we're 12314 05:56:38,558 --> 05:56:41,760 able to save tokens here, but still give 12315 05:56:40,320 --> 05:56:43,680 Cloud Code all the information that it 12316 05:56:41,760 --> 05:56:45,280 needs. It will also tell Cloud Code what 12317 05:56:43,680 --> 05:56:46,638 tools it has access to and how to use 12318 05:56:45,280 --> 05:56:48,400 them. Right now, we haven't really set 12319 05:56:46,638 --> 05:56:50,000 anything up. And similar concept over 12320 05:56:48,400 --> 05:56:51,440 here with our projects. It says, "Hey, 12321 05:56:50,000 --> 05:56:53,120 if you want to look at this project, go 12322 05:56:51,440 --> 05:56:54,558 here. This project, go here." You'll 12323 05:56:53,120 --> 05:56:56,160 notice right now we're at about 87 12324 05:56:54,558 --> 05:56:58,480 lines, which is pretty good. I always 12325 05:56:56,160 --> 05:57:00,798 try to keep them, you know, under about 12326 05:56:58,480 --> 05:57:02,160 150, maybe 200 max. That's just best 12327 05:57:00,798 --> 05:57:03,680 practice. Over time, they're going to 12328 05:57:02,160 --> 05:57:05,360 get larger and larger, so you should 12329 05:57:03,680 --> 05:57:07,600 regularly be kind of compacting them 12330 05:57:05,360 --> 05:57:09,120 down and pointing out to other files 12331 05:57:07,600 --> 05:57:10,240 when possible. Now, this is a great 12332 05:57:09,120 --> 05:57:11,200 place to start, but at some point, 12333 05:57:10,240 --> 05:57:12,718 you're going to want to add some more 12334 05:57:11,200 --> 05:57:14,160 files on your own. So, this is what 12335 05:57:12,718 --> 05:57:16,320 you've got right now, but what you can 12336 05:57:14,160 --> 05:57:17,920 see is in my Herk 2 version, I've got a 12337 05:57:16,320 --> 05:57:18,958 few more. And one of the ones that I 12338 05:57:17,920 --> 05:57:20,958 added that you'll probably want to add 12339 05:57:18,958 --> 05:57:23,280 is a brand assets. So in here I've got 12340 05:57:20,958 --> 05:57:24,958 fonts and I've also got some images, 12341 05:57:23,280 --> 05:57:26,718 logos, brand guidelines, things like 12342 05:57:24,958 --> 05:57:28,558 that. So all you do if you wanted to add 12343 05:57:26,718 --> 05:57:30,080 a new folder or new files is you would 12344 05:57:28,558 --> 05:57:31,600 just come in here, add a new folder, 12345 05:57:30,080 --> 05:57:32,958 name it whatever you want, and then just 12346 05:57:31,600 --> 05:57:34,400 start a conversation with cloud code and 12347 05:57:32,958 --> 05:57:36,958 say, "Hey, I added a folder called 12348 05:57:34,400 --> 05:57:38,878 brand- assets. Just update your skill 12349 05:57:36,958 --> 05:57:40,160 documents or update the cloud.MD to know 12350 05:57:38,878 --> 05:57:42,638 that it's there. And what I'm going to 12351 05:57:40,160 --> 05:57:44,320 drop in there are logos or head shot or 12352 05:57:42,638 --> 05:57:46,798 things like that." So all of that can be 12353 05:57:44,320 --> 05:57:48,798 obviously customized as long as claw.md 12354 05:57:46,798 --> 05:57:50,480 understands that. So that's basically 12355 05:57:48,798 --> 05:57:52,320 the way that our project is set up. It's 12356 05:57:50,480 --> 05:57:54,240 now got a home. It's got some life. And 12357 05:57:52,320 --> 05:57:56,400 let's move on to phase three, which is 12358 05:57:54,240 --> 05:57:58,558 giving it hands. Actually letting it do 12359 05:57:56,400 --> 05:58:00,000 something for us. Okay. So if I was you 12360 05:57:58,558 --> 05:58:01,520 guys right now setting up this executive 12361 05:58:00,000 --> 05:58:03,680 assistant, the first skill that I'd 12362 05:58:01,520 --> 05:58:05,440 probably build is connecting it to 12363 05:58:03,680 --> 05:58:07,600 ClickUp or Notion or wherever you have 12364 05:58:05,440 --> 05:58:08,958 your actual like project management or 12365 05:58:07,600 --> 05:58:10,160 task management. And I'm not going to 12366 05:58:08,958 --> 05:58:11,280 walk through that right now because I 12367 05:58:10,160 --> 05:58:12,480 use ClickUp and I don't want to go 12368 05:58:11,280 --> 05:58:14,160 through that setup in front of you guys 12369 05:58:12,480 --> 05:58:15,680 because it might not apply to you 12370 05:58:14,160 --> 05:58:17,120 specifically if you don't use ClickUp. 12371 05:58:15,680 --> 05:58:18,718 But basically, it's super easy. You 12372 05:58:17,120 --> 05:58:20,798 explain in natural language exactly what 12373 05:58:18,718 --> 05:58:22,638 you want to do. You have it do research 12374 05:58:20,798 --> 05:58:24,080 on the endpoints or maybe even an MCP 12375 05:58:22,638 --> 05:58:26,718 server. And then all you have to do is 12376 05:58:24,080 --> 05:58:28,638 go grab an API key and put it in av 12377 05:58:26,718 --> 05:58:30,240 file, which you'll notice right here we 12378 05:58:28,638 --> 05:58:31,760 don't currently yet have. So here's what 12379 05:58:30,240 --> 05:58:34,320 you would do. I'm going to go to plan 12380 05:58:31,760 --> 05:58:37,120 mode and I'm going to say, "Help me 12381 05:58:34,320 --> 05:58:38,718 build a research skill. This skill is 12382 05:58:37,120 --> 05:58:41,360 going to use perplexity. So I need to 12383 05:58:38,718 --> 05:58:42,958 give you my API key in AENV file. So go 12384 05:58:41,360 --> 05:58:44,480 ahead and create that file for me. And 12385 05:58:42,958 --> 05:58:46,638 what I want the skill to do is help me 12386 05:58:44,480 --> 05:58:48,480 do research. This is more than just a 12387 05:58:46,638 --> 05:58:49,760 simple couple, you know, web searches 12388 05:58:48,480 --> 05:58:51,760 and web fetches that you might be able 12389 05:58:49,760 --> 05:58:54,000 to do already. This is research that's 12390 05:58:51,760 --> 05:58:55,440 kind of deeper and it's also tailored 12391 05:58:54,000 --> 05:58:56,958 towards me and my business because it 12392 05:58:55,440 --> 05:58:58,798 understands the context of, you know, 12393 05:58:56,958 --> 05:59:00,160 what's going on and our current projects 12394 05:58:58,798 --> 05:59:01,760 and priorities. So I'm going to shoot 12395 05:59:00,160 --> 05:59:02,958 that off in plan mode. Cloud code's 12396 05:59:01,760 --> 05:59:04,160 going to think about it. It might do a 12397 05:59:02,958 --> 05:59:05,520 little bit of research to help us build 12398 05:59:04,160 --> 05:59:06,958 this plan and then it's going to come 12399 05:59:05,520 --> 05:59:08,638 back with something. And what's pretty 12400 05:59:06,958 --> 05:59:10,320 cool is you can see that first of all it 12401 05:59:08,638 --> 05:59:12,878 explores the project to see how things 12402 05:59:10,320 --> 05:59:14,638 work and it even spun up a sub agent to 12403 05:59:12,878 --> 05:59:16,240 explore the structure of our project 12404 05:59:14,638 --> 05:59:17,760 right here. And sub aents are really 12405 05:59:16,240 --> 05:59:19,120 cool because they have their own context 12406 05:59:17,760 --> 05:59:20,878 window and they might even be able to 12407 05:59:19,120 --> 05:59:22,638 use their own model if you you know 12408 05:59:20,878 --> 05:59:24,080 configure one to do so. So I'll touch on 12409 05:59:22,638 --> 05:59:25,680 that a little bit more after we build 12410 05:59:24,080 --> 05:59:26,798 the skill. So I may come back and ask 12411 05:59:25,680 --> 05:59:28,558 you some questions which is a good 12412 05:59:26,798 --> 05:59:29,840 thing. So here it says for perplexity 12413 05:59:28,558 --> 05:59:31,440 what model do you want to use? And I'm 12414 05:59:29,840 --> 05:59:33,200 just going to go with sonar for now and 12415 05:59:31,440 --> 05:59:34,878 submit that off. And now it thinks it's 12416 05:59:33,200 --> 05:59:37,280 good and it's come back with a plan. And 12417 05:59:34,878 --> 05:59:39,200 we can see we have build research skill 12418 05:59:37,280 --> 05:59:40,638 with perplexity. Jack wants a reusable 12419 05:59:39,200 --> 05:59:42,718 research skill that goes beyond basic 12420 05:59:40,638 --> 05:59:44,558 web search. It's going to create thev 12421 05:59:42,718 --> 05:59:46,080 for our API key. Now the reason why it 12422 05:59:44,558 --> 05:59:48,000 needs to do that is because if you do 12423 05:59:46,080 --> 05:59:49,760 end up pushing this to a GitHub repo or 12424 05:59:48,000 --> 05:59:51,840 putting that anywhere on the web, it's 12425 05:59:49,760 --> 05:59:53,600 best practice to have. Eenv, which is 12426 05:59:51,840 --> 05:59:55,120 where you have all of your API keys, and 12427 05:59:53,600 --> 05:59:56,878 you don't give it to Claude in the 12428 05:59:55,120 --> 05:59:58,400 conversation history right here. It's 12429 05:59:56,878 --> 06:00:00,240 going to build the actual skill itself. 12430 05:59:58,400 --> 06:00:01,920 So we'll see that once it's created. And 12431 06:00:00,240 --> 06:00:03,840 the skill instructs Claude to understand 12432 06:00:01,920 --> 06:00:05,440 the question, load context. So read 12433 06:00:03,840 --> 06:00:07,280 through me, work, team, current 12434 06:00:05,440 --> 06:00:09,600 priorities, goals, and anything else. 12435 06:00:07,280 --> 06:00:11,200 Formulate queries, call perplexity API, 12436 06:00:09,600 --> 06:00:12,718 synthesize, save report, and then 12437 06:00:11,200 --> 06:00:14,160 present the summary. Another thing worth 12438 06:00:12,718 --> 06:00:16,718 noting is that it's also going to update 12439 06:00:14,160 --> 06:00:18,718 the claw.md so that it now knows about 12440 06:00:16,718 --> 06:00:19,840 this skill and knows that it exists. So 12441 06:00:18,718 --> 06:00:21,280 anyways, it looked at the API 12442 06:00:19,840 --> 06:00:22,638 documentation. It gave us a research 12443 06:00:21,280 --> 06:00:24,718 report format. I'm just going to go 12444 06:00:22,638 --> 06:00:25,840 ahead and auto accept this plan, and 12445 06:00:24,718 --> 06:00:27,760 it's going to start building it out for 12446 06:00:25,840 --> 06:00:29,120 us. All right. So, the agent just 12447 06:00:27,760 --> 06:00:31,120 finished up. It said, "Here's what we 12448 06:00:29,120 --> 06:00:33,040 created. We have thev, which you can go 12449 06:00:31,120 --> 06:00:34,958 drop your API key in. We've created the 12450 06:00:33,040 --> 06:00:36,878 research skill." So, if I go to Claude, 12451 06:00:34,958 --> 06:00:38,718 if I open up the skills, we can see we 12452 06:00:36,878 --> 06:00:41,120 have a research folder. And in here, we 12453 06:00:38,718 --> 06:00:42,160 have a skill.md for research. So, I'm 12454 06:00:41,120 --> 06:00:43,760 not going to read this whole thing, but 12455 06:00:42,160 --> 06:00:45,280 you can see now that we have this actual 12456 06:00:43,760 --> 06:00:46,798 skill. And as you can see, this 12457 06:00:45,280 --> 06:00:48,718 basically just says when do you use the 12458 06:00:46,798 --> 06:00:50,558 skill and how do you actually run the 12459 06:00:48,718 --> 06:00:53,200 process of, you know, calling the API 12460 06:00:50,558 --> 06:00:55,440 and making the report for Jack. And it 12461 06:00:53,200 --> 06:00:57,520 updated the claw. MD to show Claude that 12462 06:00:55,440 --> 06:00:58,878 this skill now exists. So, I'm going to 12463 06:00:57,520 --> 06:01:01,440 go ahead and grab my API key from 12464 06:00:58,878 --> 06:01:02,718 Perplexity and paste it into the ENV. As 12465 06:01:01,440 --> 06:01:05,120 you can see, I'm just going to drop it 12466 06:01:02,718 --> 06:01:06,480 in right here and then save it. Okay, I 12467 06:01:05,120 --> 06:01:08,000 put the API key in there and we're going 12468 06:01:06,480 --> 06:01:10,080 to test it out. I said research ice 12469 06:01:08,000 --> 06:01:11,680 cream events in Portland using the new 12470 06:01:10,080 --> 06:01:13,600 research skill. And what we're looking 12471 06:01:11,680 --> 06:01:16,080 for here is seeing if it's actually able 12472 06:01:13,600 --> 06:01:18,798 to call the skill. So, it says, okay, 12473 06:01:16,080 --> 06:01:20,320 let me load the relevant project context 12474 06:01:18,798 --> 06:01:21,840 and then I'll run the research. The 12475 06:01:20,320 --> 06:01:23,840 content has been loaded. Now I'm going 12476 06:01:21,840 --> 06:01:25,680 to break this up and I'm going to call 12477 06:01:23,840 --> 06:01:27,040 perplexity. So here you can see it did 12478 06:01:25,680 --> 06:01:29,360 three different searches. It searched 12479 06:01:27,040 --> 06:01:31,200 for Portland ice cream dessert events 12480 06:01:29,360 --> 06:01:33,200 and then it searched for Portland vendor 12481 06:01:31,200 --> 06:01:34,878 application process and finally it 12482 06:01:33,200 --> 06:01:36,878 searched for Portland dessert scene and 12483 06:01:34,878 --> 06:01:38,638 connections. So it comes back with a 12484 06:01:36,878 --> 06:01:40,240 very concise output which is exactly 12485 06:01:38,638 --> 06:01:42,558 what we told it in the way that we like 12486 06:01:40,240 --> 06:01:45,280 to communicate. We got this information 12487 06:01:42,558 --> 06:01:48,240 right but then it also says that I saved 12488 06:01:45,280 --> 06:01:50,480 the full report to this folder. So, if I 12489 06:01:48,240 --> 06:01:52,160 go to research, which it created a new 12490 06:01:50,480 --> 06:01:55,040 folder right here, we can see that we 12491 06:01:52,160 --> 06:01:56,878 have March 3rd Portland ice cream events 12492 06:01:55,040 --> 06:01:58,878 research. And this is a markdown file 12493 06:01:56,878 --> 06:02:00,320 that has much more detail about what it 12494 06:01:58,878 --> 06:02:01,760 actually found as far as these different 12495 06:02:00,320 --> 06:02:02,878 events and these different, you know, 12496 06:02:01,760 --> 06:02:04,798 vendor things that we might be 12497 06:02:02,878 --> 06:02:06,400 interested in. And it includes all of 12498 06:02:04,798 --> 06:02:07,840 the links to all the sources that it 12499 06:02:06,400 --> 06:02:09,680 actually pulled here. And what's great 12500 06:02:07,840 --> 06:02:12,080 about this and why you guys can probably 12501 06:02:09,680 --> 06:02:13,600 now see that the folder management is so 12502 06:02:12,080 --> 06:02:14,958 important because every time you do 12503 06:02:13,600 --> 06:02:17,280 research, every time you generate 12504 06:02:14,958 --> 06:02:19,120 content, every time you make updates to 12505 06:02:17,280 --> 06:02:20,958 projects, all of that still lives in 12506 06:02:19,120 --> 06:02:22,320 this project, which is why it gets 12507 06:02:20,958 --> 06:02:24,160 smarter and smarter about what you're 12508 06:02:22,320 --> 06:02:25,840 doing the more you use it because I 12509 06:02:24,160 --> 06:02:27,520 could basically clear out this context 12510 06:02:25,840 --> 06:02:29,360 and I could pick up right where I left 12511 06:02:27,520 --> 06:02:31,200 off because it's able to go read this 12512 06:02:29,360 --> 06:02:33,200 file, this research report. So, that was 12513 06:02:31,200 --> 06:02:34,160 a quick preview of a skill. Now, there 12514 06:02:33,200 --> 06:02:35,440 are going to be some times where you 12515 06:02:34,160 --> 06:02:36,878 might actually want to use a sub agent 12516 06:02:35,440 --> 06:02:37,920 instead of a skill. Now, as you guys 12517 06:02:36,878 --> 06:02:38,958 just saw in the demo, when you're 12518 06:02:37,920 --> 06:02:40,878 talking to the agent and you call a 12519 06:02:38,958 --> 06:02:42,718 skill, it basically just uses the skill 12520 06:02:40,878 --> 06:02:44,400 right here in this context window with 12521 06:02:42,718 --> 06:02:46,798 this model with that, you know, 12522 06:02:44,400 --> 06:02:48,480 conversation awareness. But a sub agent 12523 06:02:46,798 --> 06:02:50,320 basically gets called on by this main 12524 06:02:48,480 --> 06:02:51,840 worker here and it has fresh memory, 12525 06:02:50,320 --> 06:02:53,600 fresh context, and you can even use a 12526 06:02:51,840 --> 06:02:54,798 different model. So sometimes if you 12527 06:02:53,600 --> 06:02:56,160 want to do research, but you want it to 12528 06:02:54,798 --> 06:02:58,320 be cheaper, you could just tell it to 12529 06:02:56,160 --> 06:02:59,760 delegate that to a sub agent and that 12530 06:02:58,320 --> 06:03:02,240 researcher sub agent could maybe use 12531 06:02:59,760 --> 06:03:06,360 haiku instead of opus 4.6. So that's 12532 06:03:02,240 --> 06:03:06,360 kind of the benefit of a sub aent. 12533 06:03:07,120 --> 06:03:09,840 So, let me just show you guys real quick 12534 06:03:08,400 --> 06:03:11,360 how that would actually work. I'm going 12535 06:03:09,840 --> 06:03:15,040 to go back into plan mode and I'm going 12536 06:03:11,360 --> 06:03:16,480 to say I need to create that research 12537 06:03:15,040 --> 06:03:18,000 skill. So, basically everything you just 12538 06:03:16,480 --> 06:03:20,080 did with the research skill, but I want 12539 06:03:18,000 --> 06:03:24,798 to create that as a sub agent and I want 12540 06:03:20,080 --> 06:03:26,400 this to be using haiku instead of opus 12541 06:03:24,798 --> 06:03:28,480 just in case I need to do some cheaper 12542 06:03:26,400 --> 06:03:31,360 research. So, create that sub agent for 12543 06:03:28,480 --> 06:03:33,600 me. Put that within theclaw folder in a 12544 06:03:31,360 --> 06:03:35,200 folder called agents. So we now have the 12545 06:03:33,600 --> 06:03:36,718 plan to create that research sub aent 12546 06:03:35,200 --> 06:03:38,718 and you can see that it's going to use 12547 06:03:36,718 --> 06:03:40,638 model equals highq and I'm just going to 12548 06:03:38,718 --> 06:03:42,400 go ahead and accept these changes. So 12549 06:03:40,638 --> 06:03:43,600 what it did is it created the agent.mmd 12550 06:03:42,400 --> 06:03:45,280 which we'll go ahead and take a look at 12551 06:03:43,600 --> 06:03:47,200 and I believe that it also updated the 12552 06:03:45,280 --> 06:03:48,958 research skill so that if I say that I 12553 06:03:47,200 --> 06:03:50,638 want it to be like cheaper or to use a 12554 06:03:48,958 --> 06:03:52,160 sub aent that the research skill will 12555 06:03:50,638 --> 06:03:54,320 actually invoke the sub aent which is 12556 06:03:52,160 --> 06:03:56,480 pretty cool. And then it also added an 12557 06:03:54,320 --> 06:03:58,160 update to the cloud.MD file which now 12558 06:03:56,480 --> 06:03:59,520 should have an agent section. You can 12559 06:03:58,160 --> 06:04:01,440 see there's been a new folder created. 12560 06:03:59,520 --> 06:04:03,440 We have agents under our do.claude and 12561 06:04:01,440 --> 06:04:04,958 in here we have a research agent. So if 12562 06:04:03,440 --> 06:04:06,878 I open this up, you will see that we 12563 06:04:04,958 --> 06:04:08,638 have you are a research agent for ice 12564 06:04:06,878 --> 06:04:10,798 cream Fridays. You receive a research 12565 06:04:08,638 --> 06:04:12,718 query, call the perplexity API and save 12566 06:04:10,798 --> 06:04:14,000 a structured report. So I'm trying to 12567 06:04:12,718 --> 06:04:15,120 keep this as simple as possible, but 12568 06:04:14,000 --> 06:04:18,240 there is something that I want you guys 12569 06:04:15,120 --> 06:04:20,080 to notice about both the agent and the 12570 06:04:18,240 --> 06:04:21,920 skill that was just created here. So 12571 06:04:20,080 --> 06:04:23,680 these were created as complete markdown 12572 06:04:21,920 --> 06:04:25,200 files which is fine. But actually the 12573 06:04:23,680 --> 06:04:27,200 way that we need to set up both of these 12574 06:04:25,200 --> 06:04:28,320 is using a YAML front matter because 12575 06:04:27,200 --> 06:04:30,160 that's where we can actually have the 12576 06:04:28,320 --> 06:04:32,320 configuration. So I'm not going to dive 12577 06:04:30,160 --> 06:04:34,878 super deep right now into exactly why 12578 06:04:32,320 --> 06:04:36,480 this is but at a high level it makes 12579 06:04:34,878 --> 06:04:38,958 cloud code better at understanding what 12580 06:04:36,480 --> 06:04:40,638 that skiller agent does when to use it 12581 06:04:38,958 --> 06:04:42,638 and it's going to save you tokens as 12582 06:04:40,638 --> 06:04:44,558 well. So for now I'm going to manually 12583 06:04:42,638 --> 06:04:46,958 build this YAML front matter by 12584 06:04:44,558 --> 06:04:50,480 literally just going like this going 12585 06:04:46,958 --> 06:04:51,840 back into RS code and then for the skill 12586 06:04:50,480 --> 06:04:53,200 I'm just going to paste that up here and 12587 06:04:51,840 --> 06:04:54,638 then change the name and change the 12588 06:04:53,200 --> 06:04:55,680 description myself and I'm going to do 12589 06:04:54,638 --> 06:04:56,958 the exact same thing then with the 12590 06:04:55,680 --> 06:04:59,920 agent. But what I would actually 12591 06:04:56,958 --> 06:05:01,760 recommend you do is in your project give 12592 06:04:59,920 --> 06:05:03,840 cloud code this document. You know give 12593 06:05:01,760 --> 06:05:06,240 it the example give it even the URL and 12594 06:05:03,840 --> 06:05:08,240 say hey look up on this page what is the 12595 06:05:06,240 --> 06:05:10,558 best practice for creating sub aent 12596 06:05:08,240 --> 06:05:12,400 files or creating skill files so that 12597 06:05:10,558 --> 06:05:14,480 every time you build me a new sub aent 12598 06:05:12,400 --> 06:05:16,320 or you build me a new skill it does it 12599 06:05:14,480 --> 06:05:17,360 in the best practice. So really the 12600 06:05:16,320 --> 06:05:18,718 reason I showed you guys this and the 12601 06:05:17,360 --> 06:05:20,480 point I'm trying to make here is cloud 12602 06:05:18,718 --> 06:05:22,718 code is smart but it's way smarter if 12603 06:05:20,480 --> 06:05:24,558 you let it do its own research and then 12604 06:05:22,718 --> 06:05:25,920 save that research so that in the future 12605 06:05:24,558 --> 06:05:27,440 everything gets better and better. So 12606 06:05:25,920 --> 06:05:29,360 now you can see I've updated both the 12607 06:05:27,440 --> 06:05:31,040 agent and the skill with the YAML front 12608 06:05:29,360 --> 06:05:32,638 matter and now it's going to work a lot 12609 06:05:31,040 --> 06:05:34,240 better. It would still work the other 12610 06:05:32,638 --> 06:05:36,080 way but trust me this is just going to 12611 06:05:34,240 --> 06:05:37,520 save you tokens and you're probably 12612 06:05:36,080 --> 06:05:38,718 going to get more consistent results. 12613 06:05:37,520 --> 06:05:39,840 All right so now let's go ahead and test 12614 06:05:38,718 --> 06:05:41,120 that out. I'm going to go ahead and 12615 06:05:39,840 --> 06:05:43,520 clear this conversation and I'm going to 12616 06:05:41,120 --> 06:05:45,120 say I need you to do some really quick 12617 06:05:43,520 --> 06:05:47,040 research for me. I want to keep this one 12618 06:05:45,120 --> 06:05:49,280 cheap, so just use the research agent 12619 06:05:47,040 --> 06:05:51,440 and find out, you know, how ice cream 12620 06:05:49,280 --> 06:05:53,200 events are going in Los Angeles. All 12621 06:05:51,440 --> 06:05:54,400 right, so this is pretty cool. It read 12622 06:05:53,200 --> 06:05:56,080 through the research skill. It read 12623 06:05:54,400 --> 06:05:57,680 through the research agent. And then it 12624 06:05:56,080 --> 06:06:00,080 also read through my plans. So it said, 12625 06:05:57,680 --> 06:06:02,798 "Hey, Jack wants quick, cheap research 12626 06:06:00,080 --> 06:06:05,120 about LA. This ties directly into the 12627 06:06:02,798 --> 06:06:06,958 West Coast expansion priority." So now 12628 06:06:05,120 --> 06:06:08,958 it has all that context. It calls the 12629 06:06:06,958 --> 06:06:10,320 research agent with the model Haiku. And 12630 06:06:08,958 --> 06:06:11,920 now it's going to go ahead and do that 12631 06:06:10,320 --> 06:06:13,440 research for us. All right, awesome. 12632 06:06:11,920 --> 06:06:14,718 That research is done. If I open up the 12633 06:06:13,440 --> 06:06:17,760 research folder, you can see that right 12634 06:06:14,718 --> 06:06:19,520 here we've got our LA report about some 12635 06:06:17,760 --> 06:06:20,958 ice cream stuff. So, just keep in mind 12636 06:06:19,520 --> 06:06:22,638 the research report is still really 12637 06:06:20,958 --> 06:06:24,400 good. It still has lots of sources. It 12638 06:06:22,638 --> 06:06:26,080 still has lots of detail. It wasn't the 12639 06:06:24,400 --> 06:06:28,000 research that was worse. It was just 12640 06:06:26,080 --> 06:06:30,080 when all of that raw data got passed 12641 06:06:28,000 --> 06:06:31,840 back to Claude Code. It was using Haiku 12642 06:06:30,080 --> 06:06:33,760 to summarize it and to write this MD 12643 06:06:31,840 --> 06:06:35,120 file rather than having Opus do that. 12644 06:06:33,760 --> 06:06:36,638 Okay, so we've set up our executive 12645 06:06:35,120 --> 06:06:38,400 assistant. We have given it information 12646 06:06:36,638 --> 06:06:40,798 about us and our business. We have 12647 06:06:38,400 --> 06:06:42,558 connected it with a skill and an agent. 12648 06:06:40,798 --> 06:06:44,240 And now phase four is basically just 12649 06:06:42,558 --> 06:06:45,440 about letting it grow. Now I could walk 12650 06:06:44,240 --> 06:06:47,200 through some more step-by-step examples 12651 06:06:45,440 --> 06:06:49,360 with you guys, but really this is about 12652 06:06:47,200 --> 06:06:50,798 customizing it for your tech stack, 12653 06:06:49,360 --> 06:06:52,718 your, you know, project management 12654 06:06:50,798 --> 06:06:54,400 system, your team, and the way that you 12655 06:06:52,718 --> 06:06:55,840 work. So with my cloud code assistant 12656 06:06:54,400 --> 06:06:57,200 here, because I have all these different 12657 06:06:55,840 --> 06:06:58,638 agents now and these different rules and 12658 06:06:57,200 --> 06:07:00,798 these different skills, it's just 12659 06:06:58,638 --> 06:07:03,200 because I used this every day instead of 12660 06:07:00,798 --> 06:07:04,718 using like Claude or Chatbt on the web. 12661 06:07:03,200 --> 06:07:06,320 It gets smarter and smarter over time. 12662 06:07:04,718 --> 06:07:08,240 So right now you're at day one and if 12663 06:07:06,320 --> 06:07:09,920 you use this every day, a month from 12664 06:07:08,240 --> 06:07:11,120 now, this thing is going to look crazy 12665 06:07:09,920 --> 06:07:12,958 different. there's going to be way more 12666 06:07:11,120 --> 06:07:14,558 docs, way more decisions, way more 12667 06:07:12,958 --> 06:07:15,760 skills, and it's just going to be 12668 06:07:14,558 --> 06:07:17,600 smarter and smarter, and you're going to 12669 06:07:15,760 --> 06:07:18,798 be like living in that thing. So, 12670 06:07:17,600 --> 06:07:21,200 really, what I would challenge you to do 12671 06:07:18,798 --> 06:07:24,000 from here is to only use this. Just like 12672 06:07:21,200 --> 06:07:25,520 for the next week, try only using this. 12673 06:07:24,000 --> 06:07:27,040 Take all of your cloud projects, take 12674 06:07:25,520 --> 06:07:28,798 all of your custom GBTs or, you know, 12675 06:07:27,040 --> 06:07:30,320 your gems, whatever it is, take those 12676 06:07:28,798 --> 06:07:31,760 instructions, put them into this 12677 06:07:30,320 --> 06:07:33,760 project, and say, "Hey, turn this into a 12678 06:07:31,760 --> 06:07:35,520 skill for me." Use that skill, use new 12679 06:07:33,760 --> 06:07:37,360 skills, and every time that you're using 12680 06:07:35,520 --> 06:07:39,040 the skill, say, "Hey, this is what I 12681 06:07:37,360 --> 06:07:40,320 didn't like. This is what I did like. 12682 06:07:39,040 --> 06:07:41,600 Update it. you know, let's let's just 12683 06:07:40,320 --> 06:07:43,360 keep making it better and better. And 12684 06:07:41,600 --> 06:07:45,600 that same exact theory applies to the 12685 06:07:43,360 --> 06:07:47,600 entire system, the cloud files, the 12686 06:07:45,600 --> 06:07:48,798 reference files, the project files, 12687 06:07:47,600 --> 06:07:50,480 everything. And then, like we talked 12688 06:07:48,798 --> 06:07:52,240 about earlier, put this thing on GitHub, 12689 06:07:50,480 --> 06:07:53,760 have version control, and make sure that 12690 06:07:52,240 --> 06:07:55,440 if you switch to a different laptop for 12691 06:07:53,760 --> 06:07:57,200 some reason, you can still use your 12692 06:07:55,440 --> 06:07:58,798 executive assistant. But anyways, that's 12693 06:07:57,200 --> 06:07:59,920 all I got for this one. Now, I'm sure 12694 06:07:58,798 --> 06:08:01,200 you guys are all excited to keep 12695 06:07:59,920 --> 06:08:02,558 building on top of this executive 12696 06:08:01,200 --> 06:08:06,360 assistant. So, what's next is really 12697 06:08:02,558 --> 06:08:06,360 just to go master skills. 12698 06:08:06,400 --> 06:08:09,760 All right, this is where it starts to 12699 06:08:07,760 --> 06:08:12,080 get like really really fun. We're about 12700 06:08:09,760 --> 06:08:13,840 to dive into skills, sub aents, agent 12701 06:08:12,080 --> 06:08:15,680 teams, and a few other things. But this 12702 06:08:13,840 --> 06:08:19,320 is where we get so so powerful with our 12703 06:08:15,680 --> 06:08:19,320 Claude code setups. 12704 06:08:19,600 --> 06:08:22,638 I have genuinely never been as 12705 06:08:20,878 --> 06:08:24,558 productive as I am right now because of 12706 06:08:22,638 --> 06:08:25,840 Claude skills. This image really does 12707 06:08:24,558 --> 06:08:26,958 sum it up. I feel like I'm working on 12708 06:08:25,840 --> 06:08:28,480 multiple different computers and 12709 06:08:26,958 --> 06:08:30,798 multiple different tasks at the same 12710 06:08:28,480 --> 06:08:32,240 time without sacrificing quality. It 12711 06:08:30,798 --> 06:08:34,080 just comes down to one simple word and 12712 06:08:32,240 --> 06:08:35,600 that is leverage. with Claude skills or 12713 06:08:34,080 --> 06:08:37,200 any agent skills for that matter, you 12714 06:08:35,600 --> 06:08:38,798 have way more leverage than if you were 12715 06:08:37,200 --> 06:08:40,000 doing this by yourself. So, in this 12716 06:08:38,798 --> 06:08:41,920 video, I'm going to be breaking down 12717 06:08:40,000 --> 06:08:43,280 what skills are, how they work, and how 12718 06:08:41,920 --> 06:08:44,638 you can build really, really good ones, 12719 06:08:43,280 --> 06:08:46,480 even if you've never heard of the 12720 06:08:44,638 --> 06:08:48,160 concept or built a single skill ever 12721 06:08:46,480 --> 06:08:50,878 before. So, let's hop into a live demo 12722 06:08:48,160 --> 06:08:52,958 real quick and get going. All right, so 12723 06:08:50,878 --> 06:08:54,400 here we are in Claude Code in my Herk 2 12724 06:08:52,958 --> 06:08:55,680 project, which is kind of just like my 12725 06:08:54,400 --> 06:08:56,878 personal assistant. Now, if this stuff 12726 06:08:55,680 --> 06:08:58,480 over here looks overwhelming, don't 12727 06:08:56,878 --> 06:09:00,240 worry about that right now. Just worry 12728 06:08:58,480 --> 06:09:01,440 on what I'm actually asking the agent to 12729 06:09:00,240 --> 06:09:03,040 do. So, I've got this skill that I 12730 06:09:01,440 --> 06:09:04,638 called morning coffee that helps me plan 12731 06:09:03,040 --> 06:09:06,080 my day every morning. So, it's not 12732 06:09:04,638 --> 06:09:07,920 morning right now, but I'm going to run 12733 06:09:06,080 --> 06:09:09,440 this so you can see how it works. So, as 12734 06:09:07,920 --> 06:09:11,440 Cloud Code's figuring that out, what I'm 12735 06:09:09,440 --> 06:09:12,798 going to do is open up another agent. 12736 06:09:11,440 --> 06:09:14,160 And in this one, I'm asking it to run a 12737 06:09:12,798 --> 06:09:15,760 pulse check on all my projects and 12738 06:09:14,160 --> 06:09:17,280 commitments to see how things are going. 12739 06:09:15,760 --> 06:09:18,958 I'm opening up another one to create me 12740 06:09:17,280 --> 06:09:20,798 an Excal diagram of the difference 12741 06:09:18,958 --> 06:09:22,320 between local AI models and closed 12742 06:09:20,798 --> 06:09:23,440 source models. And let's just do one 12743 06:09:22,320 --> 06:09:24,878 more that's going to scrape the comments 12744 06:09:23,440 --> 06:09:26,320 from my recent YouTube videos and give 12745 06:09:24,878 --> 06:09:27,600 me an analysis on what I need to 12746 06:09:26,320 --> 06:09:28,958 improve. So, what you're looking at 12747 06:09:27,600 --> 06:09:30,798 right now is four different agents 12748 06:09:28,958 --> 06:09:32,558 running in parallel doing things for me. 12749 06:09:30,798 --> 06:09:34,320 And that took me probably 30 seconds to 12750 06:09:32,558 --> 06:09:36,160 ask them to do that. And because I built 12751 06:09:34,320 --> 06:09:37,440 all of these skills, all of these agents 12752 06:09:36,160 --> 06:09:38,638 have all of the context about my 12753 06:09:37,440 --> 06:09:40,558 business, what's going on with our 12754 06:09:38,638 --> 06:09:42,080 projects, my YouTube channel. It has 12755 06:09:40,558 --> 06:09:43,600 literally everything it needs. And now 12756 06:09:42,080 --> 06:09:46,000 all of those agents are done. Here was 12757 06:09:43,600 --> 06:09:47,120 my February 26th morning coffee. I had 12758 06:09:46,000 --> 06:09:48,160 three things on the calendar. So, what 12759 06:09:47,120 --> 06:09:49,680 it's going to do is it's going to look 12760 06:09:48,160 --> 06:09:51,280 at my ClickUp. It's going to see what 12761 06:09:49,680 --> 06:09:52,958 else I've got this week and look at my 12762 06:09:51,280 --> 06:09:54,558 tasks and then help me plan the rest of 12763 06:09:52,958 --> 06:09:55,760 my day. So, this is the plan that it 12764 06:09:54,558 --> 06:09:57,120 suggested. All I'd have to do is say, 12765 06:09:55,760 --> 06:09:58,798 "Yep," and it would block off everything 12766 06:09:57,120 --> 06:10:00,400 for me. And for me, that's huge because 12767 06:09:58,798 --> 06:10:02,240 I don't have decision fatigue anymore of 12768 06:10:00,400 --> 06:10:03,760 what I have to work on. The second agent 12769 06:10:02,240 --> 06:10:05,120 came back with a pulse check, 2 days 12770 06:10:03,760 --> 06:10:06,400 until the end of the month. Here's where 12771 06:10:05,120 --> 06:10:07,680 everything stands. So, obviously, I'm 12772 06:10:06,400 --> 06:10:09,120 going to blur all of this out, but it's 12773 06:10:07,680 --> 06:10:10,480 basically catching me up on all of the 12774 06:10:09,120 --> 06:10:12,240 different main initiatives that we're 12775 06:10:10,480 --> 06:10:13,760 doing this month and this quarter and 12776 06:10:12,240 --> 06:10:14,878 making sure that everything is on track. 12777 06:10:13,760 --> 06:10:16,080 And right here, you can see there's a 12778 06:10:14,878 --> 06:10:17,440 few things that I need to follow up on 12779 06:10:16,080 --> 06:10:18,718 manually. And this might have slipped 12780 06:10:17,440 --> 06:10:20,558 through the cracks because I'm so busy 12781 06:10:18,718 --> 06:10:22,400 making YouTube videos if I didn't have 12782 06:10:20,558 --> 06:10:24,400 this personal assistant to check up on 12783 06:10:22,400 --> 06:10:26,320 me using the skill. The third agent came 12784 06:10:24,400 --> 06:10:27,920 back and has finished the excal job 12785 06:10:26,320 --> 06:10:29,520 diagram and I pasted it in and it looks 12786 06:10:27,920 --> 06:10:30,798 like this. So if I needed to make a 12787 06:10:29,520 --> 06:10:32,160 video about this, I wouldn't have had to 12788 06:10:30,798 --> 06:10:33,680 take my own time to create this 12789 06:10:32,160 --> 06:10:35,600 visualization. So for the comment 12790 06:10:33,680 --> 06:10:37,280 analysis that came back and we can see 12791 06:10:35,600 --> 06:10:39,040 all of the comments, all the views and 12792 06:10:37,280 --> 06:10:40,878 things that I need to address either in 12793 06:10:39,040 --> 06:10:42,240 future videos or in the comments. We got 12794 06:10:40,878 --> 06:10:43,920 some confusion. We've got some cost 12795 06:10:42,240 --> 06:10:46,240 things that I need to cover. We have to 12796 06:10:43,920 --> 06:10:47,440 stop demoing toy examples for tool 12797 06:10:46,240 --> 06:10:48,878 videos. Seems like you guys really want 12798 06:10:47,440 --> 06:10:50,080 to see some anti-gravity stuff. I 12799 06:10:48,878 --> 06:10:52,080 promise that'll come soon. And then 12800 06:10:50,080 --> 06:10:53,600 we've got top three priorities. So, I've 12801 06:10:52,080 --> 06:10:55,600 been recording now this video for about 12802 06:10:53,600 --> 06:10:56,718 6 minutes. Just think about if I would 12803 06:10:55,600 --> 06:10:58,638 have done all four of those things 12804 06:10:56,718 --> 06:10:59,760 myself, how much context switching I 12805 06:10:58,638 --> 06:11:01,440 would have done and how long that would 12806 06:10:59,760 --> 06:11:03,040 have taken me. Okay, so now that you 12807 06:11:01,440 --> 06:11:04,240 guys have seen an actual demo and 12808 06:11:03,040 --> 06:11:05,520 hopefully you're a little bit excited to 12809 06:11:04,240 --> 06:11:07,760 learn about cloud skills if you haven't 12810 06:11:05,520 --> 06:11:10,240 used them yet, what actually are they? 12811 06:11:07,760 --> 06:11:12,000 So, skills are reusable instructions. 12812 06:11:10,240 --> 06:11:13,760 You write them once, you save them as a 12813 06:11:12,000 --> 06:11:14,958 skill. You can trigger them anytime, and 12814 06:11:13,760 --> 06:11:16,320 you're going to get way more consistent 12815 06:11:14,958 --> 06:11:18,240 results because it's going through that 12816 06:11:16,320 --> 06:11:19,840 same process every time. So this visual 12817 06:11:18,240 --> 06:11:22,160 right here was actually an AI generated 12818 06:11:19,840 --> 06:11:23,680 image that I used with a skill. It was 12819 06:11:22,160 --> 06:11:25,680 this one right here in my cloud code 12820 06:11:23,680 --> 06:11:27,840 called Excalaw visuals. But sometimes 12821 06:11:25,680 --> 06:11:29,520 with AI generated images, they don't 12822 06:11:27,840 --> 06:11:30,798 spell words right. As you can see here, 12823 06:11:29,520 --> 06:11:32,638 this is all messed up. This stuff is 12824 06:11:30,798 --> 06:11:34,558 messed up. So I also have one, as you 12825 06:11:32,638 --> 06:11:36,638 saw in the demo, to create Excal 12826 06:11:34,558 --> 06:11:38,638 diagrams. And this one creates the 12827 06:11:36,638 --> 06:11:40,160 actual Excal that I could move and edit. 12828 06:11:38,638 --> 06:11:42,080 And the words are always perfect because 12829 06:11:40,160 --> 06:11:43,600 it's actually just typing. And those two 12830 06:11:42,080 --> 06:11:44,638 skills alone have saved me so much time. 12831 06:11:43,600 --> 06:11:46,320 And what I'm going to do, by the way, 12832 06:11:44,638 --> 06:11:47,440 for all you guys, is in my free school 12833 06:11:46,320 --> 06:11:48,958 community, the link for this is down in 12834 06:11:47,440 --> 06:11:50,558 the description, I've added a new 12835 06:11:48,958 --> 06:11:51,680 classroom section called agent skills, 12836 06:11:50,558 --> 06:11:53,440 where I'm just going to be dropping a 12837 06:11:51,680 --> 06:11:55,280 ton of these skills that you guys can go 12838 06:11:53,440 --> 06:11:56,878 grab for completely free. So, before we 12839 06:11:55,280 --> 06:11:58,160 dive into this today, just real quick, 12840 06:11:56,878 --> 06:12:00,000 why should you care? And there's three 12841 06:11:58,160 --> 06:12:01,600 big reasons. You can be way more 12842 06:12:00,000 --> 06:12:03,360 productive as a person because you can 12843 06:12:01,600 --> 06:12:04,878 automate things like you just saw me do, 12844 06:12:03,360 --> 06:12:06,320 and you can legitimately build a 12845 06:12:04,878 --> 06:12:08,000 personal assistant that can do almost 12846 06:12:06,320 --> 06:12:10,000 anything for you. The second one is team 12847 06:12:08,000 --> 06:12:12,160 leverage. So, you can turn existing SOPs 12848 06:12:10,000 --> 06:12:14,160 into automations really, really easy. 12849 06:12:12,160 --> 06:12:15,440 And if you build something new, not just 12850 06:12:14,160 --> 06:12:17,360 you can use it, but your entire 12851 06:12:15,440 --> 06:12:19,200 organization can. So, everyone as a 12852 06:12:17,360 --> 06:12:21,040 group is getting way more productive, 12853 06:12:19,200 --> 06:12:23,040 which will almost undoubtedly result in 12854 06:12:21,040 --> 06:12:24,878 growth of the business. And also 12855 06:12:23,040 --> 06:12:26,320 monetization. We're entering this new 12856 06:12:24,878 --> 06:12:28,160 world where skills are having a big 12857 06:12:26,320 --> 06:12:29,600 moment and you're able to capitalize on 12858 06:12:28,160 --> 06:12:30,958 a lot of this stuff. Now, I'm not saying 12859 06:12:29,600 --> 06:12:32,480 this is going to be a viable business 12860 06:12:30,958 --> 06:12:34,080 model for a long, long time. So, you 12861 06:12:32,480 --> 06:12:35,520 shouldn't bank on it, but it is 12862 06:12:34,080 --> 06:12:36,878 something to be aware of just like when 12863 06:12:35,520 --> 06:12:38,638 people were selling edit workflow 12864 06:12:36,878 --> 06:12:40,080 templates and things like that. But once 12865 06:12:38,638 --> 06:12:41,680 again, it just comes down to one word, 12866 06:12:40,080 --> 06:12:42,878 which is leverage. This isn't just 12867 06:12:41,680 --> 06:12:44,080 theory. This is something that we're 12868 06:12:42,878 --> 06:12:45,840 seeing with clients. This is something 12869 06:12:44,080 --> 06:12:47,200 that we're seeing internally in my own 12870 06:12:45,840 --> 06:12:49,440 business. This speed of work that we're 12871 06:12:47,200 --> 06:12:51,040 able to achieve right now feels insane. 12872 06:12:49,440 --> 06:12:52,718 But that is going to become normal. And 12873 06:12:51,040 --> 06:12:54,240 if you can't do that, you instantly 12874 06:12:52,718 --> 06:12:55,600 become way too slow and way too 12875 06:12:54,240 --> 06:12:56,958 expensive for the business. And they 12876 06:12:55,600 --> 06:12:58,320 might not keep you around. We're 12877 06:12:56,958 --> 06:13:00,000 actually making it a priority to make 12878 06:12:58,320 --> 06:13:01,840 sure all of our employees are using 12879 06:13:00,000 --> 06:13:03,120 cloud code. Because now I have all these 12880 06:13:01,840 --> 06:13:04,798 different skills that I can just run 12881 06:13:03,120 --> 06:13:06,638 with a simple slash command or a simple 12882 06:13:04,798 --> 06:13:08,638 natural language prompt and get in one 12883 06:13:06,638 --> 06:13:10,240 day a week's worth of output. Because 12884 06:13:08,638 --> 06:13:11,680 once again, one person can figure out 12885 06:13:10,240 --> 06:13:13,360 the best way to do something and turn it 12886 06:13:11,680 --> 06:13:15,280 into a skill that the entire team can 12887 06:13:13,360 --> 06:13:17,040 use. But they don't just generate text. 12888 06:13:15,280 --> 06:13:18,558 They're basically automations. They can 12889 06:13:17,040 --> 06:13:19,760 run scripts. They can call APIs. They 12890 06:13:18,558 --> 06:13:21,680 can create things. They can have sub 12891 06:13:19,760 --> 06:13:23,680 agents. And they can be called on from 12892 06:13:21,680 --> 06:13:25,280 agents as well. So this is truly AI 12893 06:13:23,680 --> 06:13:27,680 automation. And just to really hammer it 12894 06:13:25,280 --> 06:13:29,200 home, they're basically SOPs for your AI 12895 06:13:27,680 --> 06:13:30,638 agents. The same way where you would 12896 06:13:29,200 --> 06:13:32,160 train a human employee by letting them 12897 06:13:30,638 --> 06:13:33,600 read through an SOP to understand the 12898 06:13:32,160 --> 06:13:35,520 process and then they'd be able to do 12899 06:13:33,600 --> 06:13:37,040 it, you just train an agent on it. You 12900 06:13:35,520 --> 06:13:38,558 give them the skill, they read it, and 12901 06:13:37,040 --> 06:13:40,160 then they do it. And the coolest part 12902 06:13:38,558 --> 06:13:42,000 about it is the more you use the skill, 12903 06:13:40,160 --> 06:13:43,120 the better and better it gets. So, we've 12904 06:13:42,000 --> 06:13:45,840 talked about a lot of these benefits, 12905 06:13:43,120 --> 06:13:47,600 right? But what actually is a skill? 12906 06:13:45,840 --> 06:13:48,958 Well, it's just a folder and it lives 12907 06:13:47,600 --> 06:13:50,400 somewhere in your project. The most 12908 06:13:48,958 --> 06:13:53,200 common example is probably going to be 12909 06:13:50,400 --> 06:13:55,360 in your do.claude/skills/skill 12910 06:13:53,200 --> 06:13:57,440 name and then you've got like a skill MD 12911 06:13:55,360 --> 06:13:59,680 or a markdown file. So, right here in my 12912 06:13:57,440 --> 06:14:02,000 Herk 2 project, you can see up top we've 12913 06:13:59,680 --> 06:14:04,080 got.claude. I open up.claude, we have 12914 06:14:02,000 --> 06:14:05,840 agents, rules, and skills. Right now, 12915 06:14:04,080 --> 06:14:07,280 we're just talking about skills. If I 12916 06:14:05,840 --> 06:14:08,558 open that up, we can see all the 12917 06:14:07,280 --> 06:14:10,400 different skills that I've created in. 12918 06:14:08,558 --> 06:14:12,558 So let's say for example the Excal 12919 06:14:10,400 --> 06:14:14,638 diagram skill. If I click into that, we 12920 06:14:12,558 --> 06:14:16,160 have a skill.md. And when I open that 12921 06:14:14,638 --> 06:14:17,680 up, you can see we have the name of the 12922 06:14:16,160 --> 06:14:19,360 skill, the description, and then we have 12923 06:14:17,680 --> 06:14:21,280 the actual workflow. Step one, 12924 06:14:19,360 --> 06:14:22,878 understand the concept. Step two, plan 12925 06:14:21,280 --> 06:14:24,480 the layout. Step three, generate 12926 06:14:22,878 --> 06:14:26,080 elements. And this entire skill 12927 06:14:24,480 --> 06:14:28,400 basically teaches my agent how to build 12928 06:14:26,080 --> 06:14:30,320 these Excal diagrams for me. So like I 12929 06:14:28,400 --> 06:14:32,160 said, that is the anatomy of the skill. 12930 06:14:30,320 --> 06:14:34,958 We've got front matter which is kind of 12931 06:14:32,160 --> 06:14:37,200 between these two dotted lines and that 12932 06:14:34,958 --> 06:14:38,160 is in something called YAML which you 12933 06:14:37,200 --> 06:14:40,160 don't need to worry about what that 12934 06:14:38,160 --> 06:14:41,920 means. This is just the way that it's 12935 06:14:40,160 --> 06:14:44,638 kind of indicated sort of like your 12936 06:14:41,920 --> 06:14:46,320 markdown or your JSON or Python. Now up 12937 06:14:44,638 --> 06:14:48,400 here we'll have a name and a description 12938 06:14:46,320 --> 06:14:50,480 which tells Claude Code what the skill 12939 06:14:48,400 --> 06:14:52,320 is called and what the skill does. So as 12940 06:14:50,480 --> 06:14:53,760 you can see this one is called Excalraw- 12941 06:14:52,320 --> 06:14:55,520 Diagram and there's a brief description 12942 06:14:53,760 --> 06:14:57,120 about what it actually does or when to 12943 06:14:55,520 --> 06:14:58,558 use it. And then we have the 12944 06:14:57,120 --> 06:15:00,400 step-by-step rules, which are basically 12945 06:14:58,558 --> 06:15:02,480 the instructions. And this is what 12946 06:15:00,400 --> 06:15:03,760 Claude actually does once it decides 12947 06:15:02,480 --> 06:15:05,440 that this is the right skill for the 12948 06:15:03,760 --> 06:15:07,680 job. Now, the interesting thing about 12949 06:15:05,440 --> 06:15:09,600 skills is that sometimes you need way 12950 06:15:07,680 --> 06:15:11,840 more data. So, for example, let's say 12951 06:15:09,600 --> 06:15:13,920 we're writing a LinkedIn post. We have a 12952 06:15:11,840 --> 06:15:15,840 skill for that, right? But what needs to 12953 06:15:13,920 --> 06:15:17,760 go in the skill is other information 12954 06:15:15,840 --> 06:15:19,440 sometimes like a company tone of voice 12955 06:15:17,760 --> 06:15:21,680 or maybe your LinkedIn, you know, tone 12956 06:15:19,440 --> 06:15:23,760 of voice, a target avatar, current 12957 06:15:21,680 --> 06:15:25,200 priorities, a logo. Maybe there are 12958 06:15:23,760 --> 06:15:26,958 other things that you want to put into a 12959 06:15:25,200 --> 06:15:28,798 skill besides just like the step-by-step 12960 06:15:26,958 --> 06:15:30,240 instructions that will make it better. 12961 06:15:28,798 --> 06:15:32,160 So, the question is, where do these 12962 06:15:30,240 --> 06:15:33,760 things go? Well, there's typically two 12963 06:15:32,160 --> 06:15:35,440 options, but essentially, as long as 12964 06:15:33,760 --> 06:15:38,400 you're pointing to the right path in the 12965 06:15:35,440 --> 06:15:39,440 skill.md, you're fine. So, let me 12966 06:15:38,400 --> 06:15:40,878 explain what I mean by that, and then 12967 06:15:39,440 --> 06:15:42,080 I'll show you what I mean by that. So, 12968 06:15:40,878 --> 06:15:43,440 first option is to have it 12969 06:15:42,080 --> 06:15:46,000 self-contained. So, in 12970 06:15:43,440 --> 06:15:48,558 yourcloud/skills/skll 12971 06:15:46,000 --> 06:15:50,000 name, you can have the skill. MD, you 12972 06:15:48,558 --> 06:15:51,360 can have your scripts right there, and 12973 06:15:50,000 --> 06:15:53,440 you can have your references right 12974 06:15:51,360 --> 06:15:56,000 there. Or option B is that they're not 12975 06:15:53,440 --> 06:15:59,040 directly nested right under that skill. 12976 06:15:56,000 --> 06:16:00,958 So here we have.claude/skill/infographic 12977 06:15:59,040 --> 06:16:02,400 and the skillmd and we still have our 12978 06:16:00,958 --> 06:16:04,240 scripts and our references in the same 12979 06:16:02,400 --> 06:16:06,160 project but it's just not nested 12980 06:16:04,240 --> 06:16:07,600 directly under that skill. And so I know 12981 06:16:06,160 --> 06:16:09,120 that might have made no sense. So let me 12982 06:16:07,600 --> 06:16:10,878 show you exactly what I mean by that. 12983 06:16:09,120 --> 06:16:12,798 Okay. So here we have a skill called 12984 06:16:10,878 --> 06:16:15,200 idea mining. And so what happens in here 12985 06:16:12,798 --> 06:16:16,958 is basically use when someone asks for 12986 06:16:15,200 --> 06:16:19,200 content ideas, video ideas, what to make 12987 06:16:16,958 --> 06:16:21,040 next or to run idea mining. And so in 12988 06:16:19,200 --> 06:16:22,558 here I gave it some context, right? My 12989 06:16:21,040 --> 06:16:24,878 channel has this many subs. It's about 12990 06:16:22,558 --> 06:16:28,080 AI automation. My content pillars are 12991 06:16:24,878 --> 06:16:29,440 naden, rag agents, cloud code, voice AI. 12992 06:16:28,080 --> 06:16:31,280 And then what I gave it is a bunch of 12993 06:16:29,440 --> 06:16:33,520 references. I gave it channel data, 12994 06:16:31,280 --> 06:16:35,920 which is YouTube channel.md. I also gave 12995 06:16:33,520 --> 06:16:37,920 it the raw data, which is a JSON file. I 12996 06:16:35,920 --> 06:16:40,718 gave it a competitor list for me. And I 12997 06:16:37,920 --> 06:16:42,558 gave it an actual script to run analysis 12998 06:16:40,718 --> 06:16:44,320 on my YouTube channel. And so in this 12999 06:16:42,558 --> 06:16:46,638 case, what you can see is that I went 13000 06:16:44,320 --> 06:16:48,558 for option B where I'm storing those 13001 06:16:46,638 --> 06:16:51,600 reference files and those scripts not 13002 06:16:48,558 --> 06:16:52,878 directly nested in this skill. So 13003 06:16:51,600 --> 06:16:55,040 basically what it could look like is 13004 06:16:52,878 --> 06:16:57,680 within the skill itself, we could have a 13005 06:16:55,040 --> 06:17:00,480 folder called, you know, references. We 13006 06:16:57,680 --> 06:17:02,160 could also have a folder in here called 13007 06:17:00,480 --> 06:17:03,520 scripts. And then within both of these 13008 06:17:02,160 --> 06:17:05,200 subfolders, we could have more things 13009 06:17:03,520 --> 06:17:07,440 like, you know, in the references, I 13010 06:17:05,200 --> 06:17:08,400 could have channel data. And in the 13011 06:17:07,440 --> 06:17:10,320 scripts, I could have 13012 06:17:08,400 --> 06:17:13,200 YouTube-analysis.js 13013 06:17:10,320 --> 06:17:15,360 js or py whatever it is. Basically the 13014 06:17:13,200 --> 06:17:17,440 idea is it doesn't matter where those 13015 06:17:15,360 --> 06:17:18,958 actual reference files or scripts live 13016 06:17:17,440 --> 06:17:20,958 as long as you point to the right spot 13017 06:17:18,958 --> 06:17:22,638 in the md file. So in my case where 13018 06:17:20,958 --> 06:17:24,400 these actually live is in a different 13019 06:17:22,638 --> 06:17:25,760 folder. So here for the channel data I 13020 06:17:24,400 --> 06:17:27,840 would basically just go all the way down 13021 06:17:25,760 --> 06:17:30,480 to references and then I could go down 13022 06:17:27,840 --> 06:17:32,000 to right here YouTube channel.md. So 13023 06:17:30,480 --> 06:17:33,760 cloud code reads the skill and then it's 13024 06:17:32,000 --> 06:17:35,280 able to find this if it needs it. Same 13025 06:17:33,760 --> 06:17:37,520 thing for the scripts. It would go down 13026 06:17:35,280 --> 06:17:40,320 here to scripts and then it would find 13027 06:17:37,520 --> 06:17:41,840 analyze YouTube. py and it would just 13028 06:17:40,320 --> 06:17:43,120 pull this in if it needed it. So 13029 06:17:41,840 --> 06:17:44,878 hopefully you guys are with me. However 13030 06:17:43,120 --> 06:17:46,240 you want to set it up works. And I think 13031 06:17:44,878 --> 06:17:47,760 that's the most overwhelming thing about 13032 06:17:46,240 --> 06:17:49,600 cloud code right now is that everyone 13033 06:17:47,760 --> 06:17:51,280 uses different kind of folder 13034 06:17:49,600 --> 06:17:52,718 architecture. But don't worry guys, I'm 13035 06:17:51,280 --> 06:17:55,360 totally on top of this. I have a skill 13036 06:17:52,718 --> 06:17:57,040 that I built out called skilluer. And 13037 06:17:55,360 --> 06:17:58,638 this one I'll be giving away for free 13038 06:17:57,040 --> 06:18:00,160 once again in my free school community 13039 06:17:58,638 --> 06:18:02,240 right here. And all you'd have to do is 13040 06:18:00,160 --> 06:18:03,760 load in the skill builder and then it'll 13041 06:18:02,240 --> 06:18:05,280 help you build out everything you need. 13042 06:18:03,760 --> 06:18:07,600 And I'll be showing a live demo of that 13043 06:18:05,280 --> 06:18:09,280 in a few minutes here. So the skill.md 13044 06:18:07,600 --> 06:18:11,040 is the actual brain itself and the 13045 06:18:09,280 --> 06:18:13,120 supporting files are the tools that it 13046 06:18:11,040 --> 06:18:14,718 can use. That doesn't mean every single 13047 06:18:13,120 --> 06:18:16,320 time the skill is invoked that those 13048 06:18:14,718 --> 06:18:17,600 reference files will all be called. And 13049 06:18:16,320 --> 06:18:18,958 just in case you guys were wondering if 13050 06:18:17,600 --> 06:18:20,718 you've watched some of my previous cloud 13051 06:18:18,958 --> 06:18:22,878 code videos where we've used the WAT 13052 06:18:20,718 --> 06:18:24,480 framework to build automations. This is 13053 06:18:22,878 --> 06:18:26,480 very very very similar in that 13054 06:18:24,480 --> 06:18:28,958 framework. The W the workflows were the 13055 06:18:26,480 --> 06:18:31,040 markdown file SOPs. That's basically the 13056 06:18:28,958 --> 06:18:32,638 skill. The tools were the actual Python 13057 06:18:31,040 --> 06:18:33,840 scripts and that's basically just the 13058 06:18:32,638 --> 06:18:35,440 scripts that you might write or the 13059 06:18:33,840 --> 06:18:36,878 references that you would add in. So, if 13060 06:18:35,440 --> 06:18:38,320 you've already been building some WAT 13061 06:18:36,878 --> 06:18:39,680 stuff, you will pick up skills super 13062 06:18:38,320 --> 06:18:40,958 super quickly. And the cool thing about 13063 06:18:39,680 --> 06:18:42,400 skills is that you don't have to build 13064 06:18:40,958 --> 06:18:43,600 all of them. Obviously, as you're 13065 06:18:42,400 --> 06:18:44,878 working with cloud code and you're 13066 06:18:43,600 --> 06:18:46,480 finding that you're doing things 13067 06:18:44,878 --> 06:18:48,080 repetitively, you can go ahead and build 13068 06:18:46,480 --> 06:18:50,320 a skill for it. But there's an official 13069 06:18:48,080 --> 06:18:51,760 library from Anthropic of Skills. 13070 06:18:50,320 --> 06:18:53,040 There's a community of everyone that's 13071 06:18:51,760 --> 06:18:54,798 open sourcing their skills and giving 13072 06:18:53,040 --> 06:18:57,040 them out. And there's a marketplace 13073 06:18:54,798 --> 06:18:58,798 where you can share and sell or you know 13074 06:18:57,040 --> 06:19:00,400 download skills from people. And then 13075 06:18:58,798 --> 06:19:02,000 you would take that skill or that 13076 06:19:00,400 --> 06:19:03,760 essentially a prompt and you would add 13077 06:19:02,000 --> 06:19:05,040 your own flavor to it. The one thing I 13078 06:19:03,760 --> 06:19:06,718 would say is just be careful and make 13079 06:19:05,040 --> 06:19:08,320 sure that no one's trying to, you know, 13080 06:19:06,718 --> 06:19:10,480 give you a skill that has any malicious 13081 06:19:08,320 --> 06:19:12,878 intent in there. And all these skills 13082 06:19:10,480 --> 06:19:15,760 can work across different products. So, 13083 06:19:12,878 --> 06:19:17,280 cursor, anti-gravity, codeex, because 13084 06:19:15,760 --> 06:19:18,958 it's so based in Markdown and it's 13085 06:19:17,280 --> 06:19:20,638 essentially just a prompt, tons of 13086 06:19:18,958 --> 06:19:22,480 different AI models can use them. Okay. 13087 06:19:20,638 --> 06:19:24,000 So, how does Claude know when to use a 13088 06:19:22,480 --> 06:19:25,520 skill? Well, there are two ways to 13089 06:19:24,000 --> 06:19:27,360 actually trigger them. The first one is 13090 06:19:25,520 --> 06:19:29,200 you can be explicit, which basically 13091 06:19:27,360 --> 06:19:31,120 means you can do a slash command and say 13092 06:19:29,200 --> 06:19:33,280 the skill name and it will just directly 13093 06:19:31,120 --> 06:19:35,200 fire off that skill. Or it could just be 13094 06:19:33,280 --> 06:19:36,400 natural language. So if I had a school 13095 06:19:35,200 --> 06:19:38,080 post skill, I could say 13096 06:19:36,400 --> 06:19:39,520 slashschool-post. 13097 06:19:38,080 --> 06:19:41,040 Or I could natural language just say, 13098 06:19:39,520 --> 06:19:43,200 "Hey, help me write a school post about 13099 06:19:41,040 --> 06:19:45,200 X." Claude would find that skill and 13100 06:19:43,200 --> 06:19:46,558 then invoke it. So when you ask Claude 13101 06:19:45,200 --> 06:19:48,320 to do something, it will first read 13102 06:19:46,558 --> 06:19:50,240 through the cloud.MD file. It will 13103 06:19:48,320 --> 06:19:51,920 analyze your request and it will search 13104 06:19:50,240 --> 06:19:54,160 through the skills and see which one do 13105 06:19:51,920 --> 06:19:55,920 I have that helps with this query. If it 13106 06:19:54,160 --> 06:19:57,120 finds one, it will invoke it. But if it 13107 06:19:55,920 --> 06:19:58,320 can't find anything, then it will 13108 06:19:57,120 --> 06:19:59,760 basically just use its general 13109 06:19:58,320 --> 06:20:01,760 knowledge. So not every single request 13110 06:19:59,760 --> 06:20:03,520 that you give to cloud code will invoke 13111 06:20:01,760 --> 06:20:05,600 a skill. Now a really important part of 13112 06:20:03,520 --> 06:20:07,200 that is understanding how skills stay 13113 06:20:05,600 --> 06:20:08,638 lightweight because if you've been using 13114 06:20:07,200 --> 06:20:10,718 cloud code you know that context 13115 06:20:08,638 --> 06:20:12,160 management is a huge deal. And if you 13116 06:20:10,718 --> 06:20:13,840 had all of these skills to look through 13117 06:20:12,160 --> 06:20:15,840 and all of these skills are I don't know 13118 06:20:13,840 --> 06:20:17,200 hundreds and hundreds of lines then if 13119 06:20:15,840 --> 06:20:18,798 cloud code was searching through all of 13120 06:20:17,200 --> 06:20:20,958 these every single time that would 13121 06:20:18,798 --> 06:20:22,400 surely eat up a ton of your tokens. So 13122 06:20:20,958 --> 06:20:24,320 what's used is something called 13123 06:20:22,400 --> 06:20:26,160 progressive context loading which 13124 06:20:24,320 --> 06:20:28,320 basically means we have three levels. 13125 06:20:26,160 --> 06:20:30,240 Level one is the initial search where 13126 06:20:28,320 --> 06:20:31,840 cloud code only looks for the name and 13127 06:20:30,240 --> 06:20:33,760 the description. So right here you can 13128 06:20:31,840 --> 06:20:35,280 see let's say we ask for an Excal 13129 06:20:33,760 --> 06:20:36,958 diagram. It would basically search 13130 06:20:35,280 --> 06:20:38,718 through all the skills but it would only 13131 06:20:36,958 --> 06:20:40,400 read the YAML front matter. So it would 13132 06:20:38,718 --> 06:20:41,920 read the name and the description. And 13133 06:20:40,400 --> 06:20:43,600 typically this front matter is only 13134 06:20:41,920 --> 06:20:45,600 going to be you know maybe roughly 100 13135 06:20:43,600 --> 06:20:47,280 tokens. So it stays very lightweight. 13136 06:20:45,600 --> 06:20:49,200 And then moving down to level two let's 13137 06:20:47,280 --> 06:20:51,760 say it identifies okay cool this is the 13138 06:20:49,200 --> 06:20:54,320 right skill for the job. Then it would 13139 06:20:51,760 --> 06:20:55,600 run the full skill.mmd and it would read 13140 06:20:54,320 --> 06:20:56,878 through everything. And so that's when 13141 06:20:55,600 --> 06:20:58,558 it would start to actually understand 13142 06:20:56,878 --> 06:21:01,200 what goes on in the skill. And that 13143 06:20:58,558 --> 06:21:03,040 might be anywhere from a thousand to a 13144 06:21:01,200 --> 06:21:05,040 couple thousand tokens. And then level 13145 06:21:03,040 --> 06:21:07,200 three is once again a decision. Only 13146 06:21:05,040 --> 06:21:08,958 load in the extra files when needed. So 13147 06:21:07,200 --> 06:21:10,558 if I need to look at any scripts or 13148 06:21:08,958 --> 06:21:12,000 references or templates or I need to 13149 06:21:10,558 --> 06:21:14,558 pull in some brand assets or more 13150 06:21:12,000 --> 06:21:16,878 context, I'm only going to do that if 13151 06:21:14,558 --> 06:21:18,000 the specific requests requires it. And 13152 06:21:16,878 --> 06:21:19,840 so hopefully now you're starting to 13153 06:21:18,000 --> 06:21:21,600 understand a little bit more about under 13154 06:21:19,840 --> 06:21:23,280 the hood what's actually going on when 13155 06:21:21,600 --> 06:21:25,600 you ask cla code to do something for 13156 06:21:23,280 --> 06:21:27,200 you. And you can always go to cloud code 13157 06:21:25,600 --> 06:21:28,638 docs and go to the skills section and 13158 06:21:27,200 --> 06:21:30,558 just read about how this stuff works. 13159 06:21:28,638 --> 06:21:32,400 It's really, really simple. On the doc 13160 06:21:30,558 --> 06:21:34,958 itself, it will tell you just make sure 13161 06:21:32,400 --> 06:21:36,798 to keep the skill.md under 500 lines. 13162 06:21:34,958 --> 06:21:38,798 Move detailed reference material to 13163 06:21:36,798 --> 06:21:40,160 separate files. And so, I know this may 13164 06:21:38,798 --> 06:21:41,760 seem like it's just a lot of information 13165 06:21:40,160 --> 06:21:43,440 being thrown at you. So, let me just 13166 06:21:41,760 --> 06:21:45,520 kind of contextualize this and slow it 13167 06:21:43,440 --> 06:21:48,080 down and reassure you guys. You're never 13168 06:21:45,520 --> 06:21:49,920 ever ever going to write a perfect skill 13169 06:21:48,080 --> 06:21:51,440 the first try. The way that I build my 13170 06:21:49,920 --> 06:21:53,120 skills is I have Claude Code do 13171 06:21:51,440 --> 06:21:55,120 something with me. I walk it through the 13172 06:21:53,120 --> 06:21:56,798 steps, you know, each time. And then 13173 06:21:55,120 --> 06:21:59,040 when we're done, if we've went from 13174 06:21:56,798 --> 06:22:01,040 point A to point B, I say, "Cool. This 13175 06:21:59,040 --> 06:22:02,958 is something I do once a day. Let's turn 13176 06:22:01,040 --> 06:22:04,320 this into a skill. Ask me more questions 13177 06:22:02,958 --> 06:22:05,760 so we can make sure you have all the 13178 06:22:04,320 --> 06:22:07,440 information you need." And once again, 13179 06:22:05,760 --> 06:22:09,040 I'm going to show you guys opening up a 13180 06:22:07,440 --> 06:22:10,718 brand new project and setting up a skill 13181 06:22:09,040 --> 06:22:12,160 from scratch so you understand the full 13182 06:22:10,718 --> 06:22:14,160 process, but I just had to give you guys 13183 06:22:12,160 --> 06:22:15,600 some context first. Now, we have this 13184 06:22:14,160 --> 06:22:17,520 thing called the feedback cycle, which 13185 06:22:15,600 --> 06:22:19,520 basically means you invoke the skill, 13186 06:22:17,520 --> 06:22:21,520 you actually watch the agent work, you 13187 06:22:19,520 --> 06:22:22,878 give feedback, and then it fixes the 13188 06:22:21,520 --> 06:22:24,160 skill, and then you do it again. And so, 13189 06:22:22,878 --> 06:22:25,680 the first couple times you run a skill, 13190 06:22:24,160 --> 06:22:27,760 you may feel like, eh, this feels very 13191 06:22:25,680 --> 06:22:30,080 AI generated. But by the time you've run 13192 06:22:27,760 --> 06:22:32,080 that skill 10, 20, 30 times, every 13193 06:22:30,080 --> 06:22:33,280 single time it gets better. And so, 13194 06:22:32,080 --> 06:22:34,718 that's why it's actually important to 13195 06:22:33,280 --> 06:22:36,320 watch the agent work the first couple of 13196 06:22:34,718 --> 06:22:38,400 times because that's how you're able to 13197 06:22:36,320 --> 06:22:40,160 identify opportunities to speed it up 13198 06:22:38,400 --> 06:22:42,080 and save tokens by doing things like 13199 06:22:40,160 --> 06:22:43,280 this. So here's an example of the pulse 13200 06:22:42,080 --> 06:22:44,718 check skill that we actually ran 13201 06:22:43,280 --> 06:22:46,480 earlier. Now this skill gets invoked 13202 06:22:44,718 --> 06:22:48,400 when I ask for a pulse check or checking 13203 06:22:46,480 --> 06:22:50,000 in on commitments. And what it does is 13204 06:22:48,400 --> 06:22:51,600 it reads through some context of how 13205 06:22:50,000 --> 06:22:53,360 OTAAS work, which is important for it to 13206 06:22:51,600 --> 06:22:55,040 understand every single time it reads 13207 06:22:53,360 --> 06:22:56,480 the skill, which is why I put it here 13208 06:22:55,040 --> 06:22:57,920 rather than a reference file. And what 13209 06:22:56,480 --> 06:22:59,840 it has to do is it has to do a live 13210 06:22:57,920 --> 06:23:01,360 lookup on my ClickUp to understand 13211 06:22:59,840 --> 06:23:03,520 what's going on. So what I did is I 13212 06:23:01,360 --> 06:23:05,280 hardcoded in these list IDs because when 13213 06:23:03,520 --> 06:23:07,280 I was watching it, I realized every 13214 06:23:05,280 --> 06:23:09,280 single time it was doing this, it was 13215 06:23:07,280 --> 06:23:11,280 calling the ClickUp MCP and it was 13216 06:23:09,280 --> 06:23:12,558 gathering all these lists and it was 13217 06:23:11,280 --> 06:23:14,320 searching and parsing the results and 13218 06:23:12,558 --> 06:23:16,000 then it would extract the ID and that 13219 06:23:14,320 --> 06:23:17,760 just was taking so long and it was 13220 06:23:16,000 --> 06:23:19,360 costing me a ton of tokens. So I 13221 06:23:17,760 --> 06:23:21,440 realized that's always going to be the 13222 06:23:19,360 --> 06:23:24,160 same. Why don't I just give it in the 13223 06:23:21,440 --> 06:23:25,600 skill document the list IDs and now it 13224 06:23:24,160 --> 06:23:26,798 knows how to do that instantly every 13225 06:23:25,600 --> 06:23:28,638 time and it doesn't waste all those 13226 06:23:26,798 --> 06:23:30,638 tokens. And on top of that, I know that 13227 06:23:28,638 --> 06:23:32,480 searching through ClickUp can consume a 13228 06:23:30,638 --> 06:23:34,160 lot of time and tokens. So, I built a 13229 06:23:32,480 --> 06:23:35,840 specialized sub agent that in this 13230 06:23:34,160 --> 06:23:37,680 skill, I say, "Hey, delegate to the 13231 06:23:35,840 --> 06:23:39,440 ClickUp searcher agent with this query 13232 06:23:37,680 --> 06:23:41,040 in order to do all of this searching so 13233 06:23:39,440 --> 06:23:42,558 that you don't blow your own context 13234 06:23:41,040 --> 06:23:43,840 window." All of that's handled over 13235 06:23:42,558 --> 06:23:45,120 there and then you only get the 13236 06:23:43,840 --> 06:23:46,400 information that you need. So, there's a 13237 06:23:45,120 --> 06:23:48,240 lot of advanced things that you can do 13238 06:23:46,400 --> 06:23:49,440 to manage your context. I'm not going to 13239 06:23:48,240 --> 06:23:50,958 dive into all of that right now. We're 13240 06:23:49,440 --> 06:23:52,160 just focusing on skills, but just wanted 13241 06:23:50,958 --> 06:23:54,638 to give you a little taste of what's 13242 06:23:52,160 --> 06:23:56,000 possible in the skill.md files. So, 13243 06:23:54,638 --> 06:23:58,240 another good example of needing a 13244 06:23:56,000 --> 06:24:00,558 reference doc like that is in my skill 13245 06:23:58,240 --> 06:24:02,160 builder skill. I obviously use this when 13246 06:24:00,558 --> 06:24:04,000 I'm creating new skills, optimizing 13247 06:24:02,160 --> 06:24:05,840 skills, auditing skill quality, things 13248 06:24:04,000 --> 06:24:07,840 like that. And a lot of the inspiration 13249 06:24:05,840 --> 06:24:10,638 I got from this was of course straight 13250 06:24:07,840 --> 06:24:12,718 from claude code docs itself about how 13251 06:24:10,638 --> 06:24:14,240 to actually use and build and optimize 13252 06:24:12,718 --> 06:24:16,000 skills. And so, when I was building this 13253 06:24:14,240 --> 06:24:17,680 out, I I was watching the agent, you 13254 06:24:16,000 --> 06:24:19,680 know, run the skill and I realized it's 13255 06:24:17,680 --> 06:24:21,120 searching every single time. It's doing 13256 06:24:19,680 --> 06:24:23,120 a web search and it's crawling the 13257 06:24:21,120 --> 06:24:24,638 entire document, even if I just need a 13258 06:24:23,120 --> 06:24:26,400 little piece of information. So, what I 13259 06:24:24,638 --> 06:24:28,240 decided to do was I told it to basically 13260 06:24:26,400 --> 06:24:30,638 scrape that whole thing and then I gave 13261 06:24:28,240 --> 06:24:32,240 it a reference.md, which is basically 13262 06:24:30,638 --> 06:24:34,080 the documentation. So, I've got my 13263 06:24:32,240 --> 06:24:36,000 skill.md and what it does is it 13264 06:24:34,080 --> 06:24:37,600 references that full file if it needs 13265 06:24:36,000 --> 06:24:39,280 it. But really, the main idea that I'm 13266 06:24:37,600 --> 06:24:41,200 trying to drive home here is that 13267 06:24:39,280 --> 06:24:44,000 processing markdown files for your agent 13268 06:24:41,200 --> 06:24:46,320 is so much quicker and cheaper than 13269 06:24:44,000 --> 06:24:48,080 actually making API calls or HTTP 13270 06:24:46,320 --> 06:24:50,480 requests, you know, executing functions 13271 06:24:48,080 --> 06:24:52,080 and reading tons and tons of tokens. So, 13272 06:24:50,480 --> 06:24:54,160 the goal is your skills will get to a 13273 06:24:52,080 --> 06:24:55,920 place where you can invoke them, focus 13274 06:24:54,160 --> 06:24:57,200 on something else for 10, 15 minutes or 13275 06:24:55,920 --> 06:24:58,558 whatever, and then come back and have a 13276 06:24:57,200 --> 06:25:00,080 finished result that is really, really 13277 06:24:58,558 --> 06:25:02,160 good. But the first couple times that 13278 06:25:00,080 --> 06:25:03,360 you are testing out a skill, I think 13279 06:25:02,160 --> 06:25:04,798 it's a really good idea to just sit 13280 06:25:03,360 --> 06:25:06,320 there and watch it and see what it's 13281 06:25:04,798 --> 06:25:07,680 doing. And a lot of people have asked me 13282 06:25:06,320 --> 06:25:10,080 like when do you know when to build a 13283 06:25:07,680 --> 06:25:12,000 skill? Well, basically just go about 13284 06:25:10,080 --> 06:25:13,520 your work and if you ever realize that 13285 06:25:12,000 --> 06:25:15,680 you've done something already or you've 13286 06:25:13,520 --> 06:25:18,000 instructed something differently, like I 13287 06:25:15,680 --> 06:25:19,440 tell my claude to not use m dashes. 13288 06:25:18,000 --> 06:25:21,120 Okay, well that's probably a good idea 13289 06:25:19,440 --> 06:25:22,718 to put that in the prompt, right? So if 13290 06:25:21,120 --> 06:25:24,480 you ever find yourself doing a process 13291 06:25:22,718 --> 06:25:26,080 or repeating prompts, then that's 13292 06:25:24,480 --> 06:25:27,680 probably a good use case to build a 13293 06:25:26,080 --> 06:25:29,360 skill around it because skills don't 13294 06:25:27,680 --> 06:25:32,000 have to be complex. They could literally 13295 06:25:29,360 --> 06:25:33,840 just be a 50line markdown file. All 13296 06:25:32,000 --> 06:25:35,680 right, so we're about to hop into a live 13297 06:25:33,840 --> 06:25:37,040 build of a skill from scratch. But what 13298 06:25:35,680 --> 06:25:39,280 I wanted to do real quick was go over 13299 06:25:37,040 --> 06:25:40,878 the six-step skill building framework. 13300 06:25:39,280 --> 06:25:42,718 So number one is the name and the 13301 06:25:40,878 --> 06:25:44,798 trigger. What is it called and the 13302 06:25:42,718 --> 06:25:47,200 natural language that would basically 13303 06:25:44,798 --> 06:25:48,878 fire it off? Number two is the goal. So 13304 06:25:47,200 --> 06:25:50,480 in one sentence, what will this skill 13305 06:25:48,878 --> 06:25:52,558 accomplish by the end? What will be the 13306 06:25:50,480 --> 06:25:54,558 output? Number three is the actual meat 13307 06:25:52,558 --> 06:25:56,400 of it. That's the step-by-step process. 13308 06:25:54,558 --> 06:25:58,240 If you had to do something manually, 13309 06:25:56,400 --> 06:25:59,920 exactly what do you do in what order? 13310 06:25:58,240 --> 06:26:01,360 What do you look at? And what decisions 13311 06:25:59,920 --> 06:26:03,040 do you make? Number four is the 13312 06:26:01,360 --> 06:26:04,558 reference files. What context do you 13313 06:26:03,040 --> 06:26:06,400 need? Do you need images? Do you need 13314 06:26:04,558 --> 06:26:07,760 understanding of current projects, 13315 06:26:06,400 --> 06:26:10,080 current priorities? Do you need style 13316 06:26:07,760 --> 06:26:12,000 guides? What do you need to do the job 13317 06:26:10,080 --> 06:26:13,440 well? Number five is the rules. Think 13318 06:26:12,000 --> 06:26:14,958 about what could go wrong and then the 13319 06:26:13,440 --> 06:26:16,400 agent can help you building guardrails 13320 06:26:14,958 --> 06:26:17,840 and constraints around that. And then 13321 06:26:16,400 --> 06:26:19,360 number six is kind of like after you've 13322 06:26:17,840 --> 06:26:21,200 built it, it's just the self-improvement 13323 06:26:19,360 --> 06:26:22,718 loop. And after the live build, I'm 13324 06:26:21,200 --> 06:26:24,558 going to talk about actually testing and 13325 06:26:22,718 --> 06:26:26,080 iterating and what you need to do to 13326 06:26:24,558 --> 06:26:27,680 make them really, really good. But for 13327 06:26:26,080 --> 06:26:29,760 now, that's the sixstep skill building 13328 06:26:27,680 --> 06:26:31,360 framework. Let's hop into a live build. 13329 06:26:29,760 --> 06:26:33,120 Okay, so here we are in Visual Studio 13330 06:26:31,360 --> 06:26:34,638 Code, which is where I like to use Cloud 13331 06:26:33,120 --> 06:26:36,558 Code. If you don't have Visual Studio 13332 06:26:34,638 --> 06:26:38,000 Code, just go ahead to a browser, type 13333 06:26:36,558 --> 06:26:39,360 in VS Code, and then go ahead and 13334 06:26:38,000 --> 06:26:40,638 download this. This is what it will look 13335 06:26:39,360 --> 06:26:42,240 like. If it's your first time using 13336 06:26:40,638 --> 06:26:44,000 Cloud Code in here, you just have to go 13337 06:26:42,240 --> 06:26:45,680 to extensions on this lefth hand side, 13338 06:26:44,000 --> 06:26:48,480 type in Cloud Code, and then install 13339 06:26:45,680 --> 06:26:50,400 this, and then log in with your paid 13340 06:26:48,480 --> 06:26:51,520 Anthropic subscription. Now, after that, 13341 06:26:50,400 --> 06:26:52,718 you're going to click on this top left 13342 06:26:51,520 --> 06:26:54,080 button, and it's going to pull up this 13343 06:26:52,718 --> 06:26:55,680 little thing that says you have not yet 13344 06:26:54,080 --> 06:26:57,840 opened a folder. What you need to do is 13345 06:26:55,680 --> 06:26:58,878 open up a project to work in. So, you 13346 06:26:57,840 --> 06:27:00,478 could either open up one that you're 13347 06:26:58,878 --> 06:27:01,680 already working on or you could go ahead 13348 06:27:00,478 --> 06:27:03,280 and create a new folder and then open 13349 06:27:01,680 --> 06:27:05,120 that one up. For the sake of the demo, I 13350 06:27:03,280 --> 06:27:06,638 just opened up a new blank folder called 13351 06:27:05,120 --> 06:27:08,000 a bunch of skills. And I'm going to show 13352 06:27:06,638 --> 06:27:09,280 you exactly what to do. So, the first 13353 06:27:08,000 --> 06:27:10,958 step is to go to my free school 13354 06:27:09,280 --> 06:27:13,520 community link in the description. Go to 13355 06:27:10,958 --> 06:27:15,600 the agent skills classroom and download 13356 06:27:13,520 --> 06:27:17,280 the skill builder folder. Once you've 13357 06:27:15,600 --> 06:27:18,878 got those files ready to go, first thing 13358 06:27:17,280 --> 06:27:20,798 we want to do is just set up this 13359 06:27:18,878 --> 06:27:24,478 workspace real quick. Initialize this 13360 06:27:20,798 --> 06:27:26,638 project with a simple.cloud/skills 13361 06:27:24,478 --> 06:27:28,638 structure. Cool. So, as you can see, 13362 06:27:26,638 --> 06:27:30,320 that got set up. We have aclaude. We 13363 06:27:28,638 --> 06:27:32,080 have a skills folder. And what I'm going 13364 06:27:30,320 --> 06:27:34,160 to do is in this skill folder, I'm going 13365 06:27:32,080 --> 06:27:36,558 to create a new folder called 13366 06:27:34,160 --> 06:27:38,080 skill-builder 13367 06:27:36,558 --> 06:27:39,280 and hit enter. And then I'm going to 13368 06:27:38,080 --> 06:27:41,280 take those two files for my school 13369 06:27:39,280 --> 06:27:42,798 community, the reference and the 13370 06:27:41,280 --> 06:27:44,958 markdown. And I'm going to put that 13371 06:27:42,798 --> 06:27:47,120 right in here. So now we have this skill 13372 06:27:44,958 --> 06:27:49,040 builder set up with the reference file 13373 06:27:47,120 --> 06:27:50,478 and the actual skill markdown. I'm 13374 06:27:49,040 --> 06:27:52,160 asking it if it can see that new skill 13375 06:27:50,478 --> 06:27:53,360 that I just added. It says yes, I can 13376 06:27:52,160 --> 06:27:55,040 see it. And I'm basically just going to 13377 06:27:53,360 --> 06:27:56,400 say, cool. Let's run that skill to build 13378 06:27:55,040 --> 06:27:58,400 a new one together. So now you can see 13379 06:27:56,400 --> 06:28:00,080 what it did is it basically is reading 13380 06:27:58,400 --> 06:28:02,558 the skill right now. This is the 13381 06:28:00,080 --> 06:28:04,080 instructions that we saw right in here. 13382 06:28:02,558 --> 06:28:06,000 As you guys know, since that's how 13383 06:28:04,080 --> 06:28:07,360 skills work, it starts to read this. So 13384 06:28:06,000 --> 06:28:09,280 here we go. I built this skill to 13385 06:28:07,360 --> 06:28:10,638 actually ask you questions so that it's 13386 06:28:09,280 --> 06:28:12,160 way easier for you to communicate what 13387 06:28:10,638 --> 06:28:13,840 you want. So the first thing is what 13388 06:28:12,160 --> 06:28:15,280 problem are you trying to solve? What we 13389 06:28:13,840 --> 06:28:16,638 want to do is content creation because 13390 06:28:15,280 --> 06:28:19,120 in this skill, what I want to do is 13391 06:28:16,638 --> 06:28:20,878 building branded infographics. What kind 13392 06:28:19,120 --> 06:28:22,558 of content does the skill create? What's 13393 06:28:20,878 --> 06:28:23,600 the specific use case or workflow? And 13394 06:28:22,558 --> 06:28:24,878 I'm actually just going to choose other 13395 06:28:23,600 --> 06:28:26,798 for this. And I'm going to say 13396 06:28:24,878 --> 06:28:28,400 educational infographics. Now it's 13397 06:28:26,798 --> 06:28:29,760 asking how we should trigger this skill. 13398 06:28:28,400 --> 06:28:31,280 So does it want to be natural language 13399 06:28:29,760 --> 06:28:32,878 or do we want to just use slash 13400 06:28:31,280 --> 06:28:34,798 commands? And I'm just going to say both 13401 06:28:32,878 --> 06:28:36,320 is fine. And now we're moving on to the 13402 06:28:34,798 --> 06:28:37,920 step-by-step process, which is really 13403 06:28:36,320 --> 06:28:39,360 important because at this point we 13404 06:28:37,920 --> 06:28:41,040 haven't told it what text stack we 13405 06:28:39,360 --> 06:28:42,638 actually want to use or anything else 13406 06:28:41,040 --> 06:28:44,000 about our business. So walk me through 13407 06:28:42,638 --> 06:28:45,680 what should happen from trigger to 13408 06:28:44,000 --> 06:28:47,120 output. And it has some good guesses. 13409 06:28:45,680 --> 06:28:48,798 But what I'm going to do is do other and 13410 06:28:47,120 --> 06:28:50,558 explain this the way that I want it 13411 06:28:48,798 --> 06:28:53,920 built. I will tell you what I want an 13412 06:28:50,558 --> 06:28:56,638 infographic about. You will create a 13413 06:28:53,920 --> 06:28:59,200 concept. You will make a request to 13414 06:28:56,638 --> 06:29:01,600 key.ai to use nanobanana to generate the 13415 06:28:59,200 --> 06:29:03,520 outline or sorry to generate the image. 13416 06:29:01,600 --> 06:29:04,878 And you will also look at the brand 13417 06:29:03,520 --> 06:29:07,440 guidelines that I give you so that 13418 06:29:04,878 --> 06:29:09,920 everything that is created follows my 13419 06:29:07,440 --> 06:29:11,600 brand colors and typography and stuff 13420 06:29:09,920 --> 06:29:13,360 like that. The output format that I 13421 06:29:11,600 --> 06:29:14,718 actually want is a PNG, not any of this 13422 06:29:13,360 --> 06:29:16,638 stuff. Does this need to be 13423 06:29:14,718 --> 06:29:18,240 conversational or fire and forget? I'm 13424 06:29:16,638 --> 06:29:19,520 just going to go fire and forget. All 13425 06:29:18,240 --> 06:29:21,520 right. All right. So, how does the key 13426 06:29:19,520 --> 06:29:22,878 AI nanobanana integration work? Is it an 13427 06:29:21,520 --> 06:29:24,878 API call? Yep, we're just going to go 13428 06:29:22,878 --> 06:29:26,160 with an API call. And in these options, 13429 06:29:24,878 --> 06:29:27,520 you could literally say, I don't know. 13430 06:29:26,160 --> 06:29:28,958 Let's try different things. You know, 13431 06:29:27,520 --> 06:29:30,400 help me figure out what's best. It's 13432 06:29:28,958 --> 06:29:32,080 asking where those brand assets live, so 13433 06:29:30,400 --> 06:29:34,080 I'll put them in a folder. And where 13434 06:29:32,080 --> 06:29:35,360 should the generated PNG infographic be 13435 06:29:34,080 --> 06:29:36,958 saved? Yeah, sure. Let's start a new 13436 06:29:35,360 --> 06:29:38,320 folder called projects, and we'll throw 13437 06:29:36,958 --> 06:29:40,958 all of them there. So, it's going to 13438 06:29:38,320 --> 06:29:42,478 keep our project organized as well. So, 13439 06:29:40,958 --> 06:29:44,558 now it's asking about brand guidelines. 13440 06:29:42,478 --> 06:29:46,558 I created this folder, and I put in our 13441 06:29:44,558 --> 06:29:49,280 kind of color scheme as well as the 13442 06:29:46,558 --> 06:29:52,160 actual AIS logo. I have put in both our 13443 06:29:49,280 --> 06:29:53,680 AIS brand guidelines and the AIS logo. I 13444 06:29:52,160 --> 06:29:55,360 want to make sure that in the top left 13445 06:29:53,680 --> 06:29:57,600 corner of every single infographic 13446 06:29:55,360 --> 06:29:59,440 that's created, the AIS logo appears 13447 06:29:57,600 --> 06:30:00,478 exactly as I've given you. But I think 13448 06:29:59,440 --> 06:30:01,680 you guys get the point here. I'm going 13449 06:30:00,478 --> 06:30:03,520 to answer a few more questions and then 13450 06:30:01,680 --> 06:30:05,280 I'll just show you when we have a 13451 06:30:03,520 --> 06:30:06,878 result. And now that we've done that, 13452 06:30:05,280 --> 06:30:08,240 what you can see is it is going to 13453 06:30:06,878 --> 06:30:10,160 create the skill. It's going to create 13454 06:30:08,240 --> 06:30:12,000 the logo overlay. It's going to create a 13455 06:30:10,160 --> 06:30:13,520 supporting reference markdown file for 13456 06:30:12,000 --> 06:30:15,360 all of the API details that it's going 13457 06:30:13,520 --> 06:30:17,760 to need. So that's great. It's going to 13458 06:30:15,360 --> 06:30:19,680 register the skill in claw.md and it's 13459 06:30:17,760 --> 06:30:21,520 going to log its decisions. All right, 13460 06:30:19,680 --> 06:30:23,120 so it fully built the skill. It created 13461 06:30:21,520 --> 06:30:26,080 all those files for us. We just have to 13462 06:30:23,120 --> 06:30:28,478 give it a key API key so it can actually 13463 06:30:26,080 --> 06:30:29,680 run this. Okay, so I threw in my API key 13464 06:30:28,478 --> 06:30:31,600 and then I said test it out with an 13465 06:30:29,680 --> 06:30:33,680 infographic about cloud skills. That's 13466 06:30:31,600 --> 06:30:35,440 it. No other context. It invoked the 13467 06:30:33,680 --> 06:30:37,280 skill right here and we will see what 13468 06:30:35,440 --> 06:30:38,958 happens. Okay, this is really 13469 06:30:37,280 --> 06:30:40,638 interesting. So what it's doing is it is 13470 06:30:38,958 --> 06:30:42,160 generating the image and then it's just 13471 06:30:40,638 --> 06:30:43,440 going to overlay the logo. So, it's 13472 06:30:42,160 --> 06:30:45,840 gonna be a lot more consistent than 13473 06:30:43,440 --> 06:30:48,000 giving the AI image generator nano 13474 06:30:45,840 --> 06:30:49,760 banana my logo. So, I didn't even tell 13475 06:30:48,000 --> 06:30:51,680 it to do that. Let's see how it looks. 13476 06:30:49,760 --> 06:30:53,040 Okay. Well, I don't love this. We're 13477 06:30:51,680 --> 06:30:55,040 just going to go back and ask it to 13478 06:30:53,040 --> 06:30:57,040 change some things. The logo on the top 13479 06:30:55,040 --> 06:30:58,798 left doesn't look great. I gave you a 13480 06:30:57,040 --> 06:31:00,958 logo with a transparent background, so 13481 06:30:58,798 --> 06:31:02,240 it should just be overlaid on top and we 13482 06:31:00,958 --> 06:31:04,240 should be able to see the background 13483 06:31:02,240 --> 06:31:06,240 behind it. The actual infographic itself 13484 06:31:04,240 --> 06:31:09,680 is all right, but I actually want these 13485 06:31:06,240 --> 06:31:11,440 to always be one by one aspect ratio. 13486 06:31:09,680 --> 06:31:12,638 Okay, so I made some suggestions and 13487 06:31:11,440 --> 06:31:14,240 it's going to try again and it's going 13488 06:31:12,638 --> 06:31:15,680 to update its skill. So we'll see if 13489 06:31:14,240 --> 06:31:17,120 that's better. All right, so second time 13490 06:31:15,680 --> 06:31:18,478 we run the skill. Let's see if it's any 13491 06:31:17,120 --> 06:31:20,160 better. All right, there we go. We've 13492 06:31:18,478 --> 06:31:22,320 got the logo up top. We've got cloud 13493 06:31:20,160 --> 06:31:24,958 code skills, custom AI workflow, command 13494 06:31:22,320 --> 06:31:26,878 prompt, trigger, front matter, config 13495 06:31:24,958 --> 06:31:28,798 triggers, AI agent delegation, document 13496 06:31:26,878 --> 06:31:30,638 output. So just keep in mind all we said 13497 06:31:28,798 --> 06:31:32,718 was build an infographic about cloud 13498 06:31:30,638 --> 06:31:34,798 skills. And this was run number two. 13499 06:31:32,718 --> 06:31:36,400 Every single time that we do this cycle, 13500 06:31:34,798 --> 06:31:38,080 remember we talked about the feedback. 13501 06:31:36,400 --> 06:31:40,000 We would basically watch it again, give 13502 06:31:38,080 --> 06:31:41,680 more feedback, and then keep going. And 13503 06:31:40,000 --> 06:31:43,440 after we run this probably five or six 13504 06:31:41,680 --> 06:31:44,958 more times, this would be really, really 13505 06:31:43,440 --> 06:31:46,160 good. And then every time I ask for an 13506 06:31:44,958 --> 06:31:47,440 infographic, it's going to be 13507 06:31:46,160 --> 06:31:49,040 consistent. And just to show you guys 13508 06:31:47,440 --> 06:31:51,280 what was actually built, if we open up 13509 06:31:49,040 --> 06:31:53,840 the infographic builder skill, we have 13510 06:31:51,280 --> 06:31:55,520 the actual skill itself. So we have the 13511 06:31:53,840 --> 06:31:57,040 front matter right here, the name, the 13512 06:31:55,520 --> 06:31:59,040 description, we've got what the skill 13513 06:31:57,040 --> 06:32:01,040 does, we've got context, so here's where 13514 06:31:59,040 --> 06:32:02,798 it links to the actual brand guidelines 13515 06:32:01,040 --> 06:32:04,400 and logos. We've got the step-by-step 13516 06:32:02,798 --> 06:32:06,320 workflow right here. And we can see 13517 06:32:04,400 --> 06:32:08,478 right here for full API reference and 13518 06:32:06,320 --> 06:32:09,680 parameters just see the markdown file so 13519 06:32:08,478 --> 06:32:11,200 that you don't have to actually go 13520 06:32:09,680 --> 06:32:12,718 search the web and search through a 13521 06:32:11,200 --> 06:32:14,320 bunch of tokens. You can just read this 13522 06:32:12,718 --> 06:32:15,520 markdown file. All right. So we've 13523 06:32:14,320 --> 06:32:17,680 talked about a lot of stuff about skills 13524 06:32:15,520 --> 06:32:19,360 today and we just built one live. So 13525 06:32:17,680 --> 06:32:20,718 what I want to talk about now is really 13526 06:32:19,360 --> 06:32:23,600 how do you bridge the gap from like a 13527 06:32:20,718 --> 06:32:26,080 90% good skill to making it pretty much 13528 06:32:23,600 --> 06:32:27,520 100%. So testing, iterating, and 13529 06:32:26,080 --> 06:32:28,798 debugging. There's different symptoms 13530 06:32:27,520 --> 06:32:30,160 and there's different fixes. So let's 13531 06:32:28,798 --> 06:32:32,400 just kind of go down this list one by 13532 06:32:30,160 --> 06:32:33,920 one. The first symptom might be it does 13533 06:32:32,400 --> 06:32:35,280 the wrong steps or in the wrong order. 13534 06:32:33,920 --> 06:32:37,680 Well, you would just tell it to edit the 13535 06:32:35,280 --> 06:32:39,760 skill.md instructions. You could get 13536 06:32:37,680 --> 06:32:41,280 missing tone, style, or context. In that 13537 06:32:39,760 --> 06:32:43,440 case, you're going to add reference 13538 06:32:41,280 --> 06:32:45,520 files. And of course, those have to be 13539 06:32:43,440 --> 06:32:46,878 pointed to correctly in the skill.md. 13540 06:32:45,520 --> 06:32:48,320 You could get the same mistake happening 13541 06:32:46,878 --> 06:32:50,160 over and over, then you're going to add 13542 06:32:48,320 --> 06:32:51,840 a rule. If it struggles with a tool or 13543 06:32:50,160 --> 06:32:53,440 an MCP or it keeps searching for the 13544 06:32:51,840 --> 06:32:55,360 same things, then create some sort of 13545 06:32:53,440 --> 06:32:57,040 reference dock for it. If it works good, 13546 06:32:55,360 --> 06:32:58,718 but it could get better, then that just 13547 06:32:57,040 --> 06:33:00,080 means you have to brute force it. you 13548 06:32:58,718 --> 06:33:02,160 have to just run it over and over and 13549 06:33:00,080 --> 06:33:03,760 over and keep nitpicking at what it does 13550 06:33:02,160 --> 06:33:05,280 wrong or maybe not wrong but what it 13551 06:33:03,760 --> 06:33:06,718 could improve on. If the skill isn't 13552 06:33:05,280 --> 06:33:08,718 triggering, then check the YAML and make 13553 06:33:06,718 --> 06:33:10,478 sure it is specific enough. If the skill 13554 06:33:08,718 --> 06:33:12,798 triggers too often, then maybe try 13555 06:33:10,478 --> 06:33:14,000 disabling model invocation and that is 13556 06:33:12,798 --> 06:33:15,440 something that you can see in the claw 13557 06:33:14,000 --> 06:33:17,360 docs, which basically gives you control 13558 06:33:15,440 --> 06:33:18,958 over if the skill can only be invoked by 13559 06:33:17,360 --> 06:33:21,360 natural language or only be invoked by 13560 06:33:18,958 --> 06:33:22,400 the slash command directly or both. So, 13561 06:33:21,360 --> 06:33:23,440 like I said, if you want to look at some 13562 06:33:22,400 --> 06:33:25,760 more advanced stuff, then definitely 13563 06:33:23,440 --> 06:33:26,878 head over here to the actual doc. But at 13564 06:33:25,760 --> 06:33:28,400 this point, we've covered almost 13565 06:33:26,878 --> 06:33:30,000 everything about these skills. One thing 13566 06:33:28,400 --> 06:33:31,440 that I would call your attention to is 13567 06:33:30,000 --> 06:33:32,878 the actual front matter reference 13568 06:33:31,440 --> 06:33:34,160 because we saw the name and the 13569 06:33:32,878 --> 06:33:35,680 description which is what's required 13570 06:33:34,160 --> 06:33:37,360 every time. But there's lots of other 13571 06:33:35,680 --> 06:33:39,200 things that you can add in there. Here 13572 06:33:37,360 --> 06:33:41,040 is the disable model invocation like we 13573 06:33:39,200 --> 06:33:42,798 just saw. But you can also give it 13574 06:33:41,040 --> 06:33:44,958 allowed tools. You can also give it an 13575 06:33:42,798 --> 06:33:46,638 argument hint. You can give it a 13576 06:33:44,958 --> 06:33:48,240 specific model to use. You can give it 13577 06:33:46,638 --> 06:33:50,080 specific context. You can give it hooks. 13578 06:33:48,240 --> 06:33:51,760 You can give it a specific agent. And so 13579 06:33:50,080 --> 06:33:53,760 all of this lets you get really really 13580 06:33:51,760 --> 06:33:55,040 granular on the exact skill and how you 13581 06:33:53,760 --> 06:33:56,558 want it to be used. But don't get 13582 06:33:55,040 --> 06:33:58,558 overwhelmed. You really only get to that 13583 06:33:56,558 --> 06:33:59,920 point once you've ran the skill a ton of 13584 06:33:58,558 --> 06:34:01,840 times. Now, another thing that I need to 13585 06:33:59,920 --> 06:34:03,680 hit on real quick is where do skills 13586 06:34:01,840 --> 06:34:05,040 actually live because what we've seen so 13587 06:34:03,680 --> 06:34:07,520 far is just building them right in 13588 06:34:05,040 --> 06:34:09,680 ourcloud/skills folder. But when you're 13589 06:34:07,520 --> 06:34:11,760 doing this, they only exist in that 13590 06:34:09,680 --> 06:34:13,600 specific project. So whether that's my 13591 06:34:11,760 --> 06:34:15,040 her two or my, you know, the one we just 13592 06:34:13,600 --> 06:34:17,040 spun up, if I went to a different 13593 06:34:15,040 --> 06:34:19,520 folder, that skill would no longer be 13594 06:34:17,040 --> 06:34:20,958 able to be accessed by our cloud code. 13595 06:34:19,520 --> 06:34:22,958 But you can also create skills that are 13596 06:34:20,958 --> 06:34:24,878 actually global. And you do that by 13597 06:34:22,958 --> 06:34:26,958 doing that in a different directory in 13598 06:34:24,878 --> 06:34:28,400 your kind of overall home directory. And 13599 06:34:26,958 --> 06:34:30,080 that's basically indicated by the little 13600 06:34:28,400 --> 06:34:31,600 tilda right here. And so that means 13601 06:34:30,080 --> 06:34:33,440 every project you use in cloud code, no 13602 06:34:31,600 --> 06:34:35,520 matter where you are, that skill would 13603 06:34:33,440 --> 06:34:37,600 exist. So for example, I have a 13604 06:34:35,520 --> 06:34:39,760 front-end design skill that is installed 13605 06:34:37,600 --> 06:34:41,520 globally. So that whenever I'm anywhere, 13606 06:34:39,760 --> 06:34:43,280 if I need to do front-end design, it 13607 06:34:41,520 --> 06:34:44,478 just is able to use it. And just in case 13608 06:34:43,280 --> 06:34:46,478 you want to look at it in a different 13609 06:34:44,478 --> 06:34:49,120 way, right now what we're doing is we 13610 06:34:46,478 --> 06:34:51,600 have our projects, right? So, herk 2 and 13611 06:34:49,120 --> 06:34:53,520 then we have doclaude and then within 13612 06:34:51,600 --> 06:34:55,440 dotcloud we have skills and then your 13613 06:34:53,520 --> 06:34:56,958 skill and then your MD your references 13614 06:34:55,440 --> 06:34:58,240 whatever and then maybe another skill. 13615 06:34:56,958 --> 06:35:00,160 But if it was global you might not 13616 06:34:58,240 --> 06:35:02,080 actually see it in your project. It 13617 06:35:00,160 --> 06:35:03,680 would just be within your overall home 13618 06:35:02,080 --> 06:35:04,958 directory. So the reason why you might 13619 06:35:03,680 --> 06:35:06,958 want to do this is if there's something 13620 06:35:04,958 --> 06:35:08,798 very specific about you, your business, 13621 06:35:06,958 --> 06:35:10,320 your workflows that you want applied to 13622 06:35:08,798 --> 06:35:12,000 every single project no matter what. 13623 06:35:10,320 --> 06:35:13,840 Maybe your company context, your company 13624 06:35:12,000 --> 06:35:15,200 projects, your tone of voice, whatever, 13625 06:35:13,840 --> 06:35:17,360 then you can install that globally 13626 06:35:15,200 --> 06:35:18,320 instead. If you guys love nerding out 13627 06:35:17,360 --> 06:35:19,680 about this kind of stuff, then 13628 06:35:18,320 --> 06:35:21,040 definitely check out my paid community. 13629 06:35:19,680 --> 06:35:22,240 The link for that is also down in the 13630 06:35:21,040 --> 06:35:23,920 description. We've got a great 13631 06:35:22,240 --> 06:35:25,680 community, over 3,000 members in here 13632 06:35:23,920 --> 06:35:27,360 who are building with AI every day and 13633 06:35:25,680 --> 06:35:31,400 building businesses with AI. So, I'd 13634 06:35:27,360 --> 06:35:31,400 love to see you guys in this community. 13635 06:35:31,520 --> 06:35:35,120 Cloud skills just got 10 times easier to 13636 06:35:33,360 --> 06:35:36,080 build and stronger to use. So, in 13637 06:35:35,120 --> 06:35:37,680 today's video, I'm going to explain 13638 06:35:36,080 --> 06:35:39,520 exactly why that is, and then I'm going 13639 06:35:37,680 --> 06:35:40,878 to live build a completely new skill 13640 06:35:39,520 --> 06:35:42,558 right here in front of you guys. So, 13641 06:35:40,878 --> 06:35:44,240 real quick, what is a skill? It's 13642 06:35:42,558 --> 06:35:45,520 basically just a recipe. So that when 13643 06:35:44,240 --> 06:35:47,200 you ask your agent to make you, for 13644 06:35:45,520 --> 06:35:48,718 example, a LinkedIn post, it will read 13645 06:35:47,200 --> 06:35:50,080 the recipe and it will get it right 13646 06:35:48,718 --> 06:35:52,080 every single time. And when I say 13647 06:35:50,080 --> 06:35:53,680 recipes, I literally just mean text. 13648 06:35:52,080 --> 06:35:55,440 It's just text instructions. It's like a 13649 06:35:53,680 --> 06:35:57,360 prompt. So if I go to customize and I go 13650 06:35:55,440 --> 06:35:59,520 to skills and I click on, let's say, for 13651 06:35:57,360 --> 06:36:01,200 example, the internal comm skill, this 13652 06:35:59,520 --> 06:36:02,878 says a set of resources to help me write 13653 06:36:01,200 --> 06:36:04,558 all kinds of internal communication 13654 06:36:02,878 --> 06:36:06,160 using the format that my company likes 13655 06:36:04,558 --> 06:36:08,400 to use. And you can see this is the 13656 06:36:06,160 --> 06:36:10,240 skill itself. It is literally just text 13657 06:36:08,400 --> 06:36:11,760 that you could read, that an intern 13658 06:36:10,240 --> 06:36:13,360 could read, anybody could read and 13659 06:36:11,760 --> 06:36:14,798 understand what's going on in the skill. 13660 06:36:13,360 --> 06:36:16,080 And if you're using them in cloud code, 13661 06:36:14,798 --> 06:36:18,160 you can see I've got a ton of skills 13662 06:36:16,080 --> 06:36:20,000 here. So, for example, let's look at my 13663 06:36:18,160 --> 06:36:21,680 um idea mining skill. This is the 13664 06:36:20,000 --> 06:36:23,600 markdown file that explains to the agent 13665 06:36:21,680 --> 06:36:25,680 what this skill actually does. And once 13666 06:36:23,600 --> 06:36:27,440 again, it's all just text. So, what did 13667 06:36:25,680 --> 06:36:29,840 Enthropic actually do that made all 13668 06:36:27,440 --> 06:36:31,760 these skills better? they updated their 13669 06:36:29,840 --> 06:36:34,240 skill creator skill which is literally a 13670 06:36:31,760 --> 06:36:36,718 skill that teaches Claude how to build, 13671 06:36:34,240 --> 06:36:38,400 test, measure, refine, just make all the 13672 06:36:36,718 --> 06:36:39,920 skills better and better and better. So, 13673 06:36:38,400 --> 06:36:41,600 let's actually cover why that matters 13674 06:36:39,920 --> 06:36:42,878 and what happened. So, the first thing I 13675 06:36:41,600 --> 06:36:44,638 need you to understand is that there are 13676 06:36:42,878 --> 06:36:47,040 two different types of skills. We have a 13677 06:36:44,638 --> 06:36:49,520 capability uplift skill, which basically 13678 06:36:47,040 --> 06:36:51,280 is a prompt. So, it teaches Claude how 13679 06:36:49,520 --> 06:36:52,718 to do something better. for example, 13680 06:36:51,280 --> 06:36:55,040 design websites with the front-end 13681 06:36:52,718 --> 06:36:57,120 design skill or create documents or run 13682 06:36:55,040 --> 06:36:59,040 Excel formulas. Things that maybe the 13683 06:36:57,120 --> 06:37:01,520 default model by itself doesn't know 13684 06:36:59,040 --> 06:37:03,440 super well, but with a prompt, it does a 13685 06:37:01,520 --> 06:37:05,360 much better job. And then we also have 13686 06:37:03,440 --> 06:37:07,040 encoded preference skills, which means 13687 06:37:05,360 --> 06:37:09,120 that Claude already understands each of 13688 06:37:07,040 --> 06:37:11,040 these pieces, but it needs to follow 13689 06:37:09,120 --> 06:37:12,958 them in a specific order. So these are 13690 06:37:11,040 --> 06:37:14,478 way more like actual workflows, like 13691 06:37:12,958 --> 06:37:16,798 actual kind of like step-by-step 13692 06:37:14,478 --> 06:37:18,638 automations. So, quick example. If you 13693 06:37:16,798 --> 06:37:20,320 ask Claude without a front-end design 13694 06:37:18,638 --> 06:37:21,920 skill to build you a website, it could 13695 06:37:20,320 --> 06:37:24,000 do it, but it might just look very 13696 06:37:21,920 --> 06:37:25,360 generic. It might look AI slop as they 13697 06:37:24,000 --> 06:37:27,120 call it. But if you give it the exact 13698 06:37:25,360 --> 06:37:29,200 same prompt, but this time you also let 13699 06:37:27,120 --> 06:37:30,558 it use the front-end design skill, it's 13700 06:37:29,200 --> 06:37:32,558 going to look much better because that 13701 06:37:30,558 --> 06:37:34,080 skill tells it stuff like good fonts, 13702 06:37:32,558 --> 06:37:36,320 good color schemes, you know, good 13703 06:37:34,080 --> 06:37:38,320 background elements, good layouts. And 13704 06:37:36,320 --> 06:37:39,760 that is a classic capability uplift 13705 06:37:38,320 --> 06:37:41,200 skill. Now, here's an example of an 13706 06:37:39,760 --> 06:37:42,958 encoded preference skill, which is the 13707 06:37:41,200 --> 06:37:45,120 one we just saw in My Cloud Code, which 13708 06:37:42,958 --> 06:37:46,478 I call idea mining. And this skill is a 13709 06:37:45,120 --> 06:37:48,000 little bit more sequential and there's 13710 06:37:46,478 --> 06:37:49,360 different steps involved. So, first it 13711 06:37:48,000 --> 06:37:50,878 will look at my YouTube comments. It 13712 06:37:49,360 --> 06:37:53,040 will look at, you know, some videos in 13713 06:37:50,878 --> 06:37:55,840 my niche. It will also look at AI trends 13714 06:37:53,040 --> 06:37:57,040 on X and the web. It will then spin up 13715 06:37:55,840 --> 06:37:58,718 two different agents. So, a YouTube 13716 06:37:57,040 --> 06:38:00,400 agent that analyzes this stuff and a 13717 06:37:58,718 --> 06:38:02,000 research agent that analyzes this stuff. 13718 06:38:00,400 --> 06:38:03,520 And these run in parallel. And then they 13719 06:38:02,000 --> 06:38:05,120 both send their output back to the main 13720 06:38:03,520 --> 06:38:06,878 agent, which will score and cross 13721 06:38:05,120 --> 06:38:08,638 reference. And then the main agent turns 13722 06:38:06,878 --> 06:38:10,240 all that information into some video 13723 06:38:08,638 --> 06:38:12,000 ideas for me, which is why I call it 13724 06:38:10,240 --> 06:38:14,240 idea mining. So, what I could do is I 13725 06:38:12,000 --> 06:38:15,920 could say, "Hey, Mr. AI agent, go look 13726 06:38:14,240 --> 06:38:17,680 at my comments, go look at YouTube, go 13727 06:38:15,920 --> 06:38:19,360 look at X, you know, analyze that and 13728 06:38:17,680 --> 06:38:20,798 help me find some video ideas and every 13729 06:38:19,360 --> 06:38:22,240 time it would give me different answers 13730 06:38:20,798 --> 06:38:24,080 and every time it would sort of do it 13731 06:38:22,240 --> 06:38:25,440 differently or I can just say, "Hey, do 13732 06:38:24,080 --> 06:38:27,280 some idea mining." And it will just call 13733 06:38:25,440 --> 06:38:28,958 the skill and every time I get an output 13734 06:38:27,280 --> 06:38:30,240 that I like. And the reason why this is 13735 06:38:28,958 --> 06:38:33,040 actually important to understand is 13736 06:38:30,240 --> 06:38:35,440 because capability uplift skills might 13737 06:38:33,040 --> 06:38:37,760 fade over time because for example with 13738 06:38:35,440 --> 06:38:40,400 the front-end design skill, right now 13739 06:38:37,760 --> 06:38:43,280 we're with Opus 4.6, right? What if Opus 13740 06:38:40,400 --> 06:38:45,840 5 drops and default Opus 5 is better at 13741 06:38:43,280 --> 06:38:47,280 front-end design than Opus 5 with a 13742 06:38:45,840 --> 06:38:48,478 front-end skill? So, at that point, you 13743 06:38:47,280 --> 06:38:49,920 might just need to retire that skill 13744 06:38:48,478 --> 06:38:51,360 completely. But with an encoded 13745 06:38:49,920 --> 06:38:53,360 preference skill, these will probably 13746 06:38:51,360 --> 06:38:55,360 stay pretty durable and accurate because 13747 06:38:53,360 --> 06:38:58,000 the process is very specific usually to 13748 06:38:55,360 --> 06:39:00,000 you, which Opus 5 won't be trained on 13749 06:38:58,000 --> 06:39:02,240 most likely. Okay, so those are the two 13750 06:39:00,000 --> 06:39:04,160 kind of different types of skills. Now, 13751 06:39:02,240 --> 06:39:05,920 we can actually evaluate them. So, with 13752 06:39:04,160 --> 06:39:07,600 this new skill creator skill, which is 13753 06:39:05,920 --> 06:39:09,040 an official anthropic skill, this is the 13754 06:39:07,600 --> 06:39:10,638 one we're talking about. It's in the 13755 06:39:09,040 --> 06:39:12,320 repo right here. And if I open up the 13756 06:39:10,638 --> 06:39:14,160 actual skill MD, you can see this is 13757 06:39:12,320 --> 06:39:15,920 what it does. It creates new skills. It 13758 06:39:14,160 --> 06:39:18,160 can modify and improve existing skills. 13759 06:39:15,920 --> 06:39:19,200 It can measure skill performance. So use 13760 06:39:18,160 --> 06:39:20,638 this when you want to create a skill 13761 06:39:19,200 --> 06:39:22,320 from scratch, if you want to update or 13762 06:39:20,638 --> 06:39:23,600 optimize one. If you want to run evals 13763 06:39:22,320 --> 06:39:25,440 to test a skill, if you want to do 13764 06:39:23,600 --> 06:39:27,120 benchmarks, or if you want to optimize a 13765 06:39:25,440 --> 06:39:28,240 skills description for better trigger 13766 06:39:27,120 --> 06:39:29,680 accuracy. So I'm going to talk about 13767 06:39:28,240 --> 06:39:31,200 what each of these little elements mean, 13768 06:39:29,680 --> 06:39:33,200 but I just wanted to show you that this 13769 06:39:31,200 --> 06:39:35,280 is the actual skill creator skill. It's 13770 06:39:33,200 --> 06:39:38,478 basically just all of Enthropic's best 13771 06:39:35,280 --> 06:39:40,000 practices on how to build better skills. 13772 06:39:38,478 --> 06:39:42,478 They've done things before like dropped 13773 06:39:40,000 --> 06:39:44,400 a 33page PDF which walks you through 13774 06:39:42,478 --> 06:39:46,080 fundamentals, planning and design, 13775 06:39:44,400 --> 06:39:47,280 testing and iteration, distribution and 13776 06:39:46,080 --> 06:39:48,638 sharing, all this kind of stuff, 13777 06:39:47,280 --> 06:39:50,160 patterns and troubleshooting. This is 13778 06:39:48,638 --> 06:39:52,160 pretty thorough. So you could either 13779 06:39:50,160 --> 06:39:53,920 take time and learn this or you could 13780 06:39:52,160 --> 06:39:55,360 just give your agent the skill creator 13781 06:39:53,920 --> 06:39:57,280 skill and all that information is 13782 06:39:55,360 --> 06:40:00,000 already in there. So what the eval do is 13783 06:39:57,280 --> 06:40:01,680 it lets your agent actually evaluate the 13784 06:40:00,000 --> 06:40:03,200 quality of your skill and then make 13785 06:40:01,680 --> 06:40:05,280 improvements. So, let's say you have a 13786 06:40:03,200 --> 06:40:07,120 skill for creating job descriptions. 13787 06:40:05,280 --> 06:40:08,718 What you could do is give your agent 13788 06:40:07,120 --> 06:40:10,638 tons of examples of really good job 13789 06:40:08,718 --> 06:40:12,000 descriptions that you want. And then it 13790 06:40:10,638 --> 06:40:13,280 will look at your skill. It will test 13791 06:40:12,000 --> 06:40:14,718 out some prompts and it will compare it 13792 06:40:13,280 --> 06:40:16,478 to the outputs and it will be able to 13793 06:40:14,718 --> 06:40:17,920 optimize your skill for you. As we've 13794 06:40:16,478 --> 06:40:19,200 talked about in the past, the more you 13795 06:40:17,920 --> 06:40:20,400 use a skill, the better and better 13796 06:40:19,200 --> 06:40:21,920 because you're able to give feedback on 13797 06:40:20,400 --> 06:40:23,680 what you like and what you don't. So, 13798 06:40:21,920 --> 06:40:25,200 this basically shortcuts that process. 13799 06:40:23,680 --> 06:40:27,360 Here's a quick example that Enthropic 13800 06:40:25,200 --> 06:40:29,040 actually ran with this eval. The skill 13801 06:40:27,360 --> 06:40:30,878 for filling out some PDF stuff was 13802 06:40:29,040 --> 06:40:32,638 having trouble finding the right spot to 13803 06:40:30,878 --> 06:40:34,080 put the text. But then after they ran 13804 06:40:32,638 --> 06:40:35,600 the evaluation on the skill and it was 13805 06:40:34,080 --> 06:40:37,440 able to improve, now you can see all the 13806 06:40:35,600 --> 06:40:39,920 text is accurately being placed whether 13807 06:40:37,440 --> 06:40:41,520 that is a checkbox or just a fill in 13808 06:40:39,920 --> 06:40:43,440 some sort of field. So there's two 13809 06:40:41,520 --> 06:40:45,040 reasons that we need to use evals and 13810 06:40:43,440 --> 06:40:46,878 they sound kind of similar but they're 13811 06:40:45,040 --> 06:40:48,718 basically the opposite. So the first one 13812 06:40:46,878 --> 06:40:50,558 is to catch regressions. So this means 13813 06:40:48,718 --> 06:40:53,600 let's say we have a job description 13814 06:40:50,558 --> 06:40:55,680 skill. As a model evolves it might 13815 06:40:53,600 --> 06:40:57,040 actually use the skill worse because 13816 06:40:55,680 --> 06:40:58,400 it's trained a little different and it 13817 06:40:57,040 --> 06:40:59,760 you know thinks a little different. So 13818 06:40:58,400 --> 06:41:02,320 this would basically be an early signal 13819 06:40:59,760 --> 06:41:03,680 that you need to evolve your skill. And 13820 06:41:02,320 --> 06:41:06,000 then the second one is to spot out 13821 06:41:03,680 --> 06:41:08,160 growth. So once again, as models improve 13822 06:41:06,000 --> 06:41:10,320 or evolve, it might be able to just do a 13823 06:41:08,160 --> 06:41:11,520 better job without a skill at all. And 13824 06:41:10,320 --> 06:41:13,280 that's when you would be able to run the 13825 06:41:11,520 --> 06:41:14,558 evaluation, say, okay, wow, without a 13826 06:41:13,280 --> 06:41:15,760 skill, it's actually better. And I'm 13827 06:41:14,558 --> 06:41:17,440 just going to go ahead and delete this 13828 06:41:15,760 --> 06:41:19,920 or maybe just archive it. And then we 13829 06:41:17,440 --> 06:41:21,440 can also run benchmarks. So when a model 13830 06:41:19,920 --> 06:41:23,360 updates or when you make an iteration 13831 06:41:21,440 --> 06:41:25,360 and you change your skill, just run all 13832 06:41:23,360 --> 06:41:27,680 the evals and run a benchmark which will 13833 06:41:25,360 --> 06:41:29,600 give you stuff like a pass rate, a time 13834 06:41:27,680 --> 06:41:31,040 and also how many tokens are being used. 13835 06:41:29,600 --> 06:41:33,040 So here's an example where they said 13836 06:41:31,040 --> 06:41:34,958 benchmark the PDF skill with and without 13837 06:41:33,040 --> 06:41:37,200 the skill loaded and show me sideby-side 13838 06:41:34,958 --> 06:41:38,878 results so I can see the uplift. And we 13839 06:41:37,200 --> 06:41:40,638 get all this information about these 13840 06:41:38,878 --> 06:41:42,558 different evaluation metrics. We get the 13841 06:41:40,638 --> 06:41:44,400 pass rate, we get the total time and the 13842 06:41:42,558 --> 06:41:45,840 total tokens. So here you can clearly 13843 06:41:44,400 --> 06:41:47,440 see that with the skill you're getting 13844 06:41:45,840 --> 06:41:50,320 much better results. And then the final 13845 06:41:47,440 --> 06:41:51,520 piece is skill trigger tuning. So once 13846 06:41:50,320 --> 06:41:53,520 you've got a project filled up with, 13847 06:41:51,520 --> 06:41:55,520 let's just say 10 or more skills, you 13848 06:41:53,520 --> 06:41:57,920 might notice sometimes that you get 13849 06:41:55,520 --> 06:41:59,680 false triggers or you get misfires, 13850 06:41:57,920 --> 06:42:01,920 meaning you wanted it to use a skill and 13851 06:41:59,680 --> 06:42:03,520 it used the wrong one or you wanted it 13852 06:42:01,920 --> 06:42:05,360 to use a skill and it just didn't use 13853 06:42:03,520 --> 06:42:06,718 any at all. Luckily, you could also use 13854 06:42:05,360 --> 06:42:07,920 them with slash commands, but it's so 13855 06:42:06,718 --> 06:42:09,440 much more convenient to just be able to 13856 06:42:07,920 --> 06:42:11,200 speak a natural language and make sure 13857 06:42:09,440 --> 06:42:12,798 that your agent understands you. So 13858 06:42:11,200 --> 06:42:14,478 using the trigger tuning, the skill 13859 06:42:12,798 --> 06:42:16,000 creator will basically analyze your 13860 06:42:14,478 --> 06:42:17,440 skill. It will test out different 13861 06:42:16,000 --> 06:42:18,958 prompts that you might use to trigger 13862 06:42:17,440 --> 06:42:20,878 that skill and then it will edit the 13863 06:42:18,958 --> 06:42:22,478 description so that that skill gets 13864 06:42:20,878 --> 06:42:24,240 called more accurately. And this is an 13865 06:42:22,478 --> 06:42:25,920 actual evaluation that they ran. You can 13866 06:42:24,240 --> 06:42:28,000 see on the lefth hand side and on the 13867 06:42:25,920 --> 06:42:30,080 right hand side we have the test score 13868 06:42:28,000 --> 06:42:32,558 and the train score. And the green and 13869 06:42:30,080 --> 06:42:35,120 blue are basically the results after it 13870 06:42:32,558 --> 06:42:36,558 has been analyzed and fixed with the 13871 06:42:35,120 --> 06:42:38,080 trigger tuning. So you can see it's 13872 06:42:36,558 --> 06:42:39,600 still not perfect, but it's so much 13873 06:42:38,080 --> 06:42:41,120 better than where we were without this 13874 06:42:39,600 --> 06:42:42,558 new skill. And what I think is really 13875 06:42:41,120 --> 06:42:44,160 cool and how I want to end off this 13876 06:42:42,558 --> 06:42:46,080 section before we get into a live demo 13877 06:42:44,160 --> 06:42:47,600 is where this is going. And at the 13878 06:42:46,080 --> 06:42:49,440 bottom, we have a quote from Enthropic 13879 06:42:47,600 --> 06:42:50,878 themselves that say, "Over time, a 13880 06:42:49,440 --> 06:42:52,958 natural language description of what the 13881 06:42:50,878 --> 06:42:54,638 skill should do may be enough with the 13882 06:42:52,958 --> 06:42:56,000 model figuring out the rest." And I 13883 06:42:54,638 --> 06:42:57,920 really think that this word may should 13884 06:42:56,000 --> 06:42:59,840 actually have been will. And basically 13885 06:42:57,920 --> 06:43:01,120 what this means is that today when we're 13886 06:42:59,840 --> 06:43:03,200 telling our agent to build skills for us 13887 06:43:01,120 --> 06:43:05,280 or maybe just giving it an SOP, we're 13888 06:43:03,200 --> 06:43:06,478 giving it steps, rules, and format. But 13889 06:43:05,280 --> 06:43:08,240 what's going to happen in the future is 13890 06:43:06,478 --> 06:43:10,240 we're going to be able to just tell it 13891 06:43:08,240 --> 06:43:11,520 in way more highle natural language what 13892 06:43:10,240 --> 06:43:12,798 we want and it's going to be able to 13893 06:43:11,520 --> 06:43:14,718 figure out all of that and get there 13894 06:43:12,798 --> 06:43:16,320 with a spec and basically just cut down 13895 06:43:14,718 --> 06:43:18,000 the time that it takes for us to get a 13896 06:43:16,320 --> 06:43:20,080 really good skill or you know a really 13897 06:43:18,000 --> 06:43:21,920 good automation. All right, so I am in 13898 06:43:20,080 --> 06:43:24,320 my Herk 2 project which is kind of just 13899 06:43:21,920 --> 06:43:25,600 like my personal assistant in cloud code 13900 06:43:24,320 --> 06:43:27,600 and I'm going to show you guys how we 13901 06:43:25,600 --> 06:43:28,878 can actually get the skill installed. So 13902 06:43:27,600 --> 06:43:30,558 whether you're in VS Code, which is 13903 06:43:28,878 --> 06:43:32,320 where I am, or in the terminal or 13904 06:43:30,558 --> 06:43:34,638 desktop app, whatever, you just need to 13905 06:43:32,320 --> 06:43:36,638 do /plugins, you can click on manage 13906 06:43:34,638 --> 06:43:38,240 plugins, and then if you just go in here 13907 06:43:36,638 --> 06:43:40,240 and you can see like all of the kind of 13908 06:43:38,240 --> 06:43:43,680 anthropic official ones, you can just go 13909 06:43:40,240 --> 06:43:45,040 ahead and search for skill-creator. 13910 06:43:43,680 --> 06:43:46,558 And right here, you can see the official 13911 06:43:45,040 --> 06:43:48,240 one. Here's the GitHub. And all you have 13912 06:43:46,558 --> 06:43:49,760 to do is go ahead and click install. You 13913 06:43:48,240 --> 06:43:51,440 can install this for just you, you can 13914 06:43:49,760 --> 06:43:52,718 install it for your project, or you can 13915 06:43:51,440 --> 06:43:56,760 install it locally. And I'm just going 13916 06:43:52,718 --> 06:43:56,760 to install it for the whole project. 13917 06:43:58,080 --> 06:44:00,400 So now you can see that's installed and 13918 06:43:59,360 --> 06:44:02,558 I'm just going to go ahead and restart 13919 06:44:00,400 --> 06:44:04,478 Claude Code so that that actually 13920 06:44:02,558 --> 06:44:06,160 happens. And so just keep in mind if 13921 06:44:04,478 --> 06:44:08,478 you're in Cloud Code, it may not show up 13922 06:44:06,160 --> 06:44:10,240 right here in your actualcloud skills if 13923 06:44:08,478 --> 06:44:11,760 you did it, you know, in your project. 13924 06:44:10,240 --> 06:44:12,878 So you can just verify it and say, do 13925 06:44:11,760 --> 06:44:14,160 you have the skill creator skill? What 13926 06:44:12,878 --> 06:44:15,840 does it do? And you can see right here 13927 06:44:14,160 --> 06:44:16,958 that we do in fact have that. So I'm 13928 06:44:15,840 --> 06:44:18,080 going to go ahead and switch on to plan 13929 06:44:16,958 --> 06:44:19,840 mode and I'm going to see if it can 13930 06:44:18,080 --> 06:44:21,680 build us a new skill. I need you to 13931 06:44:19,840 --> 06:44:23,360 create a skill called YouTube weekly 13932 06:44:21,680 --> 06:44:25,040 roundup where at the end of every week, 13933 06:44:23,360 --> 06:44:26,798 you will look at the videos that I made 13934 06:44:25,040 --> 06:44:28,478 that week. You'll analyze the comments, 13935 06:44:26,798 --> 06:44:31,360 you'll analyze the views, engagement, 13936 06:44:28,478 --> 06:44:34,558 things like that. And you'll give me a 13937 06:44:31,360 --> 06:44:36,320 PDF report on all of the insights, 13938 06:44:34,558 --> 06:44:37,760 strengths, weaknesses, threats, 13939 06:44:36,320 --> 06:44:39,920 opportunities. So, that's all I'm going 13940 06:44:37,760 --> 06:44:41,920 to send off. And I kept this pretty 13941 06:44:39,920 --> 06:44:43,200 vague intentionally to see what it's 13942 06:44:41,920 --> 06:44:44,240 going to come back with and how it's 13943 06:44:43,200 --> 06:44:45,600 going to be able to plan this out for 13944 06:44:44,240 --> 06:44:46,878 us. And this is where the future's 13945 06:44:45,600 --> 06:44:48,400 going. And this is what Enthropic is 13946 06:44:46,878 --> 06:44:50,558 talking about because most people that 13947 06:44:48,400 --> 06:44:52,240 are using skills right now are actual 13948 06:44:50,558 --> 06:44:54,160 just like executives and managers and 13949 06:44:52,240 --> 06:44:55,520 operators. They're not engineers, which 13950 06:44:54,160 --> 06:44:57,600 means we're really good at being able to 13951 06:44:55,520 --> 06:44:59,680 explain what we want, the metrics we 13952 06:44:57,600 --> 06:45:00,958 need to hit, and why we need that, but 13953 06:44:59,680 --> 06:45:02,718 maybe not all of those technical 13954 06:45:00,958 --> 06:45:04,000 nitty-gritty details. All right, so it 13955 06:45:02,718 --> 06:45:05,440 came back and asked me some questions. 13956 06:45:04,000 --> 06:45:06,958 The first thing I said is I want it to 13957 06:45:05,440 --> 06:45:08,878 just be the last 7 days. So, it's a 13958 06:45:06,958 --> 06:45:10,080 rolling 7-day window. It asked about the 13959 06:45:08,878 --> 06:45:11,760 report sections that it came up with, 13960 06:45:10,080 --> 06:45:13,840 and I said those look good. And for the 13961 06:45:11,760 --> 06:45:15,360 PDF style, I told it to use the brand 13962 06:45:13,840 --> 06:45:16,718 assets in my folder. So right over here 13963 06:45:15,360 --> 06:45:18,958 I've got my brand guidelines and then 13964 06:45:16,718 --> 06:45:20,320 this one is the actual logo for AIS. So 13965 06:45:18,958 --> 06:45:21,760 I'm telling it to use those and 13966 06:45:20,320 --> 06:45:23,920 hopefully it can throw all that on there 13967 06:45:21,760 --> 06:45:25,200 and make it feel really branded. So it's 13968 06:45:23,920 --> 06:45:26,478 going to keep going now with this plan. 13969 06:45:25,200 --> 06:45:27,840 All right. So at this point it came back 13970 06:45:26,478 --> 06:45:29,040 with a plan. And keep in mind I still 13971 06:45:27,840 --> 06:45:31,440 haven't told it anything about text 13972 06:45:29,040 --> 06:45:32,718 stack or anything else. It's writing out 13973 06:45:31,440 --> 06:45:33,920 everything that it's going to do. And 13974 06:45:32,718 --> 06:45:35,440 normally I would read through this and 13975 06:45:33,920 --> 06:45:37,040 give it some tweaks potentially but I 13976 06:45:35,440 --> 06:45:38,958 just want to see what this skill creator 13977 06:45:37,040 --> 06:45:40,558 is able to do with a oneshot prompt. And 13978 06:45:38,958 --> 06:45:42,160 I'm just going to go ahead and accept. 13979 06:45:40,558 --> 06:45:43,200 And look at this. In its to-do list we 13980 06:45:42,160 --> 06:45:44,878 can see that it creates all these 13981 06:45:43,200 --> 06:45:46,798 things. But then the last step is to run 13982 06:45:44,878 --> 06:45:48,558 the test and iterate with the skill 13983 06:45:46,798 --> 06:45:49,840 creator eval process. So I'm excited to 13984 06:45:48,558 --> 06:45:51,280 see what it does there. So you can see 13985 06:45:49,840 --> 06:45:53,360 that it created everything and then what 13986 06:45:51,280 --> 06:45:55,440 it did is it decided to test it to do a 13987 06:45:53,360 --> 06:45:56,718 final iteration. Okay. So I was a little 13988 06:45:55,440 --> 06:45:58,638 confused. I said, "Do you have an actual 13989 06:45:56,718 --> 06:46:00,240 PDF file for me?" And it said, "Yes, it 13990 06:45:58,638 --> 06:46:01,680 is in your projects folder." I was 13991 06:46:00,240 --> 06:46:03,840 looking in the templates where it 13992 06:46:01,680 --> 06:46:05,280 created an HTML template, but apparently 13993 06:46:03,840 --> 06:46:07,760 it actually rendered that as a PDF. So 13994 06:46:05,280 --> 06:46:09,280 let me go to projects. We'll go to 13995 06:46:07,760 --> 06:46:11,920 YouTube weekly roundup. And right here 13996 06:46:09,280 --> 06:46:13,280 we have an actual PDF, which this 13997 06:46:11,920 --> 06:46:15,760 doesn't look great. Obviously, this is 13998 06:46:13,280 --> 06:46:18,320 not a PDF, but if I actually open it up 13999 06:46:15,760 --> 06:46:20,240 from my files, it is a PDF. So, here we 14000 06:46:18,320 --> 06:46:21,520 have the logo, we have weekly roundup, 14001 06:46:20,240 --> 06:46:23,440 we have three videos published, and then 14002 06:46:21,520 --> 06:46:25,120 we got some stats on views, likes, and 14003 06:46:23,440 --> 06:46:27,600 comments. I'm going to keep going down. 14004 06:46:25,120 --> 06:46:29,760 We have our executive summary. So, this 14005 06:46:27,600 --> 06:46:31,280 is for it actually ran I think two weeks 14006 06:46:29,760 --> 06:46:32,878 worth of data just to test this out. And 14007 06:46:31,280 --> 06:46:34,558 I will say just by glancing at this, I 14008 06:46:32,878 --> 06:46:36,320 don't think that this data is correct. 14009 06:46:34,558 --> 06:46:38,080 So, keep that in mind. Here we can see 14010 06:46:36,320 --> 06:46:39,440 the per video breakdown. Right now, we 14011 06:46:38,080 --> 06:46:40,958 have nothing available in our SWAT 14012 06:46:39,440 --> 06:46:42,638 analysis. And then we have competitor 14013 06:46:40,958 --> 06:46:44,320 context and there's nothing available 14014 06:46:42,638 --> 06:46:45,760 here. So now it's time to give it some 14015 06:46:44,320 --> 06:46:46,798 feedback and see what it can do. I'm 14016 06:46:45,760 --> 06:46:49,520 first of all going to clear out this 14017 06:46:46,798 --> 06:46:50,638 context because it used up 62%. I'm 14018 06:46:49,520 --> 06:46:51,920 going to go back into plan mode and just 14019 06:46:50,638 --> 06:46:54,000 give it some honest feedback. All right, 14020 06:46:51,920 --> 06:46:56,240 so the report looks great. Like 14021 06:46:54,000 --> 06:46:58,798 aesthetically, you did a good job on the 14022 06:46:56,240 --> 06:47:00,558 design. However, the data is all wrong. 14023 06:46:58,798 --> 06:47:03,120 There was a lot of missing elements. I 14024 06:47:00,558 --> 06:47:04,400 need you to really look at how you're 14025 06:47:03,120 --> 06:47:05,520 actually scraping this data from my 14026 06:47:04,400 --> 06:47:07,680 YouTube channel, how you're actually 14027 06:47:05,520 --> 06:47:09,360 searching through the comments and 14028 06:47:07,680 --> 06:47:11,200 competitor videos and make sure that 14029 06:47:09,360 --> 06:47:12,798 there's actually data going into this 14030 06:47:11,200 --> 06:47:14,080 report. And before I send this off, it's 14031 06:47:12,798 --> 06:47:15,840 interesting because you can see here it 14032 06:47:14,080 --> 06:47:17,200 sent us some JSON data, which is 14033 06:47:15,840 --> 06:47:18,718 actually the raw information that it was 14034 06:47:17,200 --> 06:47:20,718 able to find from my YouTube channel. 14035 06:47:18,718 --> 06:47:22,160 And the thing is, this isn't super 14036 06:47:20,718 --> 06:47:23,520 in-depth. So, I just don't think that it 14037 06:47:22,160 --> 06:47:25,200 did a good enough job on the research 14038 06:47:23,520 --> 06:47:26,958 element. And maybe this is exactly what 14039 06:47:25,200 --> 06:47:28,718 we were talking about earlier over here 14040 06:47:26,958 --> 06:47:30,160 where at some point the AI is going to 14041 06:47:28,718 --> 06:47:32,000 be able to understand that we want all 14042 06:47:30,160 --> 06:47:33,920 of this granular data, but maybe right 14043 06:47:32,000 --> 06:47:35,840 now it's our job to just explain that 14044 06:47:33,920 --> 06:47:37,520 really clearly. I want to see comments 14045 06:47:35,840 --> 06:47:39,120 analysis. I want to see what's working 14046 06:47:37,520 --> 06:47:41,200 for other people in the space. I want to 14047 06:47:39,120 --> 06:47:43,040 see, you know, other trending videos in 14048 06:47:41,200 --> 06:47:44,638 AI. And I want you to use all of that 14049 06:47:43,040 --> 06:47:46,160 and use your brain to figure out what 14050 06:47:44,638 --> 06:47:47,920 are the strengths my channel has, the 14051 06:47:46,160 --> 06:47:49,520 weaknesses, and the opportunities and 14052 06:47:47,920 --> 06:47:51,280 the threats. And then all of this 14053 06:47:49,520 --> 06:47:53,520 information should be a pretty in-depth 14054 06:47:51,280 --> 06:47:55,040 research report for me on, you know, my 14055 06:47:53,520 --> 06:47:55,920 YouTube weekly roundup. So, while this 14056 06:47:55,040 --> 06:47:57,520 is running, I thought that we should 14057 06:47:55,920 --> 06:47:59,440 real quick look at what it actually did. 14058 06:47:57,520 --> 06:48:00,718 So, in my claude, we've got my skills 14059 06:47:59,440 --> 06:48:02,478 folder. If I go all the way down, we've 14060 06:48:00,718 --> 06:48:04,798 got the YouTube weekly roundup. And this 14061 06:48:02,478 --> 06:48:06,798 is the MD file. So, we've got the YAML 14062 06:48:04,798 --> 06:48:08,718 up top with the name, description, 14063 06:48:06,798 --> 06:48:10,240 disable, model invocation false, which 14064 06:48:08,718 --> 06:48:12,878 just basically means that Cloud Code can 14065 06:48:10,240 --> 06:48:14,798 call this based on a request. It doesn't 14066 06:48:12,878 --> 06:48:17,200 have to be explicitly a slash command. 14067 06:48:14,798 --> 06:48:19,520 And then an argument hint. So basically 14068 06:48:17,200 --> 06:48:22,240 when cloud code decides to use this 14069 06:48:19,520 --> 06:48:23,600 skill, it will send in maybe a hint so 14070 06:48:22,240 --> 06:48:25,200 that the skill understands like what 14071 06:48:23,600 --> 06:48:27,040 video we're looking at or you know the 14072 06:48:25,200 --> 06:48:28,718 topic. It's giving some context. It's 14073 06:48:27,040 --> 06:48:30,718 giving some channel benchmarks, some 14074 06:48:28,718 --> 06:48:32,240 optional focus and then step-by-step 14075 06:48:30,718 --> 06:48:33,680 instructions on what to actually do 14076 06:48:32,240 --> 06:48:36,080 here. Now you can see what it's doing is 14077 06:48:33,680 --> 06:48:38,240 it's calling on a script called fetch 14078 06:48:36,080 --> 06:48:40,798 YouTube data, which if I was to look for 14079 06:48:38,240 --> 06:48:42,878 that in here, I could probably go down 14080 06:48:40,798 --> 06:48:44,878 to my scripts. I could see YouTube 14081 06:48:42,878 --> 06:48:46,080 weekly roundup. And right here we've got 14082 06:48:44,878 --> 06:48:47,520 some different things. We've got the 14083 06:48:46,080 --> 06:48:49,200 prepare data. We've got the render 14084 06:48:47,520 --> 06:48:50,478 report. And we also have a script that I 14085 06:48:49,200 --> 06:48:52,400 already had in this project that it was 14086 06:48:50,478 --> 06:48:53,760 able to find and use, so it didn't have 14087 06:48:52,400 --> 06:48:55,360 to create a new one. And this one is 14088 06:48:53,760 --> 06:48:57,440 called fetch YouTube data. So the 14089 06:48:55,360 --> 06:48:59,040 skill.md file here basically points to 14090 06:48:57,440 --> 06:49:01,360 everything that the agent needs in order 14091 06:48:59,040 --> 06:49:02,718 to do this accurately. Okay, so it's 14092 06:49:01,360 --> 06:49:04,160 come back with another detailed plan, 14093 06:49:02,718 --> 06:49:05,840 and I'm going to go ahead and fire this 14094 06:49:04,160 --> 06:49:07,200 off. And I love this. Once again, we've 14095 06:49:05,840 --> 06:49:08,798 got all these to-dos, and then at the 14096 06:49:07,200 --> 06:49:10,798 end, it says to audit with the skill 14097 06:49:08,798 --> 06:49:13,120 creator. And this is such a good example 14098 06:49:10,798 --> 06:49:15,120 of why using a project more and using a 14099 06:49:13,120 --> 06:49:16,478 skill more makes it stronger because 14100 06:49:15,120 --> 06:49:18,320 some of the pieces that I already had in 14101 06:49:16,478 --> 06:49:20,240 this project, it's able to reuse like my 14102 06:49:18,320 --> 06:49:22,080 YouTube analyzer agent, like my YouTube 14103 06:49:20,240 --> 06:49:23,760 data script. And of course, it has all 14104 06:49:22,080 --> 06:49:25,760 the context about my business and my 14105 06:49:23,760 --> 06:49:27,200 YouTube channel in here already. So all 14106 06:49:25,760 --> 06:49:28,718 of those changes have been made and now 14107 06:49:27,200 --> 06:49:30,878 all that's left to do is actually run 14108 06:49:28,718 --> 06:49:32,000 the skill. So I just called the skill. 14109 06:49:30,878 --> 06:49:32,878 You can see that it's reading it right 14110 06:49:32,000 --> 06:49:34,320 here. And now what [clears throat] it's 14111 06:49:32,878 --> 06:49:35,920 doing is it's going to refresh channel 14112 06:49:34,320 --> 06:49:37,680 data. It's going to use three agents in 14113 06:49:35,920 --> 06:49:39,600 parallel, prepare the report, populate 14114 06:49:37,680 --> 06:49:40,718 the data, and then render the PDF and 14115 06:49:39,600 --> 06:49:42,000 show it to me. So, I'll check in with 14116 06:49:40,718 --> 06:49:43,280 you guys when we get that output. All 14117 06:49:42,000 --> 06:49:44,958 right, that finished up. We've got some 14118 06:49:43,280 --> 06:49:46,958 quick hits. Top competitor move, biggest 14119 06:49:44,958 --> 06:49:49,200 opportunity. Apparently, Jack Roberts is 14120 06:49:46,958 --> 06:49:51,360 my biggest threat. If you see this, 14121 06:49:49,200 --> 06:49:52,878 Jack, keep crushing it. Okay, so here is 14122 06:49:51,360 --> 06:49:54,478 the report. These stats right off the 14123 06:49:52,878 --> 06:49:55,840 jump look a little bit more accurate. I 14124 06:49:54,478 --> 06:49:58,240 might want to tell it to make this logo 14125 06:49:55,840 --> 06:49:59,840 a bit bigger, but it did what we asked. 14126 06:49:58,240 --> 06:50:01,440 Seven videos published, and like I said, 14127 06:49:59,840 --> 06:50:02,958 these stats look more accurate. We've 14128 06:50:01,440 --> 06:50:05,200 got the executive summary here with some 14129 06:50:02,958 --> 06:50:06,958 key takeaways of doubling down on dollar 14130 06:50:05,200 --> 06:50:09,440 outcome titles, make a dedicated 14131 06:50:06,958 --> 06:50:11,840 anti-gravity tutorial, fill the chat GBT 14132 06:50:09,440 --> 06:50:13,840 to claude migration, watch Jack Roberts 14133 06:50:11,840 --> 06:50:15,440 closely, and then address VS Code versus 14134 06:50:13,840 --> 06:50:17,120 anti-gravity confusion. We've got the 14135 06:50:15,440 --> 06:50:18,718 per video breakdown. So now you can see 14136 06:50:17,120 --> 06:50:20,080 the actual metrics from all the videos, 14137 06:50:18,718 --> 06:50:22,320 including the one that I literally just 14138 06:50:20,080 --> 06:50:23,760 dropped like an hour ago. And so all of 14139 06:50:22,320 --> 06:50:25,120 these look like they're doing okay. This 14140 06:50:23,760 --> 06:50:26,958 one might not be doing the best, and 14141 06:50:25,120 --> 06:50:28,958 similar with this one. But I really like 14142 06:50:26,958 --> 06:50:31,200 the way that this actually looks. The 14143 06:50:28,958 --> 06:50:33,680 layout's pretty good. It is very clean 14144 06:50:31,200 --> 06:50:35,120 and professional. For the SWAT analysis, 14145 06:50:33,680 --> 06:50:36,558 we actually have it on the second page. 14146 06:50:35,120 --> 06:50:38,160 It still looks good. That's obviously 14147 06:50:36,558 --> 06:50:40,160 just an easy spacing issue that we can 14148 06:50:38,160 --> 06:50:42,160 fix. So, we have some strengths here. We 14149 06:50:40,160 --> 06:50:44,400 have some weaknesses. We have threats. 14150 06:50:42,160 --> 06:50:46,240 And we have our opportunities. Top 14151 06:50:44,400 --> 06:50:47,760 comments and audience signals. Selling 14152 06:50:46,240 --> 06:50:50,320 shovels in a gold rush, bro. Well 14153 06:50:47,760 --> 06:50:51,760 played, man. 26 likes. Hi, Nate. 10 days 14154 06:50:50,320 --> 06:50:52,958 into joining your plus community. I got 14155 06:50:51,760 --> 06:50:53,840 my first potential client. It's all 14156 06:50:52,958 --> 06:50:55,840 thanks to you and your community. 14157 06:50:53,840 --> 06:50:57,360 Awesome. And you can see that we see 14158 06:50:55,840 --> 06:50:58,958 other comments. We see what video they 14159 06:50:57,360 --> 06:51:00,320 came from and how many likes. And we're 14160 06:50:58,958 --> 06:51:01,920 also getting video requests, we're 14161 06:51:00,320 --> 06:51:03,520 getting pain points. And so that really 14162 06:51:01,920 --> 06:51:05,200 helps me stay in tune with what you guys 14163 06:51:03,520 --> 06:51:06,958 are saying. Wow, it just keeps on going. 14164 06:51:05,200 --> 06:51:08,638 We've got competitor context. So all of 14165 06:51:06,958 --> 06:51:10,160 these channels, all of these videos, all 14166 06:51:08,638 --> 06:51:11,760 of these stats, and that comes along 14167 06:51:10,160 --> 06:51:13,520 with some notable gaps. And then 14168 06:51:11,760 --> 06:51:15,360 finally, we get what's trending in AI 14169 06:51:13,520 --> 06:51:17,200 this week. So what are skills, the most 14170 06:51:15,360 --> 06:51:18,798 powerful AI agent I've ever used, all of 14171 06:51:17,200 --> 06:51:20,638 this stuff with the channel, the views, 14172 06:51:18,798 --> 06:51:22,558 the views per day, and the topic. So 14173 06:51:20,638 --> 06:51:24,478 this is amazing. And I was able to build 14174 06:51:22,558 --> 06:51:26,000 this in 20 minutes. And now what I would 14175 06:51:24,478 --> 06:51:27,600 do is just keep running it. And every 14176 06:51:26,000 --> 06:51:29,360 time say, "Hey, I liked this. I didn't 14177 06:51:27,600 --> 06:51:32,920 like this. Use the skill creator to make 14178 06:51:29,360 --> 06:51:32,920 this better and better. 14179 06:51:32,958 --> 06:51:35,520 So, here I am in Cloud Code and I'm 14180 06:51:34,400 --> 06:51:37,520 going to go ahead and shoot off this 14181 06:51:35,520 --> 06:51:39,200 message that's asking Cloud Code to turn 14182 06:51:37,520 --> 06:51:40,558 my YouTube video into a tweet style 14183 06:51:39,200 --> 06:51:42,558 carousel. What you see is that it's 14184 06:51:40,558 --> 06:51:44,080 invoking the carousel skill. And within 14185 06:51:42,558 --> 06:51:46,240 this carousel skill, I actually tell it 14186 06:51:44,080 --> 06:51:48,000 to delegate work to a carousel planning 14187 06:51:46,240 --> 06:51:49,680 sub agent. So, you can see now it said, 14188 06:51:48,000 --> 06:51:51,840 "I got the transcript. Let me plan the 14189 06:51:49,680 --> 06:51:53,680 carousel slides." And I'm using an agent 14190 06:51:51,840 --> 06:51:55,440 to do that. And so this sub agent here 14191 06:51:53,680 --> 06:51:57,200 basically got the input from this main 14192 06:51:55,440 --> 06:51:58,958 session and it's running on its own with 14193 06:51:57,200 --> 06:52:00,878 its own context and maybe a different 14194 06:51:58,958 --> 06:52:02,478 model whether that be haiku sonnet or 14195 06:52:00,878 --> 06:52:03,840 opus. And while we let this finish up, 14196 06:52:02,478 --> 06:52:05,600 I'm going to open up a new session. And 14197 06:52:03,840 --> 06:52:07,440 in this one, I said spin up two research 14198 06:52:05,600 --> 06:52:09,680 sub aents. One for AI enablement for 14199 06:52:07,440 --> 06:52:11,360 SMBs and one for enterprises. And this 14200 06:52:09,680 --> 06:52:12,718 main session now is going to delegate to 14201 06:52:11,360 --> 06:52:14,478 two different sub aents. Here's the 14202 06:52:12,718 --> 06:52:16,160 first one for SMBs and here's the second 14203 06:52:14,478 --> 06:52:17,760 one for enterprises. These sub agents 14204 06:52:16,160 --> 06:52:18,958 are now running in parallel doing their 14205 06:52:17,760 --> 06:52:20,878 own research and then they're going to 14206 06:52:18,958 --> 06:52:22,718 send all of their findings back to this 14207 06:52:20,878 --> 06:52:24,160 main session. So in that first session, 14208 06:52:22,718 --> 06:52:27,600 we now have that carousel done. We've 14209 06:52:24,160 --> 06:52:29,280 got slide 1, slide 2, 3, 4, 5, 6, 7, and 14210 06:52:27,600 --> 06:52:31,120 8. And then in the second session, we 14211 06:52:29,280 --> 06:52:33,040 see that both research briefs are back. 14212 06:52:31,120 --> 06:52:34,478 We've got SMB AI enablement, we've got 14213 06:52:33,040 --> 06:52:36,080 enterprise, and then we have the 14214 06:52:34,478 --> 06:52:38,400 overlap. So these outputs that we just 14215 06:52:36,080 --> 06:52:39,920 got were thanks to using cloud code sub 14216 06:52:38,400 --> 06:52:41,360 aents. So in today's video, I'm going to 14217 06:52:39,920 --> 06:52:42,558 explain all of this as simply as I can, 14218 06:52:41,360 --> 06:52:44,160 and we're going to be looking at what 14219 06:52:42,558 --> 06:52:46,000 they are, why they matter. I'm going to 14220 06:52:44,160 --> 06:52:48,000 build one live in front of you guys, 14221 06:52:46,000 --> 06:52:49,440 talk about how we actually do that, and 14222 06:52:48,000 --> 06:52:50,718 how you can actually master them and 14223 06:52:49,440 --> 06:52:51,680 make them better and better. So I don't 14224 06:52:50,718 --> 06:52:53,440 want to waste any time. Let's get 14225 06:52:51,680 --> 06:52:55,760 straight into the video. Okay. So what 14226 06:52:53,440 --> 06:52:57,360 are sub aents? The idea about sub aents 14227 06:52:55,760 --> 06:52:59,360 is that you have your main session. So 14228 06:52:57,360 --> 06:53:00,878 as you guys saw in cloud code, this is 14229 06:52:59,360 --> 06:53:02,798 kind of the agent we're talking to. When 14230 06:53:00,878 --> 06:53:04,558 you open up a new session, you are 14231 06:53:02,798 --> 06:53:06,240 talking to this little crab right here. 14232 06:53:04,558 --> 06:53:08,160 And as you're talking, you fill up your 14233 06:53:06,240 --> 06:53:09,840 context and it has its own kind of 14234 06:53:08,160 --> 06:53:11,600 memory right there. But that main 14235 06:53:09,840 --> 06:53:13,360 session can actually delegate work and 14236 06:53:11,600 --> 06:53:15,280 send off prompts to different 14237 06:53:13,360 --> 06:53:17,120 specialized agents. So we could have a 14238 06:53:15,280 --> 06:53:19,360 code reviewer or a builder or a debugger 14239 06:53:17,120 --> 06:53:21,520 or a testr runner, an architect or a 14240 06:53:19,360 --> 06:53:23,120 researcher. And if we wanted, all six of 14241 06:53:21,520 --> 06:53:24,638 these could be running in parallel. 14242 06:53:23,120 --> 06:53:26,958 You're essentially turning clawed code 14243 06:53:24,638 --> 06:53:28,718 into a project lead. And it's able to 14244 06:53:26,958 --> 06:53:30,160 just do the planning, the delegation, 14245 06:53:28,718 --> 06:53:31,760 and then not have to have its context 14246 06:53:30,160 --> 06:53:34,080 polluted with different specialized 14247 06:53:31,760 --> 06:53:35,520 tasks. And the more specific goal you 14248 06:53:34,080 --> 06:53:37,440 give it and the more specific training 14249 06:53:35,520 --> 06:53:38,958 you give it, the outputs are shown to be 14250 06:53:37,440 --> 06:53:40,638 much much better. Especially if you 14251 06:53:38,958 --> 06:53:42,240 think about it like this, a sub agent 14252 06:53:40,638 --> 06:53:43,760 will be asleep, right? and it wakes up 14253 06:53:42,240 --> 06:53:45,280 and it's completely stateless because 14254 06:53:43,760 --> 06:53:46,558 basically the main agent said, "Hey, 14255 06:53:45,280 --> 06:53:48,080 wake up. I need you to do something." 14256 06:53:46,558 --> 06:53:50,240 This agent now wakes up with fresh 14257 06:53:48,080 --> 06:53:52,320 context, a different chat model, its own 14258 06:53:50,240 --> 06:53:53,840 tools, and its own purpose. So, it's 14259 06:53:52,320 --> 06:53:55,680 like if I was throwing a party and I 14260 06:53:53,840 --> 06:53:57,120 wanted some really good cupcakes. I 14261 06:53:55,680 --> 06:53:58,558 probably wouldn't just walk into a 14262 06:53:57,120 --> 06:54:00,798 general store and just grab, you know, 14263 06:53:58,558 --> 06:54:02,958 some mass-produced cupcakes, I might 14264 06:54:00,798 --> 06:54:04,958 want to go to like a niche bakery and 14265 06:54:02,958 --> 06:54:06,478 give them a custom request. Now, you 14266 06:54:04,958 --> 06:54:08,080 might have also heard of agent teams, 14267 06:54:06,478 --> 06:54:09,760 which kind of sounds similar to sub 14268 06:54:08,080 --> 06:54:11,040 agents, but they're not. And there's one 14269 06:54:09,760 --> 06:54:12,638 key distinction that I wanted you guys 14270 06:54:11,040 --> 06:54:14,240 to just understand real quick. Don't 14271 06:54:12,638 --> 06:54:15,920 worry, I will have a full video about 14272 06:54:14,240 --> 06:54:17,440 agent teams themselves, but I just 14273 06:54:15,920 --> 06:54:18,958 wanted to do one quick distinction, 14274 06:54:17,440 --> 06:54:20,958 which is that sub agents are focused 14275 06:54:18,958 --> 06:54:22,400 workers. They run in parallel, but they 14276 06:54:20,958 --> 06:54:24,240 can't talk to each other. And that's the 14277 06:54:22,400 --> 06:54:25,920 key difference. It's basically one-way 14278 06:54:24,240 --> 06:54:27,680 relationships. The main agent sends an 14279 06:54:25,920 --> 06:54:29,440 input prompt and then the worker works 14280 06:54:27,680 --> 06:54:31,200 and then sends the results back to the 14281 06:54:29,440 --> 06:54:33,280 main agent. The individual workers 14282 06:54:31,200 --> 06:54:34,638 basically cannot communicate. But with 14283 06:54:33,280 --> 06:54:36,638 agent teams, that's where it gets really 14284 06:54:34,638 --> 06:54:38,478 cool is they actually can. So they share 14285 06:54:36,638 --> 06:54:40,080 a task list and they can communicate to 14286 06:54:38,478 --> 06:54:41,840 each other. They can even assign each 14287 06:54:40,080 --> 06:54:44,240 other tasks. So that's where it truly 14288 06:54:41,840 --> 06:54:45,840 becomes like an actual team ecosystem. 14289 06:54:44,240 --> 06:54:47,920 So let's actually go through an example. 14290 06:54:45,840 --> 06:54:50,958 So let's say I said, "Hey, I need you to 14291 06:54:47,920 --> 06:54:53,280 refactor and add some tests to X, Y, and 14292 06:54:50,958 --> 06:54:54,798 Z." What the main session would do is it 14293 06:54:53,280 --> 06:54:56,000 would basically hear your request and it 14294 06:54:54,798 --> 06:54:58,240 would search through the agents it has 14295 06:54:56,000 --> 06:54:59,520 and say which ones can do the job best. 14296 06:54:58,240 --> 06:55:01,040 I'm going to give one task to the 14297 06:54:59,520 --> 06:55:02,878 refactor agent. I'm going to give the 14298 06:55:01,040 --> 06:55:03,920 other task to the test writer agent. 14299 06:55:02,878 --> 06:55:05,520 They're both going to be working and 14300 06:55:03,920 --> 06:55:07,200 then once they're done, they're going to 14301 06:55:05,520 --> 06:55:09,040 bring all of those results back to me, 14302 06:55:07,200 --> 06:55:10,638 the main agent, and I will do whatever I 14303 06:55:09,040 --> 06:55:12,798 need to do with it and communicate back 14304 06:55:10,638 --> 06:55:14,320 to you. Okay, so why use sub agents? 14305 06:55:12,798 --> 06:55:16,958 I've got five reasons here. And the 14306 06:55:14,320 --> 06:55:18,638 first one is to preserve context because 14307 06:55:16,958 --> 06:55:21,200 you can keep the main thread clean. We 14308 06:55:18,638 --> 06:55:23,520 all know that context rot is real and so 14309 06:55:21,200 --> 06:55:25,360 your job as a cloud code operator is to 14310 06:55:23,520 --> 06:55:27,200 figure out how can I be as efficient as 14311 06:55:25,360 --> 06:55:28,878 possible with my context window. And one 14312 06:55:27,200 --> 06:55:30,798 of those unlocks is realizing that you 14313 06:55:28,878 --> 06:55:32,320 can delegate tasks to sub agents to 14314 06:55:30,798 --> 06:55:34,160 process tons of data, do a ton of 14315 06:55:32,320 --> 06:55:35,600 research, and then only send back the 14316 06:55:34,160 --> 06:55:37,440 little bits of information that the main 14317 06:55:35,600 --> 06:55:39,600 session actually needs. Now, the second 14318 06:55:37,440 --> 06:55:41,360 piece is to enforce constraints because 14319 06:55:39,600 --> 06:55:43,600 maybe your main worker, your let's just 14320 06:55:41,360 --> 06:55:45,280 call it a parent worker needs to be able 14321 06:55:43,600 --> 06:55:47,440 to do tons and tons of different things 14322 06:55:45,280 --> 06:55:48,478 in terms of like tool calls. But 14323 06:55:47,440 --> 06:55:50,080 sometimes when you want to do something 14324 06:55:48,478 --> 06:55:51,600 a little bit more risky, so maybe GitHub 14325 06:55:50,080 --> 06:55:53,360 actions or some other code-based 14326 06:55:51,600 --> 06:55:55,760 actions, you might want to delegate that 14327 06:55:53,360 --> 06:55:58,400 to a sub agent that is specialized on 14328 06:55:55,760 --> 06:56:00,080 that tool or that process and it has 14329 06:55:58,400 --> 06:56:01,760 limited availability when it comes to 14330 06:56:00,080 --> 06:56:03,440 tools. So it can't do anything super 14331 06:56:01,760 --> 06:56:05,440 harmful. It just gives you more control 14332 06:56:03,440 --> 06:56:07,440 over that process. Now the third one is 14333 06:56:05,440 --> 06:56:08,958 to reuse configs. Meaning all of your 14334 06:56:07,440 --> 06:56:10,478 agents can be shared across different 14335 06:56:08,958 --> 06:56:11,920 projects or even shared with your team 14336 06:56:10,478 --> 06:56:13,680 because maybe your organization has a 14337 06:56:11,920 --> 06:56:15,600 really specific process for project 14338 06:56:13,680 --> 06:56:16,798 management or quarterly planning. And if 14339 06:56:15,600 --> 06:56:18,718 you have a really good agent that helps 14340 06:56:16,798 --> 06:56:21,040 you do that, then it can be reused 14341 06:56:18,718 --> 06:56:22,718 across the entire organization. So the 14342 06:56:21,040 --> 06:56:24,000 whole team gets better and better. And 14343 06:56:22,718 --> 06:56:25,440 what you'll notice is that there's a lot 14344 06:56:24,000 --> 06:56:27,440 of principles between sub agents and 14345 06:56:25,440 --> 06:56:29,520 skills that are very similar except for 14346 06:56:27,440 --> 06:56:31,440 like the context and model things. Now 14347 06:56:29,520 --> 06:56:33,280 number four is specialization. Kind of 14348 06:56:31,440 --> 06:56:36,160 like I alluded to earlier, the more 14349 06:56:33,280 --> 06:56:37,840 specific and niche an AI is trained to 14350 06:56:36,160 --> 06:56:39,600 be, the better it results are going to 14351 06:56:37,840 --> 06:56:40,718 be. And that's as simple as it is. If 14352 06:56:39,600 --> 06:56:41,760 you've been following my channel for a 14353 06:56:40,718 --> 06:56:43,600 while and you've been building a lot in 14354 06:56:41,760 --> 06:56:45,760 Naden, it's the same idea of when we 14355 06:56:43,600 --> 06:56:48,160 would delegate work to a child agent. 14356 06:56:45,760 --> 06:56:50,320 And then finally, we have control costs 14357 06:56:48,160 --> 06:56:51,760 because once again, each sub aent can do 14358 06:56:50,320 --> 06:56:53,120 their own model. So maybe you're always 14359 06:56:51,760 --> 06:56:54,718 wanting to use Opus in your parent 14360 06:56:53,120 --> 06:56:56,320 workflow, but sometimes you want some 14361 06:56:54,718 --> 06:56:58,718 quick research done and you can do that 14362 06:56:56,320 --> 06:57:00,400 with Haiku to save yourself time and 14363 06:56:58,718 --> 06:57:01,920 tokens. So from there, the big question 14364 06:57:00,400 --> 06:57:03,600 is when do you actually delegate? 14365 06:57:01,920 --> 06:57:05,440 Because you could also get into this 14366 06:57:03,600 --> 06:57:06,558 weird spot where you're doing sub agents 14367 06:57:05,440 --> 06:57:08,638 for everything and you're kind of just 14368 06:57:06,558 --> 06:57:10,400 overengineering. So stay in your main 14369 06:57:08,638 --> 06:57:12,240 conversation if you need back and forth, 14370 06:57:10,400 --> 06:57:13,920 if you need quick changes, if you need 14371 06:57:12,240 --> 06:57:16,400 that shared context, that conversation 14372 06:57:13,920 --> 06:57:17,840 history, and for low latency. And then 14373 06:57:16,400 --> 06:57:18,958 you want to be able to delegate to a sub 14374 06:57:17,840 --> 06:57:20,080 agent if you want them to be 14375 06:57:18,958 --> 06:57:21,600 self-contained, if you have tool 14376 06:57:20,080 --> 06:57:23,440 restrictions, or you just want summaries 14377 06:57:21,600 --> 06:57:25,360 returned. Now, I know I put verbos 14378 06:57:23,440 --> 06:57:27,120 output here, but that was just the image 14379 06:57:25,360 --> 06:57:28,958 generation. Basically, you can control 14380 06:57:27,120 --> 06:57:30,638 if you want to see the sub agents steps 14381 06:57:28,958 --> 06:57:32,160 as they're thinking and doing things, or 14382 06:57:30,638 --> 06:57:33,600 if you just want the concise summary 14383 06:57:32,160 --> 06:57:34,638 done at the end. So, I thought that I 14384 06:57:33,600 --> 06:57:36,240 would share this tweet with you guys 14385 06:57:34,638 --> 06:57:38,240 real quick. Boris Churnney, the guy who 14386 06:57:36,240 --> 06:57:40,638 created Claude Code, shared that he does 14387 06:57:38,240 --> 06:57:42,478 use a few sub agents very regularly. 14388 06:57:40,638 --> 06:57:44,958 Build validator, code architect, code 14389 06:57:42,478 --> 06:57:46,400 simplifier, on call guide, verify app. 14390 06:57:44,958 --> 06:57:47,920 And also, if you go to the cloud code 14391 06:57:46,400 --> 06:57:49,040 docs and you read about sub agents, you 14392 06:57:47,920 --> 06:57:50,958 can see that there are some examples 14393 06:57:49,040 --> 06:57:53,920 here which basically give you the full 14394 06:57:50,958 --> 06:57:55,360 actual like MD of this type of agent. 14395 06:57:53,920 --> 06:57:56,558 So, this is the code reviewer. And if 14396 06:57:55,360 --> 06:57:57,520 this doesn't make sense at all, don't 14397 06:57:56,558 --> 06:57:59,440 worry. I'm going to explain what we're 14398 06:57:57,520 --> 06:58:01,360 looking at here. We've got a debugger, 14399 06:57:59,440 --> 06:58:03,600 we've got a data scientist, and we've 14400 06:58:01,360 --> 06:58:05,600 got a database query validator. So those 14401 06:58:03,600 --> 06:58:07,280 are just some example sub aents you 14402 06:58:05,600 --> 06:58:08,798 might be thinking about and seeing just 14403 06:58:07,280 --> 06:58:10,478 to kind of get the you know blood 14404 06:58:08,798 --> 06:58:12,080 flowing up to the brain. So here's where 14405 06:58:10,478 --> 06:58:14,320 your understanding of skills is going to 14406 06:58:12,080 --> 06:58:16,160 help out a little bit because the agents 14407 06:58:14,320 --> 06:58:17,920 are basically invoked the same exact way 14408 06:58:16,160 --> 06:58:19,360 that skills are invoked which means that 14409 06:58:17,920 --> 06:58:22,000 the main agent will read through the 14410 06:58:19,360 --> 06:58:23,440 descriptions of the agents. So if I said 14411 06:58:22,000 --> 06:58:25,200 hey can you help me write tests for my 14412 06:58:23,440 --> 06:58:26,478 API? The agent would look through all of 14413 06:58:25,200 --> 06:58:28,240 its different agents. It would see I've 14414 06:58:26,478 --> 06:58:30,320 got a refactor, I've got deploy, I've 14415 06:58:28,240 --> 06:58:31,760 got a test writer and a debug and I'm 14416 06:58:30,320 --> 06:58:33,040 going to use the test writer here. And 14417 06:58:31,760 --> 06:58:35,520 then it would basically send off that 14418 06:58:33,040 --> 06:58:37,200 prompt to the test writer agent. So the 14419 06:58:35,520 --> 06:58:38,638 clearer that your descriptions are, the 14420 06:58:37,200 --> 06:58:40,000 better that the delegation is going to 14421 06:58:38,638 --> 06:58:41,440 be so that you don't get any false 14422 06:58:40,000 --> 06:58:43,040 triggers and things like that. And when 14423 06:58:41,440 --> 06:58:44,638 I say description, I literally just mean 14424 06:58:43,040 --> 06:58:46,478 the actual description. So for example, 14425 06:58:44,638 --> 06:58:48,400 the code reviewer agent expert code 14426 06:58:46,478 --> 06:58:51,120 review specialist proactively reviews 14427 06:58:48,400 --> 06:58:53,040 code for quality, security, and 14428 06:58:51,120 --> 06:58:54,878 maintainability. Use immediately after 14429 06:58:53,040 --> 06:58:56,718 writing or modifying code. So, like you 14430 06:58:54,878 --> 06:58:58,000 guys just saw, we have the YAML metadata 14431 06:58:56,718 --> 06:58:59,760 where we would have things like the name 14432 06:58:58,000 --> 06:59:02,080 of the agent, the description, tools, 14433 06:58:59,760 --> 06:59:04,160 and there are a few other um options 14434 06:59:02,080 --> 06:59:05,920 here, other parameters like model for 14435 06:59:04,160 --> 06:59:07,680 example, and then below it, we would 14436 06:59:05,920 --> 06:59:09,120 have the actual instructions that cloud 14437 06:59:07,680 --> 06:59:10,958 code would actually read the full list 14438 06:59:09,120 --> 06:59:13,040 of once it's decided, hey, Mr. 14439 06:59:10,958 --> 06:59:14,798 Testrunner agent, I'm going to use you. 14440 06:59:13,040 --> 06:59:16,160 So, literally same way that skills work, 14441 06:59:14,798 --> 06:59:17,920 and all they are really is just a 14442 06:59:16,160 --> 06:59:19,840 markdown file. So, I think understanding 14443 06:59:17,920 --> 06:59:21,200 that really simplifies the concept. And 14444 06:59:19,840 --> 06:59:23,600 very similar to skills once again 14445 06:59:21,200 --> 06:59:25,120 because it's just a file they live in 14446 06:59:23,600 --> 06:59:26,638 your project. So they can be either in 14447 06:59:25,120 --> 06:59:28,400 your project, they can be personal, or 14448 06:59:26,638 --> 06:59:29,920 they can be temporary. So personal means 14449 06:59:28,400 --> 06:59:31,520 if you create an agent, you can use it 14450 06:59:29,920 --> 06:59:33,360 anytime you're using cloud code 14451 06:59:31,520 --> 06:59:34,638 regardless of the project. But project 14452 06:59:33,360 --> 06:59:36,638 means that you would only have it in 14453 06:59:34,638 --> 06:59:38,558 that specific project. So for example, 14454 06:59:36,638 --> 06:59:40,240 in this project, this is my herk 2. So 14455 06:59:38,558 --> 06:59:42,400 basically my executive assistant and 14456 06:59:40,240 --> 06:59:44,160 I've got my do.cloud right here. In the 14457 06:59:42,400 --> 06:59:46,000 dotcloud, I've got agents. And here's 14458 06:59:44,160 --> 06:59:48,000 where I have my six agents right here. 14459 06:59:46,000 --> 06:59:49,920 And I can only invoke these if I'm in 14460 06:59:48,000 --> 06:59:51,360 this project. So if I switched open to a 14461 06:59:49,920 --> 06:59:52,878 different folder, I couldn't use those 14462 06:59:51,360 --> 06:59:55,040 agents. But if I installed them 14463 06:59:52,878 --> 06:59:56,320 globally, then I would be able to, but I 14464 06:59:55,040 --> 06:59:58,320 wouldn't actually see them right here. 14465 06:59:56,320 --> 07:00:00,240 I'd see them more in like my home global 14466 06:59:58,320 --> 07:00:02,000 directory for cloud code. And then 14467 07:00:00,240 --> 07:00:03,760 temporary agents, you can spin up ones 14468 07:00:02,000 --> 07:00:05,280 just for your session explicitly or with 14469 07:00:03,760 --> 07:00:07,200 certain plugins, but I've really never 14470 07:00:05,280 --> 07:00:08,798 used these before, so not going to cover 14471 07:00:07,200 --> 07:00:10,558 them today. Okay, so we're about to hop 14472 07:00:08,798 --> 07:00:11,680 in and build our own custom sub aent. 14473 07:00:10,558 --> 07:00:13,520 But I did want to show you guys that 14474 07:00:11,680 --> 07:00:15,200 there are some sub agents that cloud 14475 07:00:13,520 --> 07:00:16,638 code has natively built in that when 14476 07:00:15,200 --> 07:00:18,320 you're using cloud code you might have 14477 07:00:16,638 --> 07:00:19,680 actually seen before and you would know 14478 07:00:18,320 --> 07:00:21,280 if you're using a sub agent because it 14479 07:00:19,680 --> 07:00:23,360 would have this little command that says 14480 07:00:21,280 --> 07:00:25,120 agent. So the first one that we have is 14481 07:00:23,360 --> 07:00:27,680 explore and this one basically searches 14482 07:00:25,120 --> 07:00:29,600 and analyzes through your codebase. This 14483 07:00:27,680 --> 07:00:31,040 one runs on haiku and it has readonly 14484 07:00:29,600 --> 07:00:32,400 permissions. The second one that we have 14485 07:00:31,040 --> 07:00:33,760 is a planning agent. So a lot of times 14486 07:00:32,400 --> 07:00:35,520 when you're in plan mode you'll see that 14487 07:00:33,760 --> 07:00:37,360 this agent gets invoked and this one 14488 07:00:35,520 --> 07:00:39,120 does research and helps you plan. The 14489 07:00:37,360 --> 07:00:40,718 model for this one is inherited by the 14490 07:00:39,120 --> 07:00:42,160 parent model. So if you're on opus a lot 14491 07:00:40,718 --> 07:00:44,400 of times the sub aent will be running on 14492 07:00:42,160 --> 07:00:45,920 opus and this one's also read only and 14493 07:00:44,400 --> 07:00:47,760 then there is a general sub agent which 14494 07:00:45,920 --> 07:00:49,760 cloud code will invoke when we need some 14495 07:00:47,760 --> 07:00:51,520 multi-step stuff and this one once again 14496 07:00:49,760 --> 07:00:53,120 the model is inherited but this general 14497 07:00:51,520 --> 07:00:54,878 agent can use its hands a bit more and 14498 07:00:53,120 --> 07:00:56,400 it actually has all tools available. 14499 07:00:54,878 --> 07:00:58,240 Okay, so now that we understand all of 14500 07:00:56,400 --> 07:01:01,120 that let's go ahead and jump into cloud 14501 07:00:58,240 --> 07:01:03,120 code and build our first sub agent. All 14502 07:01:01,120 --> 07:01:05,280 right, I am in cloud code and I am using 14503 07:01:03,120 --> 07:01:06,958 cloud code in VS code. Now, what's 14504 07:01:05,280 --> 07:01:09,440 recommended by Enthropic to actually 14505 07:01:06,958 --> 07:01:10,878 build sub agents is to use the / aagents 14506 07:01:09,440 --> 07:01:12,878 command. So, if I come in here and I 14507 07:01:10,878 --> 07:01:14,478 type in slash agents, you can see that I 14508 07:01:12,878 --> 07:01:15,600 can click on this right here. And when I 14509 07:01:14,478 --> 07:01:17,120 click on that, it says that I have to 14510 07:01:15,600 --> 07:01:18,798 continue in my terminal to actually use 14511 07:01:17,120 --> 07:01:21,520 this. Part of the limitation with 14512 07:01:18,798 --> 07:01:23,760 extensions in IDE is that some of the 14513 07:01:21,520 --> 07:01:25,040 actual slash commands you can't use. But 14514 07:01:23,760 --> 07:01:26,878 it's not a big deal. You can just open 14515 07:01:25,040 --> 07:01:28,718 up the terminal. It will run the command 14516 07:01:26,878 --> 07:01:30,718 like that. You can see. And now we're 14517 07:01:28,718 --> 07:01:32,478 basically using cloud code in VS Code, 14518 07:01:30,718 --> 07:01:34,478 but in the terminal. And so once it's 14519 07:01:32,478 --> 07:01:35,760 ran the / agents command, you can see 14520 07:01:34,478 --> 07:01:37,840 that we can look at all of our agents. 14521 07:01:35,760 --> 07:01:39,280 So we have 11. We have the project 14522 07:01:37,840 --> 07:01:40,718 agents right here. And then we also have 14523 07:01:39,280 --> 07:01:42,160 the built-in agents that are always 14524 07:01:40,718 --> 07:01:43,360 available. And so I could choose these 14525 07:01:42,160 --> 07:01:44,958 agents and I could edit them or do 14526 07:01:43,360 --> 07:01:46,958 whatever I want. But what I can also do 14527 07:01:44,958 --> 07:01:48,558 now is I can click on create new agent. 14528 07:01:46,958 --> 07:01:50,240 So when I hit enter, this is basically 14529 07:01:48,558 --> 07:01:51,680 going to help us configure the agent and 14530 07:01:50,240 --> 07:01:53,280 it's going to understand all of the 14531 07:01:51,680 --> 07:01:54,878 different preferences even like where we 14532 07:01:53,280 --> 07:01:56,000 want to put this. So it's a lot more 14533 07:01:54,878 --> 07:01:57,280 helpful than you trying to build your 14534 07:01:56,000 --> 07:01:58,718 own. So for this demo, I'm going to go 14535 07:01:57,280 --> 07:02:00,320 ahead and do a project agent, but once 14536 07:01:58,718 --> 07:02:01,840 again, you could make them personal. I'm 14537 07:02:00,320 --> 07:02:03,520 going to generate with Claude instead of 14538 07:02:01,840 --> 07:02:05,440 doing it manually. And now all I have to 14539 07:02:03,520 --> 07:02:07,200 do is describe what this agent should do 14540 07:02:05,440 --> 07:02:08,718 and when it should be used and we need 14541 07:02:07,200 --> 07:02:10,798 to be comprehensive for the best 14542 07:02:08,718 --> 07:02:12,400 results. Okay, so I just kind of talked 14543 07:02:10,798 --> 07:02:13,760 into this thing for a little bit and got 14544 07:02:12,400 --> 07:02:15,360 a brief prompt. I would probably 14545 07:02:13,760 --> 07:02:17,040 recommend that you make these a little 14546 07:02:15,360 --> 07:02:18,558 bit more robust, but of course you can 14547 07:02:17,040 --> 07:02:20,240 always go back and forth later as you're 14548 07:02:18,558 --> 07:02:21,360 testing them and every time you use the 14549 07:02:20,240 --> 07:02:22,320 agent, it should be getting better and 14550 07:02:21,360 --> 07:02:23,680 better because you're going to give it 14551 07:02:22,320 --> 07:02:24,718 feedback. Now what I'm going to do is 14552 07:02:23,680 --> 07:02:26,400 I'm going to hit enter and it's 14553 07:02:24,718 --> 07:02:27,600 basically generating that agent from the 14554 07:02:26,400 --> 07:02:29,520 description. So, we're going to see that 14555 07:02:27,600 --> 07:02:31,600 it's going to fill out a new MD file 14556 07:02:29,520 --> 07:02:32,958 over here, and then we'll be able to 14557 07:02:31,600 --> 07:02:34,478 test it out. Now, what's cool about this 14558 07:02:32,958 --> 07:02:36,638 is not only is it just building the 14559 07:02:34,478 --> 07:02:38,080 agent from my description, but it also 14560 07:02:36,638 --> 07:02:39,840 is looking through what's in this 14561 07:02:38,080 --> 07:02:41,520 project. So, it understands me and my 14562 07:02:39,840 --> 07:02:42,798 business and my goals, and it's going to 14563 07:02:41,520 --> 07:02:44,558 actually make the agent a little bit 14564 07:02:42,798 --> 07:02:46,638 tailored towards that. So, this agent 14565 07:02:44,558 --> 07:02:49,120 that I described was like an AI trend 14566 07:02:46,638 --> 07:02:50,558 hunter finder, and it's going to 14567 07:02:49,120 --> 07:02:51,600 understand that I like have a YouTube 14568 07:02:50,558 --> 07:02:53,360 channel, and that I'm trying to make 14569 07:02:51,600 --> 07:02:54,958 content on like Nitn, Claude Code, stuff 14570 07:02:53,360 --> 07:02:56,878 like that. Now, the first option we get 14571 07:02:54,958 --> 07:02:57,920 is what tools do you want it to use? So, 14572 07:02:56,878 --> 07:02:59,120 I'm just going to go ahead and choose 14573 07:02:57,920 --> 07:03:00,400 all. But here's where you could go ahead 14574 07:02:59,120 --> 07:03:03,280 and say like I only want it to have 14575 07:03:00,400 --> 07:03:04,240 readonly and you know MCP. That's it. 14576 07:03:03,280 --> 07:03:06,320 But like I said, I'm just going to 14577 07:03:04,240 --> 07:03:07,440 choose all and continue. We also now get 14578 07:03:06,320 --> 07:03:09,040 to choose the model. So, I'm just going 14579 07:03:07,440 --> 07:03:10,240 to go ahead and go with sonnet. And then 14580 07:03:09,040 --> 07:03:11,840 you can choose a color for your sub 14581 07:03:10,240 --> 07:03:13,440 agent, which is pretty cool. You only 14582 07:03:11,840 --> 07:03:14,718 really see this in the terminal. So, 14583 07:03:13,440 --> 07:03:16,718 like let's say I'm in the terminal and I 14584 07:03:14,718 --> 07:03:18,478 say, "Hey, run the AI trend hunter." We 14585 07:03:16,718 --> 07:03:20,000 would see that this color I'm pointing 14586 07:03:18,478 --> 07:03:21,520 at my screen like you guys can see. we 14587 07:03:20,000 --> 07:03:22,798 would see that this color pops up and 14588 07:03:21,520 --> 07:03:24,240 that's how we know that that agent's 14589 07:03:22,798 --> 07:03:25,840 being used. We have the ability to 14590 07:03:24,240 --> 07:03:27,360 configure memory which I know I haven't 14591 07:03:25,840 --> 07:03:28,558 touched on yet. I will touch on that a 14592 07:03:27,360 --> 07:03:30,400 little bit later, but for now let's just 14593 07:03:28,558 --> 07:03:32,000 go ahead and do the recommended enable 14594 07:03:30,400 --> 07:03:33,680 option. And now what we get to do is we 14595 07:03:32,000 --> 07:03:34,878 get to see how the agent is configured. 14596 07:03:33,680 --> 07:03:37,520 So this is the name, this is the 14597 07:03:34,878 --> 07:03:38,798 location, tools, model, memory, and we 14598 07:03:37,520 --> 07:03:40,400 can see the description which tells 14599 07:03:38,798 --> 07:03:42,080 Cloud how to use the agent and then we 14600 07:03:40,400 --> 07:03:43,600 can see the system prompt. Now it did 14601 07:03:42,080 --> 07:03:44,798 make this description kind of long. So, 14602 07:03:43,600 --> 07:03:47,200 we might want to change that cuz that 14603 07:03:44,798 --> 07:03:48,638 might be using up too many tokens, but 14604 07:03:47,200 --> 07:03:50,478 that should probably guarantee that it 14605 07:03:48,638 --> 07:03:52,478 will get invoked at the right times. But 14606 07:03:50,478 --> 07:03:54,240 anyways, you can see you are an elite AI 14607 07:03:52,478 --> 07:03:56,240 trend hunter. Here is your mission. 14608 07:03:54,240 --> 07:03:57,840 Here's what you're looking for. It tells 14609 07:03:56,240 --> 07:03:59,760 it about how to use its memory and how 14610 07:03:57,840 --> 07:04:01,360 to update that and how to search for 14611 07:03:59,760 --> 07:04:03,040 past context, which is helpful for a 14612 07:04:01,360 --> 07:04:04,478 tool like trends because I don't need to 14613 07:04:03,040 --> 07:04:06,080 get an update on something that it told 14614 07:04:04,478 --> 07:04:07,520 me about, you know, like 2 hours ago. 14615 07:04:06,080 --> 07:04:09,120 And if you're getting an error that says 14616 07:04:07,520 --> 07:04:10,878 like it can't create it because that 14617 07:04:09,120 --> 07:04:12,878 folder already exists, then what I would 14618 07:04:10,878 --> 07:04:14,080 do is I would rename the current folder 14619 07:04:12,878 --> 07:04:16,400 that's called agents. So just call it 14620 07:04:14,080 --> 07:04:17,840 like agents one and then hit enter. It 14621 07:04:16,400 --> 07:04:19,440 should be able to create the agent. Move 14622 07:04:17,840 --> 07:04:20,718 all your agents into that new folder and 14623 07:04:19,440 --> 07:04:21,840 then just delete the old one. I think 14624 07:04:20,718 --> 07:04:24,400 that's just a bug. I've gotten that a 14625 07:04:21,840 --> 07:04:25,680 few times before, but it still works. 14626 07:04:24,400 --> 07:04:27,520 But then over here, you also notice that 14627 07:04:25,680 --> 07:04:29,760 we have agent memory. So right now we 14628 07:04:27,520 --> 07:04:31,600 have a folder for the AI trend hunter. 14629 07:04:29,760 --> 07:04:33,360 There's not a memory file in there yet. 14630 07:04:31,600 --> 07:04:35,280 But for example, our content hunter does 14631 07:04:33,360 --> 07:04:37,600 have a memory file and it will get 14632 07:04:35,280 --> 07:04:39,120 created after we run the AI trend hunter 14633 07:04:37,600 --> 07:04:41,760 one time. So what I'm going to do is I'm 14634 07:04:39,120 --> 07:04:43,440 just going to run the actual um AI trend 14635 07:04:41,760 --> 07:04:44,638 hunter agent in the terminal so you guys 14636 07:04:43,440 --> 07:04:46,160 can see what that color thing looks 14637 07:04:44,638 --> 07:04:48,000 like. Now what's interesting here is 14638 07:04:46,160 --> 07:04:50,000 I've already given it the API keys that 14639 07:04:48,000 --> 07:04:52,558 it needs in this project for like 14640 07:04:50,000 --> 07:04:53,600 perplexity or for X. But that's 14641 07:04:52,558 --> 07:04:54,878 something else that you will have to 14642 07:04:53,600 --> 07:04:56,478 configure if you're setting up an agent 14643 07:04:54,878 --> 07:04:58,558 for the first time. It needs to know 14644 07:04:56,478 --> 07:05:00,718 where to access those API keys if it's 14645 07:04:58,558 --> 07:05:02,400 calling some sort of API or doing other 14646 07:05:00,718 --> 07:05:04,240 tools like that. And as you can see, we 14647 07:05:02,400 --> 07:05:06,080 can see that the AI trend hunter is 14648 07:05:04,240 --> 07:05:07,120 firing off. We can see the web searches 14649 07:05:06,080 --> 07:05:08,478 and the different things that it's 14650 07:05:07,120 --> 07:05:10,400 doing. We have the ability to hit 14651 07:05:08,478 --> 07:05:11,840 control O if we want to expand and see 14652 07:05:10,400 --> 07:05:13,360 like everything that it's thinking and 14653 07:05:11,840 --> 07:05:15,040 doing. And right here, we can see the 14654 07:05:13,360 --> 07:05:17,200 prompts that the main workflow actually 14655 07:05:15,040 --> 07:05:18,320 fed into this sub agent, which is pretty 14656 07:05:17,200 --> 07:05:20,160 cool. And the other thing you'll notice 14657 07:05:18,320 --> 07:05:21,600 is that right here we could hit controlB 14658 07:05:20,160 --> 07:05:23,520 in order to run this agent in the 14659 07:05:21,600 --> 07:05:24,638 background which basically just means we 14660 07:05:23,520 --> 07:05:26,400 would be able to keep talking to the 14661 07:05:24,638 --> 07:05:28,160 main session while we wait for this 14662 07:05:26,400 --> 07:05:29,440 background agent to finish up just in 14663 07:05:28,160 --> 07:05:30,558 case we want to keep working and we 14664 07:05:29,440 --> 07:05:31,680 don't want to be blocked right now 14665 07:05:30,558 --> 07:05:33,280 because this is running in the 14666 07:05:31,680 --> 07:05:34,638 foreground. And by the way, the reason 14667 07:05:33,280 --> 07:05:36,558 this doesn't have a color is because I 14668 07:05:34,638 --> 07:05:37,840 chose no color. But I'll just check in 14669 07:05:36,558 --> 07:05:39,840 with you guys when the sub agent has 14670 07:05:37,840 --> 07:05:41,600 come back with a summary for us. All 14671 07:05:39,840 --> 07:05:43,600 right, so sub agent came back. We have 14672 07:05:41,600 --> 07:05:46,080 some hot signals. We've got some warm 14673 07:05:43,600 --> 07:05:47,600 signals. We've got top video ideas and a 14674 07:05:46,080 --> 07:05:49,120 key pattern. And so once again, the 14675 07:05:47,600 --> 07:05:51,600 value prop here is that the sub agent 14676 07:05:49,120 --> 07:05:53,840 used about 40,000 tokens, but the main 14677 07:05:51,600 --> 07:05:55,360 agent only had to actually eat up this 14678 07:05:53,840 --> 07:05:57,440 many tokens, which is nowhere near 14679 07:05:55,360 --> 07:05:59,280 40,000. If I run a quick context 14680 07:05:57,440 --> 07:06:00,798 command, we should be able to see that 14681 07:05:59,280 --> 07:06:02,718 this session right now has only used 14682 07:06:00,798 --> 07:06:04,080 29,000. So that just proves that the 14683 07:06:02,718 --> 07:06:06,320 main agent didn't have to look at all 14684 07:06:04,080 --> 07:06:07,840 those 40,000 tokens. Now, what else just 14685 07:06:06,320 --> 07:06:10,160 happened here is we can see that a new 14686 07:06:07,840 --> 07:06:12,000 file was created in the agent-memory, 14687 07:06:10,160 --> 07:06:13,360 which is the AI trend hunter. This is 14688 07:06:12,000 --> 07:06:15,360 the actual file that the sub aent is 14689 07:06:13,360 --> 07:06:17,040 going to read when it gets woken up. It 14690 07:06:15,360 --> 07:06:19,200 can see good sources to use. It can see 14691 07:06:17,040 --> 07:06:21,360 recurring topics. It can see patterns 14692 07:06:19,200 --> 07:06:23,298 and video angles that worked and also 14693 07:06:21,360 --> 07:06:24,558 the latest scan. So yes, it wakes 14694 07:06:23,298 --> 07:06:27,040 [clears throat] up on a completely fresh 14695 07:06:24,558 --> 07:06:28,798 set of conversation, but it also does 14696 07:06:27,040 --> 07:06:31,360 get some information to make it a little 14697 07:06:28,798 --> 07:06:34,160 bit more like recent. Okay, so that was 14698 07:06:31,360 --> 07:06:36,638 a quick live build of an agent. Now, we 14699 07:06:34,160 --> 07:06:38,878 used the / agents command to do so, 14700 07:06:36,638 --> 07:06:41,120 which lets us view agents, create new 14701 07:06:38,878 --> 07:06:43,120 agents, edit configs of agents, delete 14702 07:06:41,120 --> 07:06:44,240 them, and see agents that are active. 14703 07:06:43,120 --> 07:06:46,160 However, the one thing that's not great 14704 07:06:44,240 --> 07:06:47,760 is when we do the slash agents and we 14705 07:06:46,160 --> 07:06:50,558 want to like let's say for example edit 14706 07:06:47,760 --> 07:06:52,080 the AI trend hunter. If we choose edit, 14707 07:06:50,558 --> 07:06:54,000 it basically makes us open this in an 14708 07:06:52,080 --> 07:06:55,920 editor and edit the actual text file 14709 07:06:54,000 --> 07:06:58,558 itself. So, it doesn't really let us use 14710 07:06:55,920 --> 07:07:00,478 its AI brain in a really nice way to 14711 07:06:58,558 --> 07:07:01,920 optimize our sub aents. And there's so 14712 07:07:00,478 --> 07:07:03,280 many little nitty-gritty things that go 14713 07:07:01,920 --> 07:07:04,878 into how you use them and different 14714 07:07:03,280 --> 07:07:06,558 agent patterns and things like that. So, 14715 07:07:04,878 --> 07:07:08,478 what I did is I built you guys a skill 14716 07:07:06,558 --> 07:07:10,638 called agent builder which is trained on 14717 07:07:08,478 --> 07:07:12,718 pretty much the complete official docs 14718 07:07:10,638 --> 07:07:14,000 of cloud code sub aents. And so what 14719 07:07:12,718 --> 07:07:16,558 that would let us do is you can see 14720 07:07:14,000 --> 07:07:17,920 right here we have an agent builder. And 14721 07:07:16,558 --> 07:07:19,760 when I invoke this, it's going to help 14722 07:07:17,920 --> 07:07:21,760 me like run an audit on that agent that 14723 07:07:19,760 --> 07:07:23,600 we just built and see how we can 14724 07:07:21,760 --> 07:07:25,440 basically make it better. So this agent 14725 07:07:23,600 --> 07:07:26,638 builder skill can be found in my free 14726 07:07:25,440 --> 07:07:27,760 school community. The link is down in 14727 07:07:26,638 --> 07:07:29,200 the description. You would go to 14728 07:07:27,760 --> 07:07:30,558 classroom and then you'd come to agent 14729 07:07:29,200 --> 07:07:32,160 skills and you'd be able to download 14730 07:07:30,558 --> 07:07:34,400 that skill and just put it right into 14731 07:07:32,160 --> 07:07:36,080 your own project. So you can see after I 14732 07:07:34,400 --> 07:07:37,920 invoked it, it said, "Awesome. I've read 14733 07:07:36,080 --> 07:07:39,520 the AI trend hunter agent and I've ran 14734 07:07:37,920 --> 07:07:40,878 the audit. Here's what I found." So 14735 07:07:39,520 --> 07:07:42,558 there's no current tool restrictions. If 14736 07:07:40,878 --> 07:07:43,840 there's no max turn set and the 14737 07:07:42,558 --> 07:07:45,120 description is bloated, here are some 14738 07:07:43,840 --> 07:07:46,320 other things that would be nice to have. 14739 07:07:45,120 --> 07:07:47,520 And then here are some things that look 14740 07:07:46,320 --> 07:07:49,360 good. So then it says, "Hey, do you want 14741 07:07:47,520 --> 07:07:50,798 me to change these exact things?" And it 14742 07:07:49,360 --> 07:07:52,718 will actually help you brainstorm over 14743 07:07:50,798 --> 07:07:54,080 how to make your agent file much, much 14744 07:07:52,718 --> 07:07:55,360 better. All right, so now that you 14745 07:07:54,080 --> 07:07:56,878 understand that, let's talk about what 14746 07:07:55,360 --> 07:07:58,320 else actually goes into making our sub 14747 07:07:56,878 --> 07:08:00,478 agents really good. So the first thing 14748 07:07:58,320 --> 07:08:01,840 is auto delegation. And unfortunately, a 14749 07:08:00,478 --> 07:08:03,360 lot of these things just mean that you 14750 07:08:01,840 --> 07:08:04,558 have to use them a few times. And the 14751 07:08:03,360 --> 07:08:06,080 more you use it, the better you 14752 07:08:04,558 --> 07:08:07,280 understand how to improve it. So, you 14753 07:08:06,080 --> 07:08:08,718 want to be making sure that in your 14754 07:08:07,280 --> 07:08:10,320 natural language when you're explaining 14755 07:08:08,718 --> 07:08:13,040 like the goal that you're looking for, 14756 07:08:10,320 --> 07:08:15,200 it understands to delegate that to a sub 14757 07:08:13,040 --> 07:08:16,638 agent or maybe multiple sub agents. 14758 07:08:15,200 --> 07:08:18,080 Then, we have the idea of foreground 14759 07:08:16,638 --> 07:08:19,840 versus background. Kind of like I showed 14760 07:08:18,080 --> 07:08:21,760 you guys, foreground blocks the main 14761 07:08:19,840 --> 07:08:23,200 chat and the background lets them run 14762 07:08:21,760 --> 07:08:25,120 behind the scenes so you can keep 14763 07:08:23,200 --> 07:08:26,878 talking to the main session. And then 14764 07:08:25,120 --> 07:08:28,878 again, we have the strategy of taking a 14765 07:08:26,878 --> 07:08:30,478 huge amount of context and having the 14766 07:08:28,878 --> 07:08:32,000 sub agent process that rather than the 14767 07:08:30,478 --> 07:08:34,160 main agent. We have this idea of 14768 07:08:32,000 --> 07:08:35,840 composable skills and agents being able 14769 07:08:34,160 --> 07:08:37,600 to let them work together. So kind of 14770 07:08:35,840 --> 07:08:39,040 like that demo that you guys saw. So if 14771 07:08:37,600 --> 07:08:40,958 I hop back into cloud code, you guys 14772 07:08:39,040 --> 07:08:43,440 remember I used the carousel skill in 14773 07:08:40,958 --> 07:08:46,000 that demo. And in this MD, it basically 14774 07:08:43,440 --> 07:08:47,600 says gather the input and then you plan 14775 07:08:46,000 --> 07:08:49,360 the carousel. And you do this by 14776 07:08:47,600 --> 07:08:51,760 delegating to the carousel planner 14777 07:08:49,360 --> 07:08:53,520 agent. So anytime I invoke this skill, 14778 07:08:51,760 --> 07:08:55,040 the carousel planner agent gets called 14779 07:08:53,520 --> 07:08:56,240 on. And I've got another one where it 14780 07:08:55,040 --> 07:08:58,240 actually delegates to two different 14781 07:08:56,240 --> 07:08:59,920 agents. If I go to my idea mining and I 14782 07:08:58,240 --> 07:09:01,440 go to this skill MD, you can see that 14783 07:08:59,920 --> 07:09:03,120 the first agent we call is the YouTube 14784 07:09:01,440 --> 07:09:05,440 analyzer and then the second agent that 14785 07:09:03,120 --> 07:09:07,040 we call is the researcher agent. So once 14786 07:09:05,440 --> 07:09:08,798 again, this skill calls on different 14787 07:09:07,040 --> 07:09:11,360 agents. But what else you can do is you 14788 07:09:08,798 --> 07:09:12,878 can have agents invoke skills. So you'll 14789 07:09:11,360 --> 07:09:14,478 really start to see as you build up this 14790 07:09:12,878 --> 07:09:16,000 library of different skills and agents, 14791 07:09:14,478 --> 07:09:18,160 they can all sort of come together in a 14792 07:09:16,000 --> 07:09:20,320 really cool way. Tiny agents win. So 14793 07:09:18,160 --> 07:09:22,320 don't have one that plans and builds and 14794 07:09:20,320 --> 07:09:24,558 tests and documents and researches and 14795 07:09:22,320 --> 07:09:26,400 reviews. have one that does each of 14796 07:09:24,558 --> 07:09:28,878 those individual steps and then the main 14797 07:09:26,400 --> 07:09:31,120 session can just reconcile all of that. 14798 07:09:28,878 --> 07:09:32,958 Utilize parallel research. So maybe you 14799 07:09:31,120 --> 07:09:34,798 need to do some research on O, some on 14800 07:09:32,958 --> 07:09:36,478 database, some on APIs and then 14801 07:09:34,798 --> 07:09:38,000 synthesize all that. But just remember 14802 07:09:36,478 --> 07:09:39,760 they can't talk to each other while 14803 07:09:38,000 --> 07:09:41,840 they're doing their individual research 14804 07:09:39,760 --> 07:09:43,040 unless it's an agent team. And then kind 14805 07:09:41,840 --> 07:09:44,878 of like the way you can use them in 14806 07:09:43,040 --> 07:09:46,558 skills is you can chain them together. 14807 07:09:44,878 --> 07:09:48,000 So once you have a specific process, you 14808 07:09:46,558 --> 07:09:49,520 can say, "Hey, I need you to first use 14809 07:09:48,000 --> 07:09:51,200 the code reviewer agent and then the 14810 07:09:49,520 --> 07:09:52,558 optimizer agent and then this agent and 14811 07:09:51,200 --> 07:09:54,080 then that agent." And that basically 14812 07:09:52,558 --> 07:09:56,718 becomes an AI workflow where it's a 14813 07:09:54,080 --> 07:09:58,558 deterministic order of operations, but 14814 07:09:56,718 --> 07:10:00,478 some of the processes within are 14815 07:09:58,558 --> 07:10:02,878 non-deterministic. It gives us way more 14816 07:10:00,478 --> 07:10:04,878 control and that whole process is going 14817 07:10:02,878 --> 07:10:06,638 to get refined really well. And then 14818 07:10:04,878 --> 07:10:09,040 remember, start to optimize for cost and 14819 07:10:06,638 --> 07:10:11,040 speed. So rather than using Opus 4.6 for 14820 07:10:09,040 --> 07:10:12,478 every single thing you need to process, 14821 07:10:11,040 --> 07:10:14,400 every single sub agent, start to 14822 07:10:12,478 --> 07:10:16,400 understand how can I run these ones with 14823 07:10:14,400 --> 07:10:17,920 Haiku and these ones with Sonnet and see 14824 07:10:16,400 --> 07:10:19,760 if you can get, you know, parallel 14825 07:10:17,920 --> 07:10:21,440 agents running that are giving you way 14826 07:10:19,760 --> 07:10:22,878 more bang for your buck. So remember I 14827 07:10:21,440 --> 07:10:24,400 touched on the fact that agents can use 14828 07:10:22,878 --> 07:10:25,840 skills. You could just have them do that 14829 07:10:24,400 --> 07:10:27,360 in natural language because they can 14830 07:10:25,840 --> 07:10:29,280 view the whole project just the same way 14831 07:10:27,360 --> 07:10:31,120 that a main agent would. But you can 14832 07:10:29,280 --> 07:10:32,878 also preload those. So in the front 14833 07:10:31,120 --> 07:10:34,558 matter you can tell it specifically here 14834 07:10:32,878 --> 07:10:35,760 are two skills that you need to use. And 14835 07:10:34,558 --> 07:10:38,080 then you can also think about things 14836 07:10:35,760 --> 07:10:39,840 like sub agent compaction. So by default 14837 07:10:38,080 --> 07:10:41,920 I think it's around 95% when the sub 14838 07:10:39,840 --> 07:10:43,840 aents will compact. But you could also 14839 07:10:41,920 --> 07:10:45,760 change that autocompact to make it you 14840 07:10:43,840 --> 07:10:47,360 know 50% so that you avoid that context 14841 07:10:45,760 --> 07:10:49,520 rot. So now I think you guys understand 14842 07:10:47,360 --> 07:10:51,920 what I mean when I said there are so 14843 07:10:49,520 --> 07:10:54,000 many different things in this doc about 14844 07:10:51,920 --> 07:10:55,280 how to best use sub agents. Here are all 14845 07:10:54,000 --> 07:10:57,200 of the different supported front matter 14846 07:10:55,280 --> 07:10:59,040 fields. We've got name, description, 14847 07:10:57,200 --> 07:11:00,638 tools, disallowed tools, model, 14848 07:10:59,040 --> 07:11:02,240 permission mode, max turns, blah blah 14849 07:11:00,638 --> 07:11:03,600 blah. There's more and more. And so 14850 07:11:02,240 --> 07:11:05,280 that's why if you want to learn more 14851 07:11:03,600 --> 07:11:07,600 about sub aents and optimize your sub 14852 07:11:05,280 --> 07:11:09,440 agents, just use that skilluer skill 14853 07:11:07,600 --> 07:11:11,040 that I have given you guys. As you can 14854 07:11:09,440 --> 07:11:13,040 see, this is the markdown file for it. 14855 07:11:11,040 --> 07:11:15,040 And then I also gave it a reference MD 14856 07:11:13,040 --> 07:11:17,200 file which is basically even more 14857 07:11:15,040 --> 07:11:18,798 information about this documentation of 14858 07:11:17,200 --> 07:11:23,240 how to build sub aents. So this should 14859 07:11:18,798 --> 07:11:23,240 really help when you are doing this. 14860 07:11:23,360 --> 07:11:26,240 I just pasted in this message and I'm 14861 07:11:24,798 --> 07:11:28,240 shooting it off to Claude and it says 14862 07:11:26,240 --> 07:11:29,840 create a team called Neuroflow of three 14863 07:11:28,240 --> 07:11:31,600 teammates using Sonnet. The first one is 14864 07:11:29,840 --> 07:11:33,440 a front-end developer, the second one is 14865 07:11:31,600 --> 07:11:36,000 a back-end developer and the third one 14866 07:11:33,440 --> 07:11:37,680 is a QA agent. So this now invoked a 14867 07:11:36,000 --> 07:11:39,120 tool called team create. And you can see 14868 07:11:37,680 --> 07:11:40,798 that what it's doing is now that it's 14869 07:11:39,120 --> 07:11:42,478 created this team, it's spawning up 14870 07:11:40,798 --> 07:11:44,320 three teammates in parallel. And these 14871 07:11:42,478 --> 07:11:45,600 are all individual agents. So right now 14872 07:11:44,320 --> 07:11:47,120 we can see we have our front-end 14873 07:11:45,600 --> 07:11:49,280 developer, we have our back-end 14874 07:11:47,120 --> 07:11:50,558 developer, and we have our QA agent. So 14875 07:11:49,280 --> 07:11:52,160 what's happening is right now we have 14876 07:11:50,558 --> 07:11:54,080 these three agents working together with 14877 07:11:52,160 --> 07:11:55,600 our main session. They all share a task 14878 07:11:54,080 --> 07:11:56,718 list. They can talk to each other. And 14879 07:11:55,600 --> 07:11:58,478 I'm going to check back in with you guys 14880 07:11:56,718 --> 07:11:59,760 once this is done. Okay, so this is 14881 07:11:58,478 --> 07:12:01,680 really interesting. The front end and 14882 07:11:59,760 --> 07:12:03,920 backend developer sent work over to the 14883 07:12:01,680 --> 07:12:05,680 QA agent, and then the QA agent found 14884 07:12:03,920 --> 07:12:07,040 three critical issues. So, the main 14885 07:12:05,680 --> 07:12:08,478 agent said that it's going to send all 14886 07:12:07,040 --> 07:12:09,920 of this work right back to those first 14887 07:12:08,478 --> 07:12:11,200 two agents to take another pass at it. 14888 07:12:09,920 --> 07:12:12,478 So, here's where you can see it sent off 14889 07:12:11,200 --> 07:12:14,638 those messages to the front-end 14890 07:12:12,478 --> 07:12:16,160 developer, the backend dev, and the QA. 14891 07:12:14,638 --> 07:12:17,760 And now they're all back to work once 14892 07:12:16,160 --> 07:12:20,080 again. And there we go. The second time 14893 07:12:17,760 --> 07:12:21,280 the QA agent gives it a pass. All three 14894 07:12:20,080 --> 07:12:22,878 of those critical issues have been 14895 07:12:21,280 --> 07:12:24,958 resolved. And then it was able to 14896 07:12:22,878 --> 07:12:26,000 basically oneshot this website. Now, 14897 07:12:24,958 --> 07:12:27,280 obviously, there are some things that 14898 07:12:26,000 --> 07:12:28,798 aren't perfect about this, and we'd want 14899 07:12:27,280 --> 07:12:30,400 to go back and iterate, but considering 14900 07:12:28,798 --> 07:12:32,638 in the prompt, all I said was to build 14901 07:12:30,400 --> 07:12:34,478 me a landing page for a fictional AI 14902 07:12:32,638 --> 07:12:36,240 startup. And we get all of this text. We 14903 07:12:34,478 --> 07:12:37,840 get these animations. We get all of this 14904 07:12:36,240 --> 07:12:39,360 stuff to come in dynamically. And it 14905 07:12:37,840 --> 07:12:41,200 feels pretty polished. It came up with 14906 07:12:39,360 --> 07:12:42,638 all the copy, the color scheme, all of 14907 07:12:41,200 --> 07:12:44,400 it. This is truly one of the most 14908 07:12:42,638 --> 07:12:45,920 powerful AI agent features I've ever 14909 07:12:44,400 --> 07:12:47,120 used, but you have to know how to use 14910 07:12:45,920 --> 07:12:48,160 it, right? Which is why in today's 14911 07:12:47,120 --> 07:12:49,680 video, I'm going to explain everything 14912 07:12:48,160 --> 07:12:51,280 you need to know. What they are, how to 14913 07:12:49,680 --> 07:12:52,798 set them up, how to use them, when not 14914 07:12:51,280 --> 07:12:54,160 to use them, everything that you need. 14915 07:12:52,798 --> 07:12:55,920 So, let's not waste any time and get 14916 07:12:54,160 --> 07:12:57,600 straight into the video. So, agent 14917 07:12:55,920 --> 07:12:59,520 teams, as you guys saw in the demo, we 14918 07:12:57,600 --> 07:13:00,958 had one get spun up called Neuroflow. 14919 07:12:59,520 --> 07:13:02,240 And in that team, we had three agents. 14920 07:13:00,958 --> 07:13:04,320 We had the front-end dev, the backend 14921 07:13:02,240 --> 07:13:06,000 dev, and the QA. So, what happens is the 14922 07:13:04,320 --> 07:13:07,840 main orchestrator, the cloud code 14923 07:13:06,000 --> 07:13:09,840 session you're talking to, creates these 14924 07:13:07,840 --> 07:13:11,200 different agents and manages them, but 14925 07:13:09,840 --> 07:13:12,798 not in the same way that we do sub 14926 07:13:11,200 --> 07:13:14,400 agents because sub agents work 14927 07:13:12,798 --> 07:13:16,240 independently and then they send their 14928 07:13:14,400 --> 07:13:18,478 individual result back to the main 14929 07:13:16,240 --> 07:13:20,240 agent. Agent teams have a team lead, 14930 07:13:18,478 --> 07:13:21,520 maybe like a project manager, and it 14931 07:13:20,240 --> 07:13:23,680 creates all of these different agents 14932 07:13:21,520 --> 07:13:26,080 and a shared task list. So, the huge 14933 07:13:23,680 --> 07:13:27,760 unlock here is that individual teammates 14934 07:13:26,080 --> 07:13:29,440 can talk to each other. So, sometimes 14935 07:13:27,760 --> 07:13:30,878 there's a dependency. teammate one needs 14936 07:13:29,440 --> 07:13:32,240 something from teammate two and they can 14937 07:13:30,878 --> 07:13:33,520 just talk and you can get in these 14938 07:13:32,240 --> 07:13:35,280 really cool loops especially when you 14939 07:13:33,520 --> 07:13:36,958 have the QA agent like we just saw in 14940 07:13:35,280 --> 07:13:38,240 the demo where one of the teammates will 14941 07:13:36,958 --> 07:13:39,840 basically say hey this isn't good enough 14942 07:13:38,240 --> 07:13:41,280 and send the work back and then the main 14943 07:13:39,840 --> 07:13:42,878 agent like I said is just making sure 14944 07:13:41,280 --> 07:13:44,558 that the tasks are getting done and that 14945 07:13:42,878 --> 07:13:45,760 they're all high quality. So that's the 14946 07:13:44,558 --> 07:13:47,200 big difference between sub agents and 14947 07:13:45,760 --> 07:13:48,638 agent teams and I had to clear that up 14948 07:13:47,200 --> 07:13:50,160 because I know that's probably where 14949 07:13:48,638 --> 07:13:51,520 there's some confusion. So, I am going 14950 07:13:50,160 --> 07:13:52,798 to break more stuff down, but what I 14951 07:13:51,520 --> 07:13:54,240 wanted to do first is just show you guys 14952 07:13:52,798 --> 07:13:55,520 how to set this up because I think the 14953 07:13:54,240 --> 07:13:56,958 best way to learn is just to be able to 14954 07:13:55,520 --> 07:13:58,638 play around with stuff. And all you have 14955 07:13:56,958 --> 07:14:00,240 to do to set this up is add one 14956 07:13:58,638 --> 07:14:01,360 environment variable into your project 14957 07:14:00,240 --> 07:14:03,120 setting. So, let me show you how that 14958 07:14:01,360 --> 07:14:05,360 works right now. All right, here I am in 14959 07:14:03,120 --> 07:14:07,440 cloud code. I like to use it in VS Code, 14960 07:14:05,360 --> 07:14:09,280 but you can use the agent teams feature 14961 07:14:07,440 --> 07:14:10,638 wherever you decide to use cloud code. 14962 07:14:09,280 --> 07:14:12,080 You can see that I am in a brand new 14963 07:14:10,638 --> 07:14:13,680 project with nothing in it. So, this is 14964 07:14:12,080 --> 07:14:14,718 exactly what one of your guys' setup 14965 07:14:13,680 --> 07:14:16,000 should look like if you want to follow 14966 07:14:14,718 --> 07:14:17,360 along. So, like I said, we need to 14967 07:14:16,000 --> 07:14:19,840 enable the feature. And I'm going to do 14968 07:14:17,360 --> 07:14:20,958 that in this demo on the project level. 14969 07:14:19,840 --> 07:14:22,478 So, what I'm going to do is go to the 14970 07:14:20,958 --> 07:14:24,080 official Cloud Code documentation for 14971 07:14:22,478 --> 07:14:25,600 agent teams. And you can see right here 14972 07:14:24,080 --> 07:14:27,120 that it says they are disabled by 14973 07:14:25,600 --> 07:14:28,958 default because it's an experimental 14974 07:14:27,120 --> 07:14:30,478 feature. So, you have to enable them by 14975 07:14:28,958 --> 07:14:32,080 adding this variable into your 14976 07:14:30,478 --> 07:14:33,920 settings.json. So, what I'm going to do 14977 07:14:32,080 --> 07:14:35,760 is literally just copy this JSON right 14978 07:14:33,920 --> 07:14:37,760 here and come into Cloud Code and say, 14979 07:14:35,760 --> 07:14:40,320 "Hey, I need you to put this in our 14980 07:14:37,760 --> 07:14:42,558 local settings in this project." And 14981 07:14:40,320 --> 07:14:43,440 then just paste in that JSON prompt. And 14982 07:14:42,558 --> 07:14:44,718 I'm going to go ahead and shoot that 14983 07:14:43,440 --> 07:14:46,878 off. And that should basically be able 14984 07:14:44,718 --> 07:14:48,080 to create that file for us. So you can 14985 07:14:46,878 --> 07:14:49,680 see that it set everything up. We now 14986 07:14:48,080 --> 07:14:51,920 have acloud folder. If I click into 14987 07:14:49,680 --> 07:14:54,000 here, we have a settings.local.json 14988 07:14:51,920 --> 07:14:55,680 and it has put that command in there. 14989 07:14:54,000 --> 07:14:57,840 And now our project should be set up to 14990 07:14:55,680 --> 07:14:59,120 actually be able to use agent teams. Now 14991 07:14:57,840 --> 07:15:00,478 before we dive in and I start showing 14992 07:14:59,120 --> 07:15:02,080 you guys how to do that, there is one 14993 07:15:00,478 --> 07:15:03,840 thing that I recommend doing first. And 14994 07:15:02,080 --> 07:15:06,000 that's basically training your cloud 14995 07:15:03,840 --> 07:15:07,360 code project on how agent teams work so 14996 07:15:06,000 --> 07:15:08,958 that they can actually be used as 14997 07:15:07,360 --> 07:15:10,320 effectively as possible. So the easiest 14998 07:15:08,958 --> 07:15:12,160 way to do this is you go to the 14999 07:15:10,320 --> 07:15:14,160 documentation on agent teams. You take 15000 07:15:12,160 --> 07:15:15,920 the URL and you copy it. And then I 15001 07:15:14,160 --> 07:15:17,440 said, "Hey, create me a master reference 15002 07:15:15,920 --> 07:15:19,200 guide for agent teams in a folder called 15003 07:15:17,440 --> 07:15:20,798 docs. This will be used to help you 15004 07:15:19,200 --> 07:15:22,000 build better and more effective agents 15005 07:15:20,798 --> 07:15:23,520 in the future. And now it's going to 15006 07:15:22,000 --> 07:15:24,878 read through that documentation." And 15007 07:15:23,520 --> 07:15:26,478 now if you ever have questions about 15008 07:15:24,878 --> 07:15:28,080 agent teams or if it ever needs to look 15009 07:15:26,478 --> 07:15:29,760 up something while it is building them, 15010 07:15:28,080 --> 07:15:31,040 it already has that locally here stored 15011 07:15:29,760 --> 07:15:32,478 as markdown. So it's going to be much 15012 07:15:31,040 --> 07:15:34,000 quicker. And it just created this 15013 07:15:32,478 --> 07:15:35,680 documentation about enabling them, when 15014 07:15:34,000 --> 07:15:38,080 to use them, display modes, task 15015 07:15:35,680 --> 07:15:39,760 management, hooks, best practices, tons 15016 07:15:38,080 --> 07:15:41,600 of stuff like that. And that can be 15017 07:15:39,760 --> 07:15:44,080 found in the docs folder in this 15018 07:15:41,600 --> 07:15:46,320 section, which is a full markdown file 15019 07:15:44,080 --> 07:15:47,440 with hundreds of lines. And that's just 15020 07:15:46,320 --> 07:15:49,200 a little tip. That's something that I 15021 07:15:47,440 --> 07:15:51,520 like to do whenever I have like maybe a 15022 07:15:49,200 --> 07:15:52,878 big MCP server or certain documentation 15023 07:15:51,520 --> 07:15:54,160 that I know it might need to look at 15024 07:15:52,878 --> 07:15:55,680 constantly. So, now that we're pretty 15025 07:15:54,160 --> 07:15:57,360 much set up and ready to start building, 15026 07:15:55,680 --> 07:15:58,718 let's talk about prompting. How do we 15027 07:15:57,360 --> 07:16:00,160 actually tell Cloud Code to build us 15028 07:15:58,718 --> 07:16:02,000 agent teams, but not just to build them, 15029 07:16:00,160 --> 07:16:03,280 but to actually make them really good to 15030 07:16:02,000 --> 07:16:04,878 give you what you want? Because the 15031 07:16:03,280 --> 07:16:06,320 truth about agent teams is that they are 15032 07:16:04,878 --> 07:16:08,320 more expensive and they are a bit 15033 07:16:06,320 --> 07:16:10,160 slower. But you do get much higher 15034 07:16:08,320 --> 07:16:11,520 quality if you use them right. Now the 15035 07:16:10,160 --> 07:16:13,360 good news is you can pretty much invoke 15036 07:16:11,520 --> 07:16:15,200 them just using natural language. So I 15037 07:16:13,360 --> 07:16:18,400 kind of follow this pattern. Create a 15038 07:16:15,200 --> 07:16:20,958 team of X number of agents using X 15039 07:16:18,400 --> 07:16:22,558 model. So Hiku, Sonnet or Opus. And then 15040 07:16:20,958 --> 07:16:25,040 you basically just say the agents that 15041 07:16:22,558 --> 07:16:28,080 you want. You would say the first agent 15042 07:16:25,040 --> 07:16:30,400 is X ro this agent should be doing this 15043 07:16:28,080 --> 07:16:32,478 and it should produce me this. It can 15044 07:16:30,400 --> 07:16:34,878 talk to the other agents to do X Y and 15045 07:16:32,478 --> 07:16:37,200 Z. And so pretty much just listing that 15046 07:16:34,878 --> 07:16:39,840 out in natural language, whether that be 15047 07:16:37,200 --> 07:16:41,840 an API designer, a database engineer, 15048 07:16:39,840 --> 07:16:43,760 and or a test writer. So let's take a 15049 07:16:41,840 --> 07:16:44,878 real quick look at an example prompt. So 15050 07:16:43,760 --> 07:16:46,558 I'm going to read this full one out. 15051 07:16:44,878 --> 07:16:48,878 Now, what you'll notice is I start off 15052 07:16:46,558 --> 07:16:50,958 by establishing a goal. The reason I do 15053 07:16:48,878 --> 07:16:52,878 this is because when the agents wake up, 15054 07:16:50,958 --> 07:16:54,240 they have no context. They basically 15055 07:16:52,878 --> 07:16:56,478 only get the prompts that the main 15056 07:16:54,240 --> 07:16:58,400 session feeds into them. So if we tell 15057 07:16:56,478 --> 07:16:59,840 the main agent a goal to give to these 15058 07:16:58,400 --> 07:17:00,878 sub aents, they understand a little bit 15059 07:16:59,840 --> 07:17:02,798 better, you know, like what they're 15060 07:17:00,878 --> 07:17:04,558 working towards, but also why they have 15061 07:17:02,798 --> 07:17:06,080 their teammates next to them. So the 15062 07:17:04,558 --> 07:17:08,000 goal here is to build a working full 15063 07:17:06,080 --> 07:17:09,760 stack app with a REST API and a React 15064 07:17:08,000 --> 07:17:11,440 front end. The end result should be a 15065 07:17:09,760 --> 07:17:13,120 running app that I can view on a local 15066 07:17:11,440 --> 07:17:15,120 host. It should have users and post 15067 07:17:13,120 --> 07:17:16,718 functionality plus a QA test report 15068 07:17:15,120 --> 07:17:18,080 confirming that everything works. So 15069 07:17:16,718 --> 07:17:20,000 then I said, hey, create me a team of 15070 07:17:18,080 --> 07:17:21,760 three teammates using Sonnet. The first 15071 07:17:20,000 --> 07:17:23,920 one's a back-end dev. It should be doing 15072 07:17:21,760 --> 07:17:25,520 this. The second one is a front-end dev 15073 07:17:23,920 --> 07:17:27,840 and it should be doing this. And the 15074 07:17:25,520 --> 07:17:29,600 third one is a QA agent that should be 15075 07:17:27,840 --> 07:17:31,120 doing this. You can see that in the 15076 07:17:29,600 --> 07:17:32,958 descriptions I said when you're done 15077 07:17:31,120 --> 07:17:34,400 message the front-end dev. And then in 15078 07:17:32,958 --> 07:17:36,320 this one I said wait for the backend 15079 07:17:34,400 --> 07:17:38,798 dev's message and then you will send all 15080 07:17:36,320 --> 07:17:40,558 the stuff to the QA. And then I'm saying 15081 07:17:38,798 --> 07:17:42,160 what the final deliverables should be 15082 07:17:40,558 --> 07:17:43,600 because the main agent spins these three 15083 07:17:42,160 --> 07:17:44,958 up and then it's going to get a bunch of 15084 07:17:43,600 --> 07:17:46,558 information back. So what do I actually 15085 07:17:44,958 --> 07:17:49,840 want at the end of the day? I want a 15086 07:17:46,558 --> 07:17:52,320 running app. I want a report about pass 15087 07:17:49,840 --> 07:17:54,000 and fail tests. And then I want a doc 15088 07:17:52,320 --> 07:17:56,320 which is basically what was built, key 15089 07:17:54,000 --> 07:17:57,840 decisions, and how we run this moving 15090 07:17:56,320 --> 07:18:00,478 forward. So we're about to hop right 15091 07:17:57,840 --> 07:18:01,920 back into cloud code and live prompt an 15092 07:18:00,478 --> 07:18:04,478 agent. But real quick, let's talk about 15093 07:18:01,920 --> 07:18:06,638 some dos and don'ts. So do have each 15094 07:18:04,478 --> 07:18:08,000 agent own specific files because if you 15095 07:18:06,638 --> 07:18:09,520 don't do this and agents are sharing 15096 07:18:08,000 --> 07:18:11,680 files, they might overwrite each other's 15097 07:18:09,520 --> 07:18:14,400 work, which is not good. Do define the 15098 07:18:11,680 --> 07:18:16,320 output. Don't use vague deliverables. Do 15099 07:18:14,400 --> 07:18:17,520 name recipients. Don't just assume that 15100 07:18:16,320 --> 07:18:20,000 they're going to understand who to talk 15101 07:18:17,520 --> 07:18:22,080 to and why. Do have about three to five 15102 07:18:20,000 --> 07:18:24,240 teammates. Don't go for massive agent 15103 07:18:22,080 --> 07:18:26,080 swarms of 10 plus. That'll also be 10 15104 07:18:24,240 --> 07:18:27,680 times more expensive. And do give full 15105 07:18:26,080 --> 07:18:30,080 context because of the fact that no 15106 07:18:27,680 --> 07:18:31,440 history is given beforehand. Now, of 15107 07:18:30,080 --> 07:18:32,878 course, they can still read everything 15108 07:18:31,440 --> 07:18:34,718 in the project. They can still look 15109 07:18:32,878 --> 07:18:36,878 through all of those files, but no 15110 07:18:34,718 --> 07:18:38,080 context is fed in initially. And I will 15111 07:18:36,878 --> 07:18:39,600 show you exactly what I mean by that 15112 07:18:38,080 --> 07:18:41,120 when we go in here and spin up a new 15113 07:18:39,600 --> 07:18:42,558 agent team. Okay. So, I'm in that 15114 07:18:41,120 --> 07:18:44,320 project that we set up together. I'm in 15115 07:18:42,558 --> 07:18:46,160 a fresh session and I'm going to send 15116 07:18:44,320 --> 07:18:47,520 off this prompt. I said that the goal is 15117 07:18:46,160 --> 07:18:49,520 to help me clean up the workspace. We 15118 07:18:47,520 --> 07:18:50,878 have three agents called research team. 15119 07:18:49,520 --> 07:18:52,878 We're using Sonnet. We've got a 15120 07:18:50,878 --> 07:18:54,080 researcher, a strategist, and a critic. 15121 07:18:52,878 --> 07:18:55,280 And they're basically just going to read 15122 07:18:54,080 --> 07:18:56,558 through this project and make sure that 15123 07:18:55,280 --> 07:18:58,160 everything's accurate and make sure that 15124 07:18:56,558 --> 07:18:59,920 we're set up good. Let's take a look at 15125 07:18:58,160 --> 07:19:01,920 what's going on. It's creating the 15126 07:18:59,920 --> 07:19:03,600 research team, right? So, it's created 15127 07:19:01,920 --> 07:19:04,878 the team, and now we have a to-do list. 15128 07:19:03,600 --> 07:19:06,638 Now, what it's doing is it's going to 15129 07:19:04,878 --> 07:19:08,000 spawn the three teammates in parallel. 15130 07:19:06,638 --> 07:19:09,840 And when it spawns these, I'm going to 15131 07:19:08,000 --> 07:19:12,000 actually show you how. So, the first one 15132 07:19:09,840 --> 07:19:13,920 is a researcher. If I click into this, 15133 07:19:12,000 --> 07:19:15,200 you can see that this says in. So, this 15134 07:19:13,920 --> 07:19:18,478 is basically saying this is what the 15135 07:19:15,200 --> 07:19:20,000 main agent sent to the agent. you are 15136 07:19:18,478 --> 07:19:21,920 the researcher on the research team. 15137 07:19:20,000 --> 07:19:23,520 Here is what your job is and you have to 15138 07:19:21,920 --> 07:19:24,798 be thorough and include anything that 15139 07:19:23,520 --> 07:19:27,600 might be helpful. So this is basically 15140 07:19:24,798 --> 07:19:29,200 the prompt that spun up that agent. You 15141 07:19:27,600 --> 07:19:31,440 can see same exact thing happened for 15142 07:19:29,200 --> 07:19:32,878 the strategist and for the critic. And 15143 07:19:31,440 --> 07:19:34,798 if I clicked in, we could once again 15144 07:19:32,878 --> 07:19:36,958 read exactly what they were prompted to 15145 07:19:34,798 --> 07:19:38,478 do and the step-by-step instructions, 15146 07:19:36,958 --> 07:19:40,320 including stuff like when you're done, 15147 07:19:38,478 --> 07:19:42,638 send your five use cases to the critic 15148 07:19:40,320 --> 07:19:44,160 teammate using the send message tool, 15149 07:19:42,638 --> 07:19:45,760 which once again validates that these 15150 07:19:44,160 --> 07:19:47,760 agents are able to talk to each other 15151 07:19:45,760 --> 07:19:49,440 and send messages to each other. So now 15152 07:19:47,760 --> 07:19:51,200 we can see that all three of our agents 15153 07:19:49,440 --> 07:19:53,200 are running and they are all basically 15154 07:19:51,200 --> 07:19:54,558 just waiting for their turn. And you'll 15155 07:19:53,200 --> 07:19:56,080 notice what it does is pretty much every 15156 07:19:54,558 --> 07:19:57,600 time there's a new update, it updates 15157 07:19:56,080 --> 07:19:58,958 me. So here comes another live update. 15158 07:19:57,600 --> 07:20:01,200 Let's see if the researcher is finally 15159 07:19:58,958 --> 07:20:03,440 done. There we go. It's done. So now 15160 07:20:01,200 --> 07:20:04,878 what happens is we sent a message off to 15161 07:20:03,440 --> 07:20:06,878 the researcher. And let's go ahead and 15162 07:20:04,878 --> 07:20:08,478 see what that message actually said. So 15163 07:20:06,878 --> 07:20:11,040 this is the main agent talking to the 15164 07:20:08,478 --> 07:20:12,718 researcher. It said, "Did you send your 15165 07:20:11,040 --> 07:20:14,558 structured inventory to both the 15166 07:20:12,718 --> 07:20:16,160 strategist and the critic? Please make 15167 07:20:14,558 --> 07:20:17,360 sure the strategist also received it. 15168 07:20:16,160 --> 07:20:18,958 You were asked to message both 15169 07:20:17,360 --> 07:20:20,798 teammates. And then we can see that the 15170 07:20:18,958 --> 07:20:22,320 researcher confirmed that both teammates 15171 07:20:20,798 --> 07:20:23,760 received the inventory and now the 15172 07:20:22,320 --> 07:20:24,958 critic is running. All right, so 15173 07:20:23,760 --> 07:20:26,478 everything just finished up. All the 15174 07:20:24,958 --> 07:20:28,080 reports are here. But real quick, I 15175 07:20:26,478 --> 07:20:29,920 wanted to draw your attention to this. 15176 07:20:28,080 --> 07:20:32,320 The main agent said, "Cool. Let me shut 15177 07:20:29,920 --> 07:20:33,840 down the teammates and finalize." And 15178 07:20:32,320 --> 07:20:35,520 I'll touch on this a little bit later. 15179 07:20:33,840 --> 07:20:37,120 But now the main agent has sent a 15180 07:20:35,520 --> 07:20:38,638 message to each of them, the researcher, 15181 07:20:37,120 --> 07:20:40,958 the strategist, and the critic. And 15182 07:20:38,638 --> 07:20:42,400 basically said, "You're done. Save your 15183 07:20:40,958 --> 07:20:43,920 work." So anyways, we'll come back to 15184 07:20:42,400 --> 07:20:45,600 that in a little bit. But we now have an 15185 07:20:43,920 --> 07:20:47,920 output which is a new document over 15186 07:20:45,600 --> 07:20:49,520 here. Agent teams patterns and it found 15187 07:20:47,920 --> 07:20:51,760 a ton of stuff. There were 11 15188 07:20:49,520 --> 07:20:53,280 documentation gaps identified that are 15189 07:20:51,760 --> 07:20:54,638 worth reviewing against your reference 15190 07:20:53,280 --> 07:20:55,680 doc. So anyways, let's just click into 15191 07:20:54,638 --> 07:20:57,040 the doc real quick. We're not going to 15192 07:20:55,680 --> 07:20:58,958 read this whole thing cuz I'm assuming 15193 07:20:57,040 --> 07:21:00,718 it is super long. But this is the actual 15194 07:20:58,958 --> 07:21:02,160 output that we just got from this agent 15195 07:21:00,718 --> 07:21:04,080 team. And you can see that this thing is 15196 07:21:02,160 --> 07:21:05,920 insanely thorough. So if you wanted to 15197 07:21:04,080 --> 07:21:07,680 really really understand how agent teams 15198 07:21:05,920 --> 07:21:09,680 work, then spin up an agent team to help 15199 07:21:07,680 --> 07:21:10,958 you explain agent teams. Now, what 15200 07:21:09,680 --> 07:21:12,638 you'll notice here is we were kind of 15201 07:21:10,958 --> 07:21:14,240 able to see what was going on, but not 15202 07:21:12,638 --> 07:21:15,760 really under the hood. We couldn't 15203 07:21:14,240 --> 07:21:17,280 actually tell what the agents were 15204 07:21:15,760 --> 07:21:19,120 thinking or doing. And that's because 15205 07:21:17,280 --> 07:21:20,478 we're doing this in the Cloud Code 15206 07:21:19,120 --> 07:21:22,000 extension. If you do this in your 15207 07:21:20,478 --> 07:21:23,920 terminal, and specifically if you have 15208 07:21:22,000 --> 07:21:25,280 T-Mox installed, you can actually see 15209 07:21:23,920 --> 07:21:27,040 the different agents working and 15210 07:21:25,280 --> 07:21:28,638 thinking, and you can individually send 15211 07:21:27,040 --> 07:21:30,400 messages to them. Because right here, 15212 07:21:28,638 --> 07:21:32,000 we're kind of only communicating through 15213 07:21:30,400 --> 07:21:33,520 the main session, and the main session 15214 07:21:32,000 --> 07:21:35,040 sends messages to the other ones. But 15215 07:21:33,520 --> 07:21:37,120 one of the value props of agent teams is 15216 07:21:35,040 --> 07:21:38,718 that I could individually message a sub 15217 07:21:37,120 --> 07:21:40,478 agent if I wanted to. So, let me show 15218 07:21:38,718 --> 07:21:42,400 you what that looks like. All right, so 15219 07:21:40,478 --> 07:21:44,080 right now I'm running Cloud Code in a 15220 07:21:42,400 --> 07:21:44,958 T-m terminal. Now, if you're on Windows, 15221 07:21:44,080 --> 07:21:47,040 you have to take a little bit of a 15222 07:21:44,958 --> 07:21:48,718 workaround, but you just have to be in a 15223 07:21:47,040 --> 07:21:50,558 T-m terminal. So, I'm not going to do a 15224 07:21:48,718 --> 07:21:51,920 full setup video on it right now, but I 15225 07:21:50,558 --> 07:21:53,440 literally just had Cloud Code walk me 15226 07:21:51,920 --> 07:21:54,638 through it, and it was super simple. But 15227 07:21:53,440 --> 07:21:56,320 anyways, what I did here is I just 15228 07:21:54,638 --> 07:21:57,600 pasted in this prompt, which obviously 15229 07:21:56,320 --> 07:22:00,000 is like we talked about. We have the 15230 07:21:57,600 --> 07:22:01,440 goal. We say create me an agent team, 15231 07:22:00,000 --> 07:22:03,200 and then we have our front-end dev, our 15232 07:22:01,440 --> 07:22:04,478 backend dev, and our QA. This is 15233 07:22:03,200 --> 07:22:05,920 basically the same exact prompt that I 15234 07:22:04,478 --> 07:22:07,440 ran in the demo. So, this isn't to show 15235 07:22:05,920 --> 07:22:08,958 you the actual deliverable. What I want 15236 07:22:07,440 --> 07:22:10,798 to show you guys here is the way that we 15237 07:22:08,958 --> 07:22:12,000 can visually see this. So, right here, 15238 07:22:10,798 --> 07:22:13,760 what it's going to do is it's going to 15239 07:22:12,000 --> 07:22:15,200 spin up that agent team for us, right? 15240 07:22:13,760 --> 07:22:17,120 It's setting up the task dependencies 15241 07:22:15,200 --> 07:22:19,120 and it's assigning owners. And now it's 15242 07:22:17,120 --> 07:22:20,958 spawning those agents. And there we go. 15243 07:22:19,120 --> 07:22:23,040 We just got our front-end dev created 15244 07:22:20,958 --> 07:22:24,320 right here. And this is the blue agent. 15245 07:22:23,040 --> 07:22:26,240 We have another one right here, which is 15246 07:22:24,320 --> 07:22:28,080 the backend dev. And this is the green 15247 07:22:26,240 --> 07:22:30,000 agent. And there we go. We just got our 15248 07:22:28,080 --> 07:22:32,400 QA agent, which is the yellow one. So 15249 07:22:30,000 --> 07:22:34,240 now I very clearly can see what each of 15250 07:22:32,400 --> 07:22:35,840 these agents is doing, which is super 15251 07:22:34,240 --> 07:22:37,200 cool. And now if I wanted to, I could 15252 07:22:35,840 --> 07:22:38,958 come over here and I could check on the 15253 07:22:37,200 --> 07:22:40,000 team status with the main session. I 15254 07:22:38,958 --> 07:22:41,280 could come up here and I could talk to 15255 07:22:40,000 --> 07:22:42,798 the front-end dev. I could approve 15256 07:22:41,280 --> 07:22:44,718 things or I could give it more info. 15257 07:22:42,798 --> 07:22:46,878 Same exact thing with the QA or same 15258 07:22:44,718 --> 07:22:48,400 exact thing with the backend dev. So now 15259 07:22:46,878 --> 07:22:50,240 I literally have an agent team that I 15260 07:22:48,400 --> 07:22:52,478 can watch and I can interact with any of 15261 07:22:50,240 --> 07:22:54,718 them. And I can also watch them do 15262 07:22:52,478 --> 07:22:56,718 research, create things, talk to each 15263 07:22:54,718 --> 07:22:57,680 other. It's super super cool. So like I 15264 07:22:56,718 --> 07:22:58,958 said, I'm not going to run this whole 15265 07:22:57,680 --> 07:23:01,280 thing out. I just wanted to show you 15266 07:22:58,958 --> 07:23:03,200 guys that this is possible. Okay, now 15267 07:23:01,280 --> 07:23:04,638 that we've seen some cool demos, let's 15268 07:23:03,200 --> 07:23:06,320 talk about how do we actually make these 15269 07:23:04,638 --> 07:23:08,400 things better and better and understand 15270 07:23:06,320 --> 07:23:10,320 a little bit more about what's going on. 15271 07:23:08,400 --> 07:23:12,240 So, here are three key rules. The first 15272 07:23:10,320 --> 07:23:13,680 one is that each of these agents has 15273 07:23:12,240 --> 07:23:15,040 their own territory. So, they should 15274 07:23:13,680 --> 07:23:16,558 have their own file and they should be 15275 07:23:15,040 --> 07:23:18,000 working on their own deliverables. They 15276 07:23:16,558 --> 07:23:19,760 can send them across and they can 15277 07:23:18,000 --> 07:23:21,520 communicate, but they should only really 15278 07:23:19,760 --> 07:23:22,718 all be editing their own thing. The 15279 07:23:21,520 --> 07:23:24,240 second thing is once again direct 15280 07:23:22,718 --> 07:23:25,680 messaging. They can talk to each other. 15281 07:23:24,240 --> 07:23:27,120 They don't have to use the middleman of 15282 07:23:25,680 --> 07:23:28,638 the main session. And then the third 15283 07:23:27,120 --> 07:23:30,478 piece is that they can be working at the 15284 07:23:28,638 --> 07:23:32,080 same time. It doesn't have to be agent 15285 07:23:30,478 --> 07:23:33,680 one hands off to agent two and then 15286 07:23:32,080 --> 07:23:35,040 agent two hands off to agent three 15287 07:23:33,680 --> 07:23:37,440 because that honestly might not even 15288 07:23:35,040 --> 07:23:38,718 call for an agent team. Agent teams work 15289 07:23:37,440 --> 07:23:39,840 together in parallel and need to 15290 07:23:38,718 --> 07:23:41,760 communicate throughout the whole 15291 07:23:39,840 --> 07:23:43,280 process. So what do teammates instantly 15292 07:23:41,760 --> 07:23:44,638 know when they wake up because we know 15293 07:23:43,280 --> 07:23:46,320 that they don't have any context from 15294 07:23:44,638 --> 07:23:48,080 the jump. What they do have is they 15295 07:23:46,320 --> 07:23:49,600 inherit the permissions from the main 15296 07:23:48,080 --> 07:23:51,040 session. So if you're on bypass 15297 07:23:49,600 --> 07:23:52,558 permissions then all of your agents are 15298 07:23:51,040 --> 07:23:54,160 going to be on bypass permissions. If 15299 07:23:52,558 --> 07:23:55,440 you allow all bash commands then those 15300 07:23:54,160 --> 07:23:58,000 same permissions will once again be 15301 07:23:55,440 --> 07:23:59,040 inherited by the teammates. But the 15302 07:23:58,000 --> 07:24:02,080 other thing to know that's very 15303 07:23:59,040 --> 07:24:04,000 important is that any of your files, any 15304 07:24:02,080 --> 07:24:05,680 of your MCP servers, any of your skills, 15305 07:24:04,000 --> 07:24:07,600 all of the teammates can use and access 15306 07:24:05,680 --> 07:24:09,120 those things. We also have a really cool 15307 07:24:07,600 --> 07:24:11,120 ability to use something called plan 15308 07:24:09,120 --> 07:24:12,958 approval mode. So you guys know how I've 15309 07:24:11,120 --> 07:24:15,520 told you always start in plan mode. If 15310 07:24:12,958 --> 07:24:17,120 you plan with your main session before 15311 07:24:15,520 --> 07:24:19,200 anything actually happens, it's way 15312 07:24:17,120 --> 07:24:21,920 better. What we can do is we can have 15313 07:24:19,200 --> 07:24:23,280 all of those agent teammates plan first 15314 07:24:21,920 --> 07:24:25,520 and they have to basically get their 15315 07:24:23,280 --> 07:24:26,958 plan approved by the main agent before 15316 07:24:25,520 --> 07:24:28,558 they're actually allowed to go execute. 15317 07:24:26,958 --> 07:24:29,840 So, it's really cool. You could also set 15318 07:24:28,558 --> 07:24:31,360 it up where you're actually the one who 15319 07:24:29,840 --> 07:24:33,120 has to approve every single plan. But, I 15320 07:24:31,360 --> 07:24:35,280 think it's probably better to just have 15321 07:24:33,120 --> 07:24:37,280 the main session do that. Or maybe even 15322 07:24:35,280 --> 07:24:39,600 one of the teammates is just the plan 15323 07:24:37,280 --> 07:24:41,760 reviewer and approver. So, I wanted to 15324 07:24:39,600 --> 07:24:43,360 talk about some common pitfalls or 15325 07:24:41,760 --> 07:24:45,680 mistakes that you might be making and 15326 07:24:43,360 --> 07:24:47,760 what the fix could be for that. So, the 15327 07:24:45,680 --> 07:24:49,120 first one is if the agents keep asking 15328 07:24:47,760 --> 07:24:51,440 permissions and they keep stopping for 15329 07:24:49,120 --> 07:24:53,120 that, you can preapprove certain tools. 15330 07:24:51,440 --> 07:24:54,958 So, that would be in your project 15331 07:24:53,120 --> 07:24:56,878 settings or your local settings. you can 15332 07:24:54,958 --> 07:24:58,478 allow certain commands and that way they 15333 07:24:56,878 --> 07:25:00,160 won't stop to ask you something every 15334 07:24:58,478 --> 07:25:02,000 couple seconds. If the deliverables 15335 07:25:00,160 --> 07:25:03,440 aren't coming out feeling holistic, 15336 07:25:02,000 --> 07:25:05,200 maybe they're being overwritten. So, 15337 07:25:03,440 --> 07:25:06,558 make sure that you assign file owners. 15338 07:25:05,200 --> 07:25:07,760 If you spin up an agent team and you 15339 07:25:06,558 --> 07:25:09,040 realize that one of the agents isn't 15340 07:25:07,760 --> 07:25:10,558 really doing much or is just sitting 15341 07:25:09,040 --> 07:25:12,000 around, then maybe you want to 15342 07:25:10,558 --> 07:25:13,760 specifically make sure you're assigning 15343 07:25:12,000 --> 07:25:16,320 each agent work or some sort of 15344 07:25:13,760 --> 07:25:17,440 dependency in your plan in your prompt. 15345 07:25:16,320 --> 07:25:19,920 If you're burning through way too many 15346 07:25:17,440 --> 07:25:21,280 tokens, just use fewer agents. If it 15347 07:25:19,920 --> 07:25:22,638 seems like your agents are losing work, 15348 07:25:21,280 --> 07:25:24,478 then tell them to basically store 15349 07:25:22,638 --> 07:25:26,080 everything as a temporary file that they 15350 07:25:24,478 --> 07:25:27,280 can then call on later. And if you're 15351 07:25:26,080 --> 07:25:28,638 getting the wrong approval and it just 15352 07:25:27,280 --> 07:25:29,920 seems like it's off, then maybe just try 15353 07:25:28,638 --> 07:25:31,600 to have you be the one who approves 15354 07:25:29,920 --> 07:25:32,798 things to start until you understand the 15355 07:25:31,600 --> 07:25:34,080 flow of how these teams work a little 15356 07:25:32,798 --> 07:25:35,840 better. All right, so next I wanted to 15357 07:25:34,080 --> 07:25:37,200 talk about when to use agent teams 15358 07:25:35,840 --> 07:25:39,040 because like I said earlier, they can be 15359 07:25:37,200 --> 07:25:40,478 slow and expensive. So you really just 15360 07:25:39,040 --> 07:25:42,478 want to use them when you need something 15361 07:25:40,478 --> 07:25:44,958 pretty complex done and you need lots of 15362 07:25:42,478 --> 07:25:46,638 different specialized agents. So think 15363 07:25:44,958 --> 07:25:48,400 about using them if your specific 15364 07:25:46,638 --> 07:25:49,600 process or project has multiple 15365 07:25:48,400 --> 07:25:51,440 different areas. And that way you can 15366 07:25:49,600 --> 07:25:52,638 have one specialize in each of those. If 15367 07:25:51,440 --> 07:25:54,240 you need those things to be done in 15368 07:25:52,638 --> 07:25:56,000 parallel, if you need them to be able to 15369 07:25:54,240 --> 07:25:57,360 react to each other, assign tasks to 15370 07:25:56,000 --> 07:25:58,558 each other, communicate with each other, 15371 07:25:57,360 --> 07:26:00,000 and if something needs to be done at a 15372 07:25:58,558 --> 07:26:01,840 really high quality, and you want tons 15373 07:26:00,000 --> 07:26:03,600 of different steps to make sure, then an 15374 07:26:01,840 --> 07:26:04,958 agent team is probably a decent idea. 15375 07:26:03,600 --> 07:26:06,718 Now, if you have a process that could be 15376 07:26:04,958 --> 07:26:09,200 done sequentially, meaning every time it 15377 07:26:06,718 --> 07:26:10,638 basically goes 1 2 3, and those steps 15378 07:26:09,200 --> 07:26:12,240 are dependent on each other, then maybe 15379 07:26:10,638 --> 07:26:14,000 an agent team isn't the right call. 15380 07:26:12,240 --> 07:26:15,200 Maybe that's just sub agents. If you 15381 07:26:14,000 --> 07:26:16,798 need everything in one specific 15382 07:26:15,200 --> 07:26:18,878 conversation history or one context 15383 07:26:16,798 --> 07:26:20,400 window, then don't use teams. If you're 15384 07:26:18,878 --> 07:26:22,000 just kind of working on the same files, 15385 07:26:20,400 --> 07:26:24,000 don't use teams. And if it's a very 15386 07:26:22,000 --> 07:26:25,520 simple task, then agent teams would be 15387 07:26:24,000 --> 07:26:26,878 overkill. There might be a lot of times 15388 07:26:25,520 --> 07:26:29,120 where you'd be able to use sub agents 15389 07:26:26,878 --> 07:26:30,718 instead. Like I said, with sequential or 15390 07:26:29,120 --> 07:26:31,680 if you need a very focused result, if 15391 07:26:30,718 --> 07:26:33,040 you don't need the agents to 15392 07:26:31,680 --> 07:26:34,878 communicate, and if you want to save 15393 07:26:33,040 --> 07:26:36,718 some tokens, because once again, if you 15394 07:26:34,878 --> 07:26:37,840 have three sessions running, that's 15395 07:26:36,718 --> 07:26:39,840 basically going to be three times the 15396 07:26:37,840 --> 07:26:41,520 cost. So if you have five, it'll be five 15397 07:26:39,840 --> 07:26:43,520 times the cost. Which means I like to 15398 07:26:41,520 --> 07:26:45,760 stay around maybe two to five agents 15399 07:26:43,520 --> 07:26:47,760 max. You can keep them running parallel. 15400 07:26:45,760 --> 07:26:49,520 Otherwise, you can use sub agents and 15401 07:26:47,760 --> 07:26:52,160 make sure that you are shutting them 15402 07:26:49,520 --> 07:26:53,840 down if you see them early on going off 15403 07:26:52,160 --> 07:26:55,120 down the wrong path. Which is another 15404 07:26:53,840 --> 07:26:56,718 reason why I think it's helpful to use 15405 07:26:55,120 --> 07:26:58,638 the T-Mox version so you can actually 15406 07:26:56,718 --> 07:27:00,080 see them in that split pane view. And 15407 07:26:58,638 --> 07:27:02,240 when I say shutdown, which is kind of 15408 07:27:00,080 --> 07:27:04,080 what we saw earlier, I just mean 15409 07:27:02,240 --> 07:27:05,920 basically at the end of every session 15410 07:27:04,080 --> 07:27:07,680 saving your work. Because remember right 15411 07:27:05,920 --> 07:27:10,080 here how we saw the main session say, 15412 07:27:07,680 --> 07:27:11,440 "Hey, this is a shutdown request." The 15413 07:27:10,080 --> 07:27:13,280 researcher agent here could have said, 15414 07:27:11,440 --> 07:27:14,638 "I'm not done yet. Let me save stuff. 15415 07:27:13,280 --> 07:27:15,760 Don't shut me down yet." So when the 15416 07:27:14,638 --> 07:27:16,958 teammates actually confirmed that 15417 07:27:15,760 --> 07:27:18,558 they're ready to be shut down, that 15418 07:27:16,958 --> 07:27:20,958 means that everything's good. And we can 15419 07:27:18,558 --> 07:27:22,240 essentially cleanly save that work. So 15420 07:27:20,958 --> 07:27:23,760 everything gets cleaned up and then 15421 07:27:22,240 --> 07:27:25,520 we're good to close the session and shut 15422 07:27:23,760 --> 07:27:27,760 down that agent team rather than just 15423 07:27:25,520 --> 07:27:29,440 force killing it right away where things 15424 07:27:27,760 --> 07:27:32,920 might be all out of control and not 15425 07:27:29,440 --> 07:27:32,920 cleaned up yet. 15426 07:27:32,958 --> 07:27:37,200 So when you give a tool as powerful as 15427 07:27:34,638 --> 07:27:38,958 cloud code access to literally control a 15428 07:27:37,200 --> 07:27:40,398 browser, if you think about it, you can 15429 07:27:38,958 --> 07:27:41,840 actually automate anything, whether 15430 07:27:40,398 --> 07:27:43,760 that's stress testing an app, 15431 07:27:41,840 --> 07:27:45,280 downloading reports, or even playing a 15432 07:27:43,760 --> 07:27:47,280 game like you guys saw in my other 15433 07:27:45,280 --> 07:27:49,040 video. So today I walk through three use 15434 07:27:47,280 --> 07:27:51,760 cases that you can use when you connect 15435 07:27:49,040 --> 07:27:53,440 Playright CLI to cloud code to control 15436 07:27:51,760 --> 07:27:55,600 your browser. The first one is having it 15437 07:27:53,440 --> 07:27:57,440 actually QA a web app and finding bugs 15438 07:27:55,600 --> 07:27:59,120 and then fixing them. The second one is 15439 07:27:57,440 --> 07:28:00,638 searching for dentists and finding their 15440 07:27:59,120 --> 07:28:02,000 contact information. And then the third 15441 07:28:00,638 --> 07:28:04,080 one, a question that everyone's asking 15442 07:28:02,000 --> 07:28:05,600 is can browser use actually control 15443 07:28:04,080 --> 07:28:07,520 sessions where you need to be logged in. 15444 07:28:05,600 --> 07:28:08,798 So I show off what I'm able to do in my 15445 07:28:07,520 --> 07:28:09,920 school account. So I don't want to waste 15446 07:28:08,798 --> 07:28:11,600 any time. Let's get straight into the 15447 07:28:09,920 --> 07:28:13,200 video. All right. So I am in a fresh 15448 07:28:11,600 --> 07:28:14,478 cloud code project. As you can see, I'm 15449 07:28:13,200 --> 07:28:16,080 in a folder called browser automation 15450 07:28:14,478 --> 07:28:17,280 demo, but there's nothing in here just 15451 07:28:16,080 --> 07:28:18,638 so you guys can follow along with 15452 07:28:17,280 --> 07:28:21,200 exactly what I'm doing. So, the first 15453 07:28:18,638 --> 07:28:22,240 thing to do is install Playright CLI so 15454 07:28:21,200 --> 07:28:23,360 that we can actually do some browser 15455 07:28:22,240 --> 07:28:24,718 automation. So, I'm just going to go 15456 07:28:23,360 --> 07:28:27,360 into plan mode and I'm going to say, 15457 07:28:24,718 --> 07:28:29,520 hey, cloud code, I want to use Playright 15458 07:28:27,360 --> 07:28:31,280 CLI in order to do some browser 15459 07:28:29,520 --> 07:28:33,120 automation stuff. Whether that means 15460 07:28:31,280 --> 07:28:34,718 testing out web apps or taking 15461 07:28:33,120 --> 07:28:36,320 screenshots of things, whatever the 15462 07:28:34,718 --> 07:28:37,840 case, I just need you to figure out how 15463 07:28:36,320 --> 07:28:39,760 you can install this for me and then go 15464 07:28:37,840 --> 07:28:41,040 ahead and build a plan and let's do it. 15465 07:28:39,760 --> 07:28:42,558 So, I know I'm telling you guys to use 15466 07:28:41,040 --> 07:28:44,080 Playright CLI, but this is literally 15467 07:28:42,558 --> 07:28:45,680 what I did when I decided I wanted to 15468 07:28:44,080 --> 07:28:47,440 try out some browser automations, except 15469 07:28:45,680 --> 07:28:48,718 for I said, "Hey, I need you to research 15470 07:28:47,440 --> 07:28:50,478 the different tools and the different 15471 07:28:48,718 --> 07:28:52,000 pros and cons and help me figure out 15472 07:28:50,478 --> 07:28:53,520 what I should do. I played around with 15473 07:28:52,000 --> 07:28:55,600 Chrome DevTools for a little bit, but 15474 07:28:53,520 --> 07:28:56,718 now I'm using Playright CLI." And one 15475 07:28:55,600 --> 07:28:58,638 reason for that, while we're letting 15476 07:28:56,718 --> 07:29:00,478 this load, is that if I do /context in 15477 07:28:58,638 --> 07:29:03,840 here, you can see that the Chrome 15478 07:29:00,478 --> 07:29:05,040 DevTools MCP takes up so many tokens 15479 07:29:03,840 --> 07:29:06,638 because there's so many different tools 15480 07:29:05,040 --> 07:29:07,760 and each tool has a description. So, 15481 07:29:06,638 --> 07:29:09,600 that's why I was like, hm, maybe I don't 15482 07:29:07,760 --> 07:29:11,840 want to use the MCP server. Let me just 15483 07:29:09,600 --> 07:29:13,120 go ahead and try this Playright CLI and 15484 07:29:11,840 --> 07:29:14,718 it works really well. All right, so the 15485 07:29:13,120 --> 07:29:16,398 plan is done. We have an empty project. 15486 07:29:14,718 --> 07:29:18,638 We're going to initialize the project, 15487 07:29:16,398 --> 07:29:20,000 install Playright, create a demo script, 15488 07:29:18,638 --> 07:29:21,840 test things out. I'm going to go ahead 15489 07:29:20,000 --> 07:29:23,040 and accept this plan. And now I'll check 15490 07:29:21,840 --> 07:29:24,558 in with you guys when that's done. All 15491 07:29:23,040 --> 07:29:26,000 right, so you can see that it is done. 15492 07:29:24,558 --> 07:29:28,240 It's been installed and then it also 15493 07:29:26,000 --> 07:29:30,798 tried it out already. So it ran a script 15494 07:29:28,240 --> 07:29:32,718 to open up this page and then screenshot 15495 07:29:30,798 --> 07:29:33,920 it. And that got saved right here. So as 15496 07:29:32,718 --> 07:29:35,120 you can see, it was able to do that. It 15497 07:29:33,920 --> 07:29:36,798 was able to take a screenshot, which 15498 07:29:35,120 --> 07:29:38,398 means that everything is working. So now 15499 07:29:36,798 --> 07:29:39,440 that we have this initial stuff set up, 15500 07:29:38,398 --> 07:29:42,000 I'm just going to go ahead and do a 15501 07:29:39,440 --> 07:29:43,760 slashinit to basically just initialize 15502 07:29:42,000 --> 07:29:45,040 the environment and give us a claw.mmd 15503 07:29:43,760 --> 07:29:47,440 file. All right, so there are tons of 15504 07:29:45,040 --> 07:29:48,958 great use cases when it comes to using a 15505 07:29:47,440 --> 07:29:50,878 browser automation, whether that is 15506 07:29:48,958 --> 07:29:52,638 looking through Amazon or applying to a 15507 07:29:50,878 --> 07:29:54,718 ton of positions or, you know, 15508 07:29:52,638 --> 07:29:56,320 downloading reports from websites that 15509 07:29:54,718 --> 07:29:58,398 don't have an API. And what's awesome 15510 07:29:56,320 --> 07:30:01,120 about this is it will build out these 15511 07:29:58,398 --> 07:30:02,798 scripts that run the browser automation, 15512 07:30:01,120 --> 07:30:04,958 right? And when you pair those custom 15513 07:30:02,798 --> 07:30:06,558 scripts with a skill, it gets really 15514 07:30:04,958 --> 07:30:08,080 powerful because then that process of 15515 07:30:06,558 --> 07:30:09,680 opening up the browser and doing certain 15516 07:30:08,080 --> 07:30:11,200 things becomes consistent and 15517 07:30:09,680 --> 07:30:13,520 repeatable. But one thing that I think 15518 07:30:11,200 --> 07:30:15,520 is really cool about browser automations 15519 07:30:13,520 --> 07:30:17,920 is the ability to basically test things 15520 07:30:15,520 --> 07:30:19,520 and automate QA. So an example I wanted 15521 07:30:17,920 --> 07:30:21,600 to walk through with you guys is I'm 15522 07:30:19,520 --> 07:30:23,680 going to use cloud code in here to build 15523 07:30:21,600 --> 07:30:26,558 us a quick web app that's going to be 15524 07:30:23,680 --> 07:30:28,398 like a multi-page form and I don't want 15525 07:30:26,558 --> 07:30:30,558 to test it myself. I want to have it 15526 07:30:28,398 --> 07:30:32,080 test it and then it has to find the 15527 07:30:30,558 --> 07:30:33,920 bugs, find suggestions, and then fix 15528 07:30:32,080 --> 07:30:35,840 itself. So, it's going to be us building 15529 07:30:33,920 --> 07:30:37,440 a web app or a form and it's going to be 15530 07:30:35,840 --> 07:30:39,120 like completely hands-off. That's the 15531 07:30:37,440 --> 07:30:40,558 goal at least. So, let's hop into plan 15532 07:30:39,120 --> 07:30:43,760 mode and let's get started. I need you 15533 07:30:40,558 --> 07:30:46,080 to build me a form submission website. 15534 07:30:43,760 --> 07:30:48,160 Now, I want this to basically be one 15535 07:30:46,080 --> 07:30:49,520 page per question. So, as soon as I open 15536 07:30:48,160 --> 07:30:50,798 up the page, it should ask me for my 15537 07:30:49,520 --> 07:30:52,398 first name and then there should be a 15538 07:30:50,798 --> 07:30:54,240 button that prompts me to hit enter. 15539 07:30:52,398 --> 07:30:56,000 When I hit enter, I go to the next page. 15540 07:30:54,240 --> 07:30:57,520 And then I have my last name. And then I 15541 07:30:56,000 --> 07:30:59,680 have my phone number. And then I have my 15542 07:30:57,520 --> 07:31:02,798 business. And I have maybe, let's just 15543 07:30:59,680 --> 07:31:04,878 say, eight questions about me and kind 15544 07:31:02,798 --> 07:31:06,878 of getting me onboarded into this, you 15545 07:31:04,878 --> 07:31:08,798 know, fake business or whatever. I just 15546 07:31:06,878 --> 07:31:10,000 want to do this to see and test the 15547 07:31:08,798 --> 07:31:11,840 functionality of what you're able to 15548 07:31:10,000 --> 07:31:13,920 build me here. Okay. So, that is phase 15549 07:31:11,840 --> 07:31:16,080 one. Phase one, we're going to get an 15550 07:31:13,920 --> 07:31:17,840 initial version of the website. And then 15551 07:31:16,080 --> 07:31:19,680 before I even open it up and test it, 15552 07:31:17,840 --> 07:31:21,760 we're going to go into plan mode again 15553 07:31:19,680 --> 07:31:24,320 and see if just cloud code with the 15554 07:31:21,760 --> 07:31:26,478 browser automation can test it, iterate, 15555 07:31:24,320 --> 07:31:28,478 test it, iterate. Okay, here is our 15556 07:31:26,478 --> 07:31:30,320 plan. Multi-page onboarding form. The 15557 07:31:28,478 --> 07:31:32,478 user wants a polished multi-page 15558 07:31:30,320 --> 07:31:33,920 onboarding form. We have the 15559 07:31:32,478 --> 07:31:35,840 architecture. There's 12 total 15560 07:31:33,920 --> 07:31:37,040 questions, which look good to me. We've 15561 07:31:35,840 --> 07:31:39,680 got some files. It's going to make some 15562 07:31:37,040 --> 07:31:40,798 implementation details here. And all of 15563 07:31:39,680 --> 07:31:42,718 this looks good to me. So, we're going 15564 07:31:40,798 --> 07:31:44,718 to go back into the main session and 15565 07:31:42,718 --> 07:31:46,718 accept those changes. Okay, so that just 15566 07:31:44,718 --> 07:31:48,478 finished up. We have the files have been 15567 07:31:46,718 --> 07:31:50,000 created. We've got a server that this is 15568 07:31:48,478 --> 07:31:52,638 running on. It's going to be on a local 15569 07:31:50,000 --> 07:31:55,520 host. We also have 12 one per page 15570 07:31:52,638 --> 07:31:57,600 questions. And what I noticed it doing 15571 07:31:55,520 --> 07:31:58,958 is it was taking screenshots and I 15572 07:31:57,600 --> 07:32:00,798 didn't even tell it to. So, if I open up 15573 07:31:58,958 --> 07:32:02,798 screenshots, you can see we now have 15574 07:32:00,798 --> 07:32:04,398 these pictures. So, let me just look at 15575 07:32:02,798 --> 07:32:06,240 these. We've got number one, which is 15576 07:32:04,398 --> 07:32:08,000 what is your first name? Number two, 15577 07:32:06,240 --> 07:32:10,080 last name, best phone number to reach 15578 07:32:08,000 --> 07:32:11,600 you at. There's even, if you can see, 15579 07:32:10,080 --> 07:32:13,280 there's like one of those scroll bars at 15580 07:32:11,600 --> 07:32:15,200 the top where it's like showing, you 15581 07:32:13,280 --> 07:32:16,958 know, how many questions in they are. 15582 07:32:15,200 --> 07:32:18,240 So, for a oneshot prompt and the fact 15583 07:32:16,958 --> 07:32:19,680 that it's already flipping through and 15584 07:32:18,240 --> 07:32:21,760 taking screenshots, I'm pretty 15585 07:32:19,680 --> 07:32:23,600 impressed. But, we have to see how it's 15586 07:32:21,760 --> 07:32:24,798 able to actually test it out. So, now 15587 07:32:23,600 --> 07:32:27,440 I'm going to go back into plan mode and 15588 07:32:24,798 --> 07:32:29,680 I'm going to say, "Yep, absolutely. Spin 15589 07:32:27,440 --> 07:32:31,600 up a server so that you can actually run 15590 07:32:29,680 --> 07:32:34,798 this." And then what I want you to do is 15591 07:32:31,600 --> 07:32:37,920 use your browser use and test it out. So 15592 07:32:34,798 --> 07:32:39,280 fill in the fields, click through, and 15593 07:32:37,920 --> 07:32:40,638 if there's any bugs or if there's 15594 07:32:39,280 --> 07:32:42,558 anything wrong with the functionality of 15595 07:32:40,638 --> 07:32:44,798 the site, make note so that you can go 15596 07:32:42,558 --> 07:32:46,718 ahead and fix the actual site itself. 15597 07:32:44,798 --> 07:32:48,638 And I also want you to do this in a 15598 07:32:46,718 --> 07:32:50,000 headed browser so that I can watch 15599 07:32:48,638 --> 07:32:51,440 what's going on. So I'm going to shoot 15600 07:32:50,000 --> 07:32:53,600 that off. It's going to make a plan. But 15601 07:32:51,440 --> 07:32:55,120 that is one important distinction. By 15602 07:32:53,600 --> 07:32:57,040 default, you could say, hey, I always 15603 07:32:55,120 --> 07:32:58,958 want you to run playright in a headed 15604 07:32:57,040 --> 07:33:00,638 browser. But there is headed or 15605 07:32:58,958 --> 07:33:02,160 headless, meaning it could be running 15606 07:33:00,638 --> 07:33:04,240 this headless where it wouldn't show us 15607 07:33:02,160 --> 07:33:05,920 on screen, but it is still running on 15608 07:33:04,240 --> 07:33:07,760 its own tab and clicking through things. 15609 07:33:05,920 --> 07:33:09,360 Okay, here is the QA pass. The headed 15610 07:33:07,760 --> 07:33:10,638 browser testing, I'm not going to read 15611 07:33:09,360 --> 07:33:12,000 this. I think that this is pretty clear 15612 07:33:10,638 --> 07:33:13,840 of what we want. I'm going to go ahead 15613 07:33:12,000 --> 07:33:15,680 and accept it. So, what happens is for 15614 07:33:13,840 --> 07:33:17,600 every kind of like bot that we want to 15615 07:33:15,680 --> 07:33:18,878 run, it has to write its own script. So, 15616 07:33:17,600 --> 07:33:20,240 I believe that this is this one that 15617 07:33:18,878 --> 07:33:22,000 it's writing, which is the test 15618 07:33:20,240 --> 07:33:23,760 onboarding.js. 15619 07:33:22,000 --> 07:33:25,840 And this is basically what instructs the 15620 07:33:23,760 --> 07:33:27,280 bot on what to do. And then when we 15621 07:33:25,840 --> 07:33:29,280 wanted to turn this into a skill, which 15622 07:33:27,280 --> 07:33:31,200 is basically like QAing our website, we 15623 07:33:29,280 --> 07:33:33,200 would say, okay, when you want to QA, 15624 07:33:31,200 --> 07:33:34,958 then you run the bot and then you take 15625 07:33:33,200 --> 07:33:36,240 the feedback from the bot and then you 15626 07:33:34,958 --> 07:33:37,760 make changes and then you run the bot 15627 07:33:36,240 --> 07:33:38,878 again. And so that's how we can turn 15628 07:33:37,760 --> 07:33:41,200 kind of like all of these different 15629 07:33:38,878 --> 07:33:42,958 pieces into an actual process. Okay. 15630 07:33:41,200 --> 07:33:45,200 Also, that wasn't even the script. The 15631 07:33:42,958 --> 07:33:47,440 script that it's writing for this is QA- 15632 07:33:45,200 --> 07:33:48,798 test. So now you see what I mean. Okay. 15633 07:33:47,440 --> 07:33:50,398 So the window just popped up. I'm going 15634 07:33:48,798 --> 07:33:51,920 to move it into view and we should be 15635 07:33:50,398 --> 07:33:54,878 able to watch it fill in. It's did it 15636 07:33:51,920 --> 07:33:57,200 did Nathan. Okay, it went backwards. Now 15637 07:33:54,878 --> 07:33:58,478 it's on the second one. Nathan Harrison 15638 07:33:57,200 --> 07:33:59,840 filling in a phone number. It's 15639 07:33:58,478 --> 07:34:02,878 continuing to click through. Harrison 15640 07:33:59,840 --> 07:34:05,520 Tech. We've got a email. We've got 15641 07:34:02,878 --> 07:34:08,240 founder and CEO. It shows a company 15642 07:34:05,520 --> 07:34:12,320 size. Look from a drop down. Okay. 15643 07:34:08,240 --> 07:34:15,600 Technology referral. Primary goal. 15644 07:34:12,320 --> 07:34:16,878 Website. Continue. And anything else? 15645 07:34:15,600 --> 07:34:18,080 Okay. It looks like it's having a little 15646 07:34:16,878 --> 07:34:19,680 bit of trouble here now. It keeps kind 15647 07:34:18,080 --> 07:34:20,798 of glitching out. But once again, I'm 15648 07:34:19,680 --> 07:34:22,958 not going to stop it. I'm going to let 15649 07:34:20,798 --> 07:34:24,638 it figure out what it needs to do. Okay. 15650 07:34:22,958 --> 07:34:26,398 So it just shut down and now it said 15651 07:34:24,638 --> 07:34:27,920 okay found some issues. Let me review 15652 07:34:26,398 --> 07:34:29,840 the screenshots to understand what 15653 07:34:27,920 --> 07:34:31,680 happened. So what you guys didn't notice 15654 07:34:29,840 --> 07:34:33,280 is that in there it took more 15655 07:34:31,680 --> 07:34:35,360 screenshots. So we can see now we have 15656 07:34:33,280 --> 07:34:37,280 QA and we have all of these screenshots 15657 07:34:35,360 --> 07:34:39,280 that it took during that test. So it 15658 07:34:37,280 --> 07:34:41,280 says okay the UI looks polished. That's 15659 07:34:39,280 --> 07:34:43,120 great. It did look really good. But the 15660 07:34:41,280 --> 07:34:44,878 first bug is that enter on text area 15661 07:34:43,120 --> 07:34:47,120 didn't advance to review. It stayed on 15662 07:34:44,878 --> 07:34:48,958 the notes page. The second bug is that 15663 07:34:47,120 --> 07:34:50,478 the review page never loaded. The test 15664 07:34:48,958 --> 07:34:52,478 found zero review items and the edit 15665 07:34:50,478 --> 07:34:54,478 button was intercepted by a stale page 15666 07:34:52,478 --> 07:34:56,878 overlay. And now it was able to use that 15667 07:34:54,478 --> 07:34:58,398 feedback to fix the actual bugs in the 15668 07:34:56,878 --> 07:34:59,760 site itself. And this is just really 15669 07:34:58,398 --> 07:35:01,440 cool because if you've ever built 15670 07:34:59,760 --> 07:35:03,280 software or websites or apps or 15671 07:35:01,440 --> 07:35:04,958 whatever, there are so many bugs and you 15672 07:35:03,280 --> 07:35:06,798 don't always find them until it's maybe 15673 07:35:04,958 --> 07:35:08,878 too late or maybe a customer found it. 15674 07:35:06,798 --> 07:35:10,478 So, the fact that you can automate QA by 15675 07:35:08,878 --> 07:35:12,080 having multiple different headed 15676 07:35:10,478 --> 07:35:13,760 browsers or even headless browsers spin 15677 07:35:12,080 --> 07:35:15,840 up and you can say, "Hey, you test for 15678 07:35:13,760 --> 07:35:17,360 X, you test for Y, you test for Z," and 15679 07:35:15,840 --> 07:35:19,120 just have them running and fixing and 15680 07:35:17,360 --> 07:35:20,798 running and fixing is a complete game 15681 07:35:19,120 --> 07:35:22,000 changer. And now, without me even 15682 07:35:20,798 --> 07:35:23,920 asking, it says, "Okay, I'm going to 15683 07:35:22,000 --> 07:35:25,520 start the server and I'm going to rerun 15684 07:35:23,920 --> 07:35:27,840 the test." So, we're basically getting 15685 07:35:25,520 --> 07:35:30,558 it stuck in this loop of testing, 15686 07:35:27,840 --> 07:35:32,398 validating, testing, validating, and you 15687 07:35:30,558 --> 07:35:33,760 know, it's really, really cool. So, I 15688 07:35:32,398 --> 07:35:40,360 think it's doing another quick test just 15689 07:35:33,760 --> 07:35:40,360 to see um if it truly is good. But, 15690 07:35:43,200 --> 07:35:46,798 okay, nice. So, second test went all the 15691 07:35:45,120 --> 07:35:49,120 way through and now it should be 15692 07:35:46,798 --> 07:35:50,398 shutting down and telling us what it 15693 07:35:49,120 --> 07:35:52,558 learned. As you can see, it just shut 15694 07:35:50,398 --> 07:35:54,398 down. So, now you can see it has finally 15695 07:35:52,558 --> 07:35:56,320 passed the tests and it goes ahead and 15696 07:35:54,398 --> 07:35:57,920 ends the process because now the server 15697 07:35:56,320 --> 07:35:59,440 is good. So, like I said, the next step 15698 07:35:57,920 --> 07:36:00,798 from there would be to turn that into a 15699 07:35:59,440 --> 07:36:02,160 skill. But what else can we do with 15700 07:36:00,798 --> 07:36:03,680 browser automations? Because they're 15701 07:36:02,160 --> 07:36:05,200 definitely not perfect, right? So, let's 15702 07:36:03,680 --> 07:36:07,360 say we wanted to do something on the 15703 07:36:05,200 --> 07:36:09,520 web. Let's say we wanted it to just be 15704 07:36:07,360 --> 07:36:12,000 able to go to Google, search for, I 15705 07:36:09,520 --> 07:36:14,398 don't know, let's just say dentists, and 15706 07:36:12,000 --> 07:36:15,920 maybe capture like some phone numbers. 15707 07:36:14,398 --> 07:36:17,520 All right, here is our plan. Build a 15708 07:36:15,920 --> 07:36:19,200 Playright script that automates Google 15709 07:36:17,520 --> 07:36:21,440 search to find dentist offices in 15710 07:36:19,200 --> 07:36:23,280 California. We will basically launch the 15711 07:36:21,440 --> 07:36:25,760 browser, do the Google search, collect 15712 07:36:23,280 --> 07:36:27,520 the links, visit each site, and print a 15713 07:36:25,760 --> 07:36:28,558 summary. So, that looks good to me. 15714 07:36:27,520 --> 07:36:31,360 We're going to go ahead and shoot this 15715 07:36:28,558 --> 07:36:33,280 off and hopefully it's going to be 15716 07:36:31,360 --> 07:36:34,558 decent on the first try. I'm going to 15717 07:36:33,280 --> 07:36:36,240 tell you guys right now it's probably 15718 07:36:34,558 --> 07:36:37,600 not. But what's going to happen is we're 15719 07:36:36,240 --> 07:36:39,040 going to have it learn. So, it's going 15720 07:36:37,600 --> 07:36:40,798 to open up the browser. It's going to 15721 07:36:39,040 --> 07:36:42,878 fail and we're going to say, "Okay, keep 15722 07:36:40,798 --> 07:36:45,040 learning. Keep updating the script and 15723 07:36:42,878 --> 07:36:47,360 don't stop until you're done." I 15724 07:36:45,040 --> 07:36:49,440 literally stepped away to go get water. 15725 07:36:47,360 --> 07:36:52,160 And it actually I came back and I saw a 15726 07:36:49,440 --> 07:36:55,840 browser open with some dentist offices 15727 07:36:52,160 --> 07:36:58,320 up. Wow. So, it visited all five sites 15728 07:36:55,840 --> 07:37:00,000 and it was able to find some phone 15729 07:36:58,320 --> 07:37:01,440 numbers. Now, that's really cool because 15730 07:37:00,000 --> 07:37:02,958 it actually learned while it was going 15731 07:37:01,440 --> 07:37:05,600 and it said that Google blocked the 15732 07:37:02,958 --> 07:37:07,280 automation. So, it switched to duck.go. 15733 07:37:05,600 --> 07:37:09,280 So, I told it this time, don't stop 15734 07:37:07,280 --> 07:37:10,398 until it actually finds five phone 15735 07:37:09,280 --> 07:37:12,478 numbers. So, it's going to be a little 15736 07:37:10,398 --> 07:37:16,120 bit more aggressive. And this time, I'm 15737 07:37:12,478 --> 07:37:16,120 actually here to watch it. 15738 07:37:16,398 --> 07:37:21,440 Okay, so here we are. It just searched 15739 07:37:18,160 --> 07:37:22,718 for dentist office LA. You can see 15740 07:37:21,440 --> 07:37:24,080 there's a phone number. I just saw one 15741 07:37:22,718 --> 07:37:25,840 on screen, so it probably grabbed that 15742 07:37:24,080 --> 07:37:26,958 screenshot. I see another one on this 15743 07:37:25,840 --> 07:37:28,478 page. So, it's getting pretty lucky 15744 07:37:26,958 --> 07:37:30,320 here. It's finding the phone numbers 15745 07:37:28,478 --> 07:37:31,920 pretty quick. But what I just noticed is 15746 07:37:30,320 --> 07:37:33,600 it's still going to the site and it's 15747 07:37:31,920 --> 07:37:34,798 still clicking on the contact button. 15748 07:37:33,600 --> 07:37:36,878 Even though the phone number was up in 15749 07:37:34,798 --> 07:37:38,160 the top right visible, it still clicked 15750 07:37:36,878 --> 07:37:40,320 on the contact button, which I thought 15751 07:37:38,160 --> 07:37:41,840 is pretty cool. So, this time it got all 15752 07:37:40,320 --> 07:37:43,440 these phone numbers for these dental 15753 07:37:41,840 --> 07:37:45,680 offices. So, naturally, the next 15754 07:37:43,440 --> 07:37:47,200 question that I'm sure you guys have is 15755 07:37:45,680 --> 07:37:49,600 how could it work on, you know, things 15756 07:37:47,200 --> 07:37:50,798 that I'm already logged into? So, let's 15757 07:37:49,600 --> 07:37:52,240 just find out. So, I'm going to go to 15758 07:37:50,798 --> 07:37:53,440 plan mode and just ask it what would 15759 07:37:52,240 --> 07:37:55,440 happen. So, there are a couple of 15760 07:37:53,440 --> 07:37:57,360 approaches. We could do persistent 15761 07:37:55,440 --> 07:37:59,440 browser profile, meaning it can launch a 15762 07:37:57,360 --> 07:38:01,680 browser using my existing Chrome user 15763 07:37:59,440 --> 07:38:03,600 data, which already has me logged into 15764 07:38:01,680 --> 07:38:06,000 school. We could do manual login and 15765 07:38:03,600 --> 07:38:08,240 handoff in headed mode, or we could 15766 07:38:06,000 --> 07:38:09,600 connect to a running browser. Okay, so 15767 07:38:08,240 --> 07:38:11,040 that's pretty cool. It could open up the 15768 07:38:09,600 --> 07:38:12,638 browser. I could sign in and then I 15769 07:38:11,040 --> 07:38:14,558 could just basically keep that signed in 15770 07:38:12,638 --> 07:38:16,478 and have it do whatever it needs to do. 15771 07:38:14,558 --> 07:38:19,120 But I do want to try option one, which 15772 07:38:16,478 --> 07:38:20,878 it recommended in the first place. Okay, 15773 07:38:19,120 --> 07:38:22,320 so we have the plan which is going to go 15774 07:38:20,878 --> 07:38:24,398 into my school community. It's going to 15775 07:38:22,320 --> 07:38:26,240 go to the win channel and it's going to 15776 07:38:24,398 --> 07:38:27,760 like those posts. So we've got the 15777 07:38:26,240 --> 07:38:29,440 context, the approach. Obviously you 15778 07:38:27,760 --> 07:38:30,958 guys know what these plans look like. 15779 07:38:29,440 --> 07:38:32,000 Let's just see what it did on this first 15780 07:38:30,958 --> 07:38:34,398 try and I'm going to go ahead and 15781 07:38:32,000 --> 07:38:35,600 accept. Okay, so apparently when it runs 15782 07:38:34,398 --> 07:38:37,600 this, I'm going to have to log in 15783 07:38:35,600 --> 07:38:39,280 manually the first time, but then in the 15784 07:38:37,600 --> 07:38:41,280 future it will basically save that 15785 07:38:39,280 --> 07:38:43,440 session. So let's see how that works. 15786 07:38:41,280 --> 07:38:46,638 All right, it opened up school.com. 15787 07:38:43,440 --> 07:38:48,080 Okay, it opened up school.com. 15788 07:38:46,638 --> 07:38:49,760 Okay, so what just happened is it opened 15789 07:38:48,080 --> 07:38:51,120 it up and then it closed it and then it 15790 07:38:49,760 --> 07:38:52,878 opened it up and it went to my community 15791 07:38:51,120 --> 07:38:54,000 and closed it and now I think it's 15792 07:38:52,878 --> 07:38:55,280 actually going to let me log in. So let 15793 07:38:54,000 --> 07:38:56,638 me try that real quick. Okay, so I 15794 07:38:55,280 --> 07:38:57,920 logged in and then the browser shut 15795 07:38:56,638 --> 07:38:59,600 down. So now I said, "Okay, cool. I 15796 07:38:57,920 --> 07:39:01,520 logged in." Hopefully now when it 15797 07:38:59,600 --> 07:39:03,280 launches up this browser, it already has 15798 07:39:01,520 --> 07:39:04,798 me logged in. Okay, so there it is. 15799 07:39:03,280 --> 07:39:07,040 Nice. You can see that I am already 15800 07:39:04,798 --> 07:39:08,398 logged in, which is great. Okay, so it's 15801 07:39:07,040 --> 07:39:09,680 trying to find the wins channel. It 15802 07:39:08,398 --> 07:39:11,600 looks like it found it. All of these 15803 07:39:09,680 --> 07:39:13,440 look like they are wins. Now let's see 15804 07:39:11,600 --> 07:39:16,080 what it's able to do here. If it's Oh, I 15805 07:39:13,440 --> 07:39:19,680 just saw it try to like the post. Okay, 15806 07:39:16,080 --> 07:39:21,040 it just liked that one. 15807 07:39:19,680 --> 07:39:22,320 Interesting. So, it's like liking them 15808 07:39:21,040 --> 07:39:24,320 and unliking them. So, that's one thing 15809 07:39:22,320 --> 07:39:26,080 we're going to have to fix. But, it is 15810 07:39:24,320 --> 07:39:28,240 scrolling down. It got to the wins 15811 07:39:26,080 --> 07:39:30,080 channel and it is now trying to like 15812 07:39:28,240 --> 07:39:31,680 post, but as you guys can see, it's not 15813 07:39:30,080 --> 07:39:32,878 perfect. So, I hope that it's able to 15814 07:39:31,680 --> 07:39:36,240 realize that it's not really liking 15815 07:39:32,878 --> 07:39:39,200 them. Yeah, it's basically going like, 15816 07:39:36,240 --> 07:39:42,320 unlike like unlike, and it also just 15817 07:39:39,200 --> 07:39:43,680 said liking too fast. So, let's see if 15818 07:39:42,320 --> 07:39:44,398 it's able to learn. Okay, there we go. 15819 07:39:43,680 --> 07:39:45,760 All right. All right. So, what I'm going 15820 07:39:44,398 --> 07:39:46,878 to do at this point is, you know, I've 15821 07:39:45,760 --> 07:39:49,200 seen enough. I'm going to shut this 15822 07:39:46,878 --> 07:39:50,798 down. And hopefully, it's able to use 15823 07:39:49,200 --> 07:39:52,638 that feedback to get better. So, the 15824 07:39:50,798 --> 07:39:54,398 login persisted. It found the wins 15825 07:39:52,638 --> 07:39:56,718 channel. It even found the heart-shaped 15826 07:39:54,398 --> 07:39:58,878 SVG buttons, but it crashed during the 15827 07:39:56,718 --> 07:40:00,160 page evaluate for liking. So, it's seen 15828 07:39:58,878 --> 07:40:01,840 all that and now it's going to make the 15829 07:40:00,160 --> 07:40:03,120 script even better. So, I will say with 15830 07:40:01,840 --> 07:40:05,200 browser automations, I think that this 15831 07:40:03,120 --> 07:40:07,280 is completely normal, which is why I had 15832 07:40:05,200 --> 07:40:09,440 a little bit of doubt earlier in the 15833 07:40:07,280 --> 07:40:11,920 dentist example, but literally every 15834 07:40:09,440 --> 07:40:13,200 time that you use the script, it's going 15835 07:40:11,920 --> 07:40:14,798 to get better. So, it's about to run it 15836 07:40:13,200 --> 07:40:16,080 again. Let's see how it does. This time, 15837 07:40:14,798 --> 07:40:17,280 it was able to just find the wins 15838 07:40:16,080 --> 07:40:19,840 channel. Now, one thing I might want to 15839 07:40:17,280 --> 07:40:21,360 tell it is I might want to sort it from 15840 07:40:19,840 --> 07:40:23,760 newest posts rather than just going 15841 07:40:21,360 --> 07:40:25,600 straight to the winds channel. And it 15842 07:40:23,760 --> 07:40:27,120 went ahead and shut down again. So, it's 15843 07:40:25,600 --> 07:40:28,958 continuously trying to learn and get 15844 07:40:27,120 --> 07:40:30,000 better at this script. I'm actually 15845 07:40:28,958 --> 07:40:31,360 going to stop this and I'm going to try 15846 07:40:30,000 --> 07:40:32,398 to course correct it a little bit. So, 15847 07:40:31,360 --> 07:40:34,080 I'm going to go into plan mode. I'm 15848 07:40:32,398 --> 07:40:36,320 going to say, 15849 07:40:34,080 --> 07:40:38,240 so a couple issues from the first couple 15850 07:40:36,320 --> 07:40:40,478 runs. The first thing is that it was 15851 07:40:38,240 --> 07:40:42,240 hitting the like button like four times. 15852 07:40:40,478 --> 07:40:44,080 So, it ended up not even liking the 15853 07:40:42,240 --> 07:40:46,080 post. The second thing is once you 15854 07:40:44,080 --> 07:40:48,878 switch to the wins channel, try to 15855 07:40:46,080 --> 07:40:51,920 filter the posts by newest. So, there's 15856 07:40:48,878 --> 07:40:54,558 a little kind of sandwich bar menu 15857 07:40:51,920 --> 07:40:56,558 option near the channel filter. And that 15858 07:40:54,558 --> 07:40:58,478 will allow you to change the view to 15859 07:40:56,558 --> 07:41:00,160 newest. And then you can go through and 15860 07:40:58,478 --> 07:41:02,320 make sure that all of the posts are 15861 07:41:00,160 --> 07:41:04,558 liked. You can tell that they are liked 15862 07:41:02,320 --> 07:41:08,558 because the thumbs up icon on the post 15863 07:41:04,558 --> 07:41:12,680 will be yellow rather than gray. 15864 07:41:08,558 --> 07:41:12,680 All right. So, we got the browser open. 15865 07:41:13,200 --> 07:41:17,920 Nice. It was just able to switch to 15866 07:41:15,040 --> 07:41:21,878 newest. 15867 07:41:17,920 --> 07:41:21,878 And now it's going through and liking. 15868 07:41:22,160 --> 07:41:27,080 It skipped over that one because it 15869 07:41:23,520 --> 07:41:27,080 already liked it. 15870 07:41:30,240 --> 07:41:35,120 Yeah, this is awesome. This seems to be 15871 07:41:31,920 --> 07:41:36,798 doing the trick. 15872 07:41:35,120 --> 07:41:39,120 It's liking my own posts, which is a 15873 07:41:36,798 --> 07:41:40,638 little bit eh, but besides that, it's 15874 07:41:39,120 --> 07:41:41,920 actually working. And it's skipping over 15875 07:41:40,638 --> 07:41:43,840 the ones that are already yellow, which 15876 07:41:41,920 --> 07:41:45,760 is great. It even just went to the next 15877 07:41:43,840 --> 07:41:47,280 page, and it's still liking. So, this 15878 07:41:45,760 --> 07:41:50,160 would go through and like every single 15879 07:41:47,280 --> 07:41:51,280 post in the wins channel. So, I'm going 15880 07:41:50,160 --> 07:41:52,478 to shut that down now just because I 15881 07:41:51,280 --> 07:41:54,878 don't want it to go ahead and do all 15882 07:41:52,478 --> 07:41:56,240 that right now. But, that worked and it 15883 07:41:54,878 --> 07:41:58,478 took what, maybe four or five 15884 07:41:56,240 --> 07:41:59,840 iterations. And now what I would do is I 15885 07:41:58,478 --> 07:42:01,280 would build a skill out of that. So, I 15886 07:41:59,840 --> 07:42:03,120 could just say, "Hey, run the school 15887 07:42:01,280 --> 07:42:04,478 like skill." So anyways, I know that 15888 07:42:03,120 --> 07:42:06,000 that was kind of a simple use case, but 15889 07:42:04,478 --> 07:42:08,958 the point I was trying to prove is that 15890 07:42:06,000 --> 07:42:10,558 yes, you can automate stuff in areas 15891 07:42:08,958 --> 07:42:12,878 where you need to be logged in. And also 15892 07:42:10,558 --> 07:42:16,160 like school is one of the least 15893 07:42:12,878 --> 07:42:17,600 automation friendly platforms ever. So 15894 07:42:16,160 --> 07:42:20,000 there's so much stuff that I do in there 15895 07:42:17,600 --> 07:42:21,760 that's very repetitive. And now I could 15896 07:42:20,000 --> 07:42:23,920 build out different bots and different 15897 07:42:21,760 --> 07:42:25,120 scripts and skills in order to help me 15898 07:42:23,920 --> 07:42:27,280 manage some of that, you know, 15899 07:42:25,120 --> 07:42:28,958 repetitive stuff. Creating pages, 15900 07:42:27,280 --> 07:42:32,718 switching up links, reorganizing the 15901 07:42:28,958 --> 07:42:33,920 community, stuff like that. 15902 07:42:32,718 --> 07:42:35,520 All right, so we're really flying 15903 07:42:33,920 --> 07:42:36,798 through this course. Unfortunately, now 15904 07:42:35,520 --> 07:42:38,718 we have to talk about some stuff that 15905 07:42:36,798 --> 07:42:39,920 might not seem as fun. So, we're about 15906 07:42:38,718 --> 07:42:41,600 to hop into some things that are a 15907 07:42:39,920 --> 07:42:43,280 little bit more complex. Like I said, 15908 07:42:41,600 --> 07:42:44,398 kind of boring, but really important to 15909 07:42:43,280 --> 07:42:46,080 understand. So, we're going to get into 15910 07:42:44,398 --> 07:42:48,320 some stuff with permissions, context 15911 07:42:46,080 --> 07:42:51,040 management, GitHub, and work trees. 15912 07:42:48,320 --> 07:42:53,200 Okay, welcome back to the fun stuff, the 15913 07:42:51,040 --> 07:42:54,718 slides. You guys can obviously tell I 15914 07:42:53,200 --> 07:42:57,920 enjoy the slides because I'm sitting 15915 07:42:54,718 --> 07:42:59,600 down and normally I am standing up. So, 15916 07:42:57,920 --> 07:43:00,878 let's get into it. So, we're going to 15917 07:42:59,600 --> 07:43:03,040 talk about context management a little 15918 07:43:00,878 --> 07:43:05,680 bit and then some GitHub stuff and some 15919 07:43:03,040 --> 07:43:07,120 Git work trees stuff. So, we've talked 15920 07:43:05,680 --> 07:43:09,440 about context management a lot. We've 15921 07:43:07,120 --> 07:43:10,718 talked about cloudmd files a lot, but we 15922 07:43:09,440 --> 07:43:13,520 haven't really spent a lot of time on 15923 07:43:10,718 --> 07:43:14,798 like strategies to basically make sure 15924 07:43:13,520 --> 07:43:16,478 that the window doesn't fill up super 15925 07:43:14,798 --> 07:43:18,478 quick and that we keep the quality of 15926 07:43:16,478 --> 07:43:21,040 our executive assistant high or the 15927 07:43:18,478 --> 07:43:23,360 quality of our project high. So, let's 15928 07:43:21,040 --> 07:43:26,000 get on into this one. The first tip, of 15929 07:43:23,360 --> 07:43:28,080 course, is cloudmd. keep it lean and 15930 07:43:26,000 --> 07:43:30,320 focused because it is injected at the 15931 07:43:28,080 --> 07:43:32,000 beginning of every conversation. This is 15932 07:43:30,320 --> 07:43:34,878 really really really important like 15933 07:43:32,000 --> 07:43:36,718 this. Cutting down your clawb file from 15934 07:43:34,878 --> 07:43:39,440 a couple hundred lines, you know, 5 6 15935 07:43:36,718 --> 07:43:43,200 700 to 100 will make a huge difference 15936 07:43:39,440 --> 07:43:45,680 right off the bat. So what you do is you 15937 07:43:43,200 --> 07:43:47,360 treat this as the never forget rules. 15938 07:43:45,680 --> 07:43:49,520 You treat this as the source of truth 15939 07:43:47,360 --> 07:43:51,520 that Claude Code needs to know every 15940 07:43:49,520 --> 07:43:52,878 single time before it messages you 15941 07:43:51,520 --> 07:43:54,478 because there's a lot of things that it 15942 07:43:52,878 --> 07:43:56,798 it's nice to have but you don't need to 15943 07:43:54,478 --> 07:43:59,440 have. So all of your detailed reference 15944 07:43:56,798 --> 07:44:01,520 docs that are usually the nice to haves, 15945 07:43:59,440 --> 07:44:03,520 put those somewhere else. As long as 15946 07:44:01,520 --> 07:44:07,040 Claude Code knows where to find them, 15947 07:44:03,520 --> 07:44:08,398 you're set. So 15948 07:44:07,040 --> 07:44:10,000 this was the example of my executive 15949 07:44:08,398 --> 07:44:11,600 assistant, right? You are Nate's 15950 07:44:10,000 --> 07:44:14,398 executive assistant. here are full 15951 07:44:11,600 --> 07:44:16,160 details about me or my work or my team 15952 07:44:14,398 --> 07:44:17,760 or my current priorities. That's one 15953 07:44:16,160 --> 07:44:20,080 example. You could also do things like 15954 07:44:17,760 --> 07:44:23,920 this. So, you have the Google Workspace 15955 07:44:20,080 --> 07:44:26,160 CLI. You're authenticated as Nate. Um, 15956 07:44:23,920 --> 07:44:28,240 now if you need actual information about 15957 07:44:26,160 --> 07:44:29,840 how to use this, then just look up this 15958 07:44:28,240 --> 07:44:31,120 doc. So, if you can't do it on your own 15959 07:44:29,840 --> 07:44:32,240 and you're running into issues, then you 15960 07:44:31,120 --> 07:44:34,478 know, you can go right here in the 15961 07:44:32,240 --> 07:44:37,440 references folder to a markdown file 15962 07:44:34,478 --> 07:44:39,360 called GWS CLI reference and you can 15963 07:44:37,440 --> 07:44:41,520 find all the other operations that you 15964 07:44:39,360 --> 07:44:43,040 need. So super simple. You do the same 15965 07:44:41,520 --> 07:44:46,878 thing with your skills. You do the same 15966 07:44:43,040 --> 07:44:48,798 thing with other rules, stuff like that. 15967 07:44:46,878 --> 07:44:51,120 The next one is to use slashclear and 15968 07:44:48,798 --> 07:44:52,558 slash compact strategically. So we've 15969 07:44:51,120 --> 07:44:54,638 talked about this before, right? So use 15970 07:44:52,558 --> 07:44:56,398 slashclear to wipe history after big 15971 07:44:54,638 --> 07:44:59,920 tasks or if you're completely switching 15972 07:44:56,398 --> 07:45:02,240 topics, but before you clear, what you 15973 07:44:59,920 --> 07:45:03,440 can do is you can make handoff docs. So 15974 07:45:02,240 --> 07:45:05,200 you can literally have it, this is 15975 07:45:03,440 --> 07:45:06,718 essentially compacting, create a doc 15976 07:45:05,200 --> 07:45:07,760 about what you were working on, whether 15977 07:45:06,718 --> 07:45:09,440 that's going to be just for the short 15978 07:45:07,760 --> 07:45:11,600 term, a temporary file or if it's going 15979 07:45:09,440 --> 07:45:13,040 to be a long-term memory file and then 15980 07:45:11,600 --> 07:45:14,958 when you move over to a new session, 15981 07:45:13,040 --> 07:45:16,320 it's almost like you didn't even really 15982 07:45:14,958 --> 07:45:17,840 move to a new session because all the 15983 07:45:16,320 --> 07:45:19,520 information is right there, which is 15984 07:45:17,840 --> 07:45:21,120 basically what compacting is, right? It 15985 07:45:19,520 --> 07:45:23,040 summarizes and retains the essential 15986 07:45:21,120 --> 07:45:24,478 information midsession so that you can 15987 07:45:23,040 --> 07:45:27,520 keep certain items and you can keep 15988 07:45:24,478 --> 07:45:28,958 certain conversation history. 15989 07:45:27,520 --> 07:45:31,920 The other thing is to visualize your 15990 07:45:28,958 --> 07:45:33,280 context a lot. So slashcontext really 15991 07:45:31,920 --> 07:45:34,878 powerful tool. I've showed that a few 15992 07:45:33,280 --> 07:45:37,280 times and you can see what's eating up 15993 07:45:34,878 --> 07:45:38,798 tokens. And one thing that I realized 15994 07:45:37,280 --> 07:45:41,360 when I was doing this is that MCP 15995 07:45:38,798 --> 07:45:42,958 servers take up so many tokens and 15996 07:45:41,360 --> 07:45:44,080 sometimes it's just not worth it. So I 15997 07:45:42,958 --> 07:45:46,000 think that's another tip that I have on 15998 07:45:44,080 --> 07:45:47,680 this slide, next slide. So I won't dive 15999 07:45:46,000 --> 07:45:49,920 into that too much, but this allows you 16000 07:45:47,680 --> 07:45:51,120 to identify waste and delete things that 16001 07:45:49,920 --> 07:45:53,440 you're not using. If you got something 16002 07:45:51,120 --> 07:45:55,520 in your context of that project that's 16003 07:45:53,440 --> 07:45:57,920 taking up, I don't know, let's just say 16004 07:45:55,520 --> 07:46:00,240 a percent or two of context every every 16005 07:45:57,920 --> 07:46:01,360 time, get rid of it. if unless you're 16006 07:46:00,240 --> 07:46:03,120 using it, right? Like it's the same 16007 07:46:01,360 --> 07:46:04,878 thing of looking at your budget, like 16008 07:46:03,120 --> 07:46:06,638 what's coming out of your account every 16009 07:46:04,878 --> 07:46:08,320 month. What subscriptions? If you're not 16010 07:46:06,638 --> 07:46:10,958 using the subscription, don't keep 16011 07:46:08,320 --> 07:46:11,920 paying for it. Get rid of it. So, this 16012 07:46:10,958 --> 07:46:13,920 is what it would look like, right? You 16013 07:46:11,920 --> 07:46:17,040 do slashcontext. You can see everything 16014 07:46:13,920 --> 07:46:19,680 takes up tokens. You can see in this 16015 07:46:17,040 --> 07:46:22,000 project when I have a brand new session, 16016 07:46:19,680 --> 07:46:24,798 I'm already at 24,000 tokens. So, that's 16017 07:46:22,000 --> 07:46:27,840 over a tenth. I have system prompt, 16018 07:46:24,798 --> 07:46:30,958 system tools, MCP tools, uh, custom 16019 07:46:27,840 --> 07:46:33,360 agents, memory files, skills, all this 16020 07:46:30,958 --> 07:46:36,638 stuff. Here's an example of just Chrome 16021 07:46:33,360 --> 07:46:38,958 dev tools. Every single tool takes up 16022 07:46:36,638 --> 07:46:40,398 tokens because every tool has a 16023 07:46:38,958 --> 07:46:41,680 description of what it does so that 16024 07:46:40,398 --> 07:46:44,160 Cloud Code could see that description 16025 07:46:41,680 --> 07:46:46,320 and grab it. And that's where these 16026 07:46:44,160 --> 07:46:48,080 tokens come from. We also have custom 16027 07:46:46,320 --> 07:46:50,718 agents. Same thing. We have memory 16028 07:46:48,080 --> 07:46:54,320 files. We have skills. They all have 16029 07:46:50,718 --> 07:46:55,600 tokens that they take up natively. So 16030 07:46:54,320 --> 07:46:57,600 this is how you can eliminate that 16031 07:46:55,600 --> 07:47:00,080 waste. 16032 07:46:57,600 --> 07:47:03,040 Next we have plan upfront and work in 16033 07:47:00,080 --> 07:47:06,160 phases. So create a dedicated plan saved 16034 07:47:03,040 --> 07:47:08,240 to a file and then work off that plan. 16035 07:47:06,160 --> 07:47:11,600 Now let's say we have a we have a plan 16036 07:47:08,240 --> 07:47:13,200 for a app and the app has five stages. 16037 07:47:11,600 --> 07:47:15,360 Let me work with cloud code. Let's get 16038 07:47:13,200 --> 07:47:17,840 us that plan doc. Okay cool. Save the 16039 07:47:15,360 --> 07:47:20,000 plan doc. Now I can I can clear I can 16040 07:47:17,840 --> 07:47:21,840 open up a new session and say hey look 16041 07:47:20,000 --> 07:47:23,280 at this plan doc this is what we're 16042 07:47:21,840 --> 07:47:24,638 doing you're on phase one help me do 16043 07:47:23,280 --> 07:47:26,638 this like you know what you know what I 16044 07:47:24,638 --> 07:47:28,080 mean you have that context now without 16045 07:47:26,638 --> 07:47:29,840 having to stay in the same session. So 16046 07:47:28,080 --> 07:47:31,920 that's one tip to do something like 16047 07:47:29,840 --> 07:47:34,160 that. 16048 07:47:31,920 --> 07:47:35,760 Limit your open sessions. So it's really 16049 07:47:34,160 --> 07:47:38,638 cool that you can do you know like 10 to 16050 07:47:35,760 --> 07:47:40,558 15 sessions at once. I tend to not do 16051 07:47:38,638 --> 07:47:42,478 that anymore. I I used to for a while 16052 07:47:40,558 --> 07:47:44,558 because I thought it was so cool because 16053 07:47:42,478 --> 07:47:47,200 what happens is you can't juggle and 16054 07:47:44,558 --> 07:47:49,040 understand how much context is going on 16055 07:47:47,200 --> 07:47:51,600 in that many sessions. Like you could, 16056 07:47:49,040 --> 07:47:53,200 but it's harder to 16057 07:47:51,600 --> 07:47:55,520 be aware of how much context you've 16058 07:47:53,200 --> 07:47:58,558 used. And the the issue there is that if 16059 07:47:55,520 --> 07:48:00,478 you're not aware, you might run into 16060 07:47:58,558 --> 07:48:01,520 context rot, right? And if you run into 16061 07:48:00,478 --> 07:48:03,520 context rot, that means that your 16062 07:48:01,520 --> 07:48:05,120 outputs are probably worse or they have 16063 07:48:03,520 --> 07:48:07,280 to be double checked by a human more 16064 07:48:05,120 --> 07:48:09,520 likely. And if you're running that many 16065 07:48:07,280 --> 07:48:10,878 sessions, it's easier to lose track and 16066 07:48:09,520 --> 07:48:13,440 it's easier to just think, "Oh, it's 16067 07:48:10,878 --> 07:48:14,878 good. AI did it. We're good." So that's 16068 07:48:13,440 --> 07:48:16,320 why I would not recommend doing any more 16069 07:48:14,878 --> 07:48:20,320 than three to four parallel sessions, 16070 07:48:16,320 --> 07:48:23,600 keeping actual tabs on what's going on. 16071 07:48:20,320 --> 07:48:26,718 Sub agents for isolated tasks. So 16072 07:48:23,600 --> 07:48:29,760 delegating fileheavy investigations to 16073 07:48:26,718 --> 07:48:31,200 sub agents. These sub agents run in 16074 07:48:29,760 --> 07:48:33,120 separate context. And there's, you know, 16075 07:48:31,200 --> 07:48:35,200 a full video in this course about sub 16076 07:48:33,120 --> 07:48:36,798 agents, but basically the idea of if you 16077 07:48:35,200 --> 07:48:38,240 have tons and tons of data, so like 16078 07:48:36,798 --> 07:48:40,398 let's say you're working in a main 16079 07:48:38,240 --> 07:48:42,000 session and you have a full YouTube 16080 07:48:40,398 --> 07:48:43,840 transcript, a 15-minute YouTube video 16081 07:48:42,000 --> 07:48:46,080 transcript that you want to read in the 16082 07:48:43,840 --> 07:48:48,478 session, don't have your main session do 16083 07:48:46,080 --> 07:48:50,398 it. Say, "Hey, sub agent, read this. 16084 07:48:48,478 --> 07:48:52,718 Give me the key highlights." And that 16085 07:48:50,398 --> 07:48:54,638 way, the main sessions context doesn't 16086 07:48:52,718 --> 07:48:58,160 get polluted with all of that non 16087 07:48:54,638 --> 07:49:00,558 nonsense that it doesn't need. 16088 07:48:58,160 --> 07:49:02,558 shared memory files for multi- aents. 16089 07:49:00,558 --> 07:49:04,878 So, this is really cool because you can 16090 07:49:02,558 --> 07:49:08,240 have multiple agents working across the 16091 07:49:04,878 --> 07:49:09,600 same plan doc or task list. Now, we do 16092 07:49:08,240 --> 07:49:11,120 have agent teams, which once again, this 16093 07:49:09,600 --> 07:49:12,718 course has a video about, but if you 16094 07:49:11,120 --> 07:49:14,798 want to basically Frankenstein your own 16095 07:49:12,718 --> 07:49:17,520 way and have more control, you can have 16096 07:49:14,798 --> 07:49:19,280 multiple agents look at and work off of 16097 07:49:17,520 --> 07:49:21,040 the same file. The thing you have to be 16098 07:49:19,280 --> 07:49:23,120 careful of though is if they're working 16099 07:49:21,040 --> 07:49:25,680 in parallel, you run the risk of having 16100 07:49:23,120 --> 07:49:28,320 them overwrite each other. So as long as 16101 07:49:25,680 --> 07:49:29,680 you can manage that and have that sort 16102 07:49:28,320 --> 07:49:30,878 of like persistent memory across 16103 07:49:29,680 --> 07:49:32,878 different agents without them 16104 07:49:30,878 --> 07:49:34,878 overwriting, then it is a very powerful 16105 07:49:32,878 --> 07:49:37,360 technique to potentially save yourself a 16106 07:49:34,878 --> 07:49:39,360 lot of tokens. 16107 07:49:37,360 --> 07:49:41,600 We also have local semantic search over 16108 07:49:39,360 --> 07:49:44,160 GP. So if you have large large code 16109 07:49:41,600 --> 07:49:46,080 bases or projects, GP, which is one of 16110 07:49:44,160 --> 07:49:47,920 the the tools we learned about, is going 16111 07:49:46,080 --> 07:49:49,440 to search through things in a much less 16112 07:49:47,920 --> 07:49:51,280 efficient way than using like actual 16113 07:49:49,440 --> 07:49:53,280 semantic search because that's kind of 16114 07:49:51,280 --> 07:49:54,718 more of like the, you know, the meaning 16115 07:49:53,280 --> 07:49:56,878 search rather than just like keyword 16116 07:49:54,718 --> 07:49:59,040 matching. So benchmarks have actually 16117 07:49:56,878 --> 07:50:01,280 shown that you can get a 97% reduction 16118 07:49:59,040 --> 07:50:03,200 in tokens when you're doing local 16119 07:50:01,280 --> 07:50:04,638 semantic searches like that. So that's 16120 07:50:03,200 --> 07:50:06,798 just something to keep in mind. I have 16121 07:50:04,638 --> 07:50:08,320 not yet truthfully gotten to the point 16122 07:50:06,798 --> 07:50:10,718 where I need to do this, but it is 16123 07:50:08,320 --> 07:50:13,200 something to keep in mind. 16124 07:50:10,718 --> 07:50:16,080 Okay, now let's move on a little bit to 16125 07:50:13,200 --> 07:50:18,558 GitHub and work chase. So this is really 16126 07:50:16,080 --> 07:50:21,280 important, right? Because you need to 16127 07:50:18,558 --> 07:50:22,718 understand where things live, how you 16128 07:50:21,280 --> 07:50:24,798 track version control, how you can 16129 07:50:22,718 --> 07:50:28,000 collaborate, how you can move local code 16130 07:50:24,798 --> 07:50:29,520 bases between devices and then work 16131 07:50:28,000 --> 07:50:31,520 trees. So basically making sure that 16132 07:50:29,520 --> 07:50:33,280 you're not breaking anything. So these 16133 07:50:31,520 --> 07:50:34,638 are two really important concepts to 16134 07:50:33,280 --> 07:50:35,920 understand. And before we get into all 16135 07:50:34,638 --> 07:50:39,440 this technical stuff that might seem 16136 07:50:35,920 --> 07:50:42,878 overwhelming, just know this. 16137 07:50:39,440 --> 07:50:44,798 AI knows GitHub and Work Trees so well. 16138 07:50:42,878 --> 07:50:46,478 They know GitHub and Work Trees so much 16139 07:50:44,798 --> 07:50:49,040 better than you ever will. Unless you're 16140 07:50:46,478 --> 07:50:50,398 maybe from a developer background, they 16141 07:50:49,040 --> 07:50:52,478 certainly know GitHub and Work Tries 16142 07:50:50,398 --> 07:50:54,080 better than I ever will. So, all you 16143 07:50:52,478 --> 07:50:55,680 have to do is be very strategic and 16144 07:50:54,080 --> 07:50:57,600 smart about what you want and what you 16145 07:50:55,680 --> 07:51:00,160 don't want. Meaning, if you want to save 16146 07:50:57,600 --> 07:51:01,600 your work, if you want to roll back to a 16147 07:51:00,160 --> 07:51:03,200 different version, if you want to share 16148 07:51:01,600 --> 07:51:05,280 this with someone else, just use your 16149 07:51:03,200 --> 07:51:06,718 natural language and cloud code will 16150 07:51:05,280 --> 07:51:09,440 help you do that with GitHub or with 16151 07:51:06,718 --> 07:51:10,638 work trees. It's super super simple. It 16152 07:51:09,440 --> 07:51:11,840 just kind of goes back to what I talked 16153 07:51:10,638 --> 07:51:13,920 about at the very very beginning of this 16154 07:51:11,840 --> 07:51:15,120 course where I was like be genuinely 16155 07:51:13,920 --> 07:51:18,240 curious. That's like the number one 16156 07:51:15,120 --> 07:51:19,680 mindset shift. Okay. So there is a 16157 07:51:18,240 --> 07:51:21,200 difference though between Git and 16158 07:51:19,680 --> 07:51:23,760 GitHub. 16159 07:51:21,200 --> 07:51:25,360 Git is a version control system. It is a 16160 07:51:23,760 --> 07:51:26,878 tool that tracks every change that you 16161 07:51:25,360 --> 07:51:28,878 make to your projects and this can be 16162 07:51:26,878 --> 07:51:30,718 locally. Think of it like a time machine 16163 07:51:28,878 --> 07:51:31,920 for your project. So every time you save 16164 07:51:30,718 --> 07:51:34,240 a meaningful change, which is something 16165 07:51:31,920 --> 07:51:36,000 that they call a commit, Git takes a 16166 07:51:34,240 --> 07:51:38,398 snapshot of your entire project at that 16167 07:51:36,000 --> 07:51:40,160 moment. So later if something breaks you 16168 07:51:38,398 --> 07:51:42,718 can effectively rewind. So it's like 16169 07:51:40,160 --> 07:51:46,638 you're getting a checkpoint, right? 16170 07:51:42,718 --> 07:51:48,958 So a few concepts, a repo or a 16171 07:51:46,638 --> 07:51:50,958 repository that's basically a folder 16172 07:51:48,958 --> 07:51:52,878 that git is watching. It contains all 16173 07:51:50,958 --> 07:51:54,638 the files plus the full history of every 16174 07:51:52,878 --> 07:51:56,398 change ever made and it's like you know 16175 07:51:54,638 --> 07:51:58,160 a bank account for your code. It has 16176 07:51:56,398 --> 07:52:01,600 everything, all the transactions, 16177 07:51:58,160 --> 07:52:03,920 everything. Now what is a commit? This 16178 07:52:01,600 --> 07:52:06,240 is a snapshot of your project at a 16179 07:52:03,920 --> 07:52:08,478 specific point in time. So each commit 16180 07:52:06,240 --> 07:52:09,840 includes what you're describing or sorry 16181 07:52:08,478 --> 07:52:11,840 it includes what you've changed and 16182 07:52:09,840 --> 07:52:14,478 describes why and basically like hitting 16183 07:52:11,840 --> 07:52:16,478 save on a word doc or a video game or a 16184 07:52:14,478 --> 07:52:19,360 video file 16185 07:52:16,478 --> 07:52:20,958 branch. This is a separate copy of your 16186 07:52:19,360 --> 07:52:23,600 project where you can make changes 16187 07:52:20,958 --> 07:52:25,120 without affecting the main version. So 16188 07:52:23,600 --> 07:52:26,798 almost like you clone it, you change 16189 07:52:25,120 --> 07:52:29,360 things and then if you like it, you can 16190 07:52:26,798 --> 07:52:31,280 merge it back in. The default branch is 16191 07:52:29,360 --> 07:52:33,920 usually called main. And when you create 16192 07:52:31,280 --> 07:52:35,280 a new branch like feature login, you're 16193 07:52:33,920 --> 07:52:36,958 essentially saying, "Let me try 16194 07:52:35,280 --> 07:52:38,718 something without risking the stable 16195 07:52:36,958 --> 07:52:41,680 version." So it's almost like the way 16196 07:52:38,718 --> 07:52:42,798 that you have, you know, 16197 07:52:41,680 --> 07:52:44,398 workflows that are published and 16198 07:52:42,798 --> 07:52:46,478 workflows that are in draft mode or 16199 07:52:44,398 --> 07:52:48,080 inactive. And you would never want to 16200 07:52:46,478 --> 07:52:49,600 make live changes to the published 16201 07:52:48,080 --> 07:52:50,718 version. You would change things in the 16202 07:52:49,600 --> 07:52:52,320 test environment. You would change 16203 07:52:50,718 --> 07:52:54,558 things as a draft. And then once you 16204 07:52:52,320 --> 07:52:56,080 like it, you push that to prod or you 16205 07:52:54,558 --> 07:52:57,920 push that to main or whatever different 16206 07:52:56,080 --> 07:53:00,558 terminology you have. It's that same 16207 07:52:57,920 --> 07:53:02,160 concept, right? 16208 07:53:00,558 --> 07:53:03,680 Um, and that's where push comes in, 16209 07:53:02,160 --> 07:53:05,360 right? Uploading your local commits to 16210 07:53:03,680 --> 07:53:08,000 the online version of your repo. So, 16211 07:53:05,360 --> 07:53:10,320 syncing to cloud. A pull is downloading 16212 07:53:08,000 --> 07:53:11,680 the latest changes from the online repo 16213 07:53:10,320 --> 07:53:13,520 to your local machine. So, you're 16214 07:53:11,680 --> 07:53:15,040 pulling it in. And then a merge is 16215 07:53:13,520 --> 07:53:16,958 combining the changes from one branch 16216 07:53:15,040 --> 07:53:18,958 into another. Once your feature is done 16217 07:53:16,958 --> 07:53:20,240 and tested, you can merge it back into 16218 07:53:18,958 --> 07:53:23,440 the main. So, that's how we do 16219 07:53:20,240 --> 07:53:25,760 everything here very, very safely. 16220 07:53:23,440 --> 07:53:28,638 GitHub. So, GitHub is basically the 16221 07:53:25,760 --> 07:53:30,478 cloud service built on top of git. So 16222 07:53:28,638 --> 07:53:33,200 while Git runs on our local computer and 16223 07:53:30,478 --> 07:53:35,120 tracks our files, GitHub hosts them 16224 07:53:33,200 --> 07:53:37,200 online so that you can access them from 16225 07:53:35,120 --> 07:53:39,120 anywhere. You can back them up, you can 16226 07:53:37,200 --> 07:53:40,798 collaborate with others, do whatever you 16227 07:53:39,120 --> 07:53:42,080 need. And that's how you can maybe take 16228 07:53:40,798 --> 07:53:44,558 your executive assistant that's right 16229 07:53:42,080 --> 07:53:46,000 now locally, push to GitHub, and then if 16230 07:53:44,558 --> 07:53:48,320 you have a laptop and you want to go on 16231 07:53:46,000 --> 07:53:50,000 a vacation, you can bring your laptop 16232 07:53:48,320 --> 07:53:51,200 with you and pull in the repo. So you 16233 07:53:50,000 --> 07:53:53,920 still have your executive assistant 16234 07:53:51,200 --> 07:53:56,000 there. So think of it like this. Git is 16235 07:53:53,920 --> 07:53:58,000 the engine that tracks your changes. 16236 07:53:56,000 --> 07:53:59,840 GitHub is the parking garage in the 16237 07:53:58,000 --> 07:54:03,120 cloud where your project lives so that 16238 07:53:59,840 --> 07:54:05,360 it's safe and accessible. 16239 07:54:03,120 --> 07:54:08,000 What does GitHub what does GitHub 16240 07:54:05,360 --> 07:54:11,040 actually give you? Well, cloud backup, 16241 07:54:08,000 --> 07:54:13,920 collaboration, pull requests, and 16242 07:54:11,040 --> 07:54:16,240 version history. So, cloud backup is 16243 07:54:13,920 --> 07:54:17,680 pretty self-explanatory. Um, 16244 07:54:16,240 --> 07:54:19,200 collaboration means that multiple people 16245 07:54:17,680 --> 07:54:21,280 can work on the same project without 16246 07:54:19,200 --> 07:54:23,200 overwriting each other's work. 16247 07:54:21,280 --> 07:54:25,360 Pull requests means that you can propose 16248 07:54:23,200 --> 07:54:27,360 changes and have them reviewed before 16249 07:54:25,360 --> 07:54:29,200 you merge them into the main project. 16250 07:54:27,360 --> 07:54:30,958 And so that's how you can have multiple 16251 07:54:29,200 --> 07:54:33,040 engineers working on the same GitHub 16252 07:54:30,958 --> 07:54:34,558 repo, all pushing different feature 16253 07:54:33,040 --> 07:54:36,718 requests and, you know, working on their 16254 07:54:34,558 --> 07:54:39,840 own things and merging it all back into 16255 07:54:36,718 --> 07:54:41,360 the main environment safely. And then 16256 07:54:39,840 --> 07:54:43,920 you can also see version history, which 16257 07:54:41,360 --> 07:54:46,320 would basically just mean, let's say you 16258 07:54:43,920 --> 07:54:48,878 have a project, you push 10 different 16259 07:54:46,320 --> 07:54:50,160 commits. You can see each commit. And if 16260 07:54:48,878 --> 07:54:51,600 you needed to roll back to a certain 16261 07:54:50,160 --> 07:54:53,200 commit, you could. You could see who 16262 07:54:51,600 --> 07:54:54,638 made the commit. You could see what was 16263 07:54:53,200 --> 07:54:57,120 the purpose of that commit. You can just 16264 07:54:54,638 --> 07:55:00,958 see everything, right? 16265 07:54:57,120 --> 07:55:03,120 Okay. So the basic workflow would be 16266 07:55:00,958 --> 07:55:05,520 create a GitHub repository for your 16267 07:55:03,120 --> 07:55:07,760 project. clone a copy of it to your 16268 07:55:05,520 --> 07:55:09,760 local computer. Create a branch for your 16269 07:55:07,760 --> 07:55:12,398 new feature or fix. Make changes and 16270 07:55:09,760 --> 07:55:14,398 then commit. Push the branch to GitHub. 16271 07:55:12,398 --> 07:55:16,080 Open a pull request to propose merging 16272 07:55:14,398 --> 07:55:18,240 your changes into the main and then you 16273 07:55:16,080 --> 07:55:19,600 review, approve, and merge. That's 16274 07:55:18,240 --> 07:55:22,478 typically the way that it works when you 16275 07:55:19,600 --> 07:55:23,760 have a team working on a project. So, 16276 07:55:22,478 --> 07:55:25,120 this is exactly how professional 16277 07:55:23,760 --> 07:55:26,718 developers and teams work and it's the 16278 07:55:25,120 --> 07:55:28,718 same workflow cloud code uses behind the 16279 07:55:26,718 --> 07:55:30,958 scenes when managing the project. Once 16280 07:55:28,718 --> 07:55:32,320 again, cloud code understands these best 16281 07:55:30,958 --> 07:55:34,000 practices and when you need to save 16282 07:55:32,320 --> 07:55:35,520 things or roll back, it will help you do 16283 07:55:34,000 --> 07:55:37,760 that. 16284 07:55:35,520 --> 07:55:40,320 So now that you understand all that 16285 07:55:37,760 --> 07:55:42,478 stuff, work trees should probably click 16286 07:55:40,320 --> 07:55:44,240 a little bit better. So a work tree lets 16287 07:55:42,478 --> 07:55:46,558 you check out multiple branches from the 16288 07:55:44,240 --> 07:55:49,520 same repo at the same time, each on its 16289 07:55:46,558 --> 07:55:52,000 own folder on your computer. 16290 07:55:49,520 --> 07:55:53,440 So the problem is that normally in git, 16291 07:55:52,000 --> 07:55:55,120 you can only work on one branch at a 16292 07:55:53,440 --> 07:55:56,478 time within that folder. So if you're 16293 07:55:55,120 --> 07:55:58,080 building out a new feature and suddenly 16294 07:55:56,478 --> 07:55:59,280 you need to go to a different branch, 16295 07:55:58,080 --> 07:56:00,638 you would have to either stop what 16296 07:55:59,280 --> 07:56:02,080 you're doing and save it or you would 16297 07:56:00,638 --> 07:56:05,120 have to just like commit it and it might 16298 07:56:02,080 --> 07:56:07,280 not be finished yet. So it's risky. So 16299 07:56:05,120 --> 07:56:08,798 this problem is solved with work trees 16300 07:56:07,280 --> 07:56:10,798 because you can basically just create a 16301 07:56:08,798 --> 07:56:12,398 second working directory just to work on 16302 07:56:10,798 --> 07:56:14,718 that branch or just to work on your own 16303 07:56:12,398 --> 07:56:16,638 fix. So your original work basically 16304 07:56:14,718 --> 07:56:18,160 just stays there and you just open up a 16305 07:56:16,638 --> 07:56:21,520 separate one and they they're isolated. 16306 07:56:18,160 --> 07:56:24,478 They don't touch each other, right? 16307 07:56:21,520 --> 07:56:27,600 So, Cloud Code has built-in native 16308 07:56:24,478 --> 07:56:29,360 support for git work using a command. 16309 07:56:27,600 --> 07:56:30,798 The good news is you don't ever have to 16310 07:56:29,360 --> 07:56:32,398 really run this if you don't want. Cloud 16311 07:56:30,798 --> 07:56:33,920 code can do it, but you could also, if 16312 07:56:32,398 --> 07:56:36,000 you want full control, you could start 16313 07:56:33,920 --> 07:56:37,600 up your own work tree. This means you 16314 07:56:36,000 --> 07:56:39,440 can run multiple cloud code sessions at 16315 07:56:37,600 --> 07:56:41,360 the same time, each working on a 16316 07:56:39,440 --> 07:56:44,240 completely different task without any of 16317 07:56:41,360 --> 07:56:46,718 them interfering with each other. So, it 16318 07:56:44,240 --> 07:56:47,920 is very, very safe. Okay, great job 16319 07:56:46,718 --> 07:56:49,680 getting through the stuff that I thought 16320 07:56:47,920 --> 07:56:51,600 was the most boring about learning cloud 16321 07:56:49,680 --> 07:56:52,958 code. And now let's just kind of get 16322 07:56:51,600 --> 07:56:54,000 back into some more fun stuff. So I'm 16323 07:56:52,958 --> 07:56:55,440 going to go over some hacks with you 16324 07:56:54,000 --> 07:56:57,360 guys and then just show you some cool 16325 07:56:55,440 --> 07:56:59,680 things that you can do with Cloud Code. 16326 07:56:57,360 --> 07:57:03,000 And I think it's pretty fun. So let's 16327 07:56:59,680 --> 07:57:03,000 get into it. 16328 07:57:03,040 --> 07:57:05,680 These are the Cloud Code hacks that took 16329 07:57:04,478 --> 07:57:07,280 me from a complete beginner to 16330 07:57:05,680 --> 07:57:09,440 mass-producing workflows and building 16331 07:57:07,280 --> 07:57:10,878 websites, apps, and AI agents in real 16332 07:57:09,440 --> 07:57:12,398 time. So today we're going to be going 16333 07:57:10,878 --> 07:57:14,160 from beginner hacks all the way to 16334 07:57:12,398 --> 07:57:15,840 advanced power user stuff. And the best 16335 07:57:14,160 --> 07:57:17,280 ones are saved at the end. All right, so 16336 07:57:15,840 --> 07:57:19,920 starting off with our beginner hacks. 16337 07:57:17,280 --> 07:57:21,360 Number one is to run /init on every 16338 07:57:19,920 --> 07:57:22,958 project. So if you already got an 16339 07:57:21,360 --> 07:57:24,320 existing project with files already in 16340 07:57:22,958 --> 07:57:26,718 there, the first thing you should do is 16341 07:57:24,320 --> 07:57:28,320 open it up and type /init. Cloud code 16342 07:57:26,718 --> 07:57:30,080 will then scan your entire codebase, 16343 07:57:28,320 --> 07:57:32,160 your folders, your files, and it will 16344 07:57:30,080 --> 07:57:33,840 generate a cloud. MD file, which is 16345 07:57:32,160 --> 07:57:35,040 basically like a cheat sheet for that 16346 07:57:33,840 --> 07:57:36,798 project. It'll map out your 16347 07:57:35,040 --> 07:57:38,080 architecture, your conventions, and any 16348 07:57:36,798 --> 07:57:39,360 key files that you have in there. So 16349 07:57:38,080 --> 07:57:40,878 instead of having to reexplain your 16350 07:57:39,360 --> 07:57:42,398 project every session, Cloud will 16351 07:57:40,878 --> 07:57:44,398 basically just contextualize everything 16352 07:57:42,398 --> 07:57:45,440 and initialize everything and know what 16353 07:57:44,398 --> 07:57:46,718 you're working with. And if you're 16354 07:57:45,440 --> 07:57:48,160 starting a new project from scratch, 16355 07:57:46,718 --> 07:57:50,320 then you can have cloud code help you 16356 07:57:48,160 --> 07:57:52,000 create that cloudmd file yourself just 16357 07:57:50,320 --> 07:57:53,360 by explaining what's the goal of this 16358 07:57:52,000 --> 07:57:55,760 project, what text stack you want to 16359 07:57:53,360 --> 07:57:57,440 use, or any rules or key folders and 16360 07:57:55,760 --> 07:57:59,200 files. All right, number two is to set 16361 07:57:57,440 --> 07:58:01,280 up a status line. So if you're working 16362 07:57:59,200 --> 07:58:03,040 in the terminal, you can type / status 16363 07:58:01,280 --> 07:58:04,558 line and tell cloud code what you want 16364 07:58:03,040 --> 07:58:06,878 to see, your model, your context 16365 07:58:04,558 --> 07:58:08,320 percentage, cost, whatever. It basically 16366 07:58:06,878 --> 07:58:09,840 generates a little script that sits at 16367 07:58:08,320 --> 07:58:11,600 the bottom of the terminal. So as you're 16368 07:58:09,840 --> 07:58:13,040 talking every single time, you can just 16369 07:58:11,600 --> 07:58:14,638 see that status line. It's just kind of 16370 07:58:13,040 --> 07:58:15,840 like a mini dashboard for your session. 16371 07:58:14,638 --> 07:58:17,120 So, it's really helpful to always be 16372 07:58:15,840 --> 07:58:19,520 able to see how much context you have 16373 07:58:17,120 --> 07:58:21,360 left so you can avoid context rot. Hack 16374 07:58:19,520 --> 07:58:23,680 number three is using voice input. So, 16375 07:58:21,360 --> 07:58:24,958 cloud code just shipped a native/v voice 16376 07:58:23,680 --> 07:58:26,320 command, which means you can literally 16377 07:58:24,958 --> 07:58:27,760 just talk to your terminal and have it 16378 07:58:26,320 --> 07:58:29,440 code for you now. So, it's still rolling 16379 07:58:27,760 --> 07:58:31,040 out. It will be out for everyone soon, 16380 07:58:29,440 --> 07:58:32,958 but another good hack would just be to 16381 07:58:31,040 --> 07:58:34,320 use an app to actually be able to voice 16382 07:58:32,958 --> 07:58:35,520 dictate anywhere. So, if you want to see 16383 07:58:34,320 --> 07:58:36,878 the tool that I use, you can check out 16384 07:58:35,520 --> 07:58:38,638 the description. Now, I can just talk 16385 07:58:36,878 --> 07:58:39,920 and words will appear anywhere. Hack 16386 07:58:38,638 --> 07:58:41,440 number four is to keep your context 16387 07:58:39,920 --> 07:58:43,440 small. So don't dump your entire 16388 07:58:41,440 --> 07:58:44,878 codebase into a conversation. Only give 16389 07:58:43,440 --> 07:58:47,120 Claude what it needs for the current 16390 07:58:44,878 --> 07:58:48,878 task. So try to break big problems into 16391 07:58:47,120 --> 07:58:50,558 small focused steps. The less noise in 16392 07:58:48,878 --> 07:58:52,000 the context window, the better Claude 16393 07:58:50,558 --> 07:58:53,680 performs. It's simple, but a lot of 16394 07:58:52,000 --> 07:58:56,240 people ignore this. Hack number five is 16395 07:58:53,680 --> 07:58:58,398 to use /context to find your token 16396 07:58:56,240 --> 07:59:00,160 bloat. So if you do /context, you'll see 16397 07:58:58,398 --> 07:59:01,760 exactly what's eating your tokens. 16398 07:59:00,160 --> 07:59:04,398 Whether that's system prompts or file 16399 07:59:01,760 --> 07:59:05,760 contents, MCP servers, whatever it is, 16400 07:59:04,398 --> 07:59:07,280 all of that gets broken down into 16401 07:59:05,760 --> 07:59:08,558 percentages. So if your session feels a 16402 07:59:07,280 --> 07:59:10,240 little bloated, you can actually 16403 07:59:08,558 --> 07:59:12,000 investigate it, diagnose where the 16404 07:59:10,240 --> 07:59:14,798 problem is, and then restructure. Hack 16405 07:59:12,000 --> 07:59:17,120 number six is to compact at 60%. And 16406 07:59:14,798 --> 07:59:19,280 also clear between tasks. So when your 16407 07:59:17,120 --> 07:59:21,440 context hits around 60%, then type 16408 07:59:19,280 --> 07:59:23,120 /compact and cloud code will compress 16409 07:59:21,440 --> 07:59:24,398 your conversation history so you can 16410 07:59:23,120 --> 07:59:25,760 keep going without losing important 16411 07:59:24,398 --> 07:59:28,000 stuff. And something interesting is that 16412 07:59:25,760 --> 07:59:29,840 you can actually do a /compact, but you 16413 07:59:28,000 --> 07:59:32,000 can tell it to keep certain things like, 16414 07:59:29,840 --> 07:59:33,680 hey, / compact, but keep all of the API 16415 07:59:32,000 --> 07:59:35,120 integration decisions and database 16416 07:59:33,680 --> 07:59:36,718 schema. So Cloud will automatically 16417 07:59:35,120 --> 07:59:38,240 shrink everything down and preserve the 16418 07:59:36,718 --> 07:59:39,440 stuff that you need to keep in there. 16419 07:59:38,240 --> 07:59:41,120 And if you're actually going to switch 16420 07:59:39,440 --> 07:59:42,638 to a completely different task and you 16421 07:59:41,120 --> 07:59:44,320 don't need that conversation history, 16422 07:59:42,638 --> 07:59:45,840 then use slashclear to just wipe the 16423 07:59:44,320 --> 07:59:47,280 slate clean and you're starting from a 16424 07:59:45,840 --> 07:59:48,638 new conversation. But luckily, you still 16425 07:59:47,280 --> 07:59:50,240 have your cloud. Mmd, you still have all 16426 07:59:48,638 --> 07:59:51,760 the other files. So it's not like you're 16427 07:59:50,240 --> 07:59:53,280 actually starting from scratch. So hack 16428 07:59:51,760 --> 07:59:54,878 number seven is to always start in plan 16429 07:59:53,280 --> 07:59:56,558 mode. So that means you can hit shift 16430 07:59:54,878 --> 07:59:58,080 tab to cycle between modes or just 16431 07:59:56,558 --> 07:59:59,680 choose it manually. And once Claude's in 16432 07:59:58,080 --> 08:00:01,280 plan mode, it can still read, it can 16433 07:59:59,680 --> 08:00:02,798 still research, but it won't actually 16434 08:00:01,280 --> 08:00:04,320 change anything. So Claude will outline 16435 08:00:02,798 --> 08:00:05,600 the steps. It will ask clarifying 16436 08:00:04,320 --> 08:00:07,040 questions and it will map out the 16437 08:00:05,600 --> 08:00:08,798 approach before writing a single line of 16438 08:00:07,040 --> 08:00:10,240 code which has been shown to improve the 16439 08:00:08,798 --> 08:00:11,600 quality. Now once you like the plan you 16440 08:00:10,240 --> 08:00:13,440 switch out of plan mode. Tell it to 16441 08:00:11,600 --> 08:00:14,718 execute and this alone will dramatically 16442 08:00:13,440 --> 08:00:16,878 reduce how many times that you have to 16443 08:00:14,718 --> 08:00:18,320 go back and correct Claude. Hack number 16444 08:00:16,878 --> 08:00:19,680 eight we have to treat Claude like a 16445 08:00:18,320 --> 08:00:21,200 junior developer which means don't 16446 08:00:19,680 --> 08:00:23,200 always give it direct commands like 16447 08:00:21,200 --> 08:00:24,478 write me a function that does X but try 16448 08:00:23,200 --> 08:00:26,000 to understand how you can give it 16449 08:00:24,478 --> 08:00:27,600 problems. So saying, "How should we 16450 08:00:26,000 --> 08:00:29,040 handle growth tracking?" And let it 16451 08:00:27,600 --> 08:00:30,398 think through the approach because when 16452 08:00:29,040 --> 08:00:32,160 it makes its own assumptions and it 16453 08:00:30,398 --> 08:00:33,920 thinks through decisions, you can ask it 16454 08:00:32,160 --> 08:00:35,920 to explain those. And this has also been 16455 08:00:33,920 --> 08:00:37,360 shown to get better outputs when Claude 16456 08:00:35,920 --> 08:00:38,718 reasons through the problem first. So 16457 08:00:37,360 --> 08:00:40,240 it's like plan mode, but now you're 16458 08:00:38,718 --> 08:00:42,000 having it think a little bit deeper. 16459 08:00:40,240 --> 08:00:43,920 Okay. Hack number nine is to make Claude 16460 08:00:42,000 --> 08:00:45,520 ask questions. So a lot of times in plan 16461 08:00:43,920 --> 08:00:47,280 mode, it will do this natively, but you 16462 08:00:45,520 --> 08:00:49,360 can actually tell it to invoke its ask 16463 08:00:47,280 --> 08:00:50,958 user question tool. You can tell it 16464 08:00:49,360 --> 08:00:52,958 continuously ask me questions until 16465 08:00:50,958 --> 08:00:54,798 you're 95% confident that you understand 16466 08:00:52,958 --> 08:00:56,320 exactly what I need and exactly what you 16467 08:00:54,798 --> 08:00:58,080 need to do. And once again, this 16468 08:00:56,320 --> 08:00:59,520 alignment helps you from having to go 16469 08:00:58,080 --> 08:01:01,280 back and forth with, you know, three or 16470 08:00:59,520 --> 08:01:03,680 four rounds of revisions. All right, 16471 08:01:01,280 --> 08:01:05,520 hack number 10 is build self-checking 16472 08:01:03,680 --> 08:01:07,120 into the to-do lists. So, you know how 16473 08:01:05,520 --> 08:01:08,398 Cloud makes a to-do list when it starts 16474 08:01:07,120 --> 08:01:10,478 building? Well, you can actually build 16475 08:01:08,398 --> 08:01:12,718 verification steps right into that list. 16476 08:01:10,478 --> 08:01:14,958 So, let's say one to-do is to build the 16477 08:01:12,718 --> 08:01:16,398 website. The very next to-do could be 16478 08:01:14,958 --> 08:01:17,680 take a screenshot of the website and 16479 08:01:16,398 --> 08:01:18,958 check that everything looks right. And 16480 08:01:17,680 --> 08:01:21,120 then maybe the next step is to open 16481 08:01:18,958 --> 08:01:22,558 Chrome DevTools to use the browser and 16482 08:01:21,120 --> 08:01:24,080 make sure that there are no actual 16483 08:01:22,558 --> 08:01:25,920 errors in functionality. So you're now 16484 08:01:24,080 --> 08:01:27,680 baking quality checks directly into the 16485 08:01:25,920 --> 08:01:28,958 execution plan. So Claude isn't just 16486 08:01:27,680 --> 08:01:30,160 building stuff and handing it to you for 16487 08:01:28,958 --> 08:01:31,440 feedback, but now it's building 16488 08:01:30,160 --> 08:01:32,878 something, checking it, making sure 16489 08:01:31,440 --> 08:01:34,320 everything's good, and then getting your 16490 08:01:32,878 --> 08:01:36,320 feedback. And another cool thing that I 16491 08:01:34,320 --> 08:01:38,398 like to do here is say, don't move on to 16492 08:01:36,320 --> 08:01:40,958 your next to-do until you're 95% 16493 08:01:38,398 --> 08:01:42,398 confident that that to-do is good. 16494 08:01:40,958 --> 08:01:44,000 Because it's AI, it's really hard to 16495 08:01:42,398 --> 08:01:46,080 oneshot what you're looking for, but 16496 08:01:44,000 --> 08:01:48,320 you'd rather have it one shot 90% of the 16497 08:01:46,080 --> 08:01:50,638 way there rather than one shot 60 or 16498 08:01:48,320 --> 08:01:51,920 65%. Okay, so those were our beginner 16499 08:01:50,638 --> 08:01:53,280 hacks. Now, let's step it up a little 16500 08:01:51,920 --> 08:01:54,878 bit. These next ones are for the people 16501 08:01:53,280 --> 08:01:56,478 who are already kind of using Cloud Code 16502 08:01:54,878 --> 08:01:57,920 a little bit and want to move faster. 16503 08:01:56,478 --> 08:02:00,160 All right, so hack number 11 is to 16504 08:01:57,920 --> 08:02:01,840 deploy sub agents for parallel work. Try 16505 08:02:00,160 --> 08:02:03,360 telling the main session to use sub 16506 08:02:01,840 --> 08:02:05,200 aents in your prompt when you're working 16507 08:02:03,360 --> 08:02:06,798 on complex problems. Cloud will spin up 16508 08:02:05,200 --> 08:02:08,320 isolated sub aents that each have their 16509 08:02:06,798 --> 08:02:09,920 own context window. They can each be 16510 08:02:08,320 --> 08:02:11,680 using their own model and each agent 16511 08:02:09,920 --> 08:02:13,440 works in parallel which means the main 16512 08:02:11,680 --> 08:02:15,760 thread stays clean while the sub aents 16513 08:02:13,440 --> 08:02:17,120 go do research, write tests or explore 16514 08:02:15,760 --> 08:02:18,958 different approaches. When they're done, 16515 08:02:17,120 --> 08:02:20,398 they all report back to that main agent 16516 08:02:18,958 --> 08:02:21,760 with their findings. So it's like having 16517 08:02:20,398 --> 08:02:23,120 a team of developers instead of just 16518 08:02:21,760 --> 08:02:25,520 having one. And you can even pair this 16519 08:02:23,120 --> 08:02:26,638 with the model hack for cheaper tokens, 16520 08:02:25,520 --> 08:02:28,558 which means you can have all the sub 16521 08:02:26,638 --> 08:02:30,398 aents running on Haiku for simpler stuff 16522 08:02:28,558 --> 08:02:31,760 and your main thread can stay on Opus. 16523 08:02:30,398 --> 08:02:33,600 All right, hack number 12 is to build 16524 08:02:31,760 --> 08:02:35,040 custom skills. This means you can create 16525 08:02:33,600 --> 08:02:37,120 reusable prompt files in your 16526 08:02:35,040 --> 08:02:38,558 do.cloud/skills directory. So for 16527 08:02:37,120 --> 08:02:40,878 example, you can have one skill called 16528 08:02:38,558 --> 08:02:42,718 techdebt.md which tells claude exactly 16529 08:02:40,878 --> 08:02:44,398 how to scan for technical debt. Or you 16530 08:02:42,718 --> 08:02:46,160 can have one called code review.mmd 16531 08:02:44,398 --> 08:02:47,680 which knows exactly how to review your 16532 08:02:46,160 --> 08:02:49,360 codebase and then all you have to do is 16533 08:02:47,680 --> 08:02:50,958 invoke that skill in natural language or 16534 08:02:49,360 --> 08:02:52,558 just use the slash command directly and 16535 08:02:50,958 --> 08:02:54,398 it will run that entire workflow 16536 08:02:52,558 --> 08:02:55,840 consistently every single time. You can 16537 08:02:54,398 --> 08:02:57,200 even commit them to GitHub and your 16538 08:02:55,840 --> 08:02:58,718 whole team can instantly use them as 16539 08:02:57,200 --> 08:03:00,558 well. So you can automate your actual 16540 08:02:58,718 --> 08:03:01,760 SOPs. All right, so hack number 13 is 16541 08:03:00,558 --> 08:03:03,120 something that I alluded to a little bit 16542 08:03:01,760 --> 08:03:05,120 earlier, but that's basically just using 16543 08:03:03,120 --> 08:03:06,398 Haiku for sub aents because you can set 16544 08:03:05,120 --> 08:03:08,718 the model for the sub aents that you 16545 08:03:06,398 --> 08:03:10,320 spin up. When you have simple tasks or 16546 08:03:08,718 --> 08:03:12,000 processing a large amount of data, then 16547 08:03:10,320 --> 08:03:13,760 use Haiku. It's way cheaper and it still 16548 08:03:12,000 --> 08:03:15,600 gets the job done. Specifically, if you 16549 08:03:13,760 --> 08:03:16,878 need a sub agent to go scrape a ton of 16550 08:03:15,600 --> 08:03:18,718 different articles, read hundreds of 16551 08:03:16,878 --> 08:03:20,558 thousands of tokens, and then just give 16552 08:03:18,718 --> 08:03:22,080 Opus, give your main agent just a small 16553 08:03:20,558 --> 08:03:23,360 summary or the key highlights. It just 16554 08:03:22,080 --> 08:03:25,280 doesn't really make sense to have such a 16555 08:03:23,360 --> 08:03:26,798 heavy and expensive model reading 16556 08:03:25,280 --> 08:03:28,320 hundreds of thousands of tokens if it 16557 08:03:26,798 --> 08:03:29,680 just needs a few bits of information. 16558 08:03:28,320 --> 08:03:31,440 And if you do this right, it can really 16559 08:03:29,680 --> 08:03:32,638 keep your cost down without sacrificing 16560 08:03:31,440 --> 08:03:34,958 quality where it matters. All right, 16561 08:03:32,638 --> 08:03:36,718 hack number 14 is to constantly be 16562 08:03:34,958 --> 08:03:37,920 refreshing your claw.md file. Once 16563 08:03:36,718 --> 08:03:39,920 there's a new discovery about your 16564 08:03:37,920 --> 08:03:41,280 project, update the claw.md. Once you've 16565 08:03:39,920 --> 08:03:43,360 made some new skills, update the 16566 08:03:41,280 --> 08:03:45,200 cloud.mmd. You want Claude to be logging 16567 08:03:43,360 --> 08:03:46,798 new patterns, new gotchas, and any new 16568 08:03:45,200 --> 08:03:48,080 conventions that it discovered during 16569 08:03:46,798 --> 08:03:49,360 your session. So next time that you 16570 08:03:48,080 --> 08:03:50,798 start it up, it already knows all of 16571 08:03:49,360 --> 08:03:52,080 this. This will help prevent repeat 16572 08:03:50,798 --> 08:03:54,080 mistakes, and it will make Claude 16573 08:03:52,080 --> 08:03:55,920 smarter about you, your business, your 16574 08:03:54,080 --> 08:03:57,600 project, all that kind of stuff over 16575 08:03:55,920 --> 08:03:59,760 time. But here's the catch. You don't 16576 08:03:57,600 --> 08:04:01,280 want to let it bloat because the claw.md 16577 08:03:59,760 --> 08:04:02,958 file is basically the system prompt and 16578 08:04:01,280 --> 08:04:04,478 it gets loaded into every single 16579 08:04:02,958 --> 08:04:06,160 conversation and everything in there is 16580 08:04:04,478 --> 08:04:08,000 going to eat up at your context window. 16581 08:04:06,160 --> 08:04:09,360 So I try to keep mine simple and only 16582 08:04:08,000 --> 08:04:11,680 put the most important information in 16583 08:04:09,360 --> 08:04:13,360 there. I like to keep it between 150 and 16584 08:04:11,680 --> 08:04:14,718 200 lines max. If it starts getting 16585 08:04:13,360 --> 08:04:16,160 longer than that, then it's time to trim 16586 08:04:14,718 --> 08:04:18,240 down some things. Which leads perfectly 16587 08:04:16,160 --> 08:04:21,120 into the next hack, number 15, which is 16588 08:04:18,240 --> 08:04:22,398 to have claw.md route to other files. 16589 08:04:21,120 --> 08:04:24,240 Because it potentially eats so many 16590 08:04:22,398 --> 08:04:25,360 tokens, you want to keep it lean, but 16591 08:04:24,240 --> 08:04:26,718 you do have a lot of information in 16592 08:04:25,360 --> 08:04:28,240 there. But what's cool is you can route 16593 08:04:26,718 --> 08:04:30,160 it to different places. So you can have 16594 08:04:28,240 --> 08:04:32,240 it link out to separate files for stuff 16595 08:04:30,160 --> 08:04:33,760 like style guides or business context or 16596 08:04:32,240 --> 08:04:35,760 reference docs. Just point to those 16597 08:04:33,760 --> 08:04:37,040 files in the cloudmd so claude knows 16598 08:04:35,760 --> 08:04:38,398 exactly where to look and then you're 16599 08:04:37,040 --> 08:04:40,000 also not wasting tokens on information 16600 08:04:38,398 --> 08:04:41,360 that it doesn't always need because in 16601 08:04:40,000 --> 08:04:42,798 its system prompt it doesn't need to 16602 08:04:41,360 --> 08:04:44,558 know the exact status of a certain 16603 08:04:42,798 --> 08:04:45,920 project but it does need to know exactly 16604 08:04:44,558 --> 08:04:48,080 where to go look to find that 16605 08:04:45,920 --> 08:04:50,160 information. Hack number 16 is to exit 16606 08:04:48,080 --> 08:04:52,000 early and reask. So if you notice that 16607 08:04:50,160 --> 08:04:53,600 cloud starts going down the wrong path 16608 08:04:52,000 --> 08:04:55,360 don't just wait for it to finish. hit 16609 08:04:53,600 --> 08:04:56,958 escape, correct course, and then 16610 08:04:55,360 --> 08:04:58,638 reprompt. Every token that it spends 16611 08:04:56,958 --> 08:05:01,040 going the wrong direction is just wasted 16612 08:04:58,638 --> 08:05:02,718 context. So steer tight and steer early. 16613 08:05:01,040 --> 08:05:04,478 At the end of the day, it is AI. Hack 16614 08:05:02,718 --> 08:05:06,160 number 17 is to challenge outputs 16615 08:05:04,478 --> 08:05:08,320 aggressively. So if Claude gives you 16616 08:05:06,160 --> 08:05:10,080 something that's just okay, push back. 16617 08:05:08,320 --> 08:05:11,840 Say scrap that, do a more elegant 16618 08:05:10,080 --> 08:05:12,878 version or this isn't good enough, try 16619 08:05:11,840 --> 08:05:14,398 again with a completely different 16620 08:05:12,878 --> 08:05:15,840 approach. Claude will often give you a 16621 08:05:14,398 --> 08:05:17,760 dramatically better output on the second 16622 08:05:15,840 --> 08:05:19,840 try when you set a higher bar and now it 16623 08:05:17,760 --> 08:05:21,200 knows what to not do. The key is once it 16624 08:05:19,840 --> 08:05:22,878 comes back with something better, tell 16625 08:05:21,200 --> 08:05:24,798 it to update itself. whether that be the 16626 08:05:22,878 --> 08:05:26,240 skill or the claw.md so it doesn't make 16627 08:05:24,798 --> 08:05:29,040 that sort of mistake again. Hack number 16628 08:05:26,240 --> 08:05:30,638 18 is to use slashre for quick undos. So 16629 08:05:29,040 --> 08:05:32,958 if you make a wrong turn just try using 16630 08:05:30,638 --> 08:05:34,320 slre and claude will roll back to a 16631 08:05:32,958 --> 08:05:35,680 previous point in the conversation 16632 08:05:34,320 --> 08:05:37,200 without you having to start over. So 16633 08:05:35,680 --> 08:05:39,120 it's super quick, super clean. Hack 16634 08:05:37,200 --> 08:05:41,280 number 19 is using hooks for 16635 08:05:39,120 --> 08:05:42,798 notifications. So if you type hooks, you 16636 08:05:41,280 --> 08:05:43,920 can set up a notification hook or you 16637 08:05:42,798 --> 08:05:45,600 can just have Claude code do this for 16638 08:05:43,920 --> 08:05:47,120 you in completely natural language. So, 16639 08:05:45,600 --> 08:05:49,040 for example, what I like to do is when I 16640 08:05:47,120 --> 08:05:50,958 have Claude finish up a session or 16641 08:05:49,040 --> 08:05:52,718 finish a chat, it sends me an actual 16642 08:05:50,958 --> 08:05:54,080 noise notification because now I can 16643 08:05:52,718 --> 08:05:55,680 work on something else on my computer or 16644 08:05:54,080 --> 08:05:57,440 I can literally have 15 different 16645 08:05:55,680 --> 08:05:58,958 sessions of Claude code running and if I 16646 08:05:57,440 --> 08:06:00,478 hear that noise, I know that one of them 16647 08:05:58,958 --> 08:06:02,878 is done and needs some more input from 16648 08:06:00,478 --> 08:06:04,160 me. Hack number 20 is using screenshots. 16649 08:06:02,878 --> 08:06:05,840 Just remember that Claude can actually 16650 08:06:04,160 --> 08:06:07,200 see and this is a huge unlock which 16651 08:06:05,840 --> 08:06:08,558 means you can feed it error messages 16652 08:06:07,200 --> 08:06:10,558 which means you can feed it, you know, 16653 08:06:08,558 --> 08:06:12,478 inspiration websites. You can also do a 16654 08:06:10,558 --> 08:06:13,840 really cool selfch check loop where you 16655 08:06:12,478 --> 08:06:15,520 can say things like take a screenshot of 16656 08:06:13,840 --> 08:06:16,558 the website and tell me if the layout 16657 08:06:15,520 --> 08:06:18,080 looks right. And it will literally 16658 08:06:16,558 --> 08:06:19,280 screenshot it, analyze it visually, and 16659 08:06:18,080 --> 08:06:20,398 tell you what's off. So, if you remember 16660 08:06:19,280 --> 08:06:21,840 one of the hacks from earlier where I 16661 08:06:20,398 --> 08:06:23,200 said to have it check itself, when I'm 16662 08:06:21,840 --> 08:06:25,200 building websites, I basically have it 16663 08:06:23,200 --> 08:06:26,958 design the website, screenshot, and then 16664 08:06:25,200 --> 08:06:28,878 implement new changes, and then do that 16665 08:06:26,958 --> 08:06:30,398 again. And so, it does like three passes 16666 08:06:28,878 --> 08:06:32,478 of building and screenshots before it 16667 08:06:30,398 --> 08:06:34,240 even gives me V1. And in that flow, the 16668 08:06:32,478 --> 08:06:36,080 V1 that it gives me is so much better 16669 08:06:34,240 --> 08:06:38,320 than a V1 that it used to give me. Hack 16670 08:06:36,080 --> 08:06:39,920 number 21 is to use Chrome Dev Tools. So 16671 08:06:38,320 --> 08:06:41,360 Claude can open a browser, it can 16672 08:06:39,920 --> 08:06:42,878 interact with an app, it can check the 16673 08:06:41,360 --> 08:06:44,240 functionality of things. And so it's 16674 08:06:42,878 --> 08:06:46,160 kind of like the screenshot loop, but 16675 08:06:44,240 --> 08:06:48,000 instead of for like websites and design, 16676 08:06:46,160 --> 08:06:49,760 it's for actual functionality of like 16677 08:06:48,000 --> 08:06:51,040 apps and buttons. This is huge for 16678 08:06:49,760 --> 08:06:52,398 front-end work. So definitely give it a 16679 08:06:51,040 --> 08:06:53,760 try. But this also means that it can do 16680 08:06:52,398 --> 08:06:55,680 things like filling out forms and 16681 08:06:53,760 --> 08:06:57,120 potentially like recaps and stuff. But 16682 08:06:55,680 --> 08:06:59,200 this is also huge because if there's not 16683 08:06:57,120 --> 08:07:00,878 an explicit API somewhere, it can go in 16684 08:06:59,200 --> 08:07:02,478 and manually do things. I think that it 16685 08:07:00,878 --> 08:07:03,760 could also solve captas, but it's 16686 08:07:02,478 --> 08:07:05,520 probably better if you're already signed 16687 08:07:03,760 --> 08:07:07,120 in somewhere and all it has to do is 16688 08:07:05,520 --> 08:07:09,120 navigate, click buttons, fill out 16689 08:07:07,120 --> 08:07:10,718 things. Hack number 22 is to clone 16690 08:07:09,120 --> 08:07:12,080 inspiration sites. So, you can take 16691 08:07:10,718 --> 08:07:14,000 screenshots of sites that you really 16692 08:07:12,080 --> 08:07:15,520 like and feed it to Claude and say, 16693 08:07:14,000 --> 08:07:16,958 "Make it look like this." Claude will 16694 08:07:15,520 --> 08:07:18,958 recreate the design patterns without 16695 08:07:16,958 --> 08:07:20,080 making it look like generic AI slot. And 16696 08:07:18,958 --> 08:07:22,160 this is huge for front-end quality 16697 08:07:20,080 --> 08:07:23,840 because you could also use the site as 16698 08:07:22,160 --> 08:07:25,760 inspiration by taking some of the actual 16699 08:07:23,840 --> 08:07:27,440 like HTML styling and feed that into 16700 08:07:25,760 --> 08:07:28,958 Claude, too. So yes, Claude could 16701 08:07:27,440 --> 08:07:30,478 essentially clone a website, but what 16702 08:07:28,958 --> 08:07:32,240 you want to do is take that as kind of a 16703 08:07:30,478 --> 08:07:33,680 template and give it your own touch. 16704 08:07:32,240 --> 08:07:35,280 Okay, so now we're going to move on to 16705 08:07:33,680 --> 08:07:36,478 some more advanced stuff. These hacks 16706 08:07:35,280 --> 08:07:38,398 are for people who really want to push 16707 08:07:36,478 --> 08:07:40,160 cloud code to its limits. So let's go. 16708 08:07:38,398 --> 08:07:42,240 All right, hack number 23 is to run 16709 08:07:40,160 --> 08:07:43,200 parallel sessions with git work trees. 16710 08:07:42,240 --> 08:07:44,718 Normally when you're working on a 16711 08:07:43,200 --> 08:07:46,160 project, you've got it in one folder 16712 08:07:44,718 --> 08:07:47,440 with all your files in it. So if you 16713 08:07:46,160 --> 08:07:49,040 want to run two different sessions in 16714 08:07:47,440 --> 08:07:50,558 the same folder at the same time, they 16715 08:07:49,040 --> 08:07:51,760 might overwrite each other's work, and 16716 08:07:50,558 --> 08:07:53,600 that's where work trees come in. So 16717 08:07:51,760 --> 08:07:55,760 think of workree like basically making a 16718 08:07:53,600 --> 08:07:57,120 parallel copy of your project except 16719 08:07:55,760 --> 08:07:58,638 it's way more efficient than actually 16720 08:07:57,120 --> 08:08:00,160 copying the folder. You just type in 16721 08:07:58,638 --> 08:08:01,840 claude-workree 16722 08:08:00,160 --> 08:08:03,440 and then that feature name. So claude 16723 08:08:01,840 --> 08:08:04,878 will then create an isolated workspace 16724 08:08:03,440 --> 08:08:06,478 on its own branch. You could then open 16725 08:08:04,878 --> 08:08:07,840 up another terminal and type in the same 16726 08:08:06,478 --> 08:08:09,760 thing with a different feature name and 16727 08:08:07,840 --> 08:08:10,878 it will open up a different branch. So 16728 08:08:09,760 --> 08:08:12,558 now you can be working on the same 16729 08:08:10,878 --> 08:08:14,718 project at the same time without having 16730 08:08:12,558 --> 08:08:16,240 those coding agents step on each other. 16731 08:08:14,718 --> 08:08:17,840 You could have three, four or five of 16732 08:08:16,240 --> 08:08:18,958 these things going at once. And when 16733 08:08:17,840 --> 08:08:20,558 you're done, you can have them just 16734 08:08:18,958 --> 08:08:21,760 merge the branches back together just 16735 08:08:20,558 --> 08:08:23,600 like you would with any other git 16736 08:08:21,760 --> 08:08:25,360 branch. So all the work can save back to 16737 08:08:23,600 --> 08:08:26,718 the main project once again without 16738 08:08:25,360 --> 08:08:28,958 overwriting each other's files. All 16739 08:08:26,718 --> 08:08:30,958 right, hack number 24 is to use API 16740 08:08:28,958 --> 08:08:32,398 endpoints instead of MCP servers 16741 08:08:30,958 --> 08:08:34,000 depending on the situation. But here's 16742 08:08:32,398 --> 08:08:35,520 what I mean by that. MCP servers are 16743 08:08:34,000 --> 08:08:36,958 great because you can look at all the 16744 08:08:35,520 --> 08:08:38,398 different tools and execute any of them, 16745 08:08:36,958 --> 08:08:40,240 but they load their entire tool 16746 08:08:38,398 --> 08:08:41,760 definitions into the context window. So 16747 08:08:40,240 --> 08:08:43,680 if you're tight on tokens, sometimes 16748 08:08:41,760 --> 08:08:45,200 it's better to just use direct API 16749 08:08:43,680 --> 08:08:46,558 endpoints instead. So, for example, 16750 08:08:45,200 --> 08:08:48,240 let's say you're using Notion and you 16751 08:08:46,558 --> 08:08:50,558 only actually need to be able to read 16752 08:08:48,240 --> 08:08:52,000 one database. It makes no sense to show 16753 08:08:50,558 --> 08:08:53,840 Claude how to do all of the other 16754 08:08:52,000 --> 08:08:55,680 functions if for this specific project 16755 08:08:53,840 --> 08:08:57,840 you only have to read one file. So, 16756 08:08:55,680 --> 08:08:59,840 instead just hardcode in that endpoint 16757 08:08:57,840 --> 08:09:01,440 and now you're saving tons and tons of 16758 08:08:59,840 --> 08:09:04,080 tokens. All right, hack number 25 is to 16759 08:09:01,440 --> 08:09:05,840 use /loop for recurring tasks. So, you 16760 08:09:04,080 --> 08:09:07,600 can type, hey, every 5 minutes check in 16761 08:09:05,840 --> 08:09:09,200 on the deployment. And Cloud will rerun 16762 08:09:07,600 --> 08:09:11,040 that prompt in that same session every 16763 08:09:09,200 --> 08:09:12,398 single 5 minutes unless you close out of 16764 08:09:11,040 --> 08:09:14,718 that session. You can set it to monitor 16765 08:09:12,398 --> 08:09:16,240 a PR, check error logs, pull a build, 16766 08:09:14,718 --> 08:09:17,840 whatever. It runs in the background and 16767 08:09:16,240 --> 08:09:19,120 it only interrupts you when something 16768 08:09:17,840 --> 08:09:20,798 actually needs your attention. You can 16769 08:09:19,120 --> 08:09:22,718 even set one-time reminders in natural 16770 08:09:20,798 --> 08:09:24,638 language, like remind me at 3 p.m. to 16771 08:09:22,718 --> 08:09:26,718 check in with the team on X. Now, the 16772 08:09:24,638 --> 08:09:28,798 only caveat here is these actual loops 16773 08:09:26,718 --> 08:09:30,000 will only last for 3 days. So, if you 16774 08:09:28,798 --> 08:09:31,120 need a scheduled automation that's a 16775 08:09:30,000 --> 08:09:32,398 little bit longer term, then you're 16776 08:09:31,120 --> 08:09:33,920 going to want to use the desktop 16777 08:09:32,398 --> 08:09:35,280 scheduled tasks. Although, the only 16778 08:09:33,920 --> 08:09:36,958 difference here is every time one of 16779 08:09:35,280 --> 08:09:38,718 those tasks spin up, it's in an 16780 08:09:36,958 --> 08:09:41,040 individual session, so it doesn't have 16781 08:09:38,718 --> 08:09:43,680 that context memory. Number 26 is to 16782 08:09:41,040 --> 08:09:45,200 host on a VPS for always on sessions. So 16783 08:09:43,680 --> 08:09:46,878 if you want to run cloud code on a 16784 08:09:45,200 --> 08:09:48,320 remote server, it'll stay running even 16785 08:09:46,878 --> 08:09:49,760 when your laptop is closed, which means 16786 08:09:48,320 --> 08:09:51,360 you can SSH in whenever you need to 16787 08:09:49,760 --> 08:09:52,798 interact, which means you can talk to it 16788 08:09:51,360 --> 08:09:54,398 through Telegram anytime. This is 16789 08:09:52,798 --> 08:09:56,080 perfect for longunning tasks where you 16790 08:09:54,398 --> 08:09:58,240 don't want to babysit a local terminal. 16791 08:09:56,080 --> 08:09:59,680 Hack number 27 is you can use remote 16792 08:09:58,240 --> 08:10:01,040 control from your phone. So this is a 16793 08:09:59,680 --> 08:10:02,798 pretty new feature, but Cloud Code now 16794 08:10:01,040 --> 08:10:04,558 lets you control local sessions from 16795 08:10:02,798 --> 08:10:06,080 your phone or any browser. You start a 16796 08:10:04,558 --> 08:10:07,680 task at your local desk and then you 16797 08:10:06,080 --> 08:10:08,878 walk away and you can keep steering it 16798 08:10:07,680 --> 08:10:10,478 from your phone. Your code never 16799 08:10:08,878 --> 08:10:12,320 actually leaves your local machine, but 16800 08:10:10,478 --> 08:10:13,360 it's just the remote connection is on 16801 08:10:12,320 --> 08:10:15,120 your phone. So, you can start something 16802 08:10:13,360 --> 08:10:16,320 heavy, go grab a coffee, go on a walk, 16803 08:10:15,120 --> 08:10:19,040 and you can keep building from your 16804 08:10:16,320 --> 08:10:21,200 pocket. Hack number 28 is there's no SQL 16805 08:10:19,040 --> 08:10:24,240 data analytics. So, you can connect CLI 16806 08:10:21,200 --> 08:10:25,360 tools like Big Query's BQ tool to cloud 16807 08:10:24,240 --> 08:10:26,878 code. And then you can just ask 16808 08:10:25,360 --> 08:10:28,798 questions in plain English like, what 16809 08:10:26,878 --> 08:10:30,080 were our top 10 revenue sources last 16810 08:10:28,798 --> 08:10:31,760 quarter? And cloud will instantly 16811 08:10:30,080 --> 08:10:33,360 translate that into the right query, run 16812 08:10:31,760 --> 08:10:35,120 it, and then give you that answer. No 16813 08:10:33,360 --> 08:10:37,440 SQL required. And this should work for 16814 08:10:35,120 --> 08:10:39,280 any CLI based tool. Number 28 is 16815 08:10:37,440 --> 08:10:40,958 Ultrathink. When you need clawed code to 16816 08:10:39,280 --> 08:10:42,398 really think through a hard problem like 16817 08:10:40,958 --> 08:10:44,718 architecture decisions, complex 16818 08:10:42,398 --> 08:10:45,920 debugging, big refactors, or maybe it's 16819 08:10:44,718 --> 08:10:47,440 just not giving you the right output 16820 08:10:45,920 --> 08:10:48,958 after a couple prompts, try using 16821 08:10:47,440 --> 08:10:50,718 Ultraink. You literally just type the 16822 08:10:48,958 --> 08:10:52,320 word and it will go all colorful. And 16823 08:10:50,718 --> 08:10:54,558 this means that it allocates the maximum 16824 08:10:52,320 --> 08:10:56,398 thinking budget of around 32,000 tokens 16825 08:10:54,558 --> 08:10:57,920 before Claude actually responds. So, 16826 08:10:56,398 --> 08:10:59,520 don't always use this for a simple fix, 16827 08:10:57,920 --> 08:11:00,958 but absolutely use it if you're making 16828 08:10:59,520 --> 08:11:02,638 decisions that might affect the entire 16829 08:11:00,958 --> 08:11:04,000 system or like I said, if after the 16830 08:11:02,638 --> 08:11:05,600 first couple tries it's not giving you 16831 08:11:04,000 --> 08:11:07,360 what you want. Hack 30 is to edit 16832 08:11:05,600 --> 08:11:09,360 permissions for safe autonomy. A lot of 16833 08:11:07,360 --> 08:11:10,958 people, including myself, have shown on 16834 08:11:09,360 --> 08:11:12,478 videos using dangerously skip 16835 08:11:10,958 --> 08:11:14,160 permissions to make sure that Claude can 16836 08:11:12,478 --> 08:11:15,520 just run without asking for approval on 16837 08:11:14,160 --> 08:11:17,280 every single step. And yeah, it's much 16838 08:11:15,520 --> 08:11:18,638 faster, but it is called dangerously 16839 08:11:17,280 --> 08:11:20,240 skip permissions for a reason. So, the 16840 08:11:18,638 --> 08:11:21,920 smarter way to go about it is to go into 16841 08:11:20,240 --> 08:11:23,600 your permissions and explicitly allow 16842 08:11:21,920 --> 08:11:25,440 the commands that you know are safe and 16843 08:11:23,600 --> 08:11:27,680 then explicitly deny anything that's 16844 08:11:25,440 --> 08:11:28,958 destructive, like deletes or removes. 16845 08:11:27,680 --> 08:11:30,240 And now you can actually get to the 16846 08:11:28,958 --> 08:11:32,398 point where you have the same exact 16847 08:11:30,240 --> 08:11:34,478 speed and autonomy of dangerously skip 16848 08:11:32,398 --> 08:11:36,240 permissions without it being very 16849 08:11:34,478 --> 08:11:38,160 dangerous. And anything in the deny list 16850 08:11:36,240 --> 08:11:40,558 is going to take priority over anything 16851 08:11:38,160 --> 08:11:42,398 in the allow list. Hack number 31 is to 16852 08:11:40,558 --> 08:11:43,920 use agent teams. So remember how we 16853 08:11:42,398 --> 08:11:45,600 talked about sub agents being able to 16854 08:11:43,920 --> 08:11:47,360 run agents in parallel that have fresh 16855 08:11:45,600 --> 08:11:49,360 context but can't talk to each other? 16856 08:11:47,360 --> 08:11:50,718 Agent teams are like that but all of the 16857 08:11:49,360 --> 08:11:52,240 agents can talk to each other. So it 16858 08:11:50,718 --> 08:11:53,840 gets really really cool. They share a 16859 08:11:52,240 --> 08:11:55,440 task list. They can communicate with 16860 08:11:53,840 --> 08:11:57,440 each other and they can even assign each 16861 08:11:55,440 --> 08:11:59,120 other work. and you can actually talk to 16862 08:11:57,440 --> 08:12:00,320 each of those individual agents instead 16863 08:11:59,120 --> 08:12:01,760 of just having to go through the main 16864 08:12:00,320 --> 08:12:03,760 one and then the main one would 16865 08:12:01,760 --> 08:12:04,878 communicate with sub aents. These are a 16866 08:12:03,760 --> 08:12:06,478 little bit more expensive and they do 16867 08:12:04,878 --> 08:12:08,398 run longer, but they will give you a 16868 08:12:06,478 --> 08:12:11,040 much more cohesive output for a big 16869 08:12:08,398 --> 08:12:13,040 project. Hack number 32 is context 7 16870 08:12:11,040 --> 08:12:15,200 MCP. This one's a game changer. You can 16871 08:12:13,040 --> 08:12:17,280 install the context 7 MCP server and 16872 08:12:15,200 --> 08:12:19,200 then whenever you need information on 16873 08:12:17,280 --> 08:12:20,958 current documentation just prompted to 16874 08:12:19,200 --> 08:12:22,638 use that MCP server. The problem that it 16875 08:12:20,958 --> 08:12:24,398 solves is that Claude's training data 16876 08:12:22,638 --> 08:12:26,638 has a cut off, which means sometimes it 16877 08:12:24,398 --> 08:12:28,558 might suggest functions or APIs that 16878 08:12:26,638 --> 08:12:30,718 have been renamed or deprecated or just 16879 08:12:28,558 --> 08:12:32,398 don't even exist anymore. So, Context 7 16880 08:12:30,718 --> 08:12:34,478 fixes that because it has up to eight 16881 08:12:32,398 --> 08:12:36,320 version specific technical documentation 16882 08:12:34,478 --> 08:12:38,000 about live code examples from thousands 16883 08:12:36,320 --> 08:12:39,920 of popular libraries that you probably 16884 08:12:38,000 --> 08:12:43,120 need with a coding assistant like 16885 08:12:39,920 --> 08:12:45,120 Nex.js, React, MongoDB, you name it. So, 16886 08:12:43,120 --> 08:12:46,798 it's able to pull and read all current 16887 08:12:45,120 --> 08:12:48,638 documentation and then inject it into 16888 08:12:46,798 --> 08:12:50,000 the conversation before Claude actually 16889 08:12:48,638 --> 08:12:51,360 starts writing any code. So, it's 16890 08:12:50,000 --> 08:12:53,120 basically one command to install and 16891 08:12:51,360 --> 08:12:54,798 from there all of your coding agents are 16892 08:12:53,120 --> 08:12:56,398 working with much more up-to-date 16893 08:12:54,798 --> 08:12:57,600 information and it's a huge quality 16894 08:12:56,398 --> 08:12:58,958 improvement. All right, so I know that 16895 08:12:57,600 --> 08:13:00,398 we covered a ton of information in this 16896 08:12:58,958 --> 08:13:02,398 video. So, what I did is I threw all of 16897 08:13:00,398 --> 08:13:03,600 this into a PDF resource guide so that 16898 08:13:02,398 --> 08:13:05,520 you can just come back and reference 16899 08:13:03,600 --> 08:13:07,200 them whenever you want. That's available 16900 08:13:05,520 --> 08:13:08,398 completely for free inside of my free 16901 08:13:07,200 --> 08:13:09,360 school community. The link for that is 16902 08:13:08,398 --> 08:13:10,398 down in the description. But that's 16903 08:13:09,360 --> 08:13:11,520 going to do it for this one. So, if you 16904 08:13:10,398 --> 08:13:12,478 guys enjoyed or you learned something 16905 08:13:11,520 --> 08:13:14,080 new, please give it a like. It 16906 08:13:12,478 --> 08:13:15,280 definitely helps me out a ton. And as 16907 08:13:14,080 --> 08:13:16,638 always, I appreciate you guys making it 16908 08:13:15,280 --> 08:13:20,638 to the end of the video. I will see you 16909 08:13:16,638 --> 08:13:20,638 all in the next one. Thanks, everyone. 16910 08:13:20,878 --> 08:13:23,600 All right. So, here I am in cloud code 16911 08:13:22,240 --> 08:13:25,360 in the terminal right over here. What 16912 08:13:23,600 --> 08:13:27,120 you'll notice is that this agent is 16913 08:13:25,360 --> 08:13:28,478 actually my cloud code agent. So, when I 16914 08:13:27,120 --> 08:13:30,638 send off this message where I'm asking 16915 08:13:28,478 --> 08:13:32,160 it to spin up two researcher agents, one 16916 08:13:30,638 --> 08:13:33,840 to research Google, one to research 16917 08:13:32,160 --> 08:13:35,520 OpenAI, and then create a visual 16918 08:13:33,840 --> 08:13:37,200 diagram, you'll see that this agent 16919 08:13:35,520 --> 08:13:38,718 actually gets that task. And now you can 16920 08:13:37,200 --> 08:13:40,160 see that we have three agents actually 16921 08:13:38,718 --> 08:13:41,920 running right now in parallel. This 16922 08:13:40,160 --> 08:13:43,840 one's researching Google AI strengths 16923 08:13:41,920 --> 08:13:45,680 and this one is researching OpenAI 16924 08:13:43,840 --> 08:13:47,760 strengths. And this is the main one that 16925 08:13:45,680 --> 08:13:49,440 delegated the tasks to those two 16926 08:13:47,760 --> 08:13:50,878 researcher agents, which you can also 16927 08:13:49,440 --> 08:13:52,878 see on this right hand side. That's 16928 08:13:50,878 --> 08:13:54,320 exactly what's being ran right now. And 16929 08:13:52,878 --> 08:13:56,320 if I wanted to open up another terminal, 16930 08:13:54,320 --> 08:13:58,160 so I add another agent. It plops in 16931 08:13:56,320 --> 08:13:59,600 another agent right here in which I can 16932 08:13:58,160 --> 08:14:01,520 have a different conversation with. Give 16933 08:13:59,600 --> 08:14:03,040 me a quick analysis of my YouTube 16934 08:14:01,520 --> 08:14:04,718 comment section from the past couple 16935 08:14:03,040 --> 08:14:06,798 videos I've made. So now I shoot that 16936 08:14:04,718 --> 08:14:08,478 message off to this AI agent in Cloud 16937 08:14:06,798 --> 08:14:10,398 Code, and it's going to pick up the task 16938 08:14:08,478 --> 08:14:12,080 and start working on other things. As 16939 08:14:10,398 --> 08:14:13,760 you can see now, this one is searching 16940 08:14:12,080 --> 08:14:16,080 files and finding out what it needs to 16941 08:14:13,760 --> 08:14:17,680 do. And you just heard that little 16942 08:14:16,080 --> 08:14:20,080 notification noise, which means that 16943 08:14:17,680 --> 08:14:21,680 this spun up a sub aent. And you can see 16944 08:14:20,080 --> 08:14:23,520 that it was analyzing comments, but now 16945 08:14:21,680 --> 08:14:25,360 it needs approval. So basically, what we 16946 08:14:23,520 --> 08:14:27,520 have here is a visual way to see all of 16947 08:14:25,360 --> 08:14:29,280 the different terminals and sub aents 16948 08:14:27,520 --> 08:14:30,878 that we have working in cloud code. We 16949 08:14:29,280 --> 08:14:32,398 get notifications and we get visual 16950 08:14:30,878 --> 08:14:33,840 things like this that tell us what 16951 08:14:32,398 --> 08:14:35,360 they're doing. So I can see that those 16952 08:14:33,840 --> 08:14:37,040 sub aents on this lefth hand side are 16953 08:14:35,360 --> 08:14:38,558 disappearing. So, I can hop back over to 16954 08:14:37,040 --> 08:14:40,320 that first terminal and I'll be able to 16955 08:14:38,558 --> 08:14:42,080 see that this first one is already done. 16956 08:14:40,320 --> 08:14:44,080 And now the OpenAI one is still being 16957 08:14:42,080 --> 08:14:45,760 worked on, which is this agent right 16958 08:14:44,080 --> 08:14:47,280 over here. Okay. I don't know where 16959 08:14:45,760 --> 08:14:49,440 she's off to, but you can see now that 16960 08:14:47,280 --> 08:14:51,120 both of these agents are done. They're 16961 08:14:49,440 --> 08:14:52,638 idle. They're done working. So, in the 16962 08:14:51,120 --> 08:14:54,478 first terminal, we can see here's the 16963 08:14:52,638 --> 08:14:56,398 visual. It came out clean. We have stuff 16964 08:14:54,478 --> 08:14:58,958 about Google's edge, Google's gaps, 16965 08:14:56,398 --> 08:15:00,478 OpenAI's edge, OpenAI's gaps. So, here's 16966 08:14:58,958 --> 08:15:02,160 that actual visualization that it made. 16967 08:15:00,478 --> 08:15:04,000 We have strengths, weaknesses for both 16968 08:15:02,160 --> 08:15:06,080 Google and OpenAI. Sometimes AI 16969 08:15:04,000 --> 08:15:08,080 generation can be notoriously bad on 16970 08:15:06,080 --> 08:15:10,478 text, but this one looks pretty decent. 16971 08:15:08,080 --> 08:15:11,920 Only a few errors I can see. And then 16972 08:15:10,478 --> 08:15:13,280 coming over to the second terminal, we 16973 08:15:11,920 --> 08:15:14,798 can see the comment analysis over the 16974 08:15:13,280 --> 08:15:16,558 last two weeks. So we've got some pain 16975 08:15:14,798 --> 08:15:18,240 points about cloud API costs, edited 16976 08:15:16,558 --> 08:15:20,000 into cloud code, getting first client 16977 08:15:18,240 --> 08:15:21,440 with zero social proof. We've got most 16978 08:15:20,000 --> 08:15:23,280 requested videos. We've got notable 16979 08:15:21,440 --> 08:15:25,120 patterns. And then we have recent video 16980 08:15:23,280 --> 08:15:26,478 performance snapshot. But I'm sure you 16981 08:15:25,120 --> 08:15:28,000 guys could tell that the point of this 16982 08:15:26,478 --> 08:15:29,840 quick demo wasn't to actually show you 16983 08:15:28,000 --> 08:15:31,280 the outputs. It was to show you what we 16984 08:15:29,840 --> 08:15:32,958 were able to do here and how we could 16985 08:15:31,280 --> 08:15:34,398 see these two different terminal agents 16986 08:15:32,958 --> 08:15:36,320 spin up sub agents and we could keep 16987 08:15:34,398 --> 08:15:37,520 tabs on them visually. So, 16988 08:15:36,320 --> 08:15:38,798 unfortunately, I'm going to say goodbye 16989 08:15:37,520 --> 08:15:40,080 to these agents so we can get on with 16990 08:15:38,798 --> 08:15:42,798 the video and I'm going to kill these 16991 08:15:40,080 --> 08:15:44,320 terminal sessions right here so I can 16992 08:15:42,798 --> 08:15:46,398 actually explain to you guys how this 16993 08:15:44,320 --> 08:15:47,840 works and what I think about it. Okay, 16994 08:15:46,398 --> 08:15:49,680 so the way that we are doing this is we 16995 08:15:47,840 --> 08:15:51,520 are using Visual Studio Code and that's 16996 08:15:49,680 --> 08:15:52,798 where I've been using Claude Code as an 16997 08:15:51,520 --> 08:15:54,398 extension. If you've been following my 16998 08:15:52,798 --> 08:15:56,398 channel for a while, we're using an 16999 08:15:54,398 --> 08:15:58,240 extension in VS Code called Pixel 17000 08:15:56,398 --> 08:16:00,240 Agents, which basically turns your AI 17001 08:15:58,240 --> 08:16:01,920 coding agents into animated pixel art 17002 08:16:00,240 --> 08:16:03,520 characters in a virtual office that you 17003 08:16:01,920 --> 08:16:05,280 can fully customize. So, I'll have a 17004 08:16:03,520 --> 08:16:07,440 link to this page right here, and I will 17005 08:16:05,280 --> 08:16:09,040 have a link to the GitHub repository in 17006 08:16:07,440 --> 08:16:10,558 the description, but I'll also show you 17007 08:16:09,040 --> 08:16:12,080 guys like exactly how you set this up. 17008 08:16:10,558 --> 08:16:13,520 So, before we actually jump into that, 17009 08:16:12,080 --> 08:16:14,958 real quick, just wanted to go over like 17010 08:16:13,520 --> 08:16:16,878 what are we doing here, and what is 17011 08:16:14,958 --> 08:16:18,080 Cloud Code because that's the little 17012 08:16:16,878 --> 08:16:20,000 agents that we were actually spinning 17013 08:16:18,080 --> 08:16:21,280 up. Well, Cloud Code is an AI in our 17014 08:16:20,000 --> 08:16:22,558 terminal. It can write and edit code. 17015 08:16:21,280 --> 08:16:24,478 code. It can understand our codebase and 17016 08:16:22,558 --> 08:16:25,760 it can run commands on our behalf. And 17017 08:16:24,478 --> 08:16:27,440 what's going on when you're using a 17018 08:16:25,760 --> 08:16:28,878 coding assistant like cloud code is you 17019 08:16:27,440 --> 08:16:30,080 basically are just looking at terminal 17020 08:16:28,878 --> 08:16:31,440 or you're looking at what the AI model 17021 08:16:30,080 --> 08:16:32,478 is thinking and what it's doing. But 17022 08:16:31,440 --> 08:16:34,878 what's actually happening behind the 17023 08:16:32,478 --> 08:16:36,718 scenes is files are getting read, plans 17024 08:16:34,878 --> 08:16:38,320 are being created, code is being 17025 08:16:36,718 --> 08:16:40,160 executed, and tests are being ran. So 17026 08:16:38,320 --> 08:16:41,680 there's a lot of stuff going on that we 17027 08:16:40,160 --> 08:16:43,360 don't really visually get to see, 17028 08:16:41,680 --> 08:16:44,638 especially when we start to spin up tons 17029 08:16:43,360 --> 08:16:46,160 of parallel agents and have different 17030 08:16:44,638 --> 08:16:48,000 terminals running. So basically what 17031 08:16:46,160 --> 08:16:49,520 happens is cloud code is working. It 17032 08:16:48,000 --> 08:16:51,600 creates an activity log that already 17033 08:16:49,520 --> 08:16:52,958 happened by default and pixel agents 17034 08:16:51,600 --> 08:16:55,200 basically just picks up that activity 17035 08:16:52,958 --> 08:16:56,798 log and then displays it in some sort of 17036 08:16:55,200 --> 08:16:58,320 animation. It's honestly a very similar 17037 08:16:56,798 --> 08:17:00,558 flow if you watch the way I set up my 17038 08:16:58,320 --> 08:17:02,718 OpenClaw personal assistant and I could 17039 08:17:00,558 --> 08:17:04,558 see what he was working on and if he 17040 08:17:02,718 --> 08:17:06,240 spun up any sub aents. And like I said, 17041 08:17:04,558 --> 08:17:07,920 it's pretty cool to be able to monitor 17042 08:17:06,240 --> 08:17:09,040 our different agents at a glance rather 17043 08:17:07,920 --> 08:17:11,040 than having to flip through different 17044 08:17:09,040 --> 08:17:13,200 terminals, especially because I love to 17045 08:17:11,040 --> 08:17:14,638 multitask when I'm using Cloud Code. So, 17046 08:17:13,200 --> 08:17:16,398 one monitor I'll be coding with stuff 17047 08:17:14,638 --> 08:17:17,680 and the other monitor I'll be working on 17048 08:17:16,398 --> 08:17:19,440 other things and I can just kind of 17049 08:17:17,680 --> 08:17:20,398 easily glance back and forth. So, if you 17050 08:17:19,440 --> 08:17:22,000 want to actually try this out for 17051 08:17:20,398 --> 08:17:23,760 yourself, it's super easy. You just have 17052 08:17:22,000 --> 08:17:25,440 to go download Visual Studio Code if you 17053 08:17:23,760 --> 08:17:27,040 don't have it already. Unfortunately, 17054 08:17:25,440 --> 08:17:28,558 right now there's only support for 17055 08:17:27,040 --> 08:17:30,080 Windows. So, if you're on a Mac or a 17056 08:17:28,558 --> 08:17:31,920 different operating system, I don't 17057 08:17:30,080 --> 08:17:34,160 think you can use this yet. This 17058 08:17:31,920 --> 08:17:35,840 literally came out like a few days ago. 17059 08:17:34,160 --> 08:17:37,680 But anyways, once you are in a fresh 17060 08:17:35,840 --> 08:17:39,280 instance of VS Code, this is what it 17061 08:17:37,680 --> 08:17:40,958 will look like. And what you'll do is on 17062 08:17:39,280 --> 08:17:42,398 this left-hand side, you'll come over to 17063 08:17:40,958 --> 08:17:44,240 extensions and you'll literally just 17064 08:17:42,398 --> 08:17:45,440 type in pixel agents. And if you type in 17065 08:17:44,240 --> 08:17:47,440 pixel agents, you'll be able to see 17066 08:17:45,440 --> 08:17:49,200 right here pixel art office where your 17067 08:17:47,440 --> 08:17:50,478 cloud code agents come to life. This is 17068 08:17:49,200 --> 08:17:52,080 the one that I installed and have just 17069 08:17:50,478 --> 08:17:53,600 showed you as a demo. It's fairly new, 17070 08:17:52,080 --> 08:17:55,280 but I am going to go over some security 17071 08:17:53,600 --> 08:17:56,398 stuff near the end of the video. But you 17072 08:17:55,280 --> 08:17:58,080 could read through this to understand 17073 08:17:56,398 --> 08:17:59,840 what exactly this does. You basically 17074 08:17:58,080 --> 08:18:01,680 have one agent per character. You have 17075 08:17:59,840 --> 08:18:03,200 live activity tracking. You can design 17076 08:18:01,680 --> 08:18:05,200 the office with the floors, the 17077 08:18:03,200 --> 08:18:06,638 furniture, everything like that. You can 17078 08:18:05,200 --> 08:18:08,958 see speech bubbles. you get sound 17079 08:18:06,638 --> 08:18:10,478 notifications, sub agent visualization, 17080 08:18:08,958 --> 08:18:12,398 and there are six different characters 17081 08:18:10,478 --> 08:18:13,760 that could spawn. It'll go into some 17082 08:18:12,398 --> 08:18:15,680 requirements and it will go into some 17083 08:18:13,760 --> 08:18:17,600 things about how to actually use it. But 17084 08:18:15,680 --> 08:18:19,200 if you want to test it out, then hop in 17085 08:18:17,600 --> 08:18:20,878 here. And here's where unfortunately it 17086 08:18:19,200 --> 08:18:22,558 says that it's right now Windows only 17087 08:18:20,878 --> 08:18:23,600 testing. And on the road map, you can 17088 08:18:22,558 --> 08:18:25,520 see that there's lots of things they 17089 08:18:23,600 --> 08:18:27,280 want to add like having cloud code agent 17090 08:18:25,520 --> 08:18:29,360 teams because right now it's just like 17091 08:18:27,280 --> 08:18:30,558 parallel agents. So anyways, once you 17092 08:18:29,360 --> 08:18:32,798 have installed that, what you're going 17093 08:18:30,558 --> 08:18:34,478 to do is open up a folder. So, let's 17094 08:18:32,798 --> 08:18:35,760 just say you come to the explorer and 17095 08:18:34,478 --> 08:18:37,520 you open up a project that you want to 17096 08:18:35,760 --> 08:18:39,600 be working in. So, here I just opened up 17097 08:18:37,520 --> 08:18:41,280 my Herk 2, which is basically like my 17098 08:18:39,600 --> 08:18:42,558 second brain executive assistant type of 17099 08:18:41,280 --> 08:18:44,638 deal. It's really weird, but if you want 17100 08:18:42,558 --> 08:18:47,760 to get this project to work, your folder 17101 08:18:44,638 --> 08:18:49,040 cannot have a space or a period in it. 17102 08:18:47,760 --> 08:18:50,958 As you can see down here, this used to 17103 08:18:49,040 --> 08:18:54,080 be called Herkpace 2.0 and then it was 17104 08:18:50,958 --> 08:18:55,360 Herk 2.0 and now it's HERK-2. So, make 17105 08:18:54,080 --> 08:18:56,958 sure you don't have those things in 17106 08:18:55,360 --> 08:18:59,760 there if you want the pixel agents to 17107 08:18:56,958 --> 08:19:00,958 actually pick up the activity log and 17108 08:18:59,760 --> 08:19:02,160 actually reflect what you're doing. 17109 08:19:00,958 --> 08:19:03,600 You're welcome. I had to learn that the 17110 08:19:02,160 --> 08:19:05,440 hard way. So once you're in here, you're 17111 08:19:03,600 --> 08:19:07,360 going to open up the terminal. So if I'm 17112 08:19:05,440 --> 08:19:09,120 on Windows, I'm going to do control and 17113 08:19:07,360 --> 08:19:10,718 then the little tilda. And this opens up 17114 08:19:09,120 --> 08:19:12,798 the terminal. And then here is where you 17115 08:19:10,718 --> 08:19:14,958 can see I have a pixel agents tab, which 17116 08:19:12,798 --> 08:19:16,478 opens up the little workspace. Now what 17117 08:19:14,958 --> 08:19:18,240 I want to do is I want to see half and 17118 08:19:16,478 --> 08:19:20,160 half. So I basically grab this and drag 17119 08:19:18,240 --> 08:19:22,240 it to the sidebar, which lets me look at 17120 08:19:20,160 --> 08:19:24,000 it over here. And then all I have to do 17121 08:19:22,240 --> 08:19:25,840 is click on plus agent. And that 17122 08:19:24,000 --> 08:19:28,080 basically opens up a cloud code terminal 17123 08:19:25,840 --> 08:19:30,000 on the right hand side. And it spawns in 17124 08:19:28,080 --> 08:19:31,520 an agent right here. As you can see now, 17125 08:19:30,000 --> 08:19:33,200 right now, this agent is idle because 17126 08:19:31,520 --> 08:19:35,440 it's not working on anything. So, if I 17127 08:19:33,200 --> 08:19:37,360 go ahead and say, "Please spin up a 17128 08:19:35,440 --> 08:19:39,120 research agent and just find out what's 17129 08:19:37,360 --> 08:19:40,878 going on with small businesses and AI 17130 08:19:39,120 --> 08:19:42,798 adoption." And I go ahead and shoot that 17131 08:19:40,878 --> 08:19:45,120 off, then this agent should pick up that 17132 08:19:42,798 --> 08:19:46,798 task, and it should also spin up a sub 17133 08:19:45,120 --> 08:19:48,878 agent. I'm going to add another one that 17134 08:19:46,798 --> 08:19:50,718 opens up another terminal, and I can add 17135 08:19:48,878 --> 08:19:52,558 more and more agents. So, we can see 17136 08:19:50,718 --> 08:19:54,398 that we could watch all five of these 17137 08:19:52,558 --> 08:19:56,160 different terminals run at the same 17138 08:19:54,398 --> 08:19:58,398 time. And then what you can do in here 17139 08:19:56,160 --> 08:20:00,558 is you can go to your layout and you can 17140 08:19:58,398 --> 08:20:02,160 change things up. So I could move around 17141 08:20:00,558 --> 08:20:04,240 this plant for example. I can move that 17142 08:20:02,160 --> 08:20:06,240 right here. I could go to furniture and 17143 08:20:04,240 --> 08:20:08,000 I have storage. I have tech. I have 17144 08:20:06,240 --> 08:20:09,760 decor. I have all this kind of stuff. I 17145 08:20:08,000 --> 08:20:11,200 could literally just put a monitor in 17146 08:20:09,760 --> 08:20:12,718 the middle of the kitchen floor if I 17147 08:20:11,200 --> 08:20:14,798 wanted to. And I could keep adding more 17148 08:20:12,718 --> 08:20:16,478 and more. So it's kind of funny. You can 17149 08:20:14,798 --> 08:20:19,200 fully customize the way that this looks 17150 08:20:16,478 --> 08:20:20,798 and um the colors of like the floors and 17151 08:20:19,200 --> 08:20:21,920 the walls and things like that. Now, the 17152 08:20:20,798 --> 08:20:23,360 other setting that you can really play 17153 08:20:21,920 --> 08:20:25,680 around with would be opening the 17154 08:20:23,360 --> 08:20:27,680 sessions folder to see what's going on, 17155 08:20:25,680 --> 08:20:29,440 which opens up like a folder like this 17156 08:20:27,680 --> 08:20:31,040 to see activity log and stuff. You can 17157 08:20:29,440 --> 08:20:32,558 also go to the debug view to see what 17158 08:20:31,040 --> 08:20:34,320 the agents are actually working on. And 17159 08:20:32,558 --> 08:20:36,478 you can turn on or off the sound 17160 08:20:34,320 --> 08:20:37,840 notifications, which is pretty cool. You 17161 08:20:36,478 --> 08:20:39,280 can obviously use something like hooks 17162 08:20:37,840 --> 08:20:41,120 to do that either way, but it's nice 17163 08:20:39,280 --> 08:20:42,958 that that is now sort of native with 17164 08:20:41,120 --> 08:20:44,398 this extension. So, I'm not going to 17165 08:20:42,958 --> 08:20:46,320 spend too much time here really. I think 17166 08:20:44,398 --> 08:20:47,840 you guys all understand exactly what's 17167 08:20:46,320 --> 08:20:49,520 going on. You can see that this agent 17168 08:20:47,840 --> 08:20:50,718 just finished up. Great timing. I 17169 08:20:49,520 --> 08:20:52,958 thought I should wrap up this video by 17170 08:20:50,718 --> 08:20:55,120 actually just talking about like what is 17171 08:20:52,958 --> 08:20:57,120 the point of this? Is this just like 17172 08:20:55,120 --> 08:20:58,638 useless? So my first point is about 17173 08:20:57,120 --> 08:21:00,240 entertainment. I think that there is 17174 08:20:58,638 --> 08:21:02,080 value to having this as just like kind 17175 08:21:00,240 --> 08:21:04,160 of something that's fun. And the reason 17176 08:21:02,080 --> 08:21:06,478 I say that is kind of twofold. The first 17177 08:21:04,160 --> 08:21:08,320 one is I a lot of times like I said 17178 08:21:06,478 --> 08:21:09,680 earlier have two monitors up and I'll 17179 08:21:08,320 --> 08:21:11,520 have cloud code going over here and I'll 17180 08:21:09,680 --> 08:21:12,798 be working on other things here. And it 17181 08:21:11,520 --> 08:21:14,478 is kind of nice to be able to look over 17182 08:21:12,798 --> 08:21:16,080 and just see like how many agents are up 17183 08:21:14,478 --> 08:21:17,840 or you know do I need to load them up 17184 08:21:16,080 --> 08:21:20,160 more tasks. But the other piece of it is 17185 08:21:17,840 --> 08:21:22,000 I think that it's visual and that might 17186 08:21:20,160 --> 08:21:23,840 lure some people in who aren't super 17187 08:21:22,000 --> 08:21:25,680 technical or who are intimidated by 17188 08:21:23,840 --> 08:21:27,200 looking at a terminal. I think it's very 17189 08:21:25,680 --> 08:21:28,958 similar to how nitn started to blow up 17190 08:21:27,200 --> 08:21:30,638 is because they visually had some good 17191 08:21:28,958 --> 08:21:31,760 elements that people felt like they 17192 08:21:30,638 --> 08:21:33,360 could actually understand just by 17193 08:21:31,760 --> 08:21:35,200 looking at and that kind of leads into 17194 08:21:33,360 --> 08:21:37,280 my second point which is about that is 17195 08:21:35,200 --> 08:21:39,120 exactly what AI coding is lacking is 17196 08:21:37,280 --> 08:21:40,798 visual elements because kind of like I 17197 08:21:39,120 --> 08:21:42,798 said earlier what we're looking at is a 17198 08:21:40,798 --> 08:21:45,360 terminal or you know basically a chat 17199 08:21:42,798 --> 08:21:47,200 window when in n or something like that 17200 08:21:45,360 --> 08:21:49,280 you're seeing visual workflows you're 17201 08:21:47,200 --> 08:21:51,520 seeing the process of the data and 17202 08:21:49,280 --> 08:21:53,840 you're seeing things be built or you 17203 08:21:51,520 --> 08:21:55,600 know changed now obviously pixel agents 17204 08:21:53,840 --> 08:21:57,040 isn't that it's not a representation of 17205 08:21:55,600 --> 08:21:58,878 what's they're actually doing. It's just 17206 08:21:57,040 --> 08:22:00,240 like showing you how many are working. 17207 08:21:58,878 --> 08:22:01,680 But I definitely think it's a step in 17208 08:22:00,240 --> 08:22:03,600 the right direction cuz I think 17209 08:22:01,680 --> 08:22:05,280 ultimately where I'd love to go is to a 17210 08:22:03,600 --> 08:22:07,440 place where claude code builds me, you 17211 08:22:05,280 --> 08:22:10,080 know, workflows and automations and it's 17212 08:22:07,440 --> 08:22:12,638 showing me it building them in an NAD 17213 08:22:10,080 --> 08:22:14,240 style interface where I can see the flow 17214 08:22:12,638 --> 08:22:15,600 and then we can talk about multi- aent 17215 08:22:14,240 --> 08:22:17,280 monitoring. There's a lot that can go on 17216 08:22:15,600 --> 08:22:18,878 with different agents whether you run 17217 08:22:17,280 --> 08:22:20,638 them in parallel and different terminals 17218 08:22:18,878 --> 08:22:22,240 or you've got sub agents or you've got 17219 08:22:20,638 --> 08:22:24,000 agent teams. And it was kind of cool in 17220 08:22:22,240 --> 08:22:26,320 here that you know each of these people 17221 08:22:24,000 --> 08:22:28,718 are their own terminal. And so if I see 17222 08:22:26,320 --> 08:22:30,878 four of this girl, I know that that is 17223 08:22:28,718 --> 08:22:32,320 one main and then four sub agents. 17224 08:22:30,878 --> 08:22:34,160 Whereas all of these are just different 17225 08:22:32,320 --> 08:22:36,160 agents running in terminals because they 17226 08:22:34,160 --> 08:22:37,280 are different things. Parallel agents, 17227 08:22:36,160 --> 08:22:39,440 you know, four different terminal 17228 08:22:37,280 --> 08:22:41,920 agents. Sub agents are a parent 17229 08:22:39,440 --> 08:22:43,520 delegating tasks to different sub aents. 17230 08:22:41,920 --> 08:22:44,958 Those sub aents can use different models 17231 08:22:43,520 --> 08:22:46,638 and they have, you know, their own 17232 08:22:44,958 --> 08:22:48,558 independent context. And then you have 17233 08:22:46,638 --> 08:22:50,958 agent teams which pixel agent doesn't 17234 08:22:48,558 --> 08:22:52,398 yet actually show but agent teams work 17235 08:22:50,958 --> 08:22:54,080 together a little bit better. They don't 17236 08:22:52,398 --> 08:22:56,000 share context necessarily but they share 17237 08:22:54,080 --> 08:22:57,440 a task list. They can talk to each other 17238 08:22:56,000 --> 08:22:59,520 and they understand when the other 17239 08:22:57,440 --> 08:23:01,840 person is done or the other agent is 17240 08:22:59,520 --> 08:23:03,920 done. And even Boris the genius who is 17241 08:23:01,840 --> 08:23:05,520 kind of like behind claude code said 17242 08:23:03,920 --> 08:23:07,120 that he's using you know five agents in 17243 08:23:05,520 --> 08:23:08,718 his terminal at all times and then maybe 17244 08:23:07,120 --> 08:23:10,558 another 10 on the web or something like 17245 08:23:08,718 --> 08:23:12,080 that. So he's always working with tons 17246 08:23:10,558 --> 08:23:13,760 of different agents. So, I am really 17247 08:23:12,080 --> 08:23:15,520 interested to see what Cloud Code does 17248 08:23:13,760 --> 08:23:17,360 around sort of like more native 17249 08:23:15,520 --> 08:23:19,760 visualization. So, real quick, let's hit 17250 08:23:17,360 --> 08:23:21,200 on the security of this plugin because 17251 08:23:19,760 --> 08:23:22,958 you should really only be installing 17252 08:23:21,200 --> 08:23:24,798 extensions that are verified or that you 17253 08:23:22,958 --> 08:23:26,718 know are safe. So, before I installed 17254 08:23:24,798 --> 08:23:29,200 it, I just looked into it a little bit. 17255 08:23:26,718 --> 08:23:30,878 The publisher is named Pablo Deuca. He 17256 08:23:29,200 --> 08:23:32,160 is a verified publisher on the VS Code 17257 08:23:30,878 --> 08:23:34,080 marketplace. I looked into his 17258 08:23:32,160 --> 08:23:35,600 background and he is a real person. He 17259 08:23:34,080 --> 08:23:38,240 is a co-founder of a company and he has 17260 08:23:35,600 --> 08:23:40,798 a GitHub repo with 1300 stars and over 17261 08:23:38,240 --> 08:23:41,760 100 forks. So I think that that means 17262 08:23:40,798 --> 08:23:43,120 that he's got a little bit of 17263 08:23:41,760 --> 08:23:44,558 credibility to him. He didn't make some 17264 08:23:43,120 --> 08:23:46,080 sort of fake profile to put something up 17265 08:23:44,558 --> 08:23:47,920 there to steal your data. So we looked 17266 08:23:46,080 --> 08:23:50,718 at some key things like outbound network 17267 08:23:47,920 --> 08:23:52,478 calls, data xfiltration, shell command 17268 08:23:50,718 --> 08:23:53,920 injection, suspicious dependencies, 17269 08:23:52,478 --> 08:23:55,840 credentials, secret handling, file 17270 08:23:53,920 --> 08:23:57,760 system access, and remote script 17271 08:23:55,840 --> 08:23:58,958 loading. And we didn't see anything. So 17272 08:23:57,760 --> 08:24:00,080 it doesn't look like it sends data 17273 08:23:58,958 --> 08:24:01,360 anywhere. It doesn't collect anything. 17274 08:24:00,080 --> 08:24:02,718 It doesn't run any commands and 17275 08:24:01,360 --> 08:24:04,398 everything is staying on your machine. 17276 08:24:02,718 --> 08:24:05,840 So that is why I felt confident to 17277 08:24:04,398 --> 08:24:07,280 actually install this and test it out. 17278 08:24:05,840 --> 08:24:09,040 So, I just wanted to share my experience 17279 08:24:07,280 --> 08:24:11,040 from a security perspective. So, 17280 08:24:09,040 --> 08:24:12,958 overall, the way I feel about this is 17281 08:24:11,040 --> 08:24:15,200 that Pixel Agent just tells me that an 17282 08:24:12,958 --> 08:24:16,798 agent or agents are working. What I 17283 08:24:15,200 --> 08:24:18,080 actually want to know is what they're 17284 08:24:16,798 --> 08:24:19,200 building, what decisions they're making, 17285 08:24:18,080 --> 08:24:21,440 and whether it's about to do something 17286 08:24:19,200 --> 08:24:22,878 that I'd agree with or disagree with. 17287 08:24:21,440 --> 08:24:24,958 That's the real product that I think we 17288 08:24:22,878 --> 08:24:27,040 need when it comes to visualization. 17289 08:24:24,958 --> 08:24:29,040 Because us as humans, we're moving into 17290 08:24:27,040 --> 08:24:30,958 this world where we really just have to 17291 08:24:29,040 --> 08:24:32,878 be really good managers and keep our 17292 08:24:30,958 --> 08:24:34,718 agents and our sub agents on the right 17293 08:24:32,878 --> 08:24:36,638 path. And the best way to do that is be 17294 08:24:34,718 --> 08:24:38,398 able to just see all the time what's 17295 08:24:36,638 --> 08:24:40,160 going on. Stop things before they go 17296 08:24:38,398 --> 08:24:41,360 wrong and proactively keep giving them 17297 08:24:40,160 --> 08:24:43,360 more work so that they're never just 17298 08:24:41,360 --> 08:24:44,558 sitting there idle. But anyways, that is 17299 08:24:43,360 --> 08:24:45,920 going to do it for today. If you guys 17300 08:24:44,558 --> 08:24:47,600 want to dive deeper into all this kind 17301 08:24:45,920 --> 08:24:49,360 of stuff and nerd out, then definitely 17302 08:24:47,600 --> 08:24:51,200 check out my paid group, AI Automation 17303 08:24:49,360 --> 08:24:52,878 Society Plus. We've got over 3,000 17304 08:24:51,200 --> 08:24:54,878 members who are building with AI every 17305 08:24:52,878 --> 08:24:56,638 day and building businesses with AI. So, 17306 08:24:54,878 --> 08:24:58,160 it's a great place to be if you have 17307 08:24:56,638 --> 08:24:59,440 similar goals. But if you guys enjoyed 17308 08:24:58,160 --> 08:25:00,320 the video or you learned something new, 17309 08:24:59,440 --> 08:25:01,920 please give it a like. It definitely 17310 08:25:00,320 --> 08:25:03,120 helps me out a ton. And as always, I 17311 08:25:01,920 --> 08:25:04,558 appreciate you guys making it to the end 17312 08:25:03,120 --> 08:25:08,680 of the video. I'll see you on the next 17313 08:25:04,558 --> 08:25:08,680 one. Thanks, everyone. 17314 08:25:09,040 --> 08:25:12,000 So, we are just absolutely cruising 17315 08:25:10,478 --> 08:25:13,920 through this course. I'm having a lot of 17316 08:25:12,000 --> 08:25:15,520 fun. Hope you guys are, too. Now, since 17317 08:25:13,920 --> 08:25:16,878 we have all these new skills and all 17318 08:25:15,520 --> 08:25:18,958 this new knowledge, we're going to get 17319 08:25:16,878 --> 08:25:20,478 into how can we actually like make money 17320 08:25:18,958 --> 08:25:22,240 off of this or kind of start a business 17321 08:25:20,478 --> 08:25:23,200 off of this. So, we've got a couple 17322 08:25:22,240 --> 08:25:24,958 things to talk about. We're going to 17323 08:25:23,200 --> 08:25:26,878 talk about the mindset of actually being 17324 08:25:24,958 --> 08:25:28,240 kind of like an AI consultant or an AI 17325 08:25:26,878 --> 08:25:29,360 service provider. I'm going to talk 17326 08:25:28,240 --> 08:25:31,200 about how you can think about getting 17327 08:25:29,360 --> 08:25:32,878 some clients even if you don't have a 17328 08:25:31,200 --> 08:25:33,920 big YouTube channel or a big audience. 17329 08:25:32,878 --> 08:25:35,520 And then we're going to talk about 17330 08:25:33,920 --> 08:25:39,558 actually sort of like deploying and 17331 08:25:35,520 --> 08:25:39,558 handing over these solutions. 17332 08:25:40,080 --> 08:25:43,440 If you want to make money with AI, you 17333 08:25:41,840 --> 08:25:45,120 need to stop selling AI agents and 17334 08:25:43,440 --> 08:25:46,798 workflows and start selling AI 17335 08:25:45,120 --> 08:25:48,160 solutions. And I'm not talking about AI 17336 08:25:46,798 --> 08:25:49,600 operating systems or regular 17337 08:25:48,160 --> 08:25:51,600 automations. I'm talking about 17338 08:25:49,600 --> 08:25:53,600 diagnosing problems that businesses face 17339 08:25:51,600 --> 08:25:55,120 and then using AI to solve those 17340 08:25:53,600 --> 08:25:56,798 problems. So, in this video, I'm going 17341 08:25:55,120 --> 08:25:58,398 to break down why selling agents isn't 17342 08:25:56,798 --> 08:25:59,840 enough. what to sell instead that will 17343 08:25:58,398 --> 08:26:01,840 actually make you money and how to do it 17344 08:25:59,840 --> 08:26:03,360 yourself step by step. So, why are you 17345 08:26:01,840 --> 08:26:05,120 guys all here watching this video? 17346 08:26:03,360 --> 08:26:06,878 Because AI has exploded. And with that 17347 08:26:05,120 --> 08:26:08,398 explosion comes hype. Tons of people 17348 08:26:06,878 --> 08:26:10,160 throwing around buzzwords like agents 17349 08:26:08,398 --> 08:26:11,840 and workflows. And what's funny is 17350 08:26:10,160 --> 08:26:12,878 automation has been around forever. It's 17351 08:26:11,840 --> 08:26:14,558 nothing new. When I was working 17352 08:26:12,878 --> 08:26:15,200 full-time at Goldman Sachs in business 17353 08:26:14,558 --> 08:26:16,958 intelligence, [music] 17354 08:26:15,200 --> 08:26:18,798 automation was my entire role. And that 17355 08:26:16,958 --> 08:26:20,318 job had existed for years. But the 17356 08:26:18,798 --> 08:26:22,000 majority of small and mid-size 17357 08:26:20,318 --> 08:26:23,360 businesses, hardly any automations in 17358 08:26:22,000 --> 08:26:25,280 place. The difference now is that 17359 08:26:23,360 --> 08:26:26,958 because you slap the word AI in front of 17360 08:26:25,280 --> 08:26:28,558 it, suddenly business owners are paying 17361 08:26:26,958 --> 08:26:30,160 attention. It's like putting a neon sign 17362 08:26:28,558 --> 08:26:31,760 on an old restaurant, the food hasn't 17363 08:26:30,160 --> 08:26:33,360 changed. It's nothing new, but suddenly 17364 08:26:31,760 --> 08:26:34,638 people are noticing it. And here's the 17365 08:26:33,360 --> 08:26:36,000 thing, most beginners get this part 17366 08:26:34,638 --> 08:26:38,318 wrong. They get caught up in the tech, 17367 08:26:36,000 --> 08:26:40,000 the nodes, the HTTP requests, the multi- 17368 08:26:38,318 --> 08:26:41,520 aent architectures. They're so focused 17369 08:26:40,000 --> 08:26:43,040 on the shiny parts that it causes them 17370 08:26:41,520 --> 08:26:44,080 to forget what actually matters to 17371 08:26:43,040 --> 08:26:45,600 businesses. [music] And I've definitely 17372 08:26:44,080 --> 08:26:47,440 got carried away with this, too. In 17373 08:26:45,600 --> 08:26:49,040 fact, my best performing YouTube videos 17374 08:26:47,440 --> 08:26:50,398 are the ones that are really flashy and 17375 08:26:49,040 --> 08:26:52,160 have multiple agents [music] because it 17376 08:26:50,398 --> 08:26:53,840 was trendy and cooler. But if you were 17377 08:26:52,160 --> 08:26:55,120 to ask me which YouTube builds have 17378 08:26:53,840 --> 08:26:56,958 actually been the most practical and 17379 08:26:55,120 --> 08:26:58,878 highest ROI, it would be some of my 17380 08:26:56,958 --> 08:27:00,798 lowest performing videos. When I sold my 17381 08:26:58,878 --> 08:27:02,638 very first $1,200 workflow, I didn't 17382 08:27:00,798 --> 08:27:04,878 walk in saying, "Hey, I got this build 17383 08:27:02,638 --> 08:27:06,798 with 15 nodes and an API call to blah 17384 08:27:04,878 --> 08:27:08,718 blah blah." I said, "This will save you 17385 08:27:06,798 --> 08:27:10,000 hours every single week on content 17386 08:27:08,718 --> 08:27:11,280 creation." And that's what made it a 17387 08:27:10,000 --> 08:27:13,200 no-brainer. And here's the truth. 17388 08:27:11,280 --> 08:27:16,398 Businesses really only care about three 17389 08:27:13,200 --> 08:27:17,680 things: time, money, focus. That's it. 17390 08:27:16,398 --> 08:27:20,398 They don't care if you deliver it with 17391 08:27:17,680 --> 08:27:21,840 AI or a VA or duct tape and chewing gum. 17392 08:27:20,398 --> 08:27:23,440 Think of it like a taxi ride. If you 17393 08:27:21,840 --> 08:27:25,440 need to get across town, you don't care 17394 08:27:23,440 --> 08:27:26,958 if you ride in a Prius, a Tesla, or a 17395 08:27:25,440 --> 08:27:28,478 horsedrawn carriage. Well, I suppose 17396 08:27:26,958 --> 08:27:29,920 some of us may, but that's beside the 17397 08:27:28,478 --> 08:27:31,760 point. You just care that it gets you to 17398 08:27:29,920 --> 08:27:33,600 your destination fast, cheap, and 17399 08:27:31,760 --> 08:27:35,840 without stress. Businesses feel the same 17400 08:27:33,600 --> 08:27:37,840 way. They don't fanboy over AI itself. 17401 08:27:35,840 --> 08:27:39,920 They fanboy over the outcomes. That's 17402 08:27:37,840 --> 08:27:42,080 why AIcentric selling doesn't work. 17403 08:27:39,920 --> 08:27:43,680 Selling agents or workflows as products 17404 08:27:42,080 --> 08:27:44,958 is already a crowded commoditized 17405 08:27:43,680 --> 08:27:46,798 market. You've probably seen people 17406 08:27:44,958 --> 08:27:48,080 offering entire libraries of end 17407 08:27:46,798 --> 08:27:50,080 templates, claiming that you can resell 17408 08:27:48,080 --> 08:27:52,080 them all for $5,000 a month. yet they're 17409 08:27:50,080 --> 08:27:54,160 only charging you $200 to access that 17410 08:27:52,080 --> 08:27:56,160 bundle of templates. Why? Because it's a 17411 08:27:54,160 --> 08:27:58,160 race to the bottom on price. Take 17412 08:27:56,160 --> 08:27:59,520 LinkedIn outreach bots as an example. 17413 08:27:58,160 --> 08:28:01,120 You could build the flashiest, most 17414 08:27:59,520 --> 08:28:02,878 complex bot out there, but if you just 17415 08:28:01,120 --> 08:28:04,240 pitch it as a LinkedIn outreach agent, 17416 08:28:02,878 --> 08:28:06,398 nobody's going to care that much. But 17417 08:28:04,240 --> 08:28:08,160 when it is framed as a system that helps 17418 08:28:06,398 --> 08:28:09,840 you generate qualified leads without 17419 08:28:08,160 --> 08:28:11,680 spending on ads, suddenly people see the 17420 08:28:09,840 --> 08:28:13,760 value and they want it. The shift is 17421 08:28:11,680 --> 08:28:15,440 simple. Stop selling AI tools and start 17422 08:28:13,760 --> 08:28:17,120 selling the outcomes of those tools. 17423 08:28:15,440 --> 08:28:19,040 Spotlight the pain. Frame the solution 17424 08:28:17,120 --> 08:28:20,558 around time, money, and focus. And 17425 08:28:19,040 --> 08:28:22,160 that's how you win. And that leads us 17426 08:28:20,558 --> 08:28:24,318 right into the next section. What should 17427 08:28:22,160 --> 08:28:26,160 you actually be selling? AI solutions. 17428 08:28:24,318 --> 08:28:28,160 The difference is an AI workflow is just 17429 08:28:26,160 --> 08:28:30,398 a tool. But an AI solution is a tool 17430 08:28:28,160 --> 08:28:31,920 that's directly tied to solving an 17431 08:28:30,398 --> 08:28:33,280 actual business painoint. When you pitch 17432 08:28:31,920 --> 08:28:34,478 a solution, you're not saying, "I'll 17433 08:28:33,280 --> 08:28:35,920 build you a chatbot." You're saying, 17434 08:28:34,478 --> 08:28:38,000 "I'll cut down your customer support 17435 08:28:35,920 --> 08:28:39,600 workload by 60%. I'll automate your 17436 08:28:38,000 --> 08:28:41,280 client onboarding so you save 10 hours a 17437 08:28:39,600 --> 08:28:42,798 week." Or, "I'll help you create AI 17438 08:28:41,280 --> 08:28:44,398 assisted content so you can slash 17439 08:28:42,798 --> 08:28:45,920 marketing spend by 30%." [music] And 17440 08:28:44,398 --> 08:28:48,000 just to get it to stick, I'll throw one 17441 08:28:45,920 --> 08:28:49,200 more terrible analogy at you guys. Think 17442 08:28:48,000 --> 08:28:50,638 of it like medicine. If you have a 17443 08:28:49,200 --> 08:28:52,718 headache, most people don't care whether 17444 08:28:50,638 --> 08:28:54,160 you prescribe Advil, Tylenol, or an 17445 08:28:52,718 --> 08:28:55,600 herbal remedy. They just care that their 17446 08:28:54,160 --> 08:28:57,520 headache goes away. The pill is the 17447 08:28:55,600 --> 08:28:59,440 tool. The outcome is pain relief. That's 17448 08:28:57,520 --> 08:29:00,240 exactly how businesses see AI. So, the 17449 08:28:59,440 --> 08:29:03,440 framework we're going to be talking 17450 08:29:00,240 --> 08:29:05,680 about today is to diagnose, then solve, 17451 08:29:03,440 --> 08:29:07,120 then value, then price. And it's a 17452 08:29:05,680 --> 08:29:08,798 simple process that I use every time. 17453 08:29:07,120 --> 08:29:10,478 Diagnose means find the pain point. 17454 08:29:08,798 --> 08:29:13,200 Where is the business leaking time, 17455 08:29:10,478 --> 08:29:15,120 money, or focus? Solve means build the 17456 08:29:13,200 --> 08:29:17,200 system that fixes that exact pain. 17457 08:29:15,120 --> 08:29:18,798 value. Translate that fix into numbers. 17458 08:29:17,200 --> 08:29:20,558 Hours [music] saved, dollars saved, 17459 08:29:18,798 --> 08:29:22,718 revenue gained. And finally, price. 17460 08:29:20,558 --> 08:29:23,920 Anchor your offer around that value. And 17461 08:29:22,718 --> 08:29:25,040 when you think about that framework and 17462 08:29:23,920 --> 08:29:26,398 you think about the core problem that 17463 08:29:25,040 --> 08:29:28,718 you're trying to solve, you can see how 17464 08:29:26,398 --> 08:29:30,318 reselling a bundle of 20 end templates 17465 08:29:28,718 --> 08:29:32,240 doesn't really do that. So, let's take a 17466 08:29:30,318 --> 08:29:34,080 look at an example. Automating client 17467 08:29:32,240 --> 08:29:35,680 onboarding. First, we diagnose. Right 17468 08:29:34,080 --> 08:29:37,440 now, your team spends 5 hours a week 17469 08:29:35,680 --> 08:29:38,878 onboarding new clients. Then, we solve. 17470 08:29:37,440 --> 08:29:40,398 I'll build a system that can automate 17471 08:29:38,878 --> 08:29:42,638 80% of that. Then, we turn that into 17472 08:29:40,398 --> 08:29:45,440 value, which is 200 plus hours saved a 17473 08:29:42,638 --> 08:29:46,958 year at $50 an hour. That's $10,000 back 17474 08:29:45,440 --> 08:29:48,878 in your pocket annually. And [music] 17475 08:29:46,958 --> 08:29:50,718 then you price, I'm saving you 10K a 17476 08:29:48,878 --> 08:29:52,718 year. I'm only going to charge you 3K 17477 08:29:50,718 --> 08:29:54,478 right now. Suddenly, the price isn't a 17478 08:29:52,718 --> 08:29:55,920 cost. It's now just a fraction of the 17479 08:29:54,478 --> 08:29:57,600 value that they're gaining. Here comes 17480 08:29:55,920 --> 08:29:59,040 another analogy. Think of it like a home 17481 08:29:57,600 --> 08:30:00,318 renovation. If you're a contractor and 17482 08:29:59,040 --> 08:30:01,840 you walk into someone's house and you 17483 08:30:00,318 --> 08:30:03,760 say, "I've got the best hammer. I've got 17484 08:30:01,840 --> 08:30:05,360 the strongest nails, the fanciest saws, 17485 08:30:03,760 --> 08:30:07,120 blah blah blah. Nobody cares." [music] 17486 08:30:05,360 --> 08:30:09,280 But if you say, "This remodel will 17487 08:30:07,120 --> 08:30:11,040 increase your home's value by $50,000 17488 08:30:09,280 --> 08:30:12,718 and we can do it in half the time of 17489 08:30:11,040 --> 08:30:14,638 other contractors." Now you've got their 17490 08:30:12,718 --> 08:30:16,638 attention. The hammer doesn't matter, 17491 08:30:14,638 --> 08:30:18,478 the results do. This is why when I'm on 17492 08:30:16,638 --> 08:30:20,558 calls, I don't lead with, "Let me show 17493 08:30:18,478 --> 08:30:22,000 you my workflow." I lead with questions. 17494 08:30:20,558 --> 08:30:23,600 Where are you losing the most time in 17495 08:30:22,000 --> 08:30:25,280 your business? What processes do you 17496 08:30:23,600 --> 08:30:27,280 wish could run themselves? Because the 17497 08:30:25,280 --> 08:30:28,318 diagnosis always points me to the 17498 08:30:27,280 --> 08:30:30,558 solution. [music] And the solution 17499 08:30:28,318 --> 08:30:32,000 always ties back to measurable business 17500 08:30:30,558 --> 08:30:33,840 value. And when you get good at this, 17501 08:30:32,000 --> 08:30:35,440 you stop being just another automation 17502 08:30:33,840 --> 08:30:36,798 freelancer. You become the person who 17503 08:30:35,440 --> 08:30:38,638 can look at a business, spot 17504 08:30:36,798 --> 08:30:41,040 inefficiencies, and design solutions 17505 08:30:38,638 --> 08:30:42,798 that save them time, money, and focus. 17506 08:30:41,040 --> 08:30:44,478 That's the shift from becoming an agent 17507 08:30:42,798 --> 08:30:46,478 seller to a solution seller and being 17508 08:30:44,478 --> 08:30:48,160 seen as an AI expert or an AI partner. 17509 08:30:46,478 --> 08:30:49,920 So, you know why selling AI doesn't work 17510 08:30:48,160 --> 08:30:51,040 and that you need to sell AI solutions, 17511 08:30:49,920 --> 08:30:52,558 but how do you actually do this for 17512 08:30:51,040 --> 08:30:54,000 yourself? Step by step. That's what 17513 08:30:52,558 --> 08:30:55,680 we're going to cover now in a few simple 17514 08:30:54,000 --> 08:30:56,958 steps. And remember, we're going to tie 17515 08:30:55,680 --> 08:30:58,284 everything back to that same framework 17516 08:30:56,958 --> 08:31:00,958 that we just talked about. Diagnose, 17517 08:30:58,284 --> 08:31:02,958 [music] solve, value, price. Okay, so 17518 08:31:00,958 --> 08:31:04,638 step one, pick a niche and diagnose the 17519 08:31:02,958 --> 08:31:06,638 landscape. The goal here is simple. 17520 08:31:04,638 --> 08:31:08,558 Choose one group so that problems repeat 17521 08:31:06,638 --> 08:31:10,478 and your wins compound. Spend 10 minutes 17522 08:31:08,558 --> 08:31:12,958 deciding whether you'll serve agencies, 17523 08:31:10,478 --> 08:31:15,120 real estate, e-commerce, coaches, local 17524 08:31:12,958 --> 08:31:16,638 services like dental or HVAC, SAS 17525 08:31:15,120 --> 08:31:18,160 startups, whatever you want it to be. 17526 08:31:16,638 --> 08:31:19,840 Run your pick through these quick 17527 08:31:18,160 --> 08:31:22,080 filters. Do they repeat processes 17528 08:31:19,840 --> 08:31:23,520 weekly? Can they say yes and pay fast? 17529 08:31:22,080 --> 08:31:25,440 And do you already speak their language 17530 08:31:23,520 --> 08:31:26,558 through content you've made or past work 17531 08:31:25,440 --> 08:31:28,318 or interests? [music] When you think 17532 08:31:26,558 --> 08:31:29,920 about repeatable pains, picture agencies 17533 08:31:28,318 --> 08:31:31,760 struggling with lead qualification, 17534 08:31:29,920 --> 08:31:33,600 client onboarding, reporting, and 17535 08:31:31,760 --> 08:31:35,200 content ops. Real estate teams juggling 17536 08:31:33,600 --> 08:31:37,360 inbound lead triage, showing 17537 08:31:35,200 --> 08:31:39,040 coordination and document collection. 17538 08:31:37,360 --> 08:31:41,280 E-commerce brands needing CX ticket 17539 08:31:39,040 --> 08:31:43,040 deflection, returns automation, product 17540 08:31:41,280 --> 08:31:44,558 content, and ops reporting, or coaches 17541 08:31:43,040 --> 08:31:46,000 begging for application filtering, 17542 08:31:44,558 --> 08:31:47,840 calendar triage, and content 17543 08:31:46,000 --> 08:31:49,440 repurposing. The outcome of this step is 17544 08:31:47,840 --> 08:31:51,120 just to have a short list of niches that 17545 08:31:49,440 --> 08:31:53,120 you're confident enough to carry into 17546 08:31:51,120 --> 08:31:55,360 this next step. Step two, talk to five 17547 08:31:53,120 --> 08:31:56,958 to 10 businesses and diagnose pain. 17548 08:31:55,360 --> 08:31:58,638 Treat these as informational interviews 17549 08:31:56,958 --> 08:32:00,398 that could often turn into discovery 17550 08:31:58,638 --> 08:32:02,718 calls and paid work. I like opening with 17551 08:32:00,398 --> 08:32:05,040 a simple message. Hey name, I'm mapping 17552 08:32:02,718 --> 08:32:06,318 the top drains in X niche. In 15 17553 08:32:05,040 --> 08:32:08,240 minutes, I'll try to quantify your 17554 08:32:06,318 --> 08:32:10,000 biggest bottleneck and share where AI 17555 08:32:08,240 --> 08:32:12,000 actually helps and where it doesn't. No 17556 08:32:10,000 --> 08:32:13,600 pitch unless you ask. I'm genuinely just 17557 08:32:12,000 --> 08:32:15,760 trying to learn how I can provide value 17558 08:32:13,600 --> 08:32:18,240 to businesses. On a call, I would then 17559 08:32:15,760 --> 08:32:19,760 use the LRP framework, the listen, 17560 08:32:18,240 --> 08:32:21,280 repeat, poke. This basically means that 17561 08:32:19,760 --> 08:32:22,958 I listen while they describe their week 17562 08:32:21,280 --> 08:32:24,878 or their processes. I repeat back the 17563 08:32:22,958 --> 08:32:26,798 pattern to confirm alignment and then I 17564 08:32:24,878 --> 08:32:28,000 poke to quantify it. So, let's say the 17565 08:32:26,798 --> 08:32:29,840 business owner is talking to me about 17566 08:32:28,000 --> 08:32:31,440 some onboarding and reporting flows and 17567 08:32:29,840 --> 08:32:32,718 I find out that it eats about 6 to 8 17568 08:32:31,440 --> 08:32:34,398 hours a week. I would then poke back 17569 08:32:32,718 --> 08:32:35,920 with a question like, "Whose hours are 17570 08:32:34,398 --> 08:32:37,440 those? What's their hourly value? How 17571 08:32:35,920 --> 08:32:38,798 often does this process result in an 17572 08:32:37,440 --> 08:32:40,318 error?" You could also talk about money. 17573 08:32:38,798 --> 08:32:41,840 Where are you paying people to copy and 17574 08:32:40,318 --> 08:32:43,440 paste or chase info? You could talk 17575 08:32:41,840 --> 08:32:45,440 about focus. What interrupts you the 17576 08:32:43,440 --> 08:32:46,878 most between 9 and noon? You can talk 17577 08:32:45,440 --> 08:32:49,040 about errors. Where do mistakes cause 17578 08:32:46,878 --> 08:32:50,478 rework, refunds, or churn? And finally, 17579 08:32:49,040 --> 08:32:52,638 you could talk about a trigger. If I 17580 08:32:50,478 --> 08:32:54,160 could remove one weekly fire, which one 17581 08:32:52,638 --> 08:32:56,000 changes your week? The outcome of this 17582 08:32:54,160 --> 08:32:57,600 step is to have a ranked list of actual 17583 08:32:56,000 --> 08:32:59,040 business pain points with rough numbers 17584 08:32:57,600 --> 08:33:00,638 associated with them. Those numbers 17585 08:32:59,040 --> 08:33:02,558 being hours, cost, [music] 17586 08:33:00,638 --> 08:33:04,240 frequency, mistake rate, stuff like 17587 08:33:02,558 --> 08:33:05,920 that. We can then take that list and 17588 08:33:04,240 --> 08:33:08,318 move into step three, which is building 17589 08:33:05,920 --> 08:33:09,680 one simple solution and solve. Once 17590 08:33:08,318 --> 08:33:11,440 you've diagnosed a clear problem, 17591 08:33:09,680 --> 08:33:12,878 prototype the fix. And notice how I just 17592 08:33:11,440 --> 08:33:14,638 said prototype. This doesn't have to be 17593 08:33:12,878 --> 08:33:17,200 a perfect production ready system. It's 17594 08:33:14,638 --> 08:33:19,200 a P or a proof of concept that shows 17595 08:33:17,200 --> 08:33:20,798 that you understand their world and it 17596 08:33:19,200 --> 08:33:22,080 proves your technical expertise. This 17597 08:33:20,798 --> 08:33:23,360 doesn't mean you have to dedicate an 17598 08:33:22,080 --> 08:33:24,798 entire week to it. Here's how you can 17599 08:33:23,360 --> 08:33:26,398 spin one up in an hour and a half. Spend 17600 08:33:24,798 --> 08:33:27,840 about 15 minutes drawing the flow. Now 17601 08:33:26,398 --> 08:33:29,920 that you understand the process, just 17602 08:33:27,840 --> 08:33:31,600 map out the trigger, the steps, the data 17603 08:33:29,920 --> 08:33:33,680 sources, the outputs, and a clear 17604 08:33:31,600 --> 08:33:35,680 definition of done. Spend the next hour 17605 08:33:33,680 --> 08:33:37,440 doing a rough build on one platform like 17606 08:33:35,680 --> 08:33:38,798 Niten in so you have something real to 17607 08:33:37,440 --> 08:33:40,478 click through and demo. And then 17608 08:33:38,798 --> 08:33:42,958 finally, use the last 15 minutes to 17609 08:33:40,478 --> 08:33:45,040 record a quick 3minute loom that walks 17610 08:33:42,958 --> 08:33:46,718 through the before, the actual solution 17611 08:33:45,040 --> 08:33:47,840 itself, and then the result. And make 17612 08:33:46,718 --> 08:33:49,840 sure you have your camera on because 17613 08:33:47,840 --> 08:33:51,440 people want to hire people, not faceless 17614 08:33:49,840 --> 08:33:53,600 screens. [music] This is exactly why my 17615 08:33:51,440 --> 08:33:54,958 not so fancy LinkedIn workflow felt like 17616 08:33:53,600 --> 08:33:56,878 magic to that first client because it 17617 08:33:54,958 --> 08:33:58,478 removed the pain of ideiation research 17618 08:33:56,878 --> 08:34:00,240 and writing. And it didn't need to be 17619 08:33:58,478 --> 08:34:02,240 super fancy to do that. So avoid the 17620 08:34:00,240 --> 08:34:04,160 classic traps. Don't drift into multi- 17621 08:34:02,240 --> 08:34:06,160 aent fantasies. Don't stitch together 17622 08:34:04,160 --> 08:34:07,600 five vendors just to try them. And don't 17623 08:34:06,160 --> 08:34:09,440 start building a platform when the job 17624 08:34:07,600 --> 08:34:10,878 is just to fix Tuesday's bottleneck. 17625 08:34:09,440 --> 08:34:12,160 Just try to take a step back and think 17626 08:34:10,878 --> 08:34:13,760 about the actual problem you're trying 17627 08:34:12,160 --> 08:34:16,160 to solve. Because a lot of times you may 17628 08:34:13,760 --> 08:34:17,520 not even need like a very custom nit 17629 08:34:16,160 --> 08:34:18,718 agent. Sometimes there's already a 17630 08:34:17,520 --> 08:34:20,398 platform out there or sometimes [music] 17631 08:34:18,718 --> 08:34:22,478 you can do it already naturally in 17632 08:34:20,398 --> 08:34:24,478 someone's CRM. Don't overengineer. Just 17633 08:34:22,478 --> 08:34:25,920 be resourceful and solve problems. The 17634 08:34:24,478 --> 08:34:27,600 outcome of this step is that you now 17635 08:34:25,920 --> 08:34:29,200 have a demo video that you can send to 17636 08:34:27,600 --> 08:34:30,506 some of your other nurtured leads to 17637 08:34:29,200 --> 08:34:32,160 show them how you can solve their 17638 08:34:30,506 --> 08:34:33,680 [music] specific pain points. Next is 17639 08:34:32,160 --> 08:34:35,520 step four, which can trip up a lot of 17640 08:34:33,680 --> 08:34:37,440 beginners. This is turning your solution 17641 08:34:35,520 --> 08:34:39,360 into a price. And the easiest way to do 17642 08:34:37,440 --> 08:34:40,958 that is to translate what you built into 17643 08:34:39,360 --> 08:34:42,798 plain math that a business owner can 17644 08:34:40,958 --> 08:34:44,558 understand and relate to. Here's how I 17645 08:34:42,798 --> 08:34:45,920 explain it on calls. First, you have to 17646 08:34:44,558 --> 08:34:47,280 figure out how much time the process 17647 08:34:45,920 --> 08:34:48,958 takes today. Hopefully, you already did 17648 08:34:47,280 --> 08:34:50,558 that earlier in step two. Let's say a 17649 08:34:48,958 --> 08:34:52,240 team spends 10 hours a week on client 17650 08:34:50,558 --> 08:34:53,760 onboarding. Then ask what those hours 17651 08:34:52,240 --> 08:34:56,478 are worth. If the average employee is 17652 08:34:53,760 --> 08:34:58,638 paid $25 an hour, that's $250 a week. 17653 08:34:56,478 --> 08:35:00,240 Multiply that by 4 weeks to get a month 17654 08:34:58,638 --> 08:35:02,160 and suddenly the process is costing the 17655 08:35:00,240 --> 08:35:04,398 business around $1,000 a month or 17656 08:35:02,160 --> 08:35:06,240 $12,000 annually. Now, let's say you're 17657 08:35:04,398 --> 08:35:08,398 only able to automate 60% of that 17658 08:35:06,240 --> 08:35:10,000 workload. That's still $600 saved every 17659 08:35:08,398 --> 08:35:12,000 single month. Over the course of a year, 17660 08:35:10,000 --> 08:35:13,280 that's more than $7,000 back in that 17661 08:35:12,000 --> 08:35:14,558 business owner's pocket. So, when you 17662 08:35:13,280 --> 08:35:16,000 turn around and say, "Hey, I'm only 17663 08:35:14,558 --> 08:35:17,840 going to charge you $3,000 for the 17664 08:35:16,000 --> 08:35:19,520 solution." It's not an expense anymore. 17665 08:35:17,840 --> 08:35:21,040 It's an investment that has a very 17666 08:35:19,520 --> 08:35:22,798 clear, measurable return that already 17667 08:35:21,040 --> 08:35:24,318 pays for itself in 5 months, and it 17668 08:35:22,798 --> 08:35:25,520 keeps saving more money every single 17669 08:35:24,318 --> 08:35:27,040 month after that. And that's how you 17670 08:35:25,520 --> 08:35:28,398 make it a no-brainer. And of course, you 17671 08:35:27,040 --> 08:35:30,080 have to remember that value doesn't 17672 08:35:28,398 --> 08:35:31,600 equal time. The client's not paying you 17673 08:35:30,080 --> 08:35:33,680 for how long it took. When I built my 17674 08:35:31,600 --> 08:35:35,840 very first workflow for $1,200, it only 17675 08:35:33,680 --> 08:35:37,600 took me about 2 hours, which is $600 an 17676 08:35:35,840 --> 08:35:38,958 hour, which is a crazy rate. But once 17677 08:35:37,600 --> 08:35:40,398 again, the client wasn't paying me for 17678 08:35:38,958 --> 08:35:42,080 the hours. they were paying for the 17679 08:35:40,398 --> 08:35:44,318 outcome, which was saving [music] them 17680 08:35:42,080 --> 08:35:46,080 hours of content creation every week. 17681 08:35:44,318 --> 08:35:47,600 Finally, make sure to keep your scope 17682 08:35:46,080 --> 08:35:49,600 clear and simple. Write down the 17683 08:35:47,600 --> 08:35:51,440 objective, what's included, what's not 17684 08:35:49,600 --> 08:35:53,200 included, the timeline, [music] what's 17685 08:35:51,440 --> 08:35:55,040 expected from the client, the payment 17686 08:35:53,200 --> 08:35:57,040 terms, stuff like that. This avoids 17687 08:35:55,040 --> 08:35:58,478 confusion, ambiguity. It protects you 17688 08:35:57,040 --> 08:36:00,080 from scope creep, and it makes you look 17689 08:35:58,478 --> 08:36:01,440 professional. The number one biggest 17690 08:36:00,080 --> 08:36:03,920 mistake that I made when I was starting 17691 08:36:01,440 --> 08:36:05,440 off was underscoping and then having to 17692 08:36:03,920 --> 08:36:06,958 deal with all of this ambiguity. So if 17693 08:36:05,440 --> 08:36:08,878 you can make your proposals as specific 17694 08:36:06,958 --> 08:36:10,478 as possible and saying these 10 things 17695 08:36:08,878 --> 08:36:12,318 are the exact functionality of the 17696 08:36:10,478 --> 08:36:13,920 system, this is exactly the definition 17697 08:36:12,318 --> 08:36:15,360 of done. Then you're really going to be 17698 08:36:13,920 --> 08:36:17,360 protecting yourself and thanking 17699 08:36:15,360 --> 08:36:18,958 yourself later. So to recap, the formula 17700 08:36:17,360 --> 08:36:20,478 is dead simple. Figure out how much time 17701 08:36:18,958 --> 08:36:22,718 and money the process is costing now. 17702 08:36:20,478 --> 08:36:24,398 Build a PC and show how your solution 17703 08:36:22,718 --> 08:36:25,680 cuts down that time and money. And then 17704 08:36:24,398 --> 08:36:27,440 price your project at a fraction of 17705 08:36:25,680 --> 08:36:29,360 those yearly savings. Businesses will 17706 08:36:27,440 --> 08:36:31,360 pay happily when that math makes sense. 17707 08:36:29,360 --> 08:36:33,520 All right, moving on to step five, which 17708 08:36:31,360 --> 08:36:34,958 is to stack proof, build confidence, and 17709 08:36:33,520 --> 08:36:36,558 then scale. I'm going to be honest real 17710 08:36:34,958 --> 08:36:37,840 quick. When you're starting, imposter 17711 08:36:36,558 --> 08:36:39,040 syndrome is normal. You're going to 17712 08:36:37,840 --> 08:36:40,478 wonder if you can deliver and whether 17713 08:36:39,040 --> 08:36:41,840 the client will be happy. I felt the 17714 08:36:40,478 --> 08:36:43,280 exact same way. When I started working 17715 08:36:41,840 --> 08:36:45,040 with clients, I wasn't even calling 17716 08:36:43,280 --> 08:36:47,200 myself an expert. I was just curious, 17717 08:36:45,040 --> 08:36:48,798 building for fun, sharing things online, 17718 08:36:47,200 --> 08:36:50,000 and clients started reaching out. At 17719 08:36:48,798 --> 08:36:52,080 this stage, I would have been happy to 17720 08:36:50,000 --> 08:36:53,360 do work for free just to get experience. 17721 08:36:52,080 --> 08:36:54,878 And the fact that I was getting paid was 17722 08:36:53,360 --> 08:36:56,558 a big bonus. And if you're stuck with 17723 08:36:54,878 --> 08:36:58,798 that worry, you have two great options. 17724 08:36:56,558 --> 08:37:00,878 The first one is to do free or very 17725 08:36:58,798 --> 08:37:02,398 cheap work in exchange for proof. Say, 17726 08:37:00,878 --> 08:37:03,840 "Hey, I'll try this build out for you 17727 08:37:02,398 --> 08:37:05,600 for free. Either way, the system will be 17728 08:37:03,840 --> 08:37:07,120 yours. I just want to see if I can help 17729 08:37:05,600 --> 08:37:08,638 create something valuable for you and 17730 08:37:07,120 --> 08:37:10,558 your business. This removes pressure and 17731 08:37:08,638 --> 08:37:11,840 lets you optimize for reps, not money, 17732 08:37:10,558 --> 08:37:13,040 which is exactly what you should be 17733 08:37:11,840 --> 08:37:14,878 doing when you're starting off because 17734 08:37:13,040 --> 08:37:16,478 the testimonials and case studies and 17735 08:37:14,878 --> 08:37:18,000 confidence that you're going to gain are 17736 08:37:16,478 --> 08:37:20,000 worth far more downstream than a quick 17737 08:37:18,000 --> 08:37:21,360 $1,200 today. And those first three to 17738 08:37:20,000 --> 08:37:22,772 five projects really should be just 17739 08:37:21,360 --> 08:37:24,240 thought of as paid practice. They exist 17740 08:37:22,772 --> 08:37:25,680 [music] to teach you the process, give 17741 08:37:24,240 --> 08:37:27,680 you those case studies, and provide 17742 08:37:25,680 --> 08:37:29,440 proof. Your other option is if you'd 17743 08:37:27,680 --> 08:37:30,958 rather not do it for free, just offer a 17744 08:37:29,440 --> 08:37:32,398 money back guarantee. say, "Hey, if 17745 08:37:30,958 --> 08:37:34,000 you're not happy with it when I deliver 17746 08:37:32,398 --> 08:37:35,520 it or it doesn't deliver the value that 17747 08:37:34,000 --> 08:37:37,040 we discussed, you'll get all your money 17748 08:37:35,520 --> 08:37:38,478 back." That flips the risk, creates a 17749 08:37:37,040 --> 08:37:40,080 stress-free environment for you to learn 17750 08:37:38,478 --> 08:37:41,440 and experiment and still gives the 17751 08:37:40,080 --> 08:37:43,120 client a fair outcome. This matters 17752 08:37:41,440 --> 08:37:45,280 because in the early days, once again, 17753 08:37:43,120 --> 08:37:46,798 you're optimizing for experience, proof, 17754 08:37:45,280 --> 08:37:48,080 reps, not money. [music] And once you 17755 08:37:46,798 --> 08:37:49,680 have all that confidence, you can 17756 08:37:48,080 --> 08:37:51,600 actually move from being a freelancer to 17757 08:37:49,680 --> 08:37:53,280 a consultant and eventually get larger 17758 08:37:51,600 --> 08:37:54,878 and larger builds and larger and larger 17759 08:37:53,280 --> 08:37:56,398 contracts. Over [music] the past year, 17760 08:37:54,878 --> 08:37:58,718 we've been working on projects that have 17761 08:37:56,398 --> 08:38:00,638 ranged anywhere from $1 to $2,000 all 17762 08:37:58,718 --> 08:38:01,840 the way up to $30,000 plus. [music] And 17763 08:38:00,638 --> 08:38:03,680 none of that would have happened without 17764 08:38:01,840 --> 08:38:05,600 the low stakes project that built up my 17765 08:38:03,680 --> 08:38:07,360 confidence and portfolio, which let me 17766 08:38:05,600 --> 08:38:08,638 comfortably charge more and more every 17767 08:38:07,360 --> 08:38:09,920 time we sculpted out builds. And 17768 08:38:08,638 --> 08:38:11,600 honestly, I still think a lot of our 17769 08:38:09,920 --> 08:38:12,878 projects we've undercharged, but that's 17770 08:38:11,600 --> 08:38:14,558 a conversation for another time. 17771 08:38:12,878 --> 08:38:15,840 Anyways, once you have those first wins 17772 08:38:14,558 --> 08:38:18,160 under your belt, make sure you're 17773 08:38:15,840 --> 08:38:19,520 collecting that baseline and after data. 17774 08:38:18,160 --> 08:38:20,958 So, your hours saved, your errors 17775 08:38:19,520 --> 08:38:22,878 reduced, your money saved, [music] and 17776 08:38:20,958 --> 08:38:23,920 then turn them into simple case studies. 17777 08:38:22,878 --> 08:38:25,600 Of course, you want to ask for 17778 08:38:23,920 --> 08:38:27,600 testimonials and referrals and then 17779 08:38:25,600 --> 08:38:29,120 rerun the framework with new prospects. 17780 08:38:27,600 --> 08:38:30,558 But now that you have proof in hand, 17781 08:38:29,120 --> 08:38:32,000 it's going to be a lot easier because at 17782 08:38:30,558 --> 08:38:33,280 that point, you're no longer saying, "I 17783 08:38:32,000 --> 08:38:34,798 think I can help you." You're saying, 17784 08:38:33,280 --> 08:38:36,798 "I've already helped three businesses 17785 08:38:34,798 --> 08:38:38,478 just like yours. Here's the proof. 17786 08:38:36,798 --> 08:38:39,760 Here's the results. You want me to do 17787 08:38:38,478 --> 08:38:41,600 the same for you?" And that's when the 17788 08:38:39,760 --> 08:38:43,200 imposttor syndrome fades because the 17789 08:38:41,600 --> 08:38:44,558 market is actually validating that what 17790 08:38:43,200 --> 08:38:46,080 you're doing is working. And that's 17791 08:38:44,558 --> 08:38:47,920 pretty much the full loop. Diagnose the 17792 08:38:46,080 --> 08:38:49,600 problem, solve it with a simple system, 17793 08:38:47,920 --> 08:38:51,520 tie it back to business value, and then 17794 08:38:49,600 --> 08:38:53,040 price accordingly. From there, you stack 17795 08:38:51,520 --> 08:38:54,478 up your proof until you can scale with 17796 08:38:53,040 --> 08:38:56,080 confidence. If you want to succeed at 17797 08:38:54,478 --> 08:38:57,920 selling AI, you've got to leave your 17798 08:38:56,080 --> 08:39:00,318 obsession for technology behind and 17799 08:38:57,920 --> 08:39:01,680 think purely about the customer, aka the 17800 08:39:00,318 --> 08:39:02,878 business that you're selling to. So, I 17801 08:39:01,680 --> 08:39:04,240 know that was a lot of information. 17802 08:39:02,878 --> 08:39:05,680 Tried to make this one as valuable as 17803 08:39:04,240 --> 08:39:07,280 possible. What I'm going to do is have 17804 08:39:05,680 --> 08:39:08,638 all of this condensed into a resource 17805 08:39:07,280 --> 08:39:10,638 that you guys can access and look at 17806 08:39:08,638 --> 08:39:12,318 later. I will put that in my free school 17807 08:39:10,638 --> 08:39:13,440 community. Once again, completely free. 17808 08:39:12,318 --> 08:39:14,718 The link for that will be down in the 17809 08:39:13,440 --> 08:39:16,318 description. And if you found this video 17810 08:39:14,718 --> 08:39:18,000 helpful and you're looking for a full 17811 08:39:16,318 --> 08:39:19,280 course pretty much just like this, then 17812 08:39:18,000 --> 08:39:20,798 check out my plus community. The link 17813 08:39:19,280 --> 08:39:22,160 for that's also down in the description. 17814 08:39:20,798 --> 08:39:24,080 We just dropped a full course in there 17815 08:39:22,160 --> 08:39:25,360 called oneperson AI agency. So you'll be 17816 08:39:24,080 --> 08:39:27,120 able to get a formal course material 17817 08:39:25,360 --> 08:39:29,200 that goes over starting your oneperson 17818 08:39:27,120 --> 08:39:30,398 AI agency from scratch. And the great 17819 08:39:29,200 --> 08:39:32,160 thing about that community is we have 17820 08:39:30,398 --> 08:39:33,680 over 2,000 other people who are also 17821 08:39:32,160 --> 08:39:35,120 trying to do that exact same thing. So 17822 08:39:33,680 --> 08:39:36,638 it's a great space to meet people 17823 08:39:35,120 --> 08:39:38,398 potentially a business partner and maybe 17824 08:39:36,638 --> 08:39:42,120 even make a few hires in there or pick 17825 08:39:38,398 --> 08:39:42,120 up your first couple gigs. 17826 08:39:42,318 --> 08:39:45,280 People keep telling me they can't land 17827 08:39:43,840 --> 08:39:46,718 AI clients because they don't have a 17828 08:39:45,280 --> 08:39:48,240 YouTube channel since I got my first 17829 08:39:46,718 --> 08:39:49,920 clients through content. But you don't 17830 08:39:48,240 --> 08:39:51,440 actually need content at all. If I lost 17831 08:39:49,920 --> 08:39:52,958 my YouTube channel tomorrow and I had to 17832 08:39:51,440 --> 08:39:54,558 start from zero, there are three simple 17833 08:39:52,958 --> 08:39:55,920 ways that I'd get clients fast. And I 17834 08:39:54,558 --> 08:39:57,360 hardly see anyone talking about the 17835 08:39:55,920 --> 08:39:58,718 third method. So in this video, I'll 17836 08:39:57,360 --> 08:40:00,398 show you real proof that you can land 17837 08:39:58,718 --> 08:40:01,840 clients without a YouTube channel and 17838 08:40:00,398 --> 08:40:03,520 the exact [music] three steps you can 17839 08:40:01,840 --> 08:40:04,958 follow to sign your first few clients 17840 08:40:03,520 --> 08:40:06,160 this month. So let's get into it. So 17841 08:40:04,958 --> 08:40:08,000 just to start off, I'm not going to 17842 08:40:06,160 --> 08:40:09,680 pretend that YouTube or content doesn't 17843 08:40:08,000 --> 08:40:10,958 help. It absolutely does because when 17844 08:40:09,680 --> 08:40:12,240 someone watches a ton of your videos 17845 08:40:10,958 --> 08:40:13,520 before reaching out, they already have 17846 08:40:12,240 --> 08:40:14,638 trust and they've heard your voice. 17847 08:40:13,520 --> 08:40:15,760 They've seen how you think. And by the 17848 08:40:14,638 --> 08:40:17,200 time they book that call, they're 17849 08:40:15,760 --> 08:40:18,558 basically sold. And that's the power of 17850 08:40:17,200 --> 08:40:20,160 content. But what most people don't 17851 08:40:18,558 --> 08:40:22,318 realize, the agency that I founded and 17852 08:40:20,160 --> 08:40:23,360 exited, True Horizon, scaled past 100K a 17853 08:40:22,318 --> 08:40:24,718 month. And even though the majority of 17854 08:40:23,360 --> 08:40:26,000 our leads were coming from YouTube, 17855 08:40:24,718 --> 08:40:27,360 that's not where our best clients were 17856 08:40:26,000 --> 08:40:28,718 coming from. The clients we ended up 17857 08:40:27,360 --> 08:40:30,558 actually working with were the ones who 17858 08:40:28,718 --> 08:40:31,840 paid well, stuck around, and were a 17859 08:40:30,558 --> 08:40:33,600 dream to work with, came from two 17860 08:40:31,840 --> 08:40:34,958 things: referrals and partnerships. So, 17861 08:40:33,600 --> 08:40:36,398 we'd make one client happy and then 17862 08:40:34,958 --> 08:40:38,000 they'd tell their network or we'd 17863 08:40:36,398 --> 08:40:39,600 partner with tools or other businesses 17864 08:40:38,000 --> 08:40:40,958 that already had demand that they 17865 08:40:39,600 --> 08:40:42,478 couldn't service themselves. And that's 17866 08:40:40,958 --> 08:40:44,398 where the real growth came from. So, 17867 08:40:42,478 --> 08:40:45,760 yes, content is one path and it's a 17868 08:40:44,398 --> 08:40:47,200 really great way to build momentum, but 17869 08:40:45,760 --> 08:40:48,478 it's not the only path. And I get it 17870 08:40:47,200 --> 08:40:49,840 because I know a lot of you guys don't 17871 08:40:48,478 --> 08:40:51,120 want to start a YouTube channel or don't 17872 08:40:49,840 --> 08:40:52,160 want to be consistently posting on 17873 08:40:51,120 --> 08:40:53,440 LinkedIn every day. You don't want to be 17874 08:40:52,160 --> 08:40:54,638 on camera. You don't want to wait 12 17875 08:40:53,440 --> 08:40:55,920 months to see results. And that's 17876 08:40:54,638 --> 08:40:57,040 totally fair. So, we're going to talk 17877 08:40:55,920 --> 08:40:58,478 about three ways that you can land 17878 08:40:57,040 --> 08:41:00,000 clients without posting a single piece 17879 08:40:58,478 --> 08:41:01,680 of content. Starting with number one, 17880 08:41:00,000 --> 08:41:02,798 which is cold outreach. Now, before I 17881 08:41:01,680 --> 08:41:04,638 get into this, I need to be real with 17882 08:41:02,798 --> 08:41:06,000 you. Cold outreach is brutal when you 17883 08:41:04,638 --> 08:41:07,520 have zero proof. The first thing that 17884 08:41:06,000 --> 08:41:08,718 any prospect is going to ask you is, 17885 08:41:07,520 --> 08:41:10,160 "Who have you done this for?" And if 17886 08:41:08,718 --> 08:41:11,920 your answer is nobody, you're fighting 17887 08:41:10,160 --> 08:41:13,360 uphill the entire conversation. So 17888 08:41:11,920 --> 08:41:15,120 before you go off and send a bunch of 17889 08:41:13,360 --> 08:41:16,718 cold messages, go get some proof. Even 17890 08:41:15,120 --> 08:41:18,318 if it's small, even if it's free, even 17891 08:41:16,718 --> 08:41:19,760 if it's for your cousin's salon, the 17892 08:41:18,318 --> 08:41:21,040 product doesn't need to match what you 17893 08:41:19,760 --> 08:41:22,318 eventually want to sell. All that 17894 08:41:21,040 --> 08:41:23,760 matters is that you can say, "Yeah, I 17895 08:41:22,318 --> 08:41:25,680 have done this before. I've helped X 17896 08:41:23,760 --> 08:41:27,520 business get Y result." That alone 17897 08:41:25,680 --> 08:41:28,878 separates you from everyone who's purely 17898 08:41:27,520 --> 08:41:30,558 theoretical. So there are four 17899 08:41:28,878 --> 08:41:32,240 components to cold outreach: platforms, 17900 08:41:30,558 --> 08:41:33,680 finding leads, reaching out, and then 17901 08:41:32,240 --> 08:41:35,440 volume. So let's start with platforms. 17902 08:41:33,680 --> 08:41:36,958 For B2B, here's where you should be 17903 08:41:35,440 --> 08:41:38,478 looking. LinkedIn, Facebook groups, 17904 08:41:36,958 --> 08:41:40,398 email, school communities, YouTube 17905 08:41:38,478 --> 08:41:42,398 channels, Instagram, Reddit. Cold email 17906 08:41:40,398 --> 08:41:44,878 has an average response rate of 1 to 5%, 17907 08:41:42,398 --> 08:41:47,360 but personalized emails see up to 17% 17908 08:41:44,878 --> 08:41:49,680 higher rates. LinkedIn inmail DMs have a 17909 08:41:47,360 --> 08:41:51,440 10 to 25% response rate compared to 17910 08:41:49,680 --> 08:41:53,360 email, which is much lower. But the 17911 08:41:51,440 --> 08:41:54,558 LinkedIn DMs require more time per 17912 08:41:53,360 --> 08:41:56,240 message. So, I wanted to just throw 17913 08:41:54,558 --> 08:41:57,840 those stats at you, but pick one or two 17914 08:41:56,240 --> 08:41:59,120 to start. Don't try to do outreach on 17915 08:41:57,840 --> 08:42:00,398 all of those platforms. You're going to 17916 08:41:59,120 --> 08:42:01,920 spread yourself too thin because they 17917 08:42:00,398 --> 08:42:03,040 all have different methods of what works 17918 08:42:01,920 --> 08:42:04,240 best. So, once you've picked your 17919 08:42:03,040 --> 08:42:05,360 platform, here's where to actually find 17920 08:42:04,240 --> 08:42:06,798 people worth reaching out to. 17921 08:42:05,360 --> 08:42:08,398 communities in your niche, followers of 17922 08:42:06,798 --> 08:42:10,080 relevant pages or creators, business 17923 08:42:08,398 --> 08:42:12,000 owners already complaining about wasting 17924 08:42:10,080 --> 08:42:13,440 time or making mistakes, job boards and 17925 08:42:12,000 --> 08:42:14,718 comment sections because if someone's 17926 08:42:13,440 --> 08:42:16,000 hiring for a role you could automate, 17927 08:42:14,718 --> 08:42:17,600 that's a signal. You could also look at 17928 08:42:16,000 --> 08:42:18,798 local businesses in your area. Pro tip 17929 08:42:17,600 --> 08:42:20,878 though, before you jump into something 17930 08:42:18,798 --> 08:42:22,878 like Apollo or LinkedIn Sales Navigator 17931 08:42:20,878 --> 08:42:25,040 to find a lead list, spend 10 minutes 17932 08:42:22,878 --> 08:42:27,120 asking CatchBT or Perplexity where 17933 08:42:25,040 --> 08:42:28,638 industry specific directories exist. So 17934 08:42:27,120 --> 08:42:30,080 like architects have the American 17935 08:42:28,638 --> 08:42:31,600 Institute of Architects, coaches have 17936 08:42:30,080 --> 08:42:32,798 coaching directories. Every industry 17937 08:42:31,600 --> 08:42:34,638 probably has something and these 17938 08:42:32,798 --> 08:42:36,080 databases have already been filtered for 17939 08:42:34,638 --> 08:42:37,920 you. Now when it comes to reaching out, 17940 08:42:36,080 --> 08:42:39,680 keep it simple. Focus on of course the 17941 08:42:37,920 --> 08:42:41,360 problem, the outcome, not the actual 17942 08:42:39,680 --> 08:42:43,360 tech solution. Nobody really cares if 17943 08:42:41,360 --> 08:42:45,360 you built an 18 node automation with an 17944 08:42:43,360 --> 08:42:46,798 end and Slack and notion MCP. They care 17945 08:42:45,360 --> 08:42:48,638 about the results, which is, you know, 17946 08:42:46,798 --> 08:42:50,638 more leads, less manual work, fewer 17947 08:42:48,638 --> 08:42:52,240 errors, faster turnaround. Short value 17948 08:42:50,638 --> 08:42:53,680 focused messages work better than long 17949 08:42:52,240 --> 08:42:54,878 pitches. Your goal is not to close them 17950 08:42:53,680 --> 08:42:56,240 in one message. That's just not 17951 08:42:54,878 --> 08:42:57,840 realistic. Your goal is to get them 17952 08:42:56,240 --> 08:42:59,040 curious, to start a conversation, get 17953 08:42:57,840 --> 08:43:00,478 them wanting more. That's why the 17954 08:42:59,040 --> 08:43:01,680 subject line is so important because if 17955 08:43:00,478 --> 08:43:03,040 they're not curious at all, they're not 17956 08:43:01,680 --> 08:43:04,240 going to click to open the email. Now, 17957 08:43:03,040 --> 08:43:05,680 here's something, and I know it sounds a 17958 08:43:04,240 --> 08:43:07,040 little bit counterintuitive, but just be 17959 08:43:05,680 --> 08:43:08,318 completely honest about where you're at. 17960 08:43:07,040 --> 08:43:09,360 That's my approach at least. So, saying 17961 08:43:08,318 --> 08:43:10,558 something like, "Yeah, I'm just getting 17962 08:43:09,360 --> 08:43:11,920 started. I'm trying to start up a 17963 08:43:10,558 --> 08:43:13,520 business." And that doesn't undercut 17964 08:43:11,920 --> 08:43:15,280 you. It actually creates like a pattern 17965 08:43:13,520 --> 08:43:16,718 interrupt and it builds trust because 17966 08:43:15,280 --> 08:43:18,160 the prospect thinks, "Okay, this is 17967 08:43:16,718 --> 08:43:19,760 actually a real human." Instead of, 17968 08:43:18,160 --> 08:43:21,280 "Wow, great." You know, another faces 17969 08:43:19,760 --> 08:43:22,638 pitch of someone trying to sell me. And 17970 08:43:21,280 --> 08:43:24,318 of course, because you're unknown and 17971 08:43:22,638 --> 08:43:25,920 unproven, you want to remove all the 17972 08:43:24,318 --> 08:43:27,600 risk from your offer. So, no payment 17973 08:43:25,920 --> 08:43:29,120 until results, no contract. The only 17974 08:43:27,600 --> 08:43:30,878 thing that you ask for is permission to 17975 08:43:29,120 --> 08:43:32,718 use them as a case study if the solution 17976 08:43:30,878 --> 08:43:34,240 works. You're not asking them to trust 17977 08:43:32,718 --> 08:43:35,520 you and give you a ton of money. You're 17978 08:43:34,240 --> 08:43:37,040 making it a no-brainer for them to say 17979 08:43:35,520 --> 08:43:38,240 yes. And then one more thing, asking a 17980 08:43:37,040 --> 08:43:40,080 stranger for 30 minutes on their 17981 08:43:38,240 --> 08:43:41,280 calendar is a big ask. People are busy. 17982 08:43:40,080 --> 08:43:42,718 People don't want to hop on calls with 17983 08:43:41,280 --> 08:43:44,160 random people just to be sold. So, 17984 08:43:42,718 --> 08:43:45,280 instead, get them curious. Again, ask 17985 08:43:44,160 --> 08:43:46,878 them if you can send them a 2-minute 17986 08:43:45,280 --> 08:43:48,080 Loom video explaining the offer. and 17987 08:43:46,878 --> 08:43:49,440 then you can record a quick video 17988 08:43:48,080 --> 08:43:50,798 walking through how you'd help their 17989 08:43:49,440 --> 08:43:52,558 specific business and let them do the 17990 08:43:50,798 --> 08:43:53,760 heavy lifting before they ever get on a 17991 08:43:52,558 --> 08:43:55,280 call with you. All right, the numbers 17992 08:43:53,760 --> 08:43:56,558 game. So, in the wise words of Alex 17993 08:43:55,280 --> 08:43:57,760 Ramosi, someone I've actually had the 17994 08:43:56,558 --> 08:43:59,760 pleasure of meeting multiple times, 17995 08:43:57,760 --> 08:44:01,360 volume negates luck. So, if you want to 17996 08:43:59,760 --> 08:44:02,718 guarantee clients, you just need to 17997 08:44:01,360 --> 08:44:04,318 increase the volume. At the very least, 17998 08:44:02,718 --> 08:44:05,600 you should be sending 100 messages a 17999 08:44:04,318 --> 08:44:07,040 day. I know that sounds like a lot, but 18000 08:44:05,600 --> 08:44:08,240 understand this. A small percentage of 18001 08:44:07,040 --> 08:44:10,160 replies is actually a really good 18002 08:44:08,240 --> 08:44:11,680 metric. So, we talked about the 1 to 5% 18003 08:44:10,160 --> 08:44:13,280 average with cold email. If you're doing 18004 08:44:11,680 --> 08:44:14,798 anything above 5%, you're crushing it. 18005 08:44:13,280 --> 08:44:16,798 Which means if you send 100 emails and 18006 08:44:14,798 --> 08:44:19,120 you only get five people to respond, not 18007 08:44:16,798 --> 08:44:20,318 book in a call or pay you, just respond, 18008 08:44:19,120 --> 08:44:21,680 that's actually really good. But you do 18009 08:44:20,318 --> 08:44:23,120 need to track everything. Your reply 18010 08:44:21,680 --> 08:44:24,798 rate, your positive responses, your 18011 08:44:23,120 --> 08:44:26,878 meetings booked, your deals closed. Each 18012 08:44:24,798 --> 08:44:28,000 metric tells you what area you need to 18013 08:44:26,878 --> 08:44:29,600 improve. And you don't just track the 18014 08:44:28,000 --> 08:44:30,958 wins, you also have to track all of the 18015 08:44:29,600 --> 08:44:32,318 negative responses because that tells 18016 08:44:30,958 --> 08:44:33,760 you what not to do. So when you get 18017 08:44:32,318 --> 08:44:35,360 positive replies, you write down the 18018 08:44:33,760 --> 08:44:36,718 company size, the industry, the job 18019 08:44:35,360 --> 08:44:38,080 title, anything else that's relevant. 18020 08:44:36,718 --> 08:44:40,240 And then you can start to build your 18021 08:44:38,080 --> 08:44:41,200 future lead lists around those patterns. 18022 08:44:40,240 --> 08:44:42,878 And this is how you actually 18023 08:44:41,200 --> 08:44:44,080 systematically improve instead of just 18024 08:44:42,878 --> 08:44:45,600 guessing. Now, here are the two things 18025 08:44:44,080 --> 08:44:47,360 that most people do get wrong with cold 18026 08:44:45,600 --> 08:44:48,958 outreach. The first one is maybe just 18027 08:44:47,360 --> 08:44:50,398 don't build before you sell. If you're 18028 08:44:48,958 --> 08:44:51,840 spending weeks perfecting an automation 18029 08:44:50,398 --> 08:44:53,360 before you've talked to a single 18030 08:44:51,840 --> 08:44:54,718 customer, you don't have a business, you 18031 08:44:53,360 --> 08:44:56,478 just have a hobby, you need to use cold 18032 08:44:54,718 --> 08:44:57,680 outreach as market research. Create an 18033 08:44:56,478 --> 08:44:59,200 offer around something that you could 18034 08:44:57,680 --> 08:45:00,558 build that you know it's feasible and 18035 08:44:59,200 --> 08:45:02,558 then send messages about it. See if 18036 08:45:00,558 --> 08:45:04,240 anyone bites. If they do, and you see 18037 08:45:02,558 --> 08:45:05,600 market validation, then go build it. But 18038 08:45:04,240 --> 08:45:06,718 don't build before you sell. Once again, 18039 08:45:05,600 --> 08:45:07,920 if you're spending all your time 18040 08:45:06,718 --> 08:45:09,200 building something that no one's going 18041 08:45:07,920 --> 08:45:10,638 to buy, there's just no point. So the 18042 08:45:09,200 --> 08:45:12,718 second one is to start small and then 18043 08:45:10,638 --> 08:45:13,920 reinvest. You don't need massive email 18044 08:45:12,718 --> 08:45:15,280 infrastructure with thousands of 18045 08:45:13,920 --> 08:45:16,958 domains. You just need a few and each 18046 08:45:15,280 --> 08:45:18,558 domain can send about 30 messages a day 18047 08:45:16,958 --> 08:45:19,920 and that's enough to generate real data. 18048 08:45:18,558 --> 08:45:22,000 Once you close your first deal, you 18049 08:45:19,920 --> 08:45:23,680 reinvest that money into scaling up your 18050 08:45:22,000 --> 08:45:25,280 outreach. And look, the thing is people 18051 08:45:23,680 --> 08:45:26,718 will ignore you. People will tell you to 18052 08:45:25,280 --> 08:45:28,478 screw off and that's normal. Most people 18053 08:45:26,718 --> 08:45:30,478 quit because of that emotional weight 18054 08:45:28,478 --> 08:45:31,840 and how tough it is to do cold outreach. 18055 08:45:30,478 --> 08:45:33,360 So just understand that and don't take 18056 08:45:31,840 --> 08:45:34,478 it personally. Use it as data and then 18057 08:45:33,360 --> 08:45:35,760 if you can push through, you're already 18058 08:45:34,478 --> 08:45:37,120 ahead. If you guys are interested in 18059 08:45:35,760 --> 08:45:38,718 diving deeper specifically on cold 18060 08:45:37,120 --> 08:45:40,318 email, then I just did a podcast with 18061 08:45:38,718 --> 08:45:41,520 Savon, who was able to generate over 18062 08:45:40,318 --> 08:45:43,120 half a million dollars in sales 18063 08:45:41,520 --> 08:45:44,398 opportunities with cold email in 6 18064 08:45:43,120 --> 08:45:45,360 months as a beginner. So, I'll go ahead 18065 08:45:44,398 --> 08:45:46,878 and link that right up here. But 18066 08:45:45,360 --> 08:45:48,240 anyways, that is cold outreach. So, 18067 08:45:46,878 --> 08:45:50,160 let's talk about method number two, 18068 08:45:48,240 --> 08:45:51,680 which is referrals. So, why do referrals 18069 08:45:50,160 --> 08:45:53,520 work so well? Simple, because business 18070 08:45:51,680 --> 08:45:54,558 owners trust recommendations way more 18071 08:45:53,520 --> 08:45:55,680 than strangers. And that's not even 18072 08:45:54,558 --> 08:45:56,958 about business owners. That's just 18073 08:45:55,680 --> 08:45:58,240 people in general. Think about how many 18074 08:45:56,958 --> 08:45:59,840 times your friend has told you about a 18075 08:45:58,240 --> 08:46:01,360 great restaurant or a TV show. You're 18076 08:45:59,840 --> 08:46:03,360 way more likely to go check it out than 18077 08:46:01,360 --> 08:46:04,958 if you saw an ad or a review for it 18078 08:46:03,360 --> 08:46:07,680 because you trust your friend. In fact, 18079 08:46:04,958 --> 08:46:08,958 92% of B2B buyers trust referrals from 18080 08:46:07,680 --> 08:46:11,680 people that they know. And being in the 18081 08:46:08,958 --> 08:46:13,120 AI space, it's really good to lead on 18082 08:46:11,680 --> 08:46:14,478 referrals because it's very new right 18083 08:46:13,120 --> 08:46:15,760 now and a lot of people are thinking, 18084 08:46:14,478 --> 08:46:17,040 you know, I don't even know where I 18085 08:46:15,760 --> 08:46:18,318 could go find a vendor to help me out 18086 08:46:17,040 --> 08:46:19,840 with this problem. Business owners want 18087 08:46:18,318 --> 08:46:21,200 to know that someone that they trust has 18088 08:46:19,840 --> 08:46:22,318 already taken the risk and it worked out 18089 08:46:21,200 --> 08:46:24,080 well for them. When I first started 18090 08:46:22,318 --> 08:46:25,360 freelancing, I'd make it a priority to 18091 08:46:24,080 --> 08:46:26,398 overd deliver for the client. So maybe 18092 08:46:25,360 --> 08:46:27,920 that looks like adding a simple 18093 08:46:26,398 --> 08:46:29,520 dashboard that they didn't ask for or 18094 08:46:27,920 --> 08:46:30,638 creating full documentation so that they 18095 08:46:29,520 --> 08:46:32,000 could understand how everything works 18096 08:46:30,638 --> 08:46:33,680 and they can maintain it if they choose 18097 08:46:32,000 --> 08:46:35,040 to. Then, and only then, I knew they 18098 08:46:33,680 --> 08:46:36,398 were happy. Usually after we'd been 18099 08:46:35,040 --> 08:46:38,240 working together for a while, I'd whip 18100 08:46:36,398 --> 08:46:40,080 out the golden question. Hey, do you 18101 08:46:38,240 --> 08:46:41,440 have any friends or know any other 18102 08:46:40,080 --> 08:46:43,040 business owners who might need AI 18103 08:46:41,440 --> 08:46:44,398 automation or might just be interested 18104 08:46:43,040 --> 08:46:45,760 in talking to me about this kind of 18105 08:46:44,398 --> 08:46:47,360 stuff? You don't need a fancy script or 18106 08:46:45,760 --> 08:46:49,040 a formal incentive program. Just a 18107 08:46:47,360 --> 08:46:50,638 simple question after you've earned the 18108 08:46:49,040 --> 08:46:51,840 right to ask. Happy clients want to 18109 08:46:50,638 --> 08:46:53,920 share. Think about how many times that 18110 08:46:51,840 --> 08:46:55,680 you've wanted to put on a friend to a 18111 08:46:53,920 --> 08:46:57,360 new restaurant, a new song, or a new 18112 08:46:55,680 --> 08:46:58,718 product. People typically enjoy telling 18113 08:46:57,360 --> 08:47:00,240 other people about things that worked 18114 08:46:58,718 --> 08:47:01,680 for them. So, if you've done great work, 18115 08:47:00,240 --> 08:47:03,280 they'll probably want to brag about it. 18116 08:47:01,680 --> 08:47:04,638 But the timing really matters because 18117 08:47:03,280 --> 08:47:06,080 obviously you can't ask for referrals 18118 08:47:04,638 --> 08:47:07,920 until you know that they're happy and 18119 08:47:06,080 --> 08:47:09,440 that they have to truly believe you did 18120 08:47:07,920 --> 08:47:10,638 provide them value. So typically I'd 18121 08:47:09,440 --> 08:47:12,398 wait about a month or two after 18122 08:47:10,638 --> 08:47:13,920 something's been like pushed live. And 18123 08:47:12,398 --> 08:47:15,280 ideally you'd want to tie that into a 18124 08:47:13,920 --> 08:47:16,718 moment where you can show them results. 18125 08:47:15,280 --> 08:47:18,080 So maybe you're doing a month one 18126 08:47:16,718 --> 08:47:19,360 performance review. So you would 18127 08:47:18,080 --> 08:47:20,878 obviously say you know like hey when we 18128 08:47:19,360 --> 08:47:22,638 started here are all the KPIs and the 18129 08:47:20,878 --> 08:47:23,680 metrics that we had documented and 18130 08:47:22,638 --> 08:47:25,360 here's what we were going to track and 18131 08:47:23,680 --> 08:47:26,638 now after 1 month of the solution being 18132 08:47:25,360 --> 08:47:28,160 in production we've hit all of these 18133 08:47:26,638 --> 08:47:29,680 KPIs and your business has grown you 18134 08:47:28,160 --> 08:47:31,280 know x amount. The project has been a 18135 08:47:29,680 --> 08:47:33,040 success. And then once they actually see 18136 08:47:31,280 --> 08:47:34,398 that data, you can ask about, you know, 18137 08:47:33,040 --> 08:47:35,680 the golden question. The conversation 18138 08:47:34,398 --> 08:47:37,040 then feels a lot more natural because 18139 08:47:35,680 --> 08:47:38,638 you've just reminded them of the value 18140 08:47:37,040 --> 08:47:39,600 you delivered. It's not awkward. It's 18141 08:47:38,638 --> 08:47:40,958 not like you're trying to sell them 18142 08:47:39,600 --> 08:47:43,040 again. It's earned. Now, you could 18143 08:47:40,958 --> 08:47:44,478 absolutely set up like a formal referral 18144 08:47:43,040 --> 08:47:45,680 structure if you want, but honestly, a 18145 08:47:44,478 --> 08:47:47,280 lot of times you don't need anything 18146 08:47:45,680 --> 08:47:48,638 formal. Just do great work and then ask. 18147 08:47:47,280 --> 08:47:50,398 Now, here are the common mistakes I see 18148 08:47:48,638 --> 08:47:51,680 when people are trying to get into like 18149 08:47:50,398 --> 08:47:53,120 the referral game. The first one is 18150 08:47:51,680 --> 08:47:54,478 asking too early before you've actually 18151 08:47:53,120 --> 08:47:56,160 proven yourself. And then the second one 18152 08:47:54,478 --> 08:47:57,680 is not asking at all and just leaving 18153 08:47:56,160 --> 08:47:59,280 that money on the table because you were 18154 08:47:57,680 --> 08:48:01,120 too scared to ask. According to Dale 18155 08:47:59,280 --> 08:48:02,638 Carnegie research, only 11% of 18156 08:48:01,120 --> 08:48:04,878 salespeople are actually asking for 18157 08:48:02,638 --> 08:48:06,478 referrals. Yet, 91% of customers said 18158 08:48:04,878 --> 08:48:08,160 that they'd gladly give one if they were 18159 08:48:06,478 --> 08:48:09,520 asked. So, make sure you are asking for 18160 08:48:08,160 --> 08:48:10,958 referrals. They will lead to bigger 18161 08:48:09,520 --> 08:48:12,000 projects. They'll lead to longerterm 18162 08:48:10,958 --> 08:48:13,760 clients, and they'll be way less 18163 08:48:12,000 --> 08:48:14,718 friction than doing cold outreach. And 18164 08:48:13,760 --> 08:48:16,160 once you've got clients that you're 18165 08:48:14,718 --> 08:48:17,600 working with for longer term, it opens 18166 08:48:16,160 --> 08:48:18,958 up method number three. And honestly, 18167 08:48:17,600 --> 08:48:20,558 this is the one that I'd be going allin 18168 08:48:18,958 --> 08:48:22,478 on if I was starting from zero. I call 18169 08:48:20,558 --> 08:48:24,000 it the Trojan horse method. The big idea 18170 08:48:22,478 --> 08:48:25,680 here is that instead of trying to build 18171 08:48:24,000 --> 08:48:27,040 trust from scratch with cold prospects 18172 08:48:25,680 --> 08:48:28,558 and build up all of your own authority, 18173 08:48:27,040 --> 08:48:30,000 you borrow someone else's. You borrow 18174 08:48:28,558 --> 08:48:31,760 their trust, you borrow their authority, 18175 08:48:30,000 --> 08:48:33,440 and you borrow their existing client 18176 08:48:31,760 --> 08:48:35,840 relationships. Partner source deals 18177 08:48:33,440 --> 08:48:37,120 close 46% faster than other deal types. 18178 08:48:35,840 --> 08:48:38,798 So, think about it like this. Marketing 18179 08:48:37,120 --> 08:48:40,638 agencies, consultants, coaches, law 18180 08:48:38,798 --> 08:48:42,000 firms, they already have clients who 18181 08:48:40,638 --> 08:48:43,120 trust them and have maybe been working 18182 08:48:42,000 --> 08:48:44,478 with them for years. They've already 18183 08:48:43,120 --> 08:48:45,840 built those relationships. And right 18184 08:48:44,478 --> 08:48:47,520 now, a lot of those clients are 18185 08:48:45,840 --> 08:48:49,200 thinking, I need AI. And the agency 18186 08:48:47,520 --> 08:48:51,040 itself is probably thinking, I need to 18187 08:48:49,200 --> 08:48:52,080 be able to offer AI to my clients. So 18188 08:48:51,040 --> 08:48:53,600 instead of competing for their 18189 08:48:52,080 --> 08:48:54,638 attention, you partner with people who 18190 08:48:53,600 --> 08:48:56,000 already have it. So here's what you 18191 08:48:54,638 --> 08:48:57,760 could say. Hey, I help businesses 18192 08:48:56,000 --> 08:48:59,760 implement AI automation. I'd love to 18193 08:48:57,760 --> 08:49:01,440 offer free AI discovery calls to your 18194 08:48:59,760 --> 08:49:02,558 clients. No cost to you, no cost to 18195 08:49:01,440 --> 08:49:04,160 them. You get to look like a hero 18196 08:49:02,558 --> 08:49:05,680 because you brought in an AI expert and 18197 08:49:04,160 --> 08:49:06,878 you gave them free value. And if any of 18198 08:49:05,680 --> 08:49:08,718 them end up wanting to work with me, 18199 08:49:06,878 --> 08:49:10,478 I'll give you 20% of that project 18200 08:49:08,718 --> 08:49:11,920 revenue. There's essentially no risk for 18201 08:49:10,478 --> 08:49:13,680 them. They're not paying you. You're not 18202 08:49:11,920 --> 08:49:15,120 asking for anything from them upfront as 18203 08:49:13,680 --> 08:49:17,200 far as money. You're just saying, "Let 18204 08:49:15,120 --> 08:49:18,398 me make you look good to your clients." 18205 08:49:17,200 --> 08:49:19,760 So, this works well because when the 18206 08:49:18,398 --> 08:49:20,558 agency owner says to their client, "Hey, 18207 08:49:19,760 --> 08:49:21,920 you know, I'm going to bring in this 18208 08:49:20,558 --> 08:49:23,040 expert to give you a free audit." You 18209 08:49:21,920 --> 08:49:24,318 instantly have more authority. You're 18210 08:49:23,040 --> 08:49:25,520 being called in like a consultant. 18211 08:49:24,318 --> 08:49:26,638 You're the specialist that they are 18212 08:49:25,520 --> 08:49:27,920 introducing. Compare that to cold 18213 08:49:26,638 --> 08:49:29,760 outreach when you're a complete stranger 18214 08:49:27,920 --> 08:49:31,440 in an inbox trying to prove yourself. 18215 08:49:29,760 --> 08:49:33,280 So, with the Trojan horse method, you 18216 08:49:31,440 --> 08:49:35,120 borrow credibility from day one and 18217 08:49:33,280 --> 08:49:36,638 you're getting access into probably a 18218 08:49:35,120 --> 08:49:38,398 bunch of clients who already trust and 18219 08:49:36,638 --> 08:49:39,920 already pay and are already warm to 18220 08:49:38,398 --> 08:49:41,200 spending money on services. So, they're 18221 08:49:39,920 --> 08:49:42,958 not tire kickers. They're real 18222 08:49:41,200 --> 08:49:44,478 businesses with hopefully real budgets. 18223 08:49:42,958 --> 08:49:46,000 Now, when you are able to secure a few 18224 08:49:44,478 --> 08:49:47,040 yeses, just keep it simple. hop on the 18225 08:49:46,000 --> 08:49:48,398 discovery call, learn about their 18226 08:49:47,040 --> 08:49:49,840 business, understand their processes, 18227 08:49:48,398 --> 08:49:51,120 and tell them where AI could help them. 18228 08:49:49,840 --> 08:49:52,398 Now, if they hop in the call and say, 18229 08:49:51,120 --> 08:49:53,600 you know, like, "No, I need to use AI, 18230 08:49:52,398 --> 08:49:54,878 and I'm glad that we're having the 18231 08:49:53,600 --> 08:49:56,240 session, but I have no clue where to 18232 08:49:54,878 --> 08:49:57,280 even start. Tell me what I don't know." 18233 08:49:56,240 --> 08:49:58,638 What you want to do is help them 18234 08:49:57,280 --> 08:49:59,920 identify their current constraints. So, 18235 08:49:58,638 --> 08:50:01,840 a really good question you could ask is, 18236 08:49:59,920 --> 08:50:03,760 if tomorrow you've got 300 people that 18237 08:50:01,840 --> 08:50:05,200 wanted your services, what process would 18238 08:50:03,760 --> 08:50:06,478 break first in [music] that, you know, 18239 08:50:05,200 --> 08:50:07,520 customer life cycle? And then they'll 18240 08:50:06,478 --> 08:50:08,718 think about it. They'll run it through 18241 08:50:07,520 --> 08:50:10,080 in their head, and then they'll say 18242 08:50:08,718 --> 08:50:11,360 something, and you just dive in on that 18243 08:50:10,080 --> 08:50:12,958 process. And here's the best part about 18244 08:50:11,360 --> 08:50:14,318 the Trojan horse method. Even if they 18245 08:50:12,958 --> 08:50:16,160 don't end up becoming a client, I think 18246 08:50:14,318 --> 08:50:17,440 it's still a win-win. You got experience 18247 08:50:16,160 --> 08:50:19,040 doing a discovery call. The business 18248 08:50:17,440 --> 08:50:20,478 owner got free insights about AI, and 18249 08:50:19,040 --> 08:50:22,240 the agency looked like a hero for 18250 08:50:20,478 --> 08:50:23,920 bringing you in. Win-winwin. And some 18251 08:50:22,240 --> 08:50:25,600 percentages of those calls will turn 18252 08:50:23,920 --> 08:50:27,200 into paid projects. Remember, it's a 18253 08:50:25,600 --> 08:50:28,878 numbers game. You need to do 10 times 18254 08:50:27,200 --> 08:50:30,318 more than you think. Finding partners is 18255 08:50:28,878 --> 08:50:32,000 the same process as cold outreach. 18256 08:50:30,318 --> 08:50:33,600 Building a lead list of agencies, 18257 08:50:32,000 --> 08:50:34,798 consultants, and service providers, and 18258 08:50:33,600 --> 08:50:36,080 niches that you want to work with reach 18259 08:50:34,798 --> 08:50:37,440 out with an offer that's hard to say no 18260 08:50:36,080 --> 08:50:39,120 to. And luckily, that's kind of what 18261 08:50:37,440 --> 08:50:41,200 this method is. It's an offer with like 18262 08:50:39,120 --> 08:50:42,718 zero downside for them unless you mess 18263 08:50:41,200 --> 08:50:43,920 up the discovery call big time. And 18264 08:50:42,718 --> 08:50:45,440 that's basically the risk that they 18265 08:50:43,920 --> 08:50:46,878 have. But of course, the upside is 18266 08:50:45,440 --> 08:50:48,878 they're providing tons of extra value to 18267 08:50:46,878 --> 08:50:50,798 their clients and they might get 20% of 18268 08:50:48,878 --> 08:50:52,478 a big project. So if you construct that 18269 08:50:50,798 --> 08:50:54,398 offer and you hit their inbox or their 18270 08:50:52,478 --> 08:50:56,160 LinkedIn DMs, most agency owners will 18271 08:50:54,398 --> 08:50:57,840 actually at least hear you out. So 18272 08:50:56,160 --> 08:50:59,360 that's the Trojan horse method. Borrow 18273 08:50:57,840 --> 08:51:00,558 trust, make partners look like heroes, 18274 08:50:59,360 --> 08:51:02,240 get in front of warm clients without 18275 08:51:00,558 --> 08:51:03,520 building your own audience. So now that 18276 08:51:02,240 --> 08:51:05,440 we've talked about those three methods, 18277 08:51:03,520 --> 08:51:06,718 let me give you a road map. But first, I 18278 08:51:05,440 --> 08:51:07,840 need to do one thing. I need to flip how 18279 08:51:06,718 --> 08:51:09,200 you're thinking about this. A lot of 18280 08:51:07,840 --> 08:51:10,718 people think about this backwards. They 18281 08:51:09,200 --> 08:51:12,318 spend weeks, maybe even months, building 18282 08:51:10,718 --> 08:51:13,600 out elaborate systems, perfecting every 18283 08:51:12,318 --> 08:51:14,798 deal, and then they try to sell it. By 18284 08:51:13,600 --> 08:51:16,240 that point, they've invested all this 18285 08:51:14,798 --> 08:51:17,840 time into something that they have no 18286 08:51:16,240 --> 08:51:19,200 idea anyone actually wants. There's no 18287 08:51:17,840 --> 08:51:20,638 market validation. So, the smarter thing 18288 08:51:19,200 --> 08:51:21,920 is to actually flip that order and 18289 08:51:20,638 --> 08:51:23,520 create an offer around something that 18290 08:51:21,920 --> 08:51:24,638 you know you could build. Maybe you see 18291 08:51:23,520 --> 08:51:26,318 other people building it, so you know 18292 08:51:24,638 --> 08:51:28,160 it's possible. And then start sending 18293 08:51:26,318 --> 08:51:29,680 outreach as if you have the thing built. 18294 08:51:28,160 --> 08:51:31,360 See if there's anyone interested. See if 18295 08:51:29,680 --> 08:51:32,798 people respond. If they do, then build 18296 08:51:31,360 --> 08:51:34,240 it out. But if nobody bites, then you 18297 08:51:32,798 --> 08:51:35,920 should pivot to something else and test 18298 08:51:34,240 --> 08:51:37,360 that offer again before you build it all 18299 08:51:35,920 --> 08:51:38,558 out. In that case, the only thing you've 18300 08:51:37,360 --> 08:51:40,000 lost is a little bit of time that it 18301 08:51:38,558 --> 08:51:41,520 took to write some of those messages. 18302 08:51:40,000 --> 08:51:42,878 But the lesson is stark. You can have 18303 08:51:41,520 --> 08:51:44,160 the most technically impressive system 18304 08:51:42,878 --> 08:51:45,680 in the world. But if you built it in 18305 08:51:44,160 --> 08:51:46,958 isolation without talking to customers 18306 08:51:45,680 --> 08:51:48,558 first, you just have an expensive 18307 08:51:46,958 --> 08:51:50,558 portfolio piece that nobody actually 18308 08:51:48,558 --> 08:51:52,318 wants. Cold outreach gives you direct 18309 08:51:50,558 --> 08:51:53,680 primary research from the market before 18310 08:51:52,318 --> 08:51:54,958 you commit to building anything. People 18311 08:51:53,680 --> 08:51:56,398 either respond or they don't, and that 18312 08:51:54,958 --> 08:51:57,360 signal is worth more than any amount of 18313 08:51:56,398 --> 08:51:58,558 guessing. So, now that we've covered 18314 08:51:57,360 --> 08:52:00,638 that, let's talk about the four-step 18315 08:51:58,558 --> 08:52:02,080 framework. Step one is offer first. So, 18316 08:52:00,638 --> 08:52:03,680 pick a niche, pick a problem, do some 18317 08:52:02,080 --> 08:52:04,718 research, create an offer around an 18318 08:52:03,680 --> 08:52:06,000 outcome that you're confident you could 18319 08:52:04,718 --> 08:52:08,160 deliver. Now, I do think that building 18320 08:52:06,000 --> 08:52:09,760 simple PC's and demos is fine and 18321 08:52:08,160 --> 08:52:11,520 probably a good idea just in case on 18322 08:52:09,760 --> 08:52:13,600 that Loom video you can show them how it 18323 08:52:11,520 --> 08:52:14,958 works or on a call, but don't pour weeks 18324 08:52:13,600 --> 08:52:16,240 and weeks into building something once 18325 08:52:14,958 --> 08:52:18,080 again if you don't know the market wants 18326 08:52:16,240 --> 08:52:20,080 it. Step two is validate with volume. 18327 08:52:18,080 --> 08:52:21,200 So, test it with outreach. Aim to get 18328 08:52:20,080 --> 08:52:22,718 five clients so that you can start 18329 08:52:21,200 --> 08:52:24,318 getting referrals and case studies. If 18330 08:52:22,718 --> 08:52:26,160 you're doing manual DMs on LinkedIn or 18331 08:52:24,318 --> 08:52:27,520 Instagram, maybe aim for at least 100 a 18332 08:52:26,160 --> 08:52:29,200 day. I know it's aggressive, but that's 18333 08:52:27,520 --> 08:52:30,318 what it takes to get real data fast. And 18334 08:52:29,200 --> 08:52:31,680 if you want to take the cold email 18335 08:52:30,318 --> 08:52:33,120 route, then definitely just invest in 18336 08:52:31,680 --> 08:52:34,398 some domains. Maybe you could buy 18337 08:52:33,120 --> 08:52:36,000 domains that are already warmed up and 18338 08:52:34,398 --> 08:52:38,080 get some inboxes that you can scale up 18339 08:52:36,000 --> 08:52:39,600 to like 500 emails a day. Cuz keep in 18340 08:52:38,080 --> 08:52:40,798 mind, even if you're getting a 3% reply 18341 08:52:39,600 --> 08:52:42,240 rate, that's still pretty good. But 18342 08:52:40,798 --> 08:52:43,920 here's what separates winners from 18343 08:52:42,240 --> 08:52:45,520 losers. Because both winners and losers 18344 08:52:43,920 --> 08:52:46,878 will fail. Everyone hits roadblocks. The 18345 08:52:45,520 --> 08:52:48,160 difference is that winners understand 18346 08:52:46,878 --> 08:52:50,558 why they failed and they changed 18347 08:52:48,160 --> 08:52:52,398 something. Losers keep throwing time and 18348 08:52:50,558 --> 08:52:53,760 resources into a broken system. So 18349 08:52:52,398 --> 08:52:55,280 monitor your data every single day. 18350 08:52:53,760 --> 08:52:57,040 Track your open rate, track your reply 18351 08:52:55,280 --> 08:52:58,318 rate, track your positive response rate. 18352 08:52:57,040 --> 08:53:00,000 If something's not working, then figure 18353 08:52:58,318 --> 08:53:01,760 out why and actually adjust it. Step 18354 08:53:00,000 --> 08:53:03,280 three is to deliver and then document. 18355 08:53:01,760 --> 08:53:04,798 So once you do land a client, your job 18356 08:53:03,280 --> 08:53:06,080 is to overd deliver and then track 18357 08:53:04,798 --> 08:53:07,520 everything. So before you start, you 18358 08:53:06,080 --> 08:53:08,798 have to get those baseline metrics. How 18359 08:53:07,520 --> 08:53:09,920 long does the process take manually? 18360 08:53:08,798 --> 08:53:11,440 What's the error rate? What are the 18361 08:53:09,920 --> 08:53:13,040 current KPIs? And then after your system 18362 08:53:11,440 --> 08:53:14,398 is live, you measure those same numbers 18363 08:53:13,040 --> 08:53:15,760 again. You show them the before, you 18364 08:53:14,398 --> 08:53:17,280 show them the after. And that does two 18365 08:53:15,760 --> 08:53:18,240 things. It first of all proves ROI so 18366 08:53:17,280 --> 08:53:19,360 they know it was actually a good 18367 08:53:18,240 --> 08:53:20,958 investment. And the second thing is that 18368 08:53:19,360 --> 08:53:22,398 it gives you a rockolid case study to 18369 08:53:20,958 --> 08:53:23,600 use for future clients. And then of 18370 08:53:22,398 --> 08:53:25,040 course, once you've shown them all that 18371 08:53:23,600 --> 08:53:26,638 data, ask for the referral. And then 18372 08:53:25,040 --> 08:53:27,760 step four is to scale with borrowed 18373 08:53:26,638 --> 08:53:29,120 authority. Now that you've got some 18374 08:53:27,760 --> 08:53:30,638 results under your belt, start using the 18375 08:53:29,120 --> 08:53:32,240 Trojan horse method. Reach out to 18376 08:53:30,638 --> 08:53:33,920 agencies, consultants, and service 18377 08:53:32,240 --> 08:53:35,120 providers. Offer to do free audits for 18378 08:53:33,920 --> 08:53:36,878 their clients. Make them look like the 18379 08:53:35,120 --> 08:53:38,080 hero. Take 20% rev share on any deals 18380 08:53:36,878 --> 08:53:39,520 that you close. This gets you in front 18381 08:53:38,080 --> 08:53:40,718 of warm leads without building your own 18382 08:53:39,520 --> 08:53:42,080 audience. And because you're introduced 18383 08:53:40,718 --> 08:53:43,600 by someone that they already trust, you 18384 08:53:42,080 --> 08:53:44,878 have instant credibility. So, I know we 18385 08:53:43,600 --> 08:53:46,318 covered a ton of information in this 18386 08:53:44,878 --> 08:53:47,840 video. So, what I did is I threw all of 18387 08:53:46,318 --> 08:53:49,360 this into a resource guide, which you 18388 08:53:47,840 --> 08:53:50,718 can access for completely free in my 18389 08:53:49,360 --> 08:53:51,840 free school community. Link for that is 18390 08:53:50,718 --> 08:53:53,520 down in the description. And if you want 18391 08:53:51,840 --> 08:53:54,958 to dive deeper into all this kind of 18392 08:53:53,520 --> 08:53:56,398 stuff and connect with over 3,000 18393 08:53:54,958 --> 08:53:57,920 members who are building their own AI 18394 08:53:56,398 --> 08:53:59,280 automation businesses, then check out my 18395 08:53:57,920 --> 08:54:02,958 plus community. The link for that is 18396 08:53:59,280 --> 08:54:04,558 also down in the description. 18397 08:54:02,958 --> 08:54:05,760 If you can build AI workflows, but you 18398 08:54:04,558 --> 08:54:06,798 still can't sign a client, then this 18399 08:54:05,760 --> 08:54:08,080 video is for you because I'm going to 18400 08:54:06,798 --> 08:54:09,680 show you how to land your first AI 18401 08:54:08,080 --> 08:54:11,280 workflow client in just 7 days. [music] 18402 08:54:09,680 --> 08:54:13,120 And this isn't theory. Christian used 18403 08:54:11,280 --> 08:54:14,718 this exact process and signed his first 18404 08:54:13,120 --> 08:54:16,080 client in just 5 days. So, in this 18405 08:54:14,718 --> 08:54:17,680 video, he'll break down what he did and 18406 08:54:16,080 --> 08:54:19,200 then I'll show you the exact same method 18407 08:54:17,680 --> 08:54:21,120 step by step so that you can copy it. 18408 08:54:19,200 --> 08:54:22,638 So, let's get into it. All right, guys. 18409 08:54:21,120 --> 08:54:24,398 Today I'm here with Christian. He's a 18410 08:54:22,638 --> 08:54:26,398 member of the community and he's had 18411 08:54:24,398 --> 08:54:27,920 some huge wins inside the community. He 18412 08:54:26,398 --> 08:54:29,280 actually got a client in the first 5 18413 08:54:27,920 --> 08:54:30,638 days of joining and going through the 18414 08:54:29,280 --> 08:54:32,000 program. So I wanted to bring him in 18415 08:54:30,638 --> 08:54:33,520 today and just kind of highlight his 18416 08:54:32,000 --> 08:54:34,798 story a little bit and talk about, you 18417 08:54:33,520 --> 08:54:36,878 know, some of his big breakthroughs and 18418 08:54:34,798 --> 08:54:37,840 how he was able to achieve these wins. 18419 08:54:36,878 --> 08:54:39,120 So Christian, if you want to give 18420 08:54:37,840 --> 08:54:40,318 everyone a real quick intro, a little 18421 08:54:39,120 --> 08:54:41,920 bit of your background and, you know, 18422 08:54:40,318 --> 08:54:43,360 how technical were you before hopping 18423 08:54:41,920 --> 08:54:45,840 into this AI space? 18424 08:54:43,360 --> 08:54:48,478 >> Yeah, so uh my name is uh Christian. I'm 18425 08:54:45,840 --> 08:54:50,398 uh 21 years old out here in Arizona. And 18426 08:54:48,478 --> 08:54:52,878 for me as a background, I've always been 18427 08:54:50,398 --> 08:54:55,040 kind of techsavvy, always liked doing 18428 08:54:52,878 --> 08:54:56,958 like using the tools. But as far as AI 18429 08:54:55,040 --> 08:54:58,558 itself, I was barely introduced this 18430 08:54:56,958 --> 08:55:00,478 year. Like it was back in March when I 18431 08:54:58,558 --> 08:55:02,000 was introduced. So still fairly new. 18432 08:55:00,478 --> 08:55:03,840 Once I got introduced, I just got 18433 08:55:02,000 --> 08:55:05,840 obsessed and just started rolling with 18434 08:55:03,840 --> 08:55:07,760 it. But started this about a couple 18435 08:55:05,840 --> 08:55:09,520 months ago. Loving the community, loving 18436 08:55:07,760 --> 08:55:10,958 all the support and all the guidance 18437 08:55:09,520 --> 08:55:12,080 with it. And it's just it's just been 18438 08:55:10,958 --> 08:55:13,040 great ever since I joined. 18439 08:55:12,080 --> 08:55:14,240 >> Awesome, man. Well, yeah. I'm super 18440 08:55:13,040 --> 08:55:15,600 excited to have you here today and just 18441 08:55:14,240 --> 08:55:16,878 get to talk about, you know, what got 18442 08:55:15,600 --> 08:55:18,558 you into this space and how you were 18443 08:55:16,878 --> 08:55:20,000 able to achieve, you know, these client 18444 08:55:18,558 --> 08:55:21,280 wins. So, I guess that's the first one 18445 08:55:20,000 --> 08:55:23,040 to start off with, like what actually 18446 08:55:21,280 --> 08:55:24,478 was it to you that made you realize 18447 08:55:23,040 --> 08:55:25,760 like, I want to take advantage of this 18448 08:55:24,478 --> 08:55:27,520 AI opportunity? 18449 08:55:25,760 --> 08:55:28,798 >> Once I started getting introduced to it, 18450 08:55:27,520 --> 08:55:30,878 getting more acquainted with it, I just 18451 08:55:28,798 --> 08:55:31,920 I love the possibilities and all the 18452 08:55:30,878 --> 08:55:34,398 different things that you can do with 18453 08:55:31,920 --> 08:55:35,600 AI. And for me, about it was about 3 18454 08:55:34,398 --> 08:55:36,878 months ago, I had that light bulb 18455 08:55:35,600 --> 08:55:39,360 moment. It was like what if I can 18456 08:55:36,878 --> 08:55:41,360 somehow use this in businesses and help 18457 08:55:39,360 --> 08:55:43,760 them do that and I can charge them a 18458 08:55:41,360 --> 08:55:46,718 whatever price but ultimately it'd be 18459 08:55:43,760 --> 08:55:48,240 solving a rich person problem. It was a 18460 08:55:46,718 --> 08:55:49,040 really cool moment really when I found 18461 08:55:48,240 --> 08:55:50,718 it. So 18462 08:55:49,040 --> 08:55:52,398 >> 100%. Yeah. So once you kind of found 18463 08:55:50,718 --> 08:55:54,878 out you wanted to go down the AI 18464 08:55:52,398 --> 08:55:56,558 automation space and I think n was was 18465 08:55:54,878 --> 08:55:58,000 your big tool as well. What were you 18466 08:55:56,558 --> 08:55:59,520 doing and like how were you trying to 18467 08:55:58,000 --> 08:56:01,680 find clients before joining the 18468 08:55:59,520 --> 08:56:04,878 community? Funny enough, um I actually 18469 08:56:01,680 --> 08:56:06,318 didn't start using NAN about up till 18470 08:56:04,878 --> 08:56:08,080 about a couple weeks ago. But before 18471 08:56:06,318 --> 08:56:10,718 that, my other community that taught me 18472 08:56:08,080 --> 08:56:13,120 a way to where we can scrape leads off 18473 08:56:10,718 --> 08:56:15,360 of LinkedIn, find their emails, generate 18474 08:56:13,120 --> 08:56:16,878 email bodies for them using AI and then 18475 08:56:15,360 --> 08:56:19,440 loading it into a website called 18476 08:56:16,878 --> 08:56:21,440 instantly AI where you can just in uh 18477 08:56:19,440 --> 08:56:23,440 emails like cold emails. It was a great 18478 08:56:21,440 --> 08:56:25,120 thought to begin with, right? It was a 18479 08:56:23,440 --> 08:56:28,240 great idea. I was doing a bunch of 18480 08:56:25,120 --> 08:56:30,478 emails, like 450 a day, but uh it was 18481 08:56:28,240 --> 08:56:32,558 like a crazy open rate, but nobody was 18482 08:56:30,478 --> 08:56:34,240 buying. Uh just a lot of shots in the 18483 08:56:32,558 --> 08:56:35,440 dark. Didn't really know how to 18484 08:56:34,240 --> 08:56:37,440 structure the emails. I I didn't know 18485 08:56:35,440 --> 08:56:38,878 how to write copy or anything. So, well, 18486 08:56:37,440 --> 08:56:40,160 I was basically just trying anything and 18487 08:56:38,878 --> 08:56:42,478 everything I could. Joining Facebook 18488 08:56:40,160 --> 08:56:44,638 group, talking to my contacts that I 18489 08:56:42,478 --> 08:56:47,120 have, other business owners, uh see if 18490 08:56:44,638 --> 08:56:49,040 they can I can do it for them or if I 18491 08:56:47,120 --> 08:56:51,120 can just if they have anybody that I can 18492 08:56:49,040 --> 08:56:53,440 do it for. Just really no proper 18493 08:56:51,120 --> 08:56:54,878 guidance or no, uh set direction. just 18494 08:56:53,440 --> 08:56:55,920 kind of shooting off different lanes 18495 08:56:54,878 --> 08:56:56,160 hoping that one of them was going to 18496 08:56:55,920 --> 08:56:57,520 hit. 18497 08:56:56,160 --> 08:56:58,798 >> I think the reason what like cold email 18498 08:56:57,520 --> 08:57:00,798 is really successful and cold outreach 18499 08:56:58,798 --> 08:57:02,718 in general I think once you're ready to 18500 08:57:00,798 --> 08:57:04,000 scale but like to get your first client 18501 08:57:02,718 --> 08:57:05,520 it's really tough to do that because 18502 08:57:04,000 --> 08:57:07,360 people are just like I don't know who 18503 08:57:05,520 --> 08:57:09,120 this guy is and it's like he has nothing 18504 08:57:07,360 --> 08:57:11,520 really to show me yet. Why would I kind 18505 08:57:09,120 --> 08:57:13,040 of give him or her my business? So how 18506 08:57:11,520 --> 08:57:14,638 did then your approach kind of change 18507 08:57:13,040 --> 08:57:16,080 once you were in the community and 18508 08:57:14,638 --> 08:57:17,920 started to you know interact with the 18509 08:57:16,080 --> 08:57:20,558 people in there in the course material? 18510 08:57:17,920 --> 08:57:22,318 >> Biggest one by far was how to position 18511 08:57:20,558 --> 08:57:24,638 myself. Right. We're not selling 18512 08:57:22,318 --> 08:57:26,478 workflows. It's the brand behind it. 18513 08:57:24,638 --> 08:57:27,920 Scale or get your time back, whatever 18514 08:57:26,478 --> 08:57:30,878 the goal is for your business. 18515 08:57:27,920 --> 08:57:33,440 Positioning myself as a proper guide, 18516 08:57:30,878 --> 08:57:35,360 not a template salesman. That was a 18517 08:57:33,440 --> 08:57:37,440 really key thing for my for me in my 18518 08:57:35,360 --> 08:57:38,558 process. And it's it's just it was black 18519 08:57:37,440 --> 08:57:42,080 and white difference and it helped me 18520 08:57:38,558 --> 08:57:43,760 out a ton. Within days of me doing that, 18521 08:57:42,080 --> 08:57:44,160 I posed my first client, which was 18522 08:57:43,760 --> 08:57:45,760 insane. 18523 08:57:44,160 --> 08:57:47,840 >> Yeah. Know, I was just looking at our 18524 08:57:45,760 --> 08:57:49,760 our DM on school right before we hopped 18525 08:57:47,840 --> 08:57:51,760 on and I remember, you know, you joined 18526 08:57:49,760 --> 08:57:53,840 the community. We we had a quick chat, 18527 08:57:51,760 --> 08:57:55,120 got you access to the course, and then 5 18528 08:57:53,840 --> 08:57:56,558 days later, you messaged me. It's like, 18529 08:57:55,120 --> 08:57:58,080 I just closed my client for like what 18530 08:57:56,558 --> 08:57:58,398 was it? Was it 1,500 or something like 18531 08:57:58,080 --> 08:58:00,718 that? 18532 08:57:58,398 --> 08:58:03,200 >> Uh yeah, 1500, 1500. And we actually we 18533 08:58:00,718 --> 08:58:04,798 upped it recently. So, we're doing uh 18534 08:58:03,200 --> 08:58:06,798 2,000 now. And then I think it's going 18535 08:58:04,798 --> 08:58:08,718 to over time build and build and build 18536 08:58:06,798 --> 08:58:10,718 from there as I get better, too. Yeah, 18537 08:58:08,718 --> 08:58:11,600 it was it was 1500 starting out. So, it 18538 08:58:10,718 --> 08:58:13,280 was it was pretty cool. 18539 08:58:11,600 --> 08:58:14,958 >> So, you made a post about that win, 18540 08:58:13,280 --> 08:58:16,080 right? And then I pinned it in the 18541 08:58:14,958 --> 08:58:17,440 community and then did you say someone 18542 08:58:16,080 --> 08:58:19,840 reached out to you from that post and 18543 08:58:17,440 --> 08:58:21,520 you got another client off that? So off 18544 08:58:19,840 --> 08:58:22,718 that first one, I was getting a lot of 18545 08:58:21,520 --> 08:58:24,718 praise or a lot of traction. I was like, 18546 08:58:22,718 --> 08:58:26,798 "Oh, this is cool." And then you know 18547 08:58:24,718 --> 08:58:28,240 the the gem as well. So that was that 18548 08:58:26,798 --> 08:58:30,318 was even better. Literally three days 18549 08:58:28,240 --> 08:58:31,840 later on that was that Friday I posted 18550 08:58:30,318 --> 08:58:33,360 that Sunday. Another member in the 18551 08:58:31,840 --> 08:58:34,878 community reached out. He was a newer 18552 08:58:33,360 --> 08:58:37,680 member and said, "Hey, I'm looking for 18553 08:58:34,878 --> 08:58:39,680 to hire uh he called it an AI automator. 18554 08:58:37,680 --> 08:58:41,680 Um and then it went from getting, you 18555 08:58:39,680 --> 08:58:43,200 know, got the first client, engaged with 18556 08:58:41,680 --> 08:58:45,680 the community, got the second client, 18557 08:58:43,200 --> 08:58:47,600 and now I'm able to actually do this 18558 08:58:45,680 --> 08:58:49,200 full-time and not even have to worry 18559 08:58:47,600 --> 08:58:51,120 about work." So, which is great. 18560 08:58:49,200 --> 08:58:52,878 >> Um, and it sounds like your kind of 18561 08:58:51,120 --> 08:58:54,878 biggest light bulb moment so far from 18562 08:58:52,878 --> 08:58:56,958 the community has been just the idea of 18563 08:58:54,878 --> 08:58:58,398 the way you position yourself and um, 18564 08:58:56,958 --> 08:59:00,160 probably how you conduct yourself on 18565 08:58:58,398 --> 08:59:01,840 those initial discovery and sales calls. 18566 08:59:00,160 --> 08:59:03,360 So, is there anything specifically you 18567 08:59:01,840 --> 08:59:04,958 can think about where you know hopping 18568 08:59:03,360 --> 08:59:06,638 on discovery calls or trying to talk to 18569 08:59:04,958 --> 08:59:08,160 business owners before having that kind 18570 08:59:06,638 --> 08:59:09,840 of like light bulb moment, the way that 18571 08:59:08,160 --> 08:59:11,120 you would like speak about AI or speak 18572 08:59:09,840 --> 08:59:13,200 about automations has shifted? 18573 08:59:11,120 --> 08:59:14,878 >> Yeah, definitely. Uh, before I would I 18574 08:59:13,200 --> 08:59:16,240 didn't really I didn't have a process. I 18575 08:59:14,878 --> 08:59:18,160 would walk in there and say, "Hey, this 18576 08:59:16,240 --> 08:59:20,398 is what I do. I can build template for 18577 08:59:18,160 --> 08:59:22,000 you if you need and it can solve this. 18578 08:59:20,398 --> 08:59:24,160 Do you want it? And that was that was 18579 08:59:22,000 --> 08:59:26,240 kind of it. But going through the uh 18580 08:59:24,160 --> 08:59:27,680 lessons and actually showing all right 18581 08:59:26,240 --> 08:59:30,160 this is how you should ask the 18582 08:59:27,680 --> 08:59:31,760 questions. This is how you find the pain 18583 08:59:30,160 --> 08:59:34,000 and find ways that we can actually 18584 08:59:31,760 --> 08:59:36,318 leverage AI to actually help their 18585 08:59:34,000 --> 08:59:38,318 business and and again I'm an actual 18586 08:59:36,318 --> 08:59:40,398 guide in their process in a in the 18587 08:59:38,318 --> 08:59:42,000 journey of AI cuz it's it can be very 18588 08:59:40,398 --> 08:59:44,240 overwhelming. So once I started 18589 08:59:42,000 --> 08:59:47,040 positioning myself there it was a 18590 08:59:44,240 --> 08:59:48,638 complete 180. Yeah. It was just it was 18591 08:59:47,040 --> 08:59:49,760 yeah complete night and day difference. 18592 08:59:48,638 --> 08:59:51,840 I'm going to do that with all my 18593 08:59:49,760 --> 08:59:53,280 processes moving forward. But that one 18594 08:59:51,840 --> 08:59:55,440 specifically really helped me out a lot. 18595 08:59:53,280 --> 08:59:56,958 >> So besides the the way that you shifted 18596 08:59:55,440 --> 08:59:58,398 your perspective as far as like you know 18597 08:59:56,958 --> 08:59:59,680 let's think about your business and let 18598 08:59:58,398 --> 09:00:01,040 me help you diagnose problems rather 18599 08:59:59,680 --> 09:00:02,318 than just here's a template. What else 18600 09:00:01,040 --> 09:00:03,520 do you think it made them say yes? 18601 09:00:02,318 --> 09:00:05,120 Because at this point there's there's 18602 09:00:03,520 --> 09:00:06,398 this mental battle of like how much 18603 09:00:05,120 --> 09:00:08,318 should I charge or should I do it for 18604 09:00:06,398 --> 09:00:09,600 free or like what what proof do I 18605 09:00:08,318 --> 09:00:11,200 actually have? How do I get someone to 18606 09:00:09,600 --> 09:00:13,040 say yes? So, what else do you think it 18607 09:00:11,200 --> 09:00:14,878 was about you and about the way that you 18608 09:00:13,040 --> 09:00:17,120 spoke to this this person that got them 18609 09:00:14,878 --> 09:00:19,120 to ultimately give you their business? 18610 09:00:17,120 --> 09:00:20,478 >> Well, for the second client, I mean, he 18611 09:00:19,120 --> 09:00:22,000 kind of knew my situation a little bit 18612 09:00:20,478 --> 09:00:23,520 cuz he saw the post, he read it, and 18613 09:00:22,000 --> 09:00:25,120 then that's when he reached out. I was 18614 09:00:23,520 --> 09:00:27,040 just very very honest with them and 18615 09:00:25,120 --> 09:00:28,478 upfront about like, listen, this is um 18616 09:00:27,040 --> 09:00:30,558 obviously you know the value of the 18617 09:00:28,478 --> 09:00:32,160 product. So, uh, I went in there, I was 18618 09:00:30,558 --> 09:00:34,478 very, very open. I was very honest and 18619 09:00:32,160 --> 09:00:37,680 transparent about me, where I'm at on my 18620 09:00:34,478 --> 09:00:39,440 journey and my goals for him and was 18621 09:00:37,680 --> 09:00:40,478 mainly just trying to focus on building 18622 09:00:39,440 --> 09:00:41,920 that relationship. 18623 09:00:40,478 --> 09:00:42,718 >> Yeah. And now, I mean, the rest is 18624 09:00:41,920 --> 09:00:43,840 history. So, 18625 09:00:42,718 --> 09:00:45,200 >> yeah, it's awesome because now that your 18626 09:00:43,840 --> 09:00:47,040 foot's in the door, there's so much 18627 09:00:45,200 --> 09:00:48,958 opportunity for for more growth and and 18628 09:00:47,040 --> 09:00:50,240 for bigger projects. And I've always 18629 09:00:48,958 --> 09:00:52,000 said, you know, you'd rather have one, 18630 09:00:50,240 --> 09:00:53,920 let's just say 10K a month client rather 18631 09:00:52,000 --> 09:00:55,360 than having five 2K a month clients. You 18632 09:00:53,920 --> 09:00:57,280 just have an opportunity to go way 18633 09:00:55,360 --> 09:00:58,958 deeper. And that just leads into better 18634 09:00:57,280 --> 09:01:00,318 referrals, better case studies, more 18635 09:00:58,958 --> 09:01:01,840 opportunities to win more business, 18636 09:01:00,318 --> 09:01:04,240 things like that. Do you want to walk us 18637 09:01:01,840 --> 09:01:05,760 through the actual solution that you've 18638 09:01:04,240 --> 09:01:08,000 provided to this first business or that 18639 09:01:05,760 --> 09:01:10,160 you're working on and and also how you 18640 09:01:08,000 --> 09:01:11,600 got to that price point and what sort of 18641 09:01:10,160 --> 09:01:13,520 like that conversation looks like? 18642 09:01:11,600 --> 09:01:16,478 >> The one that I built, so I was trying to 18643 09:01:13,520 --> 09:01:18,318 build a system for updating clients. A 18644 09:01:16,478 --> 09:01:20,318 huge pain point that we were having 18645 09:01:18,318 --> 09:01:21,840 simply just communication. Like a lot of 18646 09:01:20,318 --> 09:01:23,040 clients would call up like, "Hey, uh, 18647 09:01:21,840 --> 09:01:24,160 what's this? I don't know what they mean 18648 09:01:23,040 --> 09:01:26,318 by this. when is this going to get 18649 09:01:24,160 --> 09:01:27,280 scheduled? Or nobody's talked to me. 18650 09:01:26,318 --> 09:01:29,200 Nobody's reached out. I don't know 18651 09:01:27,280 --> 09:01:31,920 what's going on with my project or 18652 09:01:29,200 --> 09:01:33,280 sometimes they're just simple FAQs. They 18653 09:01:31,920 --> 09:01:34,798 just want to know, hey, what what is 18654 09:01:33,280 --> 09:01:36,558 shot create? And they can simply Google 18655 09:01:34,798 --> 09:01:38,878 it, but they're going to call us first. 18656 09:01:36,558 --> 09:01:41,280 I focus on building a workflow for that. 18657 09:01:38,878 --> 09:01:43,200 And it actually I got inspiration for it 18658 09:01:41,280 --> 09:01:45,600 from one of your YouTube videos. 18659 09:01:43,200 --> 09:01:47,600 Actually, it was your AI assistant. So, 18660 09:01:45,600 --> 09:01:50,318 I took that kind of blueprint and used 18661 09:01:47,600 --> 09:01:52,240 it to build out a I called it like a PM 18662 09:01:50,318 --> 09:01:54,398 assistant. So when the project manager 18663 09:01:52,240 --> 09:01:56,318 is out on site, he can just simply talk 18664 09:01:54,398 --> 09:01:58,080 to the bots, it'll, you know, engage 18665 09:01:56,318 --> 09:01:59,680 with him, do what and execute whatever 18666 09:01:58,080 --> 09:02:01,440 tasks are needed, whether it's sending 18667 09:01:59,680 --> 09:02:03,600 clients an update email, logging an 18668 09:02:01,440 --> 09:02:05,760 update into the CRM, little things like 18669 09:02:03,600 --> 09:02:07,600 that. He loved it. He completely bought 18670 09:02:05,760 --> 09:02:10,000 in. Uh I'm still improving it to this 18671 09:02:07,600 --> 09:02:11,600 day. It's not perfect yet, but it's um 18672 09:02:10,000 --> 09:02:12,958 it's constant refining. We're meeting 18673 09:02:11,600 --> 09:02:14,798 every week to get it better and better 18674 09:02:12,958 --> 09:02:15,120 and better, but that's the one I started 18675 09:02:14,798 --> 09:02:17,440 with. 18676 09:02:15,120 --> 09:02:19,600 >> I want to ask you now compared to let's 18677 09:02:17,440 --> 09:02:20,958 just say 3 weeks ago, how much more 18678 09:02:19,600 --> 09:02:22,958 confident do you feel? and just your 18679 09:02:20,958 --> 09:02:24,638 ability to talk to people, show them the 18680 09:02:22,958 --> 09:02:25,920 value, deliver on solutions, price your 18681 09:02:24,638 --> 09:02:27,440 work, all that kind of stuff. 18682 09:02:25,920 --> 09:02:29,200 >> A lot more confident. Before I had no 18683 09:02:27,440 --> 09:02:31,760 idea how to do any of that. I was just 18684 09:02:29,200 --> 09:02:33,840 kind of got to go kind of go in and just 18685 09:02:31,760 --> 09:02:36,478 give like a set base price point for 18686 09:02:33,840 --> 09:02:37,840 whatever workflow that I build. Um, and 18687 09:02:36,478 --> 09:02:41,520 again, before I was just trying to sell 18688 09:02:37,840 --> 09:02:43,840 templates basically. Now I feel a ton 18689 09:02:41,520 --> 09:02:46,478 more confl confident knowing what my 18690 09:02:43,840 --> 09:02:48,478 offer is. um having a clear offer for 18691 09:02:46,478 --> 09:02:50,398 them that they can understand and being 18692 09:02:48,478 --> 09:02:52,718 able to properly communicate what it is 18693 09:02:50,398 --> 09:02:53,280 that I do and how it can benefit their 18694 09:02:52,718 --> 09:02:54,638 business. 18695 09:02:53,280 --> 09:02:56,558 >> That's awesome to hear, man. I mean, 18696 09:02:54,638 --> 09:02:58,160 it's a cliche, but it's so true. Just 18697 09:02:56,558 --> 09:02:59,840 the idea of like surrounding yourself 18698 09:02:58,160 --> 09:03:01,360 with like-minded people, like what that 18699 09:02:59,840 --> 09:03:02,638 really does to you, because I know like 18700 09:03:01,360 --> 09:03:04,160 right before we started recording, we 18701 09:03:02,638 --> 09:03:06,318 were just talking about how there's just 18702 09:03:04,160 --> 09:03:08,398 so much noise and there's so much great 18703 09:03:06,318 --> 09:03:09,760 education everywhere. But when you get 18704 09:03:08,398 --> 09:03:11,120 stuck in that world where you're just 18705 09:03:09,760 --> 09:03:12,478 watching, watching, watching, and you're 18706 09:03:11,120 --> 09:03:14,080 getting like a scattered bit of 18707 09:03:12,478 --> 09:03:16,798 information, and you don't have like a 18708 09:03:14,080 --> 09:03:18,240 structured path, it just makes it very 18709 09:03:16,798 --> 09:03:18,958 overwhelming, of course, but also 18710 09:03:18,240 --> 09:03:20,638 confusing. 18711 09:03:18,958 --> 09:03:22,160 >> Yeah, man. I wanted to kind of close off 18712 09:03:20,638 --> 09:03:23,920 here if you've got any any final 18713 09:03:22,160 --> 09:03:25,120 thoughts or where could people find you 18714 09:03:23,920 --> 09:03:27,120 if they want to get in touch with you? 18715 09:03:25,120 --> 09:03:29,120 >> Um, yeah. Yeah. I mean, it would just be 18716 09:03:27,120 --> 09:03:31,040 uh my LinkedIn mainly cuz I don't really 18717 09:03:29,120 --> 09:03:32,398 have a website right now or through the 18718 09:03:31,040 --> 09:03:33,760 community. I think that's the the best 18719 09:03:32,398 --> 09:03:35,440 way possible. I'm in both of the 18720 09:03:33,760 --> 09:03:37,200 communities, regular one and then the 18721 09:03:35,440 --> 09:03:38,958 plus community as well. I'm mainly in 18722 09:03:37,200 --> 09:03:40,398 there more than anything [laughter] I 18723 09:03:38,958 --> 09:03:42,000 would say. Just doing the same thing, 18724 09:03:40,398 --> 09:03:43,520 just connecting with people, trying to 18725 09:03:42,000 --> 09:03:44,558 provide value, and then seeing what else 18726 09:03:43,520 --> 09:03:45,600 that I can learn. So, 18727 09:03:44,558 --> 09:03:47,760 >> it's really inspiring to hear your 18728 09:03:45,600 --> 09:03:49,280 story, man. 21 years old, started less 18729 09:03:47,760 --> 09:03:50,638 than a year ago in this space. And and 18730 09:03:49,280 --> 09:03:52,240 you guys also just heard him say 18731 09:03:50,638 --> 09:03:54,398 basically doesn't have a website yet. 18732 09:03:52,240 --> 09:03:55,680 He's new. He he told clients, "Hey, I'm 18733 09:03:54,398 --> 09:03:57,600 new. I'm learning, but I want to help 18734 09:03:55,680 --> 09:03:59,200 you." And he's been able to secure some 18735 09:03:57,600 --> 09:04:00,878 pretty crazy wins. So, hopefully that's 18736 09:03:59,200 --> 09:04:02,398 all very motivating to all of you guys 18737 09:04:00,878 --> 09:04:04,478 that are watching this that are trying 18738 09:04:02,398 --> 09:04:06,080 to get to a spot where where Christian 18739 09:04:04,478 --> 09:04:07,360 now is. So, thanks so much for coming on 18740 09:04:06,080 --> 09:04:08,638 today, Christian. I really enjoyed 18741 09:04:07,360 --> 09:04:10,000 getting to know you and and getting to 18742 09:04:08,638 --> 09:04:11,200 hear a little bit about your journey. 18743 09:04:10,000 --> 09:04:11,680 Yeah, just keep crushing it. Best of 18744 09:04:11,200 --> 09:04:12,878 luck, man. 18745 09:04:11,680 --> 09:04:13,840 >> Thank you, man. I appreciate it. I'm 18746 09:04:12,878 --> 09:04:15,280 going to try my best. 18747 09:04:13,840 --> 09:04:16,798 >> So, now let's look at the exact method 18748 09:04:15,280 --> 09:04:18,638 that I gave Christian that landed him 18749 09:04:16,798 --> 09:04:19,680 his first client in just 5 days. By the 18750 09:04:18,638 --> 09:04:21,760 end, you'll have everything that you 18751 09:04:19,680 --> 09:04:23,200 need to go sign your first AI client. 18752 09:04:21,760 --> 09:04:24,878 All right. So, before I walk through 18753 09:04:23,200 --> 09:04:26,558 that actual 7-day plan, I just want to 18754 09:04:24,878 --> 09:04:28,160 slow this down and ground it in what 18755 09:04:26,558 --> 09:04:29,680 actually happened with Christian because 18756 09:04:28,160 --> 09:04:31,200 this is where most beginners go wrong. 18757 09:04:29,680 --> 09:04:32,718 If you think back to what Christian was 18758 09:04:31,200 --> 09:04:34,318 doing before he joined the community, 18759 09:04:32,718 --> 09:04:35,680 it's exactly what I see almost everyone 18760 09:04:34,318 --> 09:04:37,600 doing when they get started, which is 18761 09:04:35,680 --> 09:04:39,680 high volume, tons of cold outreach with 18762 09:04:37,600 --> 09:04:41,360 no soul and no positioning, using tools 18763 09:04:39,680 --> 09:04:43,200 or automations to scrape LinkedIn, 18764 09:04:41,360 --> 09:04:44,798 pulling emails, using AI to write 18765 09:04:43,200 --> 09:04:46,398 generic copy, loading it all into 18766 09:04:44,798 --> 09:04:48,398 instantly, and then blasting out like 4 18767 09:04:46,398 --> 09:04:49,600 or 500 emails a day. Now, on paper, this 18768 09:04:48,398 --> 09:04:51,200 feels really productive because you're 18769 09:04:49,600 --> 09:04:52,558 sending out so many messages. But in 18770 09:04:51,200 --> 09:04:54,318 reality, you're just another random 18771 09:04:52,558 --> 09:04:56,080 person who's selling AI templates with 18772 09:04:54,318 --> 09:04:57,840 no proof, no trust, and no real 18773 09:04:56,080 --> 09:04:59,280 connection. And at that point, you're a 18774 09:04:57,840 --> 09:05:00,958 commodity. And when you're a commodity, 18775 09:04:59,280 --> 09:05:02,638 it turns into a race to the bottom on 18776 09:05:00,958 --> 09:05:03,520 price, and you'll almost always lose. 18777 09:05:02,638 --> 09:05:04,878 Because there's always going to be 18778 09:05:03,520 --> 09:05:06,558 someone out there who will offer your 18779 09:05:04,878 --> 09:05:08,000 service for a cheaper price. So, what 18780 09:05:06,558 --> 09:05:09,840 changed everything for Christian was not 18781 09:05:08,000 --> 09:05:11,280 better tools or more automation. It was 18782 09:05:09,840 --> 09:05:12,478 the mindset shift. He stopped thinking 18783 09:05:11,280 --> 09:05:14,000 like someone who was trying to sell 18784 09:05:12,478 --> 09:05:15,600 workflows and started thinking like 18785 09:05:14,000 --> 09:05:17,200 someone who was leading with outcomes. 18786 09:05:15,600 --> 09:05:18,478 He positioned himself as a partner, not 18787 09:05:17,200 --> 09:05:19,520 a template salesman. So, instead of 18788 09:05:18,478 --> 09:05:20,958 saying things like, "Here's what I 18789 09:05:19,520 --> 09:05:22,478 built. Here's this automation. Here's 18790 09:05:20,958 --> 09:05:23,840 this template I can, you know, customize 18791 09:05:22,478 --> 09:05:25,360 for you," he was saying, "Here's how I 18792 09:05:23,840 --> 09:05:27,040 can help your business do X." And he was 18793 09:05:25,360 --> 09:05:28,638 targeting a specific painoint. So, that 18794 09:05:27,040 --> 09:05:30,240 one shift is the entire reason that this 18795 09:05:28,638 --> 09:05:31,520 worked in 5 days instead of never 18796 09:05:30,240 --> 09:05:33,120 working at all. Now, before we get into 18797 09:05:31,520 --> 09:05:34,718 the 7-day plan, I want to talk about 18798 09:05:33,120 --> 09:05:35,920 three psychological hurdles that 18799 09:05:34,718 --> 09:05:37,040 everyone goes through. I went through 18800 09:05:35,920 --> 09:05:38,160 them. Christian went through them. 18801 09:05:37,040 --> 09:05:39,840 You're probably going through them right 18802 09:05:38,160 --> 09:05:41,520 now. And the first one is imposttor 18803 09:05:39,840 --> 09:05:42,958 syndrome. Everyone will feel this at the 18804 09:05:41,520 --> 09:05:44,638 beginning. And honestly, I still feel 18805 09:05:42,958 --> 09:05:46,160 this sometimes right now. Thoughts like, 18806 09:05:44,638 --> 09:05:47,360 "Do I even have the right to charge for 18807 09:05:46,160 --> 09:05:48,638 this?" Or, "I don't want to feel 18808 09:05:47,360 --> 09:05:50,240 scammy." Or, "What if I'm not ready 18809 09:05:48,638 --> 09:05:51,920 yet?" And that feeling will never fully 18810 09:05:50,240 --> 09:05:53,440 go away. But you do learn how to work 18811 09:05:51,920 --> 09:05:54,958 through it. So, the key is just to not 18812 09:05:53,440 --> 09:05:56,398 overpromise because that's when you run 18813 09:05:54,958 --> 09:05:57,920 into trouble. Both Christian and I did 18814 09:05:56,398 --> 09:05:59,440 the same thing early on when we were 18815 09:05:57,920 --> 09:06:00,958 getting started. Literally saying, "Hey, 18816 09:05:59,440 --> 09:06:02,080 I'm new to this. I'm obsessed with it. 18817 09:06:00,958 --> 09:06:03,280 I've been learning a lot. I've been 18818 09:06:02,080 --> 09:06:04,398 building a lot and I want to help you 18819 09:06:03,280 --> 09:06:05,840 with this problem." And that type of 18820 09:06:04,398 --> 09:06:07,600 honesty makes you sound like a real 18821 09:06:05,840 --> 09:06:09,040 human. Like I said, especially early on 18822 09:06:07,600 --> 09:06:10,718 when you're doing your first one or two 18823 09:06:09,040 --> 09:06:12,398 clients for free or very cheap. That's 18824 09:06:10,718 --> 09:06:14,078 not a weakness. It's low risk for them 18825 09:06:12,398 --> 09:06:15,278 and it gets you experience, which is the 18826 09:06:14,078 --> 09:06:16,718 only thing that should actually matter 18827 09:06:15,278 --> 09:06:18,238 to you right now. Your goal should be to 18828 09:06:16,718 --> 09:06:19,680 overd deliver. Prove to yourself, and 18829 09:06:18,238 --> 09:06:20,878 also prove to the client that you can 18830 09:06:19,680 --> 09:06:22,398 actually do this. And that imposter 18831 09:06:20,878 --> 09:06:23,918 syndrome starts to fade because now you 18832 09:06:22,398 --> 09:06:25,200 have actual experience to talk about and 18833 09:06:23,918 --> 09:06:26,558 you have actual results that you've 18834 09:06:25,200 --> 09:06:28,238 driven. Now the second hurdle is about 18835 09:06:26,558 --> 09:06:29,918 pricing. People get stuck here way too 18836 09:06:28,238 --> 09:06:31,200 early. They obsess over retainers and 18837 09:06:29,918 --> 09:06:32,718 monthly pricing and they want to hit 18838 09:06:31,200 --> 09:06:33,840 that 10K per month figure that 18839 09:06:32,718 --> 09:06:35,520 everyone's going for. But if you're 18840 09:06:33,840 --> 09:06:37,040 trying to maximize revenue before you 18841 09:06:35,520 --> 09:06:38,398 even ever delivered value or got 18842 09:06:37,040 --> 09:06:39,520 experience, then you're going to fail. 18843 09:06:38,398 --> 09:06:41,438 So the thing that I want you guys to 18844 09:06:39,520 --> 09:06:43,278 lock into your brain is that trust comes 18845 09:06:41,438 --> 09:06:44,718 before retainers. Asking someone for a 18846 09:06:43,278 --> 09:06:46,398 retainer right away would be like asking 18847 09:06:44,718 --> 09:06:48,160 someone for a referral right away before 18848 09:06:46,398 --> 09:06:49,598 you even have any sort of partnership. 18849 09:06:48,160 --> 09:06:50,800 It's very hard to get someone on a 18850 09:06:49,598 --> 09:06:52,000 monthly agreement if they've never 18851 09:06:50,800 --> 09:06:53,360 worked with you before. So, what should 18852 09:06:52,000 --> 09:06:55,040 matter to you first is just delivering 18853 09:06:53,360 --> 09:06:56,558 value and earning trust and then you can 18854 09:06:55,040 --> 09:06:57,918 win a retainer later. That's why I 18855 09:06:56,558 --> 09:06:59,278 always talk about valuebased pricing. 18856 09:06:57,918 --> 09:07:00,320 And I made a full video on this and I'll 18857 09:06:59,278 --> 09:07:01,438 link it up there if you want to check it 18858 09:07:00,320 --> 09:07:02,878 out. But anyways, you want to get your 18859 09:07:01,438 --> 09:07:04,238 foot in the door, solve a real problem, 18860 09:07:02,878 --> 09:07:05,918 and clearly show the value that you 18861 09:07:04,238 --> 09:07:07,438 delivered. And once that trust is built, 18862 09:07:05,918 --> 09:07:09,360 then talking about a retainer becomes 18863 09:07:07,438 --> 09:07:10,878 super easy and much more natural. Like I 18864 09:07:09,360 --> 09:07:12,558 said earlier, the same rule applies for 18865 09:07:10,878 --> 09:07:14,000 testimonials and referrals. You can't 18866 09:07:12,558 --> 09:07:14,960 ask for those until you've actually done 18867 09:07:14,000 --> 09:07:16,718 something. So, don't think about a 18868 09:07:14,960 --> 09:07:18,000 retainer as step one. Think of it like 18869 09:07:16,718 --> 09:07:19,122 something that you've earned once you've 18870 09:07:18,000 --> 09:07:20,800 built a relationship. And the third 18871 09:07:19,122 --> 09:07:22,238 hurdle is just rejection. This one 18872 09:07:20,800 --> 09:07:23,598 scares people more than it should. When 18873 09:07:22,238 --> 09:07:25,200 you're new, you are going to get 18874 09:07:23,598 --> 09:07:26,398 ignored. People will say no. Some won't 18875 09:07:25,200 --> 09:07:27,918 respond at all. That's completely 18876 09:07:26,398 --> 09:07:29,278 normal. The important part is what you 18877 09:07:27,918 --> 09:07:30,878 actually do with that rejection. Every 18878 09:07:29,278 --> 09:07:32,558 rejection is feedback. It's more data 18879 09:07:30,878 --> 09:07:34,238 for you to learn from and win from 18880 09:07:32,558 --> 09:07:35,520 because the reality is everyone gets 18881 09:07:34,238 --> 09:07:37,360 rejected. So the difference between 18882 09:07:35,520 --> 09:07:38,800 winners and losers is that the winners 18883 09:07:37,360 --> 09:07:40,160 pay attention to why they were rejected 18884 09:07:38,800 --> 09:07:41,438 and they actually fix something. They 18885 09:07:40,160 --> 09:07:42,960 change something about it. And losers 18886 09:07:41,438 --> 09:07:44,160 just get rejected over and over and they 18887 09:07:42,960 --> 09:07:45,840 don't change anything. So if someone 18888 09:07:44,160 --> 09:07:47,840 ignores you, ask why. Was my message 18889 09:07:45,840 --> 09:07:49,200 unclear? Was it too long? Was it vague? 18890 09:07:47,840 --> 09:07:50,960 Did they even have a reason to want to 18891 09:07:49,200 --> 09:07:52,480 care to respond to me? And then you fix 18892 09:07:50,960 --> 09:07:53,598 that. And then your next attempt gets 18893 09:07:52,480 --> 09:07:55,360 better. Okay, so those are the three 18894 09:07:53,598 --> 09:07:57,040 hurdles. Now, let's talk about actually 18895 09:07:55,360 --> 09:07:58,558 breaking down the 7-day framework and 18896 09:07:57,040 --> 09:07:59,840 connecting it back to what Christian did 18897 09:07:58,558 --> 09:08:01,122 because this is where people tend to 18898 09:07:59,840 --> 09:08:02,640 over complicate things. So, the first 18899 09:08:01,122 --> 09:08:04,238 thing I want to make very clear is this. 18900 09:08:02,640 --> 09:08:06,000 Christian did not start by picking some 18901 09:08:04,238 --> 09:08:07,438 super ultra specific niche and having 18902 09:08:06,000 --> 09:08:08,878 every problem figured out and then 18903 09:08:07,438 --> 09:08:10,160 blasting out cold emails. He started 18904 09:08:08,878 --> 09:08:11,758 warm and that matters way more than 18905 09:08:10,160 --> 09:08:13,200 people think. warm outreach, referrals, 18906 09:08:11,758 --> 09:08:14,800 and known contacts are just 18907 09:08:13,200 --> 09:08:15,918 statistically shown to convert way 18908 09:08:14,800 --> 09:08:17,200 better than cold outreach, because 18909 09:08:15,918 --> 09:08:18,718 there's already trust there, even if 18910 09:08:17,200 --> 09:08:20,160 you're borrowing trust from a friend of 18911 09:08:18,718 --> 09:08:22,480 a friend. That's why it works so much 18912 09:08:20,160 --> 09:08:24,160 faster, and it feels way less awkward, 18913 09:08:22,480 --> 09:08:25,680 especially as a beginner. So, big 18914 09:08:24,160 --> 09:08:27,360 picture, the flow looks like this. You 18915 09:08:25,680 --> 09:08:28,878 start warm, you stay fairly broad, you 18916 09:08:27,360 --> 09:08:30,480 talk to people, you notice patterns, and 18917 09:08:28,878 --> 09:08:32,160 then you niche down later. Cold outreach 18918 09:08:30,480 --> 09:08:33,360 comes last when you're ready to scale, 18919 09:08:32,160 --> 09:08:34,878 not first when you want to get your 18920 09:08:33,360 --> 09:08:36,558 first client. So day one is all about 18921 09:08:34,878 --> 09:08:38,480 setting a loose direction. Not locking 18922 09:08:36,558 --> 09:08:40,160 yourself into one super hypersp specific 18923 09:08:38,480 --> 09:08:42,078 niche, but just think of it as like a 18924 09:08:40,160 --> 09:08:43,598 working hypothesis, not a lifelong 18925 09:08:42,078 --> 09:08:45,918 decision. So instead of saying, "I'm the 18926 09:08:43,598 --> 09:08:47,520 AI automation guy for dental clinics in 18927 09:08:45,918 --> 09:08:48,558 Georgia, losing time with onboarding," 18928 09:08:47,520 --> 09:08:50,238 you're just going to say something much 18929 09:08:48,558 --> 09:08:52,000 simpler like, "I help small businesses 18930 09:08:50,238 --> 09:08:53,680 automate boring, repetitive tasks with 18931 09:08:52,000 --> 09:08:55,278 AI." That's enough to get conversations 18932 09:08:53,680 --> 09:08:57,598 started. At this stage, you should also 18933 09:08:55,278 --> 09:08:59,122 have a short menu of example problems in 18934 09:08:57,598 --> 09:09:00,238 your head, example use cases in your 18935 09:08:59,122 --> 09:09:01,840 head, so that you're not just speaking 18936 09:09:00,238 --> 09:09:03,278 in theory. So things like, you know, I 18937 09:09:01,840 --> 09:09:05,278 know how to automate lead follow-up or 18938 09:09:03,278 --> 09:09:06,640 intake forms or data syncing between 18939 09:09:05,278 --> 09:09:07,918 CRM. And like I said, you're not 18940 09:09:06,640 --> 09:09:08,960 committing to any of these yet, but 18941 09:09:07,918 --> 09:09:10,800 you're just testing to see what 18942 09:09:08,960 --> 09:09:12,398 resonates. On day one, you also want to 18943 09:09:10,800 --> 09:09:13,840 build what I would call a trust map. So 18944 09:09:12,398 --> 09:09:15,598 open up a simple Google sheet and list 18945 09:09:13,840 --> 09:09:17,122 out people where trust already exists. 18946 09:09:15,598 --> 09:09:18,558 Your goal for day one would be to write 18947 09:09:17,122 --> 09:09:20,000 down 20 people that you can reach out 18948 09:09:18,558 --> 09:09:22,078 to. Friends or family who run 18949 09:09:20,000 --> 09:09:23,520 businesses, past co-workers, managers, 18950 09:09:22,078 --> 09:09:25,200 clients, people who you know from 18951 09:09:23,520 --> 09:09:26,800 communities, Slack groups, Discords, or 18952 09:09:25,200 --> 09:09:28,558 online spaces, and the second degree 18953 09:09:26,800 --> 09:09:30,078 connections. So, friends of friends, for 18954 09:09:28,558 --> 09:09:31,438 each of these people, just note what 18955 09:09:30,078 --> 09:09:32,800 kind of business they're in or what kind 18956 09:09:31,438 --> 09:09:34,000 of industry they're in, how well you 18957 09:09:32,800 --> 09:09:36,078 know them, whether they could be a 18958 09:09:34,000 --> 09:09:37,680 potential client or an intro to one, or 18959 09:09:36,078 --> 09:09:38,878 just someone who can give you some 18960 09:09:37,680 --> 09:09:40,558 insight. And when you actually start to 18961 09:09:38,878 --> 09:09:42,078 write this stuff down and think through, 18962 09:09:40,558 --> 09:09:43,520 you know, your list of contacts, it 18963 09:09:42,078 --> 09:09:45,122 makes everything feel a lot less random 18964 09:09:43,520 --> 09:09:47,520 and a lot less overwhelming. Now, days 18965 09:09:45,122 --> 09:09:49,680 two and three are about having 5 to 10 18966 09:09:47,520 --> 09:09:51,040 warm, low pressure conversations. These 18967 09:09:49,680 --> 09:09:52,640 are not sales calls. You're not 18968 09:09:51,040 --> 09:09:54,398 pitching. You genuinely just need to 18969 09:09:52,640 --> 09:09:55,918 understand where repetitive work eats 18970 09:09:54,398 --> 09:09:57,122 time in their business or in their daily 18971 09:09:55,918 --> 09:09:58,238 workflow. So, when you're reaching out 18972 09:09:57,122 --> 09:10:00,160 to them, you should just sound like a 18973 09:09:58,238 --> 09:10:02,238 curious entrepreneur, not a salesperson. 18974 09:10:00,160 --> 09:10:03,680 So, something as simple as saying, "Hey, 18975 09:10:02,238 --> 09:10:04,800 I'm trying to start a business where I 18976 09:10:03,680 --> 09:10:06,238 help other businesses automate 18977 09:10:04,800 --> 09:10:07,680 repetitive work with AI. I'm not trying 18978 09:10:06,238 --> 09:10:09,278 to sell you anything. Could I just ask 18979 09:10:07,680 --> 09:10:10,800 you a few questions about where things 18980 09:10:09,278 --> 09:10:11,918 feel manual or annoying in your 18981 09:10:10,800 --> 09:10:13,360 day-to-day?" And once you start having 18982 09:10:11,918 --> 09:10:14,558 these conversations, write down all the 18983 09:10:13,360 --> 09:10:15,598 key insights from that call because 18984 09:10:14,558 --> 09:10:17,040 you're going to need to look at these 18985 09:10:15,598 --> 09:10:18,800 later. And if you truly cannot think of 18986 09:10:17,040 --> 09:10:20,398 anyone in your network who might own a 18987 09:10:18,800 --> 09:10:22,078 business or be an executive at a 18988 09:10:20,398 --> 09:10:23,278 business or in a position to buy or 18989 09:10:22,078 --> 09:10:24,480 anything like that, then you still don't 18990 09:10:23,278 --> 09:10:25,758 have to jump straight to cold outreach. 18991 09:10:24,480 --> 09:10:27,438 you just reach out and ask something 18992 09:10:25,758 --> 09:10:28,558 like, "Is there anyone you know who this 18993 09:10:27,438 --> 09:10:30,078 might be helpful for?" or "Is there 18994 09:10:28,558 --> 09:10:31,840 anyone you know who this might benefit?" 18995 09:10:30,078 --> 09:10:33,360 And so that little like wording shift is 18996 09:10:31,840 --> 09:10:34,558 huge because no one really wants to sell 18997 09:10:33,360 --> 09:10:35,918 to their friends and you're not selling 18998 09:10:34,558 --> 09:10:37,680 to your friends. You're just asking if 18999 09:10:35,918 --> 09:10:38,640 they know anyone who might benefit from, 19000 09:10:37,680 --> 09:10:39,680 you know, the kind of stuff that you're 19001 09:10:38,640 --> 09:10:41,360 talking about. It feels way more 19002 09:10:39,680 --> 09:10:42,878 natural, less uncomfortable, and it 19003 09:10:41,360 --> 09:10:44,398 still lets you kind of borrow some 19004 09:10:42,878 --> 09:10:46,000 trust. You also could jump on a site 19005 09:10:44,398 --> 09:10:47,680 like Upwork, but once again, that's 19006 09:10:46,000 --> 09:10:49,040 pretty much going to be similar to cold 19007 09:10:47,680 --> 09:10:50,640 outreach because you haven't yet built 19008 09:10:49,040 --> 09:10:52,160 trust with those leads and you're just a 19009 09:10:50,640 --> 09:10:53,758 name and a profile picture. So, after 19010 09:10:52,160 --> 09:10:55,360 you've had those conversations, day four 19011 09:10:53,758 --> 09:10:57,360 and five are where you turn those 19012 09:10:55,360 --> 09:10:58,878 conversations into a tiny pilot. So, 19013 09:10:57,360 --> 09:11:00,398 look back at your notes, pick the person 19014 09:10:58,878 --> 09:11:01,918 with the clearest, most painful, 19015 09:11:00,398 --> 09:11:03,680 repetitive task. You're looking for the 19016 09:11:01,918 --> 09:11:05,278 clearest pain point here. And then you 19017 09:11:03,680 --> 09:11:07,200 propose something very small and very 19018 09:11:05,278 --> 09:11:08,878 low risk for that prospect, which is 19019 09:11:07,200 --> 09:11:10,398 typically a free workflow. You build it. 19020 09:11:08,878 --> 09:11:11,840 You measure one simple outcome. And then 19021 09:11:10,398 --> 09:11:13,278 you decide together if it's worth 19022 09:11:11,840 --> 09:11:14,800 expanding. So, you can reach back out to 19023 09:11:13,278 --> 09:11:16,160 them after that initial conversation and 19024 09:11:14,800 --> 09:11:17,438 say something like, "Hey, I'd love to 19025 09:11:16,160 --> 09:11:19,520 build you a small automation that 19026 09:11:17,438 --> 09:11:20,878 tackles X painoint as a free pilot. My 19027 09:11:19,520 --> 09:11:22,238 goal here is just to prove that these 19028 09:11:20,878 --> 09:11:23,758 workflows actually can save you time. 19029 09:11:22,238 --> 09:11:25,040 And in return, I'd just ask for some 19030 09:11:23,758 --> 09:11:26,398 honest feedback because that's going to 19031 09:11:25,040 --> 09:11:27,918 help me learn and grow. Now, days five 19032 09:11:26,398 --> 09:11:29,598 and six are about actually building that 19033 09:11:27,918 --> 09:11:30,878 tiny MVP. So, this doesn't have to be 19034 09:11:29,598 --> 09:11:32,320 complex. In fact, the simpler the 19035 09:11:30,878 --> 09:11:34,398 better. Your goal isn't to impress them 19036 09:11:32,320 --> 09:11:35,918 with all of these API calls and all this 19037 09:11:34,398 --> 09:11:38,000 advanced tech. Your goal is just to show 19038 09:11:35,918 --> 09:11:39,438 them I saved you time. I saved you, you 19039 09:11:38,000 --> 09:11:40,800 know, confusion here. And while you do 19040 09:11:39,438 --> 09:11:42,558 this, just pay attention to the language 19041 09:11:40,800 --> 09:11:44,320 they use, how they describe the problem, 19042 09:11:42,558 --> 09:11:46,480 how they describe that win. The language 19043 09:11:44,320 --> 09:11:48,078 is gold later. Okay. Now, day seven is 19044 09:11:46,480 --> 09:11:49,438 where you see if your hard work paid 19045 09:11:48,078 --> 09:11:51,040 off. The goal of this day is super 19046 09:11:49,438 --> 09:11:52,480 simple. You're not trying to hard close 19047 09:11:51,040 --> 09:11:54,160 anyone. You're just trying to figure out 19048 09:11:52,480 --> 09:11:56,000 with the potential client what the next 19049 09:11:54,160 --> 09:11:57,598 logical step is based on how the pilot 19050 09:11:56,000 --> 09:11:58,960 went. So, the first priority would be to 19051 09:11:57,598 --> 09:12:00,480 see if you can keep helping that same 19052 09:11:58,960 --> 09:12:02,160 client, either by maintaining what 19053 09:12:00,480 --> 09:12:03,680 you've built, or by expanding on it 19054 09:12:02,160 --> 09:12:05,360 functionality-wise. So, you can lay out 19055 09:12:03,680 --> 09:12:06,480 clear, low pressure options. You explain 19056 09:12:05,360 --> 09:12:07,840 that there are a couple ways that you 19057 09:12:06,480 --> 09:12:09,040 could keep helping. The first option is 19058 09:12:07,840 --> 09:12:10,398 maintenance. This is you sticking around 19059 09:12:09,040 --> 09:12:11,918 to make sure that the automation keeps 19060 09:12:10,398 --> 09:12:13,680 working, handling fixes if something 19061 09:12:11,918 --> 09:12:15,438 breaks, and making small tweaks as their 19062 09:12:13,680 --> 09:12:16,878 tools or processes change. And the other 19063 09:12:15,438 --> 09:12:18,640 option is expansion. So, this is where 19064 09:12:16,878 --> 09:12:20,160 you build on top of what's already 19065 09:12:18,640 --> 09:12:21,680 working. Usually, by adding one or two 19066 09:12:20,160 --> 09:12:22,960 concrete features that you notice during 19067 09:12:21,680 --> 09:12:24,320 the build that would make the outcome 19068 09:12:22,960 --> 09:12:26,078 even stronger. The key here though is 19069 09:12:24,320 --> 09:12:27,598 just to communicate these two actual 19070 09:12:26,078 --> 09:12:28,800 offers very, very simply. So, a 19071 09:12:27,598 --> 09:12:30,000 maintenance offer could be like, hey, 19072 09:12:28,800 --> 09:12:31,438 I'll maintain this for the next few 19073 09:12:30,000 --> 09:12:32,878 months, so if anything breaks or if you 19074 09:12:31,438 --> 09:12:34,480 want small changes, I can handle it. And 19075 09:12:32,878 --> 09:12:35,840 an expansion offer might be, hey, we 19076 09:12:34,480 --> 09:12:38,000 could turn this into a slightly bigger 19077 09:12:35,840 --> 09:12:39,758 system by adding this and this so that 19078 09:12:38,000 --> 09:12:41,122 the result is x more reliable. And then 19079 09:12:39,758 --> 09:12:42,640 you can ask if they want to scope out 19080 09:12:41,122 --> 09:12:44,160 that and then you can send over a basic 19081 09:12:42,640 --> 09:12:45,598 proposal, nothing fancy. During this 19082 09:12:44,160 --> 09:12:47,438 conversation, you could also naturally 19083 09:12:45,598 --> 09:12:48,718 surface more work by asking thoughtful 19084 09:12:47,438 --> 09:12:50,078 questions. For example, you could say 19085 09:12:48,718 --> 09:12:51,520 something like, "Hey, while while I was 19086 09:12:50,078 --> 09:12:53,040 building out this workflow, I noticed 19087 09:12:51,520 --> 09:12:54,480 this other process that's related. Would 19088 09:12:53,040 --> 09:12:56,078 have helped if that was automated, too. 19089 09:12:54,480 --> 09:12:57,438 Or now that you've seen what this 19090 09:12:56,078 --> 09:12:58,480 workflow can do, what's the next thing 19091 09:12:57,438 --> 09:12:59,918 that you would like to get off your 19092 09:12:58,480 --> 09:13:01,680 plate?" These types of questions show 19093 09:12:59,918 --> 09:13:03,200 that you are a partner and that you're 19094 09:13:01,680 --> 09:13:04,558 keeping things collaborative rather than 19095 09:13:03,200 --> 09:13:05,680 being salesy. And then, if they're happy 19096 09:13:04,558 --> 09:13:06,960 with the pilot, but they don't 19097 09:13:05,680 --> 09:13:08,160 necessarily want to continue working 19098 09:13:06,960 --> 09:13:09,598 with you right now, that's completely 19099 09:13:08,160 --> 09:13:11,200 fine. At that point, your goal is to 19100 09:13:09,598 --> 09:13:12,398 just lock in some proof, not push more 19101 09:13:11,200 --> 09:13:14,000 work on them. So, you can ask if they'd 19102 09:13:12,398 --> 09:13:15,680 be open to a short video testimonial 19103 09:13:14,000 --> 09:13:16,960 explaining how the workflow helped. Only 19104 09:13:15,680 --> 09:13:18,398 after that, and only if it feels 19105 09:13:16,960 --> 09:13:20,238 natural, you can then mention if they 19106 09:13:18,398 --> 09:13:22,000 ever think of someone that might also 19107 09:13:20,238 --> 09:13:23,360 benefit from AI workflows like this, 19108 09:13:22,000 --> 09:13:24,558 then an intro would be super 19109 09:13:23,360 --> 09:13:26,078 appreciated. But, of course, if the 19110 09:13:24,558 --> 09:13:27,278 pilot did not go well, you don't try to 19111 09:13:26,078 --> 09:13:28,480 sell anything. You don't ask for a 19112 09:13:27,278 --> 09:13:29,840 testimonial. You just take that 19113 09:13:28,480 --> 09:13:31,200 feedback, you learn from it, and you 19114 09:13:29,840 --> 09:13:33,438 improve next time, and you start the 19115 09:13:31,200 --> 09:13:35,200 process again of warm conversations and 19116 09:13:33,438 --> 09:13:36,800 offering a free pilot because of course 19117 09:13:35,200 --> 09:13:38,878 ultimately what you're optimizing for 19118 09:13:36,800 --> 09:13:40,398 right now is experience, proof, not 19119 09:13:38,878 --> 09:13:41,758 money. So, that's day seven. The entire 19120 09:13:40,398 --> 09:13:43,520 focus is on deepening the relationship 19121 09:13:41,758 --> 09:13:45,520 first. Maintenance or expansion comes 19122 09:13:43,520 --> 09:13:46,960 before testimonials. Testimonials come 19123 09:13:45,520 --> 09:13:48,558 before referrals. And if it doesn't 19124 09:13:46,960 --> 09:13:49,918 work, you learn and you move on without 19125 09:13:48,558 --> 09:13:51,680 forcing anything. Now, here's the most 19126 09:13:49,918 --> 09:13:52,960 important part. This 7-day cycle is not 19127 09:13:51,680 --> 09:13:54,000 a onetime thing. [music] It's a loop 19128 09:13:52,960 --> 09:13:55,680 that you're going to have to run through 19129 09:13:54,000 --> 09:13:57,278 multiple times. But each loop gives you 19130 09:13:55,680 --> 09:13:58,878 more data, more confidence, better 19131 09:13:57,278 --> 09:14:00,320 language, clearer positioning, and only 19132 09:13:58,878 --> 09:14:01,840 after you've done a few cycles of this 19133 09:14:00,320 --> 09:14:03,438 does it make sense to then build lead 19134 09:14:01,840 --> 09:14:04,800 lists and apply the same framework to 19135 09:14:03,438 --> 09:14:06,558 colder outreach because you actually 19136 09:14:04,800 --> 09:14:08,160 have some proof behind your name now. So 19137 09:14:06,558 --> 09:14:09,680 then when you do it, it's no longer just 19138 09:14:08,160 --> 09:14:11,040 feeling like guessing and feeling random 19139 09:14:09,680 --> 09:14:12,480 and overwhelming because you have a 19140 09:14:11,040 --> 09:14:13,840 system that works. And that's the exact 19141 09:14:12,480 --> 09:14:15,680 path that Christian followed. Start 19142 09:14:13,840 --> 09:14:17,122 warm, lead with outcomes, earn trust, 19143 09:14:15,680 --> 09:14:18,480 deliver value, and then just repeat. And 19144 09:14:17,122 --> 09:14:19,918 if you do this two or three times, you 19145 09:14:18,480 --> 09:14:21,200 were no longer a beginner guessing in 19146 09:14:19,918 --> 09:14:22,718 the dark. You can see that Christian 19147 09:14:21,200 --> 09:14:24,238 actually got his second client basically 19148 09:14:22,718 --> 09:14:25,360 just by posting his win in the community 19149 09:14:24,238 --> 09:14:26,878 and then someone reached out because 19150 09:14:25,360 --> 09:14:28,160 they needed a developer that could work 19151 09:14:26,878 --> 09:14:29,918 with clients. So I know that we covered 19152 09:14:28,160 --> 09:14:31,438 a lot of information in today's video. 19153 09:14:29,918 --> 09:14:33,040 So what I did is I threw all of this 19154 09:14:31,438 --> 09:14:34,558 into a practical resource guide that you 19155 09:14:33,040 --> 09:14:35,918 can access for completely free in my 19156 09:14:34,558 --> 09:14:37,200 free school community. The link for that 19157 09:14:35,918 --> 09:14:38,800 is down in the description. Now, if you 19158 09:14:37,200 --> 09:14:40,558 did find this video valuable, signing 19159 09:14:38,800 --> 09:14:42,000 your first client is only one part of 19160 09:14:40,558 --> 09:14:43,758 making money with AI. There's actually 19161 09:14:42,000 --> 09:14:45,360 several components involved, and I cover 19162 09:14:43,758 --> 09:14:46,640 all of them in detail in this video. So, 19163 09:14:45,360 --> 09:14:48,558 if you want to make money with AI in 19164 09:14:46,640 --> 09:14:49,840 2026 and click there to check it out. 19165 09:14:48,558 --> 09:14:50,960 Otherwise, if you enjoyed the video or 19166 09:14:49,840 --> 09:14:52,160 you learned something new, then please 19167 09:14:50,960 --> 09:14:53,520 give it a like. It definitely helps me 19168 09:14:52,160 --> 09:14:54,640 out a ton. And as always, I appreciate 19169 09:14:53,520 --> 09:14:56,238 you guys making it to the end of the 19170 09:14:54,640 --> 09:14:59,558 video. I'll see you on the next one. 19171 09:14:56,238 --> 09:14:59,558 Thanks, everyone. 19172 09:15:00,160 --> 09:15:03,598 Everyone's been asking how to actually 19173 09:15:01,840 --> 09:15:04,878 price AI workflows. What's too cheap? 19174 09:15:03,598 --> 09:15:06,398 What's too expensive? and how do you 19175 09:15:04,878 --> 09:15:07,840 charge enough without losing clients? 19176 09:15:06,398 --> 09:15:09,680 So, in this video, I'll break down 19177 09:15:07,840 --> 09:15:11,278 exactly how to price your workflows step 19178 09:15:09,680 --> 09:15:12,718 by step. And at the end of the video, 19179 09:15:11,278 --> 09:15:14,558 I'll give you guys a practical breakdown 19180 09:15:12,718 --> 09:15:15,840 of a real example of how I priced one of 19181 09:15:14,558 --> 09:15:17,278 my workflows. So, let's get [music] into 19182 09:15:15,840 --> 09:15:18,878 it. Before we get into numbers or 19183 09:15:17,278 --> 09:15:20,398 frameworks, you need the right mindset 19184 09:15:18,878 --> 09:15:21,758 around pricing. Most beginners price 19185 09:15:20,398 --> 09:15:22,960 their workflows based on the time it 19186 09:15:21,758 --> 09:15:24,320 takes or the amount of effort that they 19187 09:15:22,960 --> 09:15:25,840 put in. But businesses don't pay for 19188 09:15:24,320 --> 09:15:27,598 your time. They pay for outcomes. When 19189 09:15:25,840 --> 09:15:29,200 you build an AI workflow, automation 19190 09:15:27,598 --> 09:15:30,558 system, infrastructure, whatever you 19191 09:15:29,200 --> 09:15:32,078 want to call it, you're usually doing at 19192 09:15:30,558 --> 09:15:33,680 least one of three things for a 19193 09:15:32,078 --> 09:15:35,438 business. saving them money, saving them 19194 09:15:33,680 --> 09:15:37,040 time, or reducing human error. That's 19195 09:15:35,438 --> 09:15:38,640 where the real value is, and that's what 19196 09:15:37,040 --> 09:15:40,160 your price needs to be tied to. This is 19197 09:15:38,640 --> 09:15:41,520 called valuebased pricing. You're not 19198 09:15:40,160 --> 09:15:43,438 charging for the inputs. You're charging 19199 09:15:41,520 --> 09:15:44,800 for the return on their investment. And 19200 09:15:43,438 --> 09:15:46,238 when you start thinking this way, 19201 09:15:44,800 --> 09:15:47,680 everything changes. Instead of asking 19202 09:15:46,238 --> 09:15:49,438 yourself, how long will this build take 19203 09:15:47,680 --> 09:15:51,200 me? You start asking, "How much time or 19204 09:15:49,438 --> 09:15:52,800 money will this save the business every 19205 09:15:51,200 --> 09:15:54,480 week? How much more can they generate 19206 09:15:52,800 --> 09:15:55,680 because of this system?" Now, I know it 19207 09:15:54,480 --> 09:15:57,278 can feel awkward when you're new. 19208 09:15:55,680 --> 09:15:59,040 There's always that weird dance of like, 19209 09:15:57,278 --> 09:16:00,480 who's going to throw out a number first? 19210 09:15:59,040 --> 09:16:02,640 And realistically, a lot of clients 19211 09:16:00,480 --> 09:16:04,078 right now genuinely have no idea what 19212 09:16:02,640 --> 09:16:05,438 this kind of stuff should cost. But 19213 09:16:04,078 --> 09:16:06,878 here's the part that you need to nail. 19214 09:16:05,438 --> 09:16:08,558 Whatever number that you say, you should 19215 09:16:06,878 --> 09:16:10,160 be able to show them exactly how you got 19216 09:16:08,558 --> 09:16:11,438 there. You should almost assume that 19217 09:16:10,160 --> 09:16:12,960 after you tell them your price that 19218 09:16:11,438 --> 09:16:14,480 they're going to say, "Can you tell me 19219 09:16:12,960 --> 09:16:15,918 exactly how you got to that number, you 19220 09:16:14,480 --> 09:16:17,360 need to be able to confidently walk them 19221 09:16:15,918 --> 09:16:19,122 through that math." Because when you can 19222 09:16:17,360 --> 09:16:20,718 explain the ROI, not only do you build 19223 09:16:19,122 --> 09:16:22,718 trust, but you come across as a 19224 09:16:20,718 --> 09:16:24,480 long-term AI thought partner, which is 19225 09:16:22,718 --> 09:16:25,758 what businesses desperately need right 19226 09:16:24,480 --> 09:16:27,598 now. And when you explain that clearly 19227 09:16:25,758 --> 09:16:29,200 and you anchor that price on real 19228 09:16:27,598 --> 09:16:30,558 metrics, suddenly the price doesn't feel 19229 09:16:29,200 --> 09:16:32,078 like an expense anymore. It feels like 19230 09:16:30,558 --> 09:16:33,598 an investment that will pay for itself 19231 09:16:32,078 --> 09:16:35,680 because it will. So once you've got that 19232 09:16:33,598 --> 09:16:37,200 mindset locked in, the next step is 19233 09:16:35,680 --> 09:16:39,040 learning the actual pricing models that 19234 09:16:37,200 --> 09:16:40,320 you can use. So before we dive deeper, I 19235 09:16:39,040 --> 09:16:42,000 want to be clear about something. I've 19236 09:16:40,320 --> 09:16:43,360 tried almost every pricing model that 19237 09:16:42,000 --> 09:16:45,040 you can think of. I've charged a fixed 19238 09:16:43,360 --> 09:16:46,480 fee and delivered a JSON file. I've 19239 09:16:45,040 --> 09:16:47,918 built hourly. I've sold bundles of 19240 09:16:46,480 --> 09:16:49,520 hours. I've done monthly retainers with 19241 09:16:47,918 --> 09:16:50,640 no set scope. I've done retainers with 19242 09:16:49,520 --> 09:16:51,840 strict scopes. I've literally 19243 09:16:50,640 --> 09:16:53,122 experimented with tons of different 19244 09:16:51,840 --> 09:16:54,640 models. And the reason I'm telling you 19245 09:16:53,122 --> 09:16:56,480 this is because I don't believe that 19246 09:16:54,640 --> 09:16:58,160 there's currently an industry standard 19247 09:16:56,480 --> 09:16:59,758 way to price AI automation and 19248 09:16:58,160 --> 09:17:01,278 implementation services yet. Nobody has 19249 09:16:59,758 --> 09:17:02,558 agreed on the right way to price 19250 09:17:01,278 --> 09:17:04,000 workflows. Everyone's still trying to 19251 09:17:02,558 --> 09:17:05,040 figure it out. But after trying all of 19252 09:17:04,000 --> 09:17:06,398 these different models, there are 19253 09:17:05,040 --> 09:17:08,000 definitely two that I think work the 19254 09:17:06,398 --> 09:17:09,122 best and they work together. So let me 19255 09:17:08,000 --> 09:17:10,558 explain what I mean by that. They're 19256 09:17:09,122 --> 09:17:12,640 simple, they build trust, and they're 19257 09:17:10,558 --> 09:17:14,238 the easiest to scale. So the first model 19258 09:17:12,640 --> 09:17:15,598 is valuebased pricing. If I were 19259 09:17:14,238 --> 09:17:16,640 starting from scratch today, this is the 19260 09:17:15,598 --> 09:17:18,320 model that I would start with. 19261 09:17:16,640 --> 09:17:20,320 Valuebased pricing is where you charge 19262 09:17:18,320 --> 09:17:21,598 based on the business impact like we 19263 09:17:20,320 --> 09:17:22,960 talked about, not the hours that you 19264 09:17:21,598 --> 09:17:24,718 spend building. Anchoring your price 19265 09:17:22,960 --> 09:17:26,078 around time save, money save, or 19266 09:17:24,718 --> 09:17:27,520 efficiency gain. This is the easiest way 19267 09:17:26,078 --> 09:17:29,520 to get your foot in the door with a new 19268 09:17:27,520 --> 09:17:30,800 client because the math is simple and it 19269 09:17:29,520 --> 09:17:32,398 builds trust. What's interesting about 19270 09:17:30,800 --> 09:17:34,000 valuebased pricing is that you can build 19271 09:17:32,398 --> 09:17:35,520 the exact same system for two different 19272 09:17:34,000 --> 09:17:36,878 businesses and you can charge them 19273 09:17:35,520 --> 09:17:38,878 completely different prices because 19274 09:17:36,878 --> 09:17:40,398 value is not universal. If you tried to 19275 09:17:38,878 --> 09:17:42,238 sell me a bottle of water right after 19276 09:17:40,398 --> 09:17:43,840 I've run 5 miles in the desert, I would 19277 09:17:42,238 --> 09:17:45,680 pay you a lot more than someone who's 19278 09:17:43,840 --> 09:17:47,278 been sitting inside air conditioned 19279 09:17:45,680 --> 09:17:48,558 office all day. It's the same product, 19280 09:17:47,278 --> 09:17:50,160 but it's different value. And that's 19281 09:17:48,558 --> 09:17:51,840 kind of the idea behind this value based 19282 09:17:50,160 --> 09:17:53,840 pricing. So, you price based on what the 19283 09:17:51,840 --> 09:17:55,598 solution is worth to that business. Now, 19284 09:17:53,840 --> 09:17:56,960 once you deliver one or two projects, 19285 09:17:55,598 --> 09:17:58,238 you build some trust, and you show that 19286 09:17:56,960 --> 09:17:59,438 your systems work. This is where you 19287 09:17:58,238 --> 09:18:01,040 start moving into longerterm 19288 09:17:59,438 --> 09:18:02,878 engagements, which is the next model, 19289 09:18:01,040 --> 09:18:04,480 monthly retainers. A monthly retainer is 19290 09:18:02,878 --> 09:18:06,320 when a client pays you a predictable 19291 09:18:04,480 --> 09:18:07,758 monthly fee in exchange for ongoing 19292 09:18:06,320 --> 09:18:09,200 access to your expertise [music] and a 19293 09:18:07,758 --> 09:18:10,558 defined level of service. In the 19294 09:18:09,200 --> 09:18:13,758 consulting world, these can range 19295 09:18:10,558 --> 09:18:15,680 anywhere from 1,500 to 15,000 or more 19296 09:18:13,758 --> 09:18:17,680 per month. And it's usually within a 3, 19297 09:18:15,680 --> 09:18:18,800 6, or 12 month term. And here's why 19298 09:18:17,680 --> 09:18:20,360 retainers matter. Clients get 19299 09:18:18,800 --> 09:18:21,840 predictable costs and priority access 19300 09:18:20,360 --> 09:18:23,122 [music] and consistent improvement. You 19301 09:18:21,840 --> 09:18:24,558 get stable income and a long-term 19302 09:18:23,122 --> 09:18:26,238 partnership instead of chasing one-off 19303 09:18:24,558 --> 09:18:28,640 builds. And honestly, you'd much rather 19304 09:18:26,238 --> 09:18:30,960 work with one $15,000 per month client 19305 09:18:28,640 --> 09:18:32,238 than five $3,000 per month clients. Even 19306 09:18:30,960 --> 09:18:33,840 though the total revenue is the same, 19307 09:18:32,238 --> 09:18:35,278 you'll have less chaos, less stress, and 19308 09:18:33,840 --> 09:18:36,398 you get to build a real relationship. 19309 09:18:35,278 --> 09:18:38,000 You get to put all of your time and 19310 09:18:36,398 --> 09:18:39,520 energy towards that one business. You 19311 09:18:38,000 --> 09:18:40,960 get to overd deliver, drive real 19312 09:18:39,520 --> 09:18:42,398 results, which is going to increase the 19313 09:18:40,960 --> 09:18:44,078 chances that you're able to win more 19314 09:18:42,398 --> 09:18:46,398 business in that organization. So, that 19315 09:18:44,078 --> 09:18:47,840 will lead to higher CLV or LTV, customer 19316 09:18:46,398 --> 09:18:49,520 lifetime value, and potentially more 19317 09:18:47,840 --> 09:18:51,144 referrals, which is more business that 19318 09:18:49,520 --> 09:18:52,718 is also warm and there's more trust, 19319 09:18:51,144 --> 09:18:54,000 [music] and they're easier to close. 19320 09:18:52,718 --> 09:18:55,520 Now, retainers do come in different 19321 09:18:54,000 --> 09:18:57,040 styles. They could be based on hours, 19322 09:18:55,520 --> 09:18:58,398 based on deliverables, or hybrid. 19323 09:18:57,040 --> 09:19:00,160 [music] Personally, I would recommend 19324 09:18:58,398 --> 09:19:01,680 sort of a milestone-based retainer. 19325 09:19:00,160 --> 09:19:03,598 Hours make you look like a freelancer. 19326 09:19:01,680 --> 09:19:05,598 Milestones position you as a consultant, 19327 09:19:03,598 --> 09:19:07,520 an AI partner. But a big question I get 19328 09:19:05,598 --> 09:19:08,960 when I kind of talk about this is, how 19329 09:19:07,520 --> 09:19:10,558 do [music] I keep using valuebased 19330 09:19:08,960 --> 09:19:12,000 pricing inside a retainer? At this 19331 09:19:10,558 --> 09:19:13,278 stage, your goal kind of shifts because 19332 09:19:12,000 --> 09:19:14,728 you're not trying to squeeze maximum 19333 09:19:13,278 --> 09:19:16,480 value and money out of each individual 19334 09:19:14,728 --> 09:19:18,080 [music] project. Your priority becomes 19335 09:19:16,480 --> 09:19:19,756 building trust, stacking wins, and 19336 09:19:18,080 --> 09:19:21,120 increasing the retainer over time as 19337 09:19:19,756 --> 09:19:22,720 your impact [music] scales, almost like 19338 09:19:21,120 --> 09:19:24,800 you're trying to work your way into sort 19339 09:19:22,720 --> 09:19:26,720 of a chief AI officer type of role. 19340 09:19:24,800 --> 09:19:28,640 Plus, as these systems get complex, it's 19341 09:19:26,720 --> 09:19:30,320 harder to deliver, test, and refine 19342 09:19:28,640 --> 09:19:31,436 everything in a single month. In fact, 19343 09:19:30,320 --> 09:19:33,120 that's actually just [music] really 19344 09:19:31,436 --> 09:19:35,120 unrealistic, especially if you want the 19345 09:19:33,120 --> 09:19:36,640 system to be fully QA before production 19346 09:19:35,120 --> 09:19:37,916 and then in production, taking time to 19347 09:19:36,640 --> 09:19:39,360 iterate and constantly refine. [music] 19348 09:19:37,916 --> 09:19:40,880 So, what you'll probably find is that 19349 09:19:39,360 --> 09:19:42,880 you're naturally going to be making more 19350 09:19:40,880 --> 09:19:44,080 total revenue on this model anyways. And 19351 09:19:42,880 --> 09:19:45,596 it's a lot more predictable. So, the 19352 09:19:44,080 --> 09:19:47,040 less time and energy that you spend on 19353 09:19:45,596 --> 09:19:48,240 worrying about where your next dollar is 19354 09:19:47,040 --> 09:19:49,916 coming from, the more time you spend 19355 09:19:48,240 --> 09:19:51,436 making a real impact. And that opens the 19356 09:19:49,916 --> 09:19:53,840 door for higher retainers or even 19357 09:19:51,436 --> 09:19:55,040 performance bonuses tied to key business 19358 09:19:53,840 --> 09:19:57,040 metrics. [music] And don't forget, 19359 09:19:55,040 --> 09:19:59,200 you'll also be maintaining the previous 19360 09:19:57,040 --> 09:20:00,960 systems, updating things when new models 19361 09:19:59,200 --> 09:20:02,640 come out, fixing bugs, making sure that 19362 09:20:00,960 --> 09:20:04,080 you're, you know, staying on top of any 19363 09:20:02,640 --> 09:20:06,000 updates, and just keeping everything 19364 09:20:04,080 --> 09:20:08,080 aligned with the original scope. That 19365 09:20:06,000 --> 09:20:09,436 alone justifies ongoing fees. So, the 19366 09:20:08,080 --> 09:20:11,200 last thing I'll say is this. We're still 19367 09:20:09,436 --> 09:20:13,520 early. Businesses need enablement, 19368 09:20:11,200 --> 09:20:14,560 audits, education more than ever. They 19369 09:20:13,520 --> 09:20:16,080 don't know what's possible, and they 19370 09:20:14,560 --> 09:20:17,360 don't know where AI fits into their 19371 09:20:16,080 --> 09:20:18,720 operations [music] even though they know 19372 09:20:17,360 --> 09:20:20,000 they need to start using it. So, if 19373 09:20:18,720 --> 09:20:21,680 you're already that person who's been 19374 09:20:20,000 --> 09:20:23,040 wrapped up in their ecosystem, delivered 19375 09:20:21,680 --> 09:20:24,400 real value for them, they'll happily 19376 09:20:23,040 --> 09:20:25,756 trust you to guide them through that 19377 09:20:24,400 --> 09:20:27,040 process, too. And if you guys want, I 19378 09:20:25,756 --> 09:20:28,560 can make a full breakdown video on 19379 09:20:27,040 --> 09:20:30,080 audits, enablement, and actually 19380 09:20:28,560 --> 09:20:31,436 structuring sort of like educational 19381 09:20:30,080 --> 09:20:32,880 offers. Just let me know in the comments 19382 09:20:31,436 --> 09:20:34,160 down below. But anyways, after you've 19383 09:20:32,880 --> 09:20:36,160 picked the right model, the question 19384 09:20:34,160 --> 09:20:38,560 becomes how you actually figure out what 19385 09:20:36,160 --> 09:20:40,480 exact number to charge. So, this part 19386 09:20:38,560 --> 09:20:42,400 always goes back to your discovery phase 19387 09:20:40,480 --> 09:20:43,840 because you can't really give a real 19388 09:20:42,400 --> 09:20:46,400 price if you don't understand the 19389 09:20:43,840 --> 09:20:47,840 current manual process in its entirety. 19390 09:20:46,400 --> 09:20:49,120 That's your job during discovery. Before 19391 09:20:47,840 --> 09:20:50,800 you think about pricing anything, you 19392 09:20:49,120 --> 09:20:52,000 need to map out the process from start 19393 09:20:50,800 --> 09:20:53,360 to finish. So that means you need to 19394 09:20:52,000 --> 09:20:54,800 understand things like how often does 19395 09:20:53,360 --> 09:20:56,400 the process happen, what triggers it, 19396 09:20:54,800 --> 09:20:58,240 who the key stakeholders are, how long 19397 09:20:56,400 --> 09:21:00,320 it takes each time, what each hour of 19398 09:20:58,240 --> 09:21:02,240 that work is worth in dollars based on 19399 09:21:00,320 --> 09:21:04,000 salary, number of employees involved, or 19400 09:21:02,240 --> 09:21:05,520 even software costs, and other things of 19401 09:21:04,000 --> 09:21:06,960 that nature. And then once you know all 19402 09:21:05,520 --> 09:21:08,480 of that, you can start comparing the 19403 09:21:06,960 --> 09:21:10,240 manual version to what the automated 19404 09:21:08,480 --> 09:21:11,520 version of that system would look like. 19405 09:21:10,240 --> 09:21:13,200 But the key here is you just can't 19406 09:21:11,520 --> 09:21:14,400 overpromise results. You have to be 19407 09:21:13,200 --> 09:21:15,756 realistic about it. So maybe you're 19408 09:21:14,400 --> 09:21:17,276 building a system that only automates 19409 09:21:15,756 --> 09:21:18,960 half of the process. And make sure 19410 09:21:17,276 --> 09:21:20,720 you're factoring in that half, not 19411 09:21:18,960 --> 09:21:22,640 automating that full process into your 19412 09:21:20,720 --> 09:21:24,000 ROI. But the idea is the second the 19413 09:21:22,640 --> 09:21:25,596 workflow goes live, the business 19414 09:21:24,000 --> 09:21:27,276 instantly starts getting back time, 19415 09:21:25,596 --> 09:21:28,720 money, and focus. And it's your job to 19416 09:21:27,276 --> 09:21:30,000 translate that into numbers that the 19417 09:21:28,720 --> 09:21:31,360 client can understand. So here's a 19418 09:21:30,000 --> 09:21:33,200 simple example. Let's say the process 19419 09:21:31,360 --> 09:21:34,960 you're automating is a customer support 19420 09:21:33,200 --> 09:21:36,960 process, and it takes the rep one hour 19421 09:21:34,960 --> 09:21:39,200 every single day. Let's say 1 hour of 19422 09:21:36,960 --> 09:21:41,276 their time is worth $50. Over the course 19423 09:21:39,200 --> 09:21:42,560 of a year, that's roughly $12,000 worth 19424 09:21:41,276 --> 09:21:43,916 of time that they're spending on that 19425 09:21:42,560 --> 09:21:45,276 task. So that means that the workflow 19426 09:21:43,916 --> 09:21:47,040 you're building is saving the business 19427 09:21:45,276 --> 09:21:48,720 $12,000 annually. And this is where 19428 09:21:47,040 --> 09:21:50,080 valuebased pricing kicks in because as a 19429 09:21:48,720 --> 09:21:51,840 good rule of thumb, you want the client 19430 09:21:50,080 --> 09:21:53,436 to be able to see a 10 times return on 19431 09:21:51,840 --> 09:21:54,800 what they invest in that first year. So 19432 09:21:53,436 --> 09:21:57,824 if the workflow is going to save them 19433 09:21:54,800 --> 09:21:58,800 $12,000, 10% of that would be $1,200. 19434 09:21:57,824 --> 09:22:00,320 [music] And that's your starting point 19435 09:21:58,800 --> 09:22:01,520 for pricing. You see how easy it was for 19436 09:22:00,320 --> 09:22:02,720 me to explain that to you? That's 19437 09:22:01,520 --> 09:22:04,000 exactly how you would just want to 19438 09:22:02,720 --> 09:22:05,200 explain it to a client. When someone 19439 09:22:04,000 --> 09:22:06,560 asks, "How did you come up with that 19440 09:22:05,200 --> 09:22:07,680 number?" You walk them through the math 19441 09:22:06,560 --> 09:22:09,120 step by step. It's going to build 19442 09:22:07,680 --> 09:22:10,720 instant trust. And this doesn't even 19443 09:22:09,120 --> 09:22:12,160 include opportunity cost. Because 19444 09:22:10,720 --> 09:22:13,596 freeing up an hour of that employees 19445 09:22:12,160 --> 09:22:15,040 time every single day doesn't just save 19446 09:22:13,596 --> 09:22:16,720 the business money, it's also enabling 19447 09:22:15,040 --> 09:22:18,400 that employee to shift their time into 19448 09:22:16,720 --> 09:22:20,000 higher value work. Real revenue 19449 09:22:18,400 --> 09:22:21,436 generating opportunities. Answering 19450 09:22:20,000 --> 09:22:22,800 fewer repetitive customer support 19451 09:22:21,436 --> 09:22:24,160 tickets might mean that they can support 19452 09:22:22,800 --> 09:22:25,916 new hires, talk to high-v value 19453 09:22:24,160 --> 09:22:27,200 customers, or help improve systems, 19454 09:22:25,916 --> 09:22:28,800 things that actually push the business 19455 09:22:27,200 --> 09:22:30,080 forward. That's why the ROI often 19456 09:22:28,800 --> 09:22:32,080 compounds. [music] Maybe month one they 19457 09:22:30,080 --> 09:22:34,000 save $1,000, but maybe month two it's 19458 09:22:32,080 --> 09:22:35,436 1,500. Month three it could be $2,000. 19459 09:22:34,000 --> 09:22:37,436 So over a full year, it could end up 19460 09:22:35,436 --> 09:22:39,040 being far more than just that $12,000 19461 09:22:37,436 --> 09:22:40,640 that you originally projected. And when 19462 09:22:39,040 --> 09:22:41,756 the value grows, so does your pricing 19463 09:22:40,640 --> 09:22:42,960 power. Now, once you do a couple of 19464 09:22:41,756 --> 09:22:44,240 these projects and you've built some 19465 09:22:42,960 --> 09:22:45,680 trust, that's when you can start to talk 19466 09:22:44,240 --> 09:22:47,436 about retainers. And this is where the 19467 09:22:45,680 --> 09:22:49,040 math does shift a little bit because now 19468 09:22:47,436 --> 09:22:50,800 you're not pricing for one workflow. 19469 09:22:49,040 --> 09:22:52,320 You're pricing your time, your team, if 19470 09:22:50,800 --> 09:22:53,840 you have one, and your ongoing support. 19471 09:22:52,320 --> 09:22:55,596 So with a retainer, you want to protect 19472 09:22:53,840 --> 09:22:57,120 your margins. Think about what does it 19473 09:22:55,596 --> 09:22:58,640 cost for you to operate and for you to 19474 09:22:57,120 --> 09:22:59,756 deliver. What is your time worth? What 19475 09:22:58,640 --> 09:23:00,960 does it cost if you bring on a 19476 09:22:59,756 --> 09:23:02,240 developer? What does it cost if you 19477 09:23:00,960 --> 09:23:04,080 maintain the systems that you've already 19478 09:23:02,240 --> 09:23:05,520 built? Even if you're not selling hours, 19479 09:23:04,080 --> 09:23:07,040 you still need to understand how much 19480 09:23:05,520 --> 09:23:08,400 time things are taking because this 19481 09:23:07,040 --> 09:23:09,360 helps you think about staffing for 19482 09:23:08,400 --> 09:23:10,640 milestones. Here are the [music] 19483 09:23:09,360 --> 09:23:12,160 questions I would ask myself. Is this 19484 09:23:10,640 --> 09:23:13,680 just me working full-time inside the 19485 09:23:12,160 --> 09:23:15,200 client's business? Does this require a 19486 09:23:13,680 --> 09:23:16,560 part-time engineer? Does it require a 19487 09:23:15,200 --> 09:23:18,240 full-time engineer? Does this also 19488 09:23:16,560 --> 09:23:19,756 require an account manager or a project 19489 09:23:18,240 --> 09:23:21,680 manager? Once you know those things, you 19490 09:23:19,756 --> 09:23:23,680 can start to estimate what it costs you 19491 09:23:21,680 --> 09:23:25,040 as a business to run every month. So, 19492 09:23:23,680 --> 09:23:26,640 let's say you figure out that servicing 19493 09:23:25,040 --> 09:23:28,240 this particular client properly would 19494 09:23:26,640 --> 09:23:29,916 cost you $5,000 per month. In the 19495 09:23:28,240 --> 09:23:31,596 consulting and agency world, the general 19496 09:23:29,916 --> 09:23:34,160 target margin for this type of work is 19497 09:23:31,596 --> 09:23:36,160 50 to 70%. 50% is a good baseline to 19498 09:23:34,160 --> 09:23:37,436 shoot for. 70% is great and it gives you 19499 09:23:36,160 --> 09:23:39,200 room to scale. But just remember that 19500 09:23:37,436 --> 09:23:40,960 we're in a service-based business where 19501 09:23:39,200 --> 09:23:42,240 the work is very custom and bespoke. So 19502 09:23:40,960 --> 09:23:44,400 you have to make sure you're protecting 19503 09:23:42,240 --> 09:23:46,320 at least 50% margin. Otherwise, you may 19504 09:23:44,400 --> 09:23:47,756 struggle to pay your employees and it 19505 09:23:46,320 --> 09:23:49,916 could just get messy. So in this case, 19506 09:23:47,756 --> 09:23:51,200 if it cost you $5,000 per month to 19507 09:23:49,916 --> 09:23:52,880 deliver, you might want to price the 19508 09:23:51,200 --> 09:23:54,640 retainer at $10,000 per month. That 19509 09:23:52,880 --> 09:23:56,000 gives you a 50% margin and a lot of 19510 09:23:54,640 --> 09:23:57,436 breathing room to bring on help or 19511 09:23:56,000 --> 09:23:59,040 expand the scope later. And this is why 19512 09:23:57,436 --> 09:24:00,480 I always tell people to start solo or 19513 09:23:59,040 --> 09:24:01,916 with one developer because the second 19514 09:24:00,480 --> 09:24:03,680 that you start juggling multiple clients 19515 09:24:01,916 --> 09:24:05,436 and multiple engineers, your margins can 19516 09:24:03,680 --> 09:24:07,040 shrink fast if you're not careful and 19517 09:24:05,436 --> 09:24:08,640 doing projections like this. If you've 19518 09:24:07,040 --> 09:24:10,160 got a developer on salary, you never 19519 09:24:08,640 --> 09:24:11,596 want them sitting idle because you 19520 09:24:10,160 --> 09:24:13,360 overestimated [music] workload or 19521 09:24:11,596 --> 09:24:15,200 promised unrealistic timelines because 19522 09:24:13,360 --> 09:24:16,720 that's how agencies burn cash. If you've 19523 09:24:15,200 --> 09:24:18,640 got some developers kind of on the bench 19524 09:24:16,720 --> 09:24:20,400 as hourly contractors, it's not as 19525 09:24:18,640 --> 09:24:21,840 damaging to the business, but still not 19526 09:24:20,400 --> 09:24:23,436 the ideal situation. So when you think 19527 09:24:21,840 --> 09:24:25,200 it through and you protect your margins 19528 09:24:23,436 --> 09:24:26,400 and you [music] build a repeatable way 19529 09:24:25,200 --> 09:24:27,680 of delivering, that's when you get 19530 09:24:26,400 --> 09:24:29,436 predictable profit. And predictable 19531 09:24:27,680 --> 09:24:30,880 profit is what actually lets you scale, 19532 09:24:29,436 --> 09:24:33,040 make more hires, bring on new team 19533 09:24:30,880 --> 09:24:34,372 members without tons of stress. Now, 19534 09:24:33,040 --> 09:24:35,520 even if your price is perfect and 19535 09:24:34,372 --> 09:24:36,960 [music] you have all the ROI 19536 09:24:35,520 --> 09:24:38,480 calculations to back it up, how you 19537 09:24:36,960 --> 09:24:40,000 present it makes all the difference in 19538 09:24:38,480 --> 09:24:41,436 whether a client says yes or no. And 19539 09:24:40,000 --> 09:24:42,560 here's the key. You never start with the 19540 09:24:41,436 --> 09:24:44,080 price. You want to start with that 19541 09:24:42,560 --> 09:24:45,520 transformation before you ever say a 19542 09:24:44,080 --> 09:24:47,040 number. You want the client imagining 19543 09:24:45,520 --> 09:24:48,400 what the business looks like once that 19544 09:24:47,040 --> 09:24:49,756 system is live, what their team's 19545 09:24:48,400 --> 09:24:51,360 day-to-day looks like, what problems 19546 09:24:49,756 --> 09:24:52,720 disappear, what becomes easier, and once 19547 09:24:51,360 --> 09:24:54,160 they're bought into that outcome, the 19548 09:24:52,720 --> 09:24:55,200 price starts to make more sense. When 19549 09:24:54,160 --> 09:24:56,880 you walk them through the proposed 19550 09:24:55,200 --> 09:24:58,560 solution, you want to explain exactly 19551 09:24:56,880 --> 09:25:00,080 everything that's actually included in 19552 09:24:58,560 --> 09:25:02,080 that total cost. So that usually looks 19553 09:25:00,080 --> 09:25:03,840 like setup, hosting, testing and quality 19554 09:25:02,080 --> 09:25:04,960 checks, optimization, their involvement 19555 09:25:03,840 --> 09:25:06,800 in what you need from them, 19556 09:25:04,960 --> 09:25:08,320 documentation, enablement, and training, 19557 09:25:06,800 --> 09:25:09,596 and if the conversation goes there, 19558 09:25:08,320 --> 09:25:11,040 maintenance. And when the client 19559 09:25:09,596 --> 09:25:12,480 understands everything that's included, 19560 09:25:11,040 --> 09:25:14,240 it will also be much easier for them to 19561 09:25:12,480 --> 09:25:15,916 see your price as an investment instead 19562 09:25:14,240 --> 09:25:17,756 of just some random expense. This is 19563 09:25:15,916 --> 09:25:19,520 also where visuals help a lot. So simple 19564 09:25:17,756 --> 09:25:21,520 screenshots, a small wireframe, or even 19565 09:25:19,520 --> 09:25:23,276 a rough diagram of the workflow can make 19566 09:25:21,520 --> 09:25:24,720 the process feel real and tangible. If 19567 09:25:23,276 --> 09:25:26,160 you've got a working demo or past case 19568 09:25:24,720 --> 09:25:27,916 studies, this is the perfect moment to 19569 09:25:26,160 --> 09:25:29,916 use them as well. Even in discovery, I 19570 09:25:27,916 --> 09:25:31,596 talk about how important it is to be 19571 09:25:29,916 --> 09:25:32,960 writing down all the steps while you're 19572 09:25:31,596 --> 09:25:34,400 sharing your screen so the client can 19573 09:25:32,960 --> 09:25:35,596 see exactly, you know, what you think of 19574 09:25:34,400 --> 09:25:37,120 the process and make sure you guys are 19575 09:25:35,596 --> 09:25:38,480 aligned. Same thing with a wireframe. 19576 09:25:37,120 --> 09:25:39,680 and then you guys are fully aligned 19577 09:25:38,480 --> 09:25:40,880 before you ever talk about money. 19578 09:25:39,680 --> 09:25:42,720 Because one of the biggest mistakes that 19579 09:25:40,880 --> 09:25:44,560 I made early on was having scopes that 19580 09:25:42,720 --> 09:25:46,160 were way too vague, way too ambiguous. I 19581 09:25:44,560 --> 09:25:47,276 would deliver something and the client 19582 09:25:46,160 --> 09:25:48,800 thought that it needed more. And we 19583 09:25:47,276 --> 09:25:50,480 ended up going back and forth debating 19584 09:25:48,800 --> 09:25:51,916 what done actually meant. When you 19585 09:25:50,480 --> 09:25:53,436 present your proposal, be very clear 19586 09:25:51,916 --> 09:25:54,720 about what the final outcome actually 19587 09:25:53,436 --> 09:25:56,320 looks like. Spell it out, what's 19588 09:25:54,720 --> 09:25:57,520 included, what isn't, what counts as 19589 09:25:56,320 --> 09:25:59,200 completion. You should have a very 19590 09:25:57,520 --> 09:26:01,040 clear, bulleted list of the exact 19591 09:25:59,200 --> 09:26:02,320 functionality requirements of the system 19592 09:26:01,040 --> 09:26:03,840 in this scope of work. This [music] will 19593 09:26:02,320 --> 09:26:05,520 save you frustration. It protects your 19594 09:26:03,840 --> 09:26:06,960 time. It sets the relationship off on 19595 09:26:05,520 --> 09:26:08,320 the right foot and it prevents scope 19596 09:26:06,960 --> 09:26:09,680 creep because naturally as you start 19597 09:26:08,320 --> 09:26:11,200 building and the client starts to get 19598 09:26:09,680 --> 09:26:12,560 updates and give you feedback, you guys 19599 09:26:11,200 --> 09:26:13,680 are both going to realize that there's 19600 09:26:12,560 --> 09:26:15,120 different features you'd want to add 19601 09:26:13,680 --> 09:26:16,480 into the system. And in that case, you 19602 09:26:15,120 --> 09:26:17,916 just have to say, "Hey, I'll add these 19603 09:26:16,480 --> 09:26:19,756 to the backlog, all of these feature 19604 09:26:17,916 --> 09:26:21,040 requests, and when we do a V2, we can 19605 09:26:19,756 --> 09:26:22,320 add them all in. And also, what you're 19606 09:26:21,040 --> 09:26:23,916 doing there is you're planting a seed 19607 09:26:22,320 --> 09:26:25,200 that there will be future work between 19608 09:26:23,916 --> 09:26:26,960 you two. Something else that you need to 19609 09:26:25,200 --> 09:26:28,560 make clear is the QA process, the 19610 09:26:26,960 --> 09:26:30,240 quality [music] assurance process. Even 19611 09:26:28,560 --> 09:26:31,596 the best workflows need a real testing 19612 09:26:30,240 --> 09:26:33,276 period before they go into full 19613 09:26:31,596 --> 09:26:34,960 production. And even then, you want to 19614 09:26:33,276 --> 09:26:36,640 consider constantly monitoring them and 19615 09:26:34,960 --> 09:26:38,560 evaluating them. That means you first 19616 09:26:36,640 --> 09:26:39,756 have internal QA, internal testing. Then 19617 09:26:38,560 --> 09:26:41,436 you have the client do testing and 19618 09:26:39,756 --> 09:26:42,800 feedback and you fix bugs and you add 19619 09:26:41,436 --> 09:26:44,880 small adjustments and then you do 19620 09:26:42,800 --> 09:26:46,400 another round of internal QA, client QA. 19621 09:26:44,880 --> 09:26:48,080 Finally, you're able to evaluate it with 19622 09:26:46,400 --> 09:26:49,520 live data and then consider pushing it 19623 09:26:48,080 --> 09:26:51,040 into full production. And you need to 19624 09:26:49,520 --> 09:26:52,400 make sure that they understand their 19625 09:26:51,040 --> 09:26:53,360 role in the process because they're 19626 09:26:52,400 --> 09:26:55,120 going to have to give you access to 19627 09:26:53,360 --> 09:26:56,720 tools, provide test data, answer 19628 09:26:55,120 --> 09:26:58,160 questions quickly, give you feedback, 19629 09:26:56,720 --> 09:26:59,756 and if they're slow and unresponsive, 19630 09:26:58,160 --> 09:27:01,596 then everything kind of slows down and 19631 09:26:59,756 --> 09:27:03,120 that is not on you. So once again, 19632 09:27:01,596 --> 09:27:04,480 setting these expectations up front 19633 09:27:03,120 --> 09:27:06,240 makes the project smoother for both 19634 09:27:04,480 --> 09:27:08,000 sides. Now, of course, not every client 19635 09:27:06,240 --> 09:27:09,436 will instantly agree. So you do need to 19636 09:27:08,000 --> 09:27:11,120 know how to handle objections without 19637 09:27:09,436 --> 09:27:13,040 lowering your value. If they push back, 19638 09:27:11,120 --> 09:27:14,880 adjust the scope, not the price. Reduce 19639 09:27:13,040 --> 09:27:16,160 complexity, remove a feature, break it 19640 09:27:14,880 --> 09:27:17,596 into phases, but [music] don't discount 19641 09:27:16,160 --> 09:27:18,800 the value that it's actually providing. 19642 09:27:17,596 --> 09:27:20,160 And as you talk to more clients who 19643 09:27:18,800 --> 09:27:21,520 start to notice these patterns in their 19644 09:27:20,160 --> 09:27:23,040 objections, and once you see those 19645 09:27:21,520 --> 09:27:24,800 patterns, you can start to address those 19646 09:27:23,040 --> 09:27:26,160 concerns before the client even ever 19647 09:27:24,800 --> 09:27:27,756 brings them up. This is how you remove 19648 09:27:26,160 --> 09:27:29,200 those hidden costs and it builds a lot 19649 09:27:27,756 --> 09:27:30,640 more trust. When someone is budget 19650 09:27:29,200 --> 09:27:32,320 sensitive, bring the conversation back 19651 09:27:30,640 --> 09:27:33,840 to the long-term value instead of the 19652 09:27:32,320 --> 09:27:35,756 short-term expense. You can remind them 19653 09:27:33,840 --> 09:27:37,120 that the goal is to save time, money 19654 09:27:35,756 --> 09:27:38,320 every single month, not just to have 19655 09:27:37,120 --> 09:27:39,916 something built. It's [music] also super 19656 09:27:38,320 --> 09:27:41,360 important to understand when to walk 19657 09:27:39,916 --> 09:27:43,596 away. Just because someone is willing to 19658 09:27:41,360 --> 09:27:45,200 pay you $10,000 upfront, that does not 19659 09:27:43,596 --> 09:27:46,720 mean you want them as a client. If they 19660 09:27:45,200 --> 09:27:48,480 undervalue your work, question every 19661 09:27:46,720 --> 09:27:50,080 step, or they show early signs of being 19662 09:27:48,480 --> 09:27:51,596 a difficult partner, walking away is 19663 09:27:50,080 --> 09:27:53,120 often the best decision. Protects your 19664 09:27:51,596 --> 09:27:54,400 energy and your reputation. A lot of 19665 09:27:53,120 --> 09:27:55,680 times, it just might be a feeling that 19666 09:27:54,400 --> 09:27:57,120 you get in your gut. One of the most 19667 09:27:55,680 --> 09:27:58,480 common questions I get is about 19668 09:27:57,120 --> 09:27:59,680 intellectual property though, so I 19669 09:27:58,480 --> 09:28:01,200 thought I'd address that here for you 19670 09:27:59,680 --> 09:28:02,880 guys real quick. Clients want to know if 19671 09:28:01,200 --> 09:28:04,880 they will own what you build. Now, the 19672 09:28:02,880 --> 09:28:06,800 simple answer is yes. It's just the best 19673 09:28:04,880 --> 09:28:08,160 way to handle it. All IP that we build 19674 09:28:06,800 --> 09:28:09,840 for them is [music] theirs. I usually 19675 09:28:08,160 --> 09:28:11,596 handle this by saying, "Yeah, we build 19676 09:28:09,840 --> 09:28:13,120 on open infrastructure. We use internal 19677 09:28:11,596 --> 09:28:14,560 components or templates to speed up 19678 09:28:13,120 --> 09:28:16,640 development. But the real IP in the 19679 09:28:14,560 --> 09:28:18,240 system is the prompts, your data, your 19680 09:28:16,640 --> 09:28:19,700 workflows, and how everything is 19681 09:28:18,240 --> 09:28:20,960 combined in this ecosystem." So that's 19682 09:28:19,700 --> 09:28:22,720 [music] very specific to your business 19683 09:28:20,960 --> 09:28:23,916 and provides no value to anyone else. 19684 09:28:22,720 --> 09:28:25,200 You're not losing anything by giving 19685 09:28:23,916 --> 09:28:26,960 them ownership. Just make sure you're 19686 09:28:25,200 --> 09:28:28,320 protecting your own reusable components, 19687 09:28:26,960 --> 09:28:29,840 though. So, that's only one example of 19688 09:28:28,320 --> 09:28:31,200 an objection. In the free resource guide 19689 09:28:29,840 --> 09:28:32,800 that will come with this video, I'll add 19690 09:28:31,200 --> 09:28:34,240 like six more common objections and 19691 09:28:32,800 --> 09:28:35,680 exactly how you can handle them. You can 19692 09:28:34,240 --> 09:28:36,640 download it for free inside my school 19693 09:28:35,680 --> 09:28:37,756 community. The link for that will be 19694 09:28:36,640 --> 09:28:39,120 down in the description. So, once you've 19695 09:28:37,756 --> 09:28:40,880 closed a few clients, the next step is 19696 09:28:39,120 --> 09:28:42,560 turning those one-time projects into 19697 09:28:40,880 --> 09:28:44,000 consistent recurring income. Even if 19698 09:28:42,560 --> 09:28:45,520 you're not on a full monthly retainer, 19699 09:28:44,000 --> 09:28:47,200 you can still introduce simple recurring 19700 09:28:45,520 --> 09:28:48,560 services that can benefit both sides. 19701 09:28:47,200 --> 09:28:49,916 These are small add-ons that create 19702 09:28:48,560 --> 09:28:51,040 stability for you [music] and peace of 19703 09:28:49,916 --> 09:28:52,400 mind for the client. and they're easy 19704 09:28:51,040 --> 09:28:54,080 for clients to say yes to because 19705 09:28:52,400 --> 09:28:55,680 they're tied directly to maintaining the 19706 09:28:54,080 --> 09:28:57,040 system that you already built. So, here 19707 09:28:55,680 --> 09:28:58,800 are a few examples. The first one you 19708 09:28:57,040 --> 09:29:00,000 could do is a maintenance fee. This is 19709 09:28:58,800 --> 09:29:01,596 one of the simplest add-ons. You can 19710 09:29:00,000 --> 09:29:03,120 charge a small monthly fee to make sure 19711 09:29:01,596 --> 09:29:05,120 that their workflow stays healthy if an 19712 09:29:03,120 --> 09:29:06,880 API changes, if a model updates, if 19713 09:29:05,120 --> 09:29:08,640 something breaks, or if the client needs 19714 09:29:06,880 --> 09:29:09,916 minor feature enhancements. You're there 19715 09:29:08,640 --> 09:29:11,120 to keep everything running smoothly. 19716 09:29:09,916 --> 09:29:12,640 It's a light retainer that covers 19717 09:29:11,120 --> 09:29:14,480 reliability and support. Now, this could 19718 09:29:12,640 --> 09:29:17,436 be a flat monthly fee, something like 19719 09:29:14,480 --> 09:29:19,200 200 to 1,500 bucks per month per system. 19720 09:29:17,436 --> 09:29:20,800 Second option is kind of optimization 19721 09:29:19,200 --> 09:29:22,640 and monitoring. This is another option 19722 09:29:20,800 --> 09:29:24,400 that is ongoing optimization. You can 19723 09:29:22,640 --> 09:29:26,000 check the systems weekly or monthly, 19724 09:29:24,400 --> 09:29:27,436 review logs, look at outputs, and 19725 09:29:26,000 --> 09:29:28,960 tighten things up so the workflow keeps 19726 09:29:27,436 --> 09:29:31,040 improving over time. This is really good 19727 09:29:28,960 --> 09:29:32,720 for AI heavy systems because the prompt 19728 09:29:31,040 --> 09:29:34,400 tuning, the new models, the quality 19729 09:29:32,720 --> 09:29:35,916 checks, and the retrieval steps often 19730 09:29:34,400 --> 09:29:37,520 get better the more that you iterate and 19731 09:29:35,916 --> 09:29:38,640 the more feedback you get from the real 19732 09:29:37,520 --> 09:29:40,480 world. And then the third one is 19733 09:29:38,640 --> 09:29:41,840 expansion projects. This one's big. Like 19734 09:29:40,480 --> 09:29:44,240 we talked about earlier, whenever you 19735 09:29:41,840 --> 09:29:46,000 sell a valuebased project, you and the 19736 09:29:44,240 --> 09:29:48,240 client almost always uncover a backlog 19737 09:29:46,000 --> 09:29:49,680 of improvements, new ideas, or version 19738 09:29:48,240 --> 09:29:51,200 two upgrades. and that's completely 19739 09:29:49,680 --> 09:29:52,880 normal. It's also a perfect opportunity 19740 09:29:51,200 --> 09:29:54,240 to turn a one-off project into a 19741 09:29:52,880 --> 09:29:55,756 longerterm partnership. Now, the beauty 19742 09:29:54,240 --> 09:29:57,596 of these different retainers is that you 19743 09:29:55,756 --> 09:29:58,720 could sell just one of them or all three 19744 09:29:57,596 --> 09:30:00,000 of them as a package. You can think 19745 09:29:58,720 --> 09:30:01,596 about pricing all of these different 19746 09:30:00,000 --> 09:30:03,596 retainers as a monthly fee, maybe 19747 09:30:01,596 --> 09:30:05,276 somewhere from 200 to upwards of 1,500 19748 09:30:03,596 --> 09:30:06,880 per month, but you could also do it as 19749 09:30:05,276 --> 09:30:08,800 an hourly maintenance package where you 19750 09:30:06,880 --> 09:30:10,160 would give them maybe 5 to 20 hours per 19751 09:30:08,800 --> 09:30:12,000 month and assign a dollar amount to 19752 09:30:10,160 --> 09:30:13,276 those hours. Or the last way, which is 19753 09:30:12,000 --> 09:30:14,960 probably the best way to do it, would be 19754 09:30:13,276 --> 09:30:17,756 a percentage of the original project 19755 09:30:14,960 --> 09:30:19,436 cost, anywhere from 10 to 25% of the 19756 09:30:17,756 --> 09:30:20,560 price that they paid. So, recurring 19757 09:30:19,436 --> 09:30:21,680 revenue makes your income more 19758 09:30:20,560 --> 09:30:23,520 predictable. It makes your 19759 09:30:21,680 --> 09:30:25,436 month-to-month more stable. But the real 19760 09:30:23,520 --> 09:30:26,640 purpose of these add-ons is relationship 19761 09:30:25,436 --> 09:30:28,160 building. Because every time that you 19762 09:30:26,640 --> 09:30:30,720 handle maintenance, optimize something, 19763 09:30:28,160 --> 09:30:32,560 or help them launch a V2 or a V3, you're 19764 09:30:30,720 --> 09:30:34,160 reinforcing [music] that you understand 19765 09:30:32,560 --> 09:30:35,916 their business, their workflows, their 19766 09:30:34,160 --> 09:30:37,596 processes, and their goals better than 19767 09:30:35,916 --> 09:30:39,276 anyone else does. And that's how you 19768 09:30:37,596 --> 09:30:40,640 become the partner that they trust, the 19769 09:30:39,276 --> 09:30:41,916 person that they can call when something 19770 09:30:40,640 --> 09:30:43,200 important needs to get built. And the 19771 09:30:41,916 --> 09:30:44,640 deeper that they become integrated with 19772 09:30:43,200 --> 09:30:46,240 you, the harder it is for them to switch 19773 09:30:44,640 --> 09:30:47,596 vendors. You're embedded. You're the one 19774 09:30:46,240 --> 09:30:48,880 who knows how everything works under the 19775 09:30:47,596 --> 09:30:50,480 hood. And that's leverage. The more 19776 09:30:48,880 --> 09:30:52,000 value you provide, the more expansion 19777 09:30:50,480 --> 09:30:53,276 work you will likely unlock. And that's 19778 09:30:52,000 --> 09:30:54,560 how you build a business that grows 19779 09:30:53,276 --> 09:30:56,240 consistently instead of constantly 19780 09:30:54,560 --> 09:30:58,000 trying to find new clients. So to make 19781 09:30:56,240 --> 09:30:59,436 all of this easier to repeat, it helps 19782 09:30:58,000 --> 09:31:00,720 to have a simple internal framework that 19783 09:30:59,436 --> 09:31:02,080 you can follow every single time that 19784 09:31:00,720 --> 09:31:03,520 you price a workflow. That's why I came 19785 09:31:02,080 --> 09:31:05,040 up with the price framework. [music] 19786 09:31:03,520 --> 09:31:06,640 It's a five-step process that takes all 19787 09:31:05,040 --> 09:31:08,320 of the guesswork out of pricing and 19788 09:31:06,640 --> 09:31:10,000 makes sure that you can stay strategic, 19789 09:31:08,320 --> 09:31:11,756 consistent, and grounded in value. So 19790 09:31:10,000 --> 09:31:13,276 the P is for prepare. We started off 19791 09:31:11,756 --> 09:31:14,640 this video talking about the mindset. So 19792 09:31:13,276 --> 09:31:16,000 before you even think about numbers, 19793 09:31:14,640 --> 09:31:17,360 make sure you're grounding everything in 19794 09:31:16,000 --> 09:31:18,640 value based pricing. Just remember, 19795 09:31:17,360 --> 09:31:19,916 you're not charging for hours. You're 19796 09:31:18,640 --> 09:31:21,276 charging for outcomes, and you're 19797 09:31:19,916 --> 09:31:23,360 building systems that [music] save time, 19798 09:31:21,276 --> 09:31:25,120 money, and reduce human error. The R is 19799 09:31:23,360 --> 09:31:26,720 for research. So, this is your discovery 19800 09:31:25,120 --> 09:31:28,320 phase. You want to fully map out the 19801 09:31:26,720 --> 09:31:29,916 manual workflow from start to finish. 19802 09:31:28,320 --> 09:31:31,436 How does it happen? What triggers it? 19803 09:31:29,916 --> 09:31:33,276 Who does it? How long does it take? What 19804 09:31:31,436 --> 09:31:35,120 tools are involved? What does the time 19805 09:31:33,276 --> 09:31:36,480 cost the business? So many things that 19806 09:31:35,120 --> 09:31:38,080 you need to figure out. And you have to 19807 09:31:36,480 --> 09:31:39,436 use this to actually be able to price it 19808 09:31:38,080 --> 09:31:41,840 properly, which leads directly into the 19809 09:31:39,436 --> 09:31:43,200 eye, which is for identify. Identify the 19810 09:31:41,840 --> 09:31:44,800 ROI. This is where you turn your 19811 09:31:43,200 --> 09:31:46,480 research into actual numbers. What are 19812 09:31:44,800 --> 09:31:48,320 the monthly savings, annual savings, the 19813 09:31:46,480 --> 09:31:50,480 opportunity cost, the efficiency gains, 19814 09:31:48,320 --> 09:31:52,080 and remember the 10 times investment 19815 09:31:50,480 --> 09:31:53,756 kind of golden rule. They should roughly 19816 09:31:52,080 --> 09:31:55,436 see 10 times the return on whatever they 19817 09:31:53,756 --> 09:31:57,040 pay you within the first year. The C is 19818 09:31:55,436 --> 09:31:58,640 for communicate. Now that you have that 19819 09:31:57,040 --> 09:32:00,000 price, you still have to present it in a 19820 09:31:58,640 --> 09:32:01,276 way that makes sense. You want to paint 19821 09:32:00,000 --> 09:32:02,720 the picture of what the business will 19822 09:32:01,276 --> 09:32:04,480 look like once the system is live. 19823 09:32:02,720 --> 09:32:05,520 Explain what's included. Explain how QA 19824 09:32:04,480 --> 09:32:06,960 works. Explain [music] what you need 19825 09:32:05,520 --> 09:32:08,800 from them. If you can't communicate 19826 09:32:06,960 --> 09:32:10,080 clearly, you'll probably lose them long 19827 09:32:08,800 --> 09:32:11,436 before you even get to the price 19828 09:32:10,080 --> 09:32:12,960 conversation. [music] And then the E is 19829 09:32:11,436 --> 09:32:14,800 for expand. Once the project is 19830 09:32:12,960 --> 09:32:16,160 complete, your job still is not over. 19831 09:32:14,800 --> 09:32:17,520 You want to look for opportunities to 19832 09:32:16,160 --> 09:32:18,960 continue building on top of that 19833 09:32:17,520 --> 09:32:20,640 relationship. That could be maintenance, 19834 09:32:18,960 --> 09:32:22,800 optimization, monitoring, additional 19835 09:32:20,640 --> 09:32:24,320 workflows, V2 upgrades, retainers, or 19836 09:32:22,800 --> 09:32:26,000 performance bonuses. Your goal isn't 19837 09:32:24,320 --> 09:32:27,200 just one sale. Your goal is to become 19838 09:32:26,000 --> 09:32:28,480 their long-term partner. So, this 19839 09:32:27,200 --> 09:32:30,560 framework gives you a repeatable, 19840 09:32:28,480 --> 09:32:31,840 reliable way to price any AI workflow, 19841 09:32:30,560 --> 09:32:33,520 whether it's your first project or your 19842 09:32:31,840 --> 09:32:35,200 hundth. So, to wrap this up, I wanted to 19843 09:32:33,520 --> 09:32:36,480 show you guys a practical example of how 19844 09:32:35,200 --> 09:32:37,596 this framework works in real life 19845 09:32:36,480 --> 09:32:39,120 because once you see the numbers laid 19846 09:32:37,596 --> 09:32:40,880 out, pricing becomes a lot less scary 19847 09:32:39,120 --> 09:32:42,240 and a lot more logical. So, we worked 19848 09:32:40,880 --> 09:32:43,840 with a client who wanted help with their 19849 09:32:42,240 --> 09:32:45,596 inbound sales process. They were getting 19850 09:32:43,840 --> 09:32:47,120 about 20 leads every single week from 19851 09:32:45,596 --> 09:32:48,720 their form on their website. And every 19852 09:32:47,120 --> 09:32:50,720 one of those leads took about an hour of 19853 09:32:48,720 --> 09:32:52,400 an employees time to reach out, qualify 19854 09:32:50,720 --> 09:32:54,080 them, nurture them, and ultimately have 19855 09:32:52,400 --> 09:32:55,680 them book in a call with the sales team. 19856 09:32:54,080 --> 09:32:57,520 These employees who set those meetings 19857 09:32:55,680 --> 09:32:59,200 were valued at about $40 per hour. So, 19858 09:32:57,520 --> 09:33:01,040 this meant that this one process was 19859 09:32:59,200 --> 09:33:03,040 costing the business $800 per week, 19860 09:33:01,040 --> 09:33:04,720 which is $3,200 per month. And when you 19861 09:33:03,040 --> 09:33:07,276 zoom out and you annualize it, it ends 19862 09:33:04,720 --> 09:33:08,800 up being about $38,000 per year. So, 19863 09:33:07,276 --> 09:33:10,640 let's walk through that example with the 19864 09:33:08,800 --> 09:33:12,240 price framework. So P prepare. Right 19865 09:33:10,640 --> 09:33:14,000 away I grounded myself in value based 19866 09:33:12,240 --> 09:33:15,200 pricing. My job here was not to think 19867 09:33:14,000 --> 09:33:16,640 about how long the workflow would take 19868 09:33:15,200 --> 09:33:18,240 me to build. It was to think about how 19869 09:33:16,640 --> 09:33:20,160 much value it will return to the 19870 09:33:18,240 --> 09:33:21,756 business. The R is for research. Then 19871 09:33:20,160 --> 09:33:23,520 came the discovery phase. We mapped out 19872 09:33:21,756 --> 09:33:25,360 the entire manual process. When leads 19873 09:33:23,520 --> 09:33:26,560 came in, who handled them, exactly how 19874 09:33:25,360 --> 09:33:27,916 long it took, what tools they were 19875 09:33:26,560 --> 09:33:30,480 using, and where the bottlenecks were. 19876 09:33:27,916 --> 09:33:33,276 That's how we arrived at the $38,400 19877 09:33:30,480 --> 09:33:35,040 per year in labor costs opportunity. I 19878 09:33:33,276 --> 09:33:36,880 identified the ROI. Once we had these 19879 09:33:35,040 --> 09:33:38,400 numbers, the investment became obvious. 19880 09:33:36,880 --> 09:33:40,640 I knew automating that process was going 19881 09:33:38,400 --> 09:33:42,560 to save them about $38,000 in a year 19882 09:33:40,640 --> 09:33:45,040 alone, not even counting the opportunity 19883 09:33:42,560 --> 09:33:46,640 cost. So, I priced the product at 15% of 19884 09:33:45,040 --> 09:33:49,436 those annualized savings, and that came 19885 09:33:46,640 --> 09:33:51,040 out to $5,500. Because the ROI was so 19886 09:33:49,436 --> 09:33:52,240 clear, it made complete sense to them, 19887 09:33:51,040 --> 09:33:54,000 and they could see exactly how the 19888 09:33:52,240 --> 09:33:55,680 system would pay for itself. See, 19889 09:33:54,000 --> 09:33:57,040 communicate. Before I ever said the 19890 09:33:55,680 --> 09:33:58,320 price, I walked them through the 19891 09:33:57,040 --> 09:33:59,756 solution, how the sales agents would 19892 09:33:58,320 --> 09:34:01,120 work, what steps it would automate, what 19893 09:33:59,756 --> 09:34:02,400 testing would look like, what I would 19894 09:34:01,120 --> 09:34:04,240 need to know from them, and how it would 19895 09:34:02,400 --> 09:34:05,916 improve both speed to lead and lead 19896 09:34:04,240 --> 09:34:07,596 quality. I also showed them how we would 19897 09:34:05,916 --> 09:34:09,120 track success. By the time I anchored 19898 09:34:07,596 --> 09:34:10,240 the price, they already believed in this 19899 09:34:09,120 --> 09:34:12,480 outcome and they were bought in. [music] 19900 09:34:10,240 --> 09:34:14,160 And finally, the E expand. Once we moved 19901 09:34:12,480 --> 09:34:15,596 into QA and prepared to push the 19902 09:34:14,160 --> 09:34:17,200 workflow into production, that's when we 19903 09:34:15,596 --> 09:34:18,640 started to talk about ongoing support. 19904 09:34:17,200 --> 09:34:21,200 We agreed on a simple maintenance and 19905 09:34:18,640 --> 09:34:23,120 optimization plan at $550 per month, 19906 09:34:21,200 --> 09:34:24,960 which is about 10% of the original 19907 09:34:23,120 --> 09:34:26,240 project's fee. This covered bug fixes, 19908 09:34:24,960 --> 09:34:27,916 keeping everything aligned with the 19909 09:34:26,240 --> 09:34:30,080 scope, making adjustments as models 19910 09:34:27,916 --> 09:34:32,160 updated, and running monthly health 19911 09:34:30,080 --> 09:34:33,840 reports. Now, this is where we actually 19912 09:34:32,160 --> 09:34:35,520 did mess up. I should have been proving 19913 09:34:33,840 --> 09:34:36,960 to the business how valuable the system 19914 09:34:35,520 --> 09:34:38,400 really is once it was pushed into 19915 09:34:36,960 --> 09:34:39,756 production and show them how it was 19916 09:34:38,400 --> 09:34:41,040 actually growing the business. So in 19917 09:34:39,756 --> 09:34:42,560 hindsight, I should have been tracking 19918 09:34:41,040 --> 09:34:43,756 things like how fast leads were being 19919 09:34:42,560 --> 09:34:45,200 contacted, which was basically [music] 19920 09:34:43,756 --> 09:34:46,720 instant now, how many leads per week 19921 09:34:45,200 --> 09:34:48,640 were coming in, how much total time was 19922 09:34:46,720 --> 09:34:50,000 being saved and how the sales team felt 19923 09:34:48,640 --> 09:34:51,436 using the system. And if we were 19924 09:34:50,000 --> 09:34:52,880 actually tracking all of these metrics 19925 09:34:51,436 --> 09:34:54,000 kind of, you know, month after month and 19926 09:34:52,880 --> 09:34:55,436 we're able to show them that, it would 19927 09:34:54,000 --> 09:34:57,040 be very clear how the system is 19928 09:34:55,436 --> 09:34:58,240 explicitly growing the business. And 19929 09:34:57,040 --> 09:35:00,320 this would have given the client more 19930 09:34:58,240 --> 09:35:02,320 visibility into the actual impact and a 19931 09:35:00,320 --> 09:35:03,680 natural entry point for us to make 19932 09:35:02,320 --> 09:35:05,436 version two improvements and the 19933 09:35:03,680 --> 09:35:07,200 potential of getting them on a retainer. 19934 09:35:05,436 --> 09:35:08,400 So, I know that we covered a lot of 19935 09:35:07,200 --> 09:35:10,000 stuff today and I want to make sure that 19936 09:35:08,400 --> 09:35:11,840 it all sticks. So, I've thrown all of 19937 09:35:10,000 --> 09:35:13,360 this into a full resource guide that you 19938 09:35:11,840 --> 09:35:14,640 can get for free by joining my free 19939 09:35:13,360 --> 09:35:15,756 school community. The link for that will 19940 09:35:14,640 --> 09:35:16,960 be down in the description. And if you 19941 09:35:15,756 --> 09:35:18,720 want to dive a little bit deeper, I've 19942 09:35:16,960 --> 09:35:20,000 got a full course on all of this kind of 19943 09:35:18,720 --> 09:35:21,436 stuff. I talk about everything that I've 19944 09:35:20,000 --> 09:35:22,960 been talking about on YouTube, but in 19945 09:35:21,436 --> 09:35:24,320 much more depth. So, if that interests 19946 09:35:22,960 --> 09:35:25,680 you, then definitely check out my plus 19947 09:35:24,320 --> 09:35:26,960 community. The link for that is also 19948 09:35:25,680 --> 09:35:28,240 down in the description. Anyways, that's 19949 09:35:26,960 --> 09:35:29,436 going to do it for today. If you guys 19950 09:35:28,240 --> 09:35:30,480 enjoyed, you learned something new, 19951 09:35:29,436 --> 09:35:32,000 please give it a like. It definitely 19952 09:35:30,480 --> 09:35:33,200 helps me out a ton. And as always, I 19953 09:35:32,000 --> 09:35:34,480 appreciate you guys making it to the end 19954 09:35:33,200 --> 09:35:37,960 of the video. I'll see you on the next 19955 09:35:34,480 --> 09:35:37,960 one. Thanks everyone. 19956 09:35:38,320 --> 09:35:40,960 Okay, so before we get into this next 19957 09:35:39,680 --> 09:35:42,640 one, which is talking about delivering 19958 09:35:40,960 --> 09:35:44,000 and handing over workflows or 19959 09:35:42,640 --> 09:35:45,200 automations, I just wanted to clear 19960 09:35:44,000 --> 09:35:47,916 something up because what you'll notice 19961 09:35:45,200 --> 09:35:49,916 is in the video I do make a few specific 19962 09:35:47,916 --> 09:35:51,520 references to nen and obviously this 19963 09:35:49,916 --> 09:35:52,720 course is about cloud code. But the 19964 09:35:51,520 --> 09:35:55,120 reason why I wanted to still include 19965 09:35:52,720 --> 09:35:56,960 that is because the foundational 19966 09:35:55,120 --> 09:35:58,480 concepts are still the exact same. The 19967 09:35:56,960 --> 09:36:01,596 conversation just moves from okay, 19968 09:35:58,480 --> 09:36:03,040 instead of an NN JSON workflow, it's now 19969 09:36:01,596 --> 09:36:04,720 just like a Python script or a 19970 09:36:03,040 --> 09:36:06,880 TypeScript or whatever coding language 19971 09:36:04,720 --> 09:36:08,160 you use. The key confusion with NN was 19972 09:36:06,880 --> 09:36:10,080 like, okay, who owns the account and 19973 09:36:08,160 --> 09:36:12,000 where is the account hosted? Now the 19974 09:36:10,080 --> 09:36:14,000 question just becomes whose GitHub or is 19975 09:36:12,000 --> 09:36:15,360 this in? Whose trigger.dev or you know 19976 09:36:14,000 --> 09:36:17,520 similar hosting platform does this 19977 09:36:15,360 --> 09:36:19,680 actually live in? Whose domain or cloud 19978 09:36:17,520 --> 09:36:21,276 project is the automation running under? 19979 09:36:19,680 --> 09:36:22,960 You still have the exact same three 19980 09:36:21,276 --> 09:36:25,200 layers about account ownership, about 19981 09:36:22,960 --> 09:36:26,640 infrastructure ownership, about access 19982 09:36:25,200 --> 09:36:28,240 control. The only thing you want to be 19983 09:36:26,640 --> 09:36:30,160 careful about is if there's a specific 19984 09:36:28,240 --> 09:36:31,916 provider that has some sort of licensing 19985 09:36:30,160 --> 09:36:33,360 agreement or terms of service that you 19986 09:36:31,916 --> 09:36:34,320 have to make sure you're not violating. 19987 09:36:33,360 --> 09:36:35,680 But essentially, it's the same 19988 09:36:34,320 --> 09:36:37,200 conversation being upfront with your 19989 09:36:35,680 --> 09:36:38,800 client and saying, "Hey, where do you 19990 09:36:37,200 --> 09:36:40,880 guys feel comfortable with this living?" 19991 09:36:38,800 --> 09:36:43,436 Okay, I need to either have you send me 19992 09:36:40,880 --> 09:36:45,120 over the API keys in an encrypted way or 19993 09:36:43,436 --> 09:36:46,640 you need to sign in over here and put in 19994 09:36:45,120 --> 09:36:48,160 your environment variables, put in the 19995 09:36:46,640 --> 09:36:49,916 API keys so that this automation can 19996 09:36:48,160 --> 09:36:51,756 run. Whether that's on a trigger.dev 19997 09:36:49,916 --> 09:36:53,276 account that I own and I charge you for, 19998 09:36:51,756 --> 09:36:54,720 or whether that's one that you spin up 19999 09:36:53,276 --> 09:36:56,480 and then I just basically put my 20000 09:36:54,720 --> 09:36:58,720 automations in there. Just remember, at 20001 09:36:56,480 --> 09:36:59,840 its core, an automation is code. So, you 20002 09:36:58,720 --> 09:37:01,680 just have to figure out where does that 20003 09:36:59,840 --> 09:37:03,756 code live and what does that code need 20004 09:37:01,680 --> 09:37:04,880 in order to run every day. So, like I 20005 09:37:03,756 --> 09:37:07,040 said, as you're watching this next 20006 09:37:04,880 --> 09:37:08,480 section, just keep that in mind. So, you 20007 09:37:07,040 --> 09:37:09,916 guys are always asking me, Nate, how do 20008 09:37:08,480 --> 09:37:11,276 I host workflows? What does the handover 20009 09:37:09,916 --> 09:37:12,720 process look like? Should I host a 20010 09:37:11,276 --> 09:37:14,160 workflow to the client? What about 20011 09:37:12,720 --> 09:37:15,360 security? These types of questions come 20012 09:37:14,160 --> 09:37:16,720 up all the time. And since there's 20013 09:37:15,360 --> 09:37:18,160 literally no good video covering all of 20014 09:37:16,720 --> 09:37:19,040 it, I figured I'd make one. So, in this 20015 09:37:18,160 --> 09:37:20,800 video, I'm going to walk you guys 20016 09:37:19,040 --> 09:37:22,880 through the entire process of fulfilling 20017 09:37:20,800 --> 09:37:24,400 an AI workflow or agent after a client 20018 09:37:22,880 --> 09:37:25,840 pays you step by step. And at the end, 20019 09:37:24,400 --> 09:37:27,520 I'll show you a real example from one of 20020 09:37:25,840 --> 09:37:28,880 the first AI workflows that I ever sold. 20021 09:37:27,520 --> 09:37:30,240 Let's get into it. So before [music] you 20022 09:37:28,880 --> 09:37:31,436 build anything, the first question that 20023 09:37:30,240 --> 09:37:32,800 you have to answer is simple. Who is 20024 09:37:31,436 --> 09:37:34,000 going to host the workflow? I get this 20025 09:37:32,800 --> 09:37:35,520 question constantly. And since most of 20026 09:37:34,000 --> 09:37:37,680 you guys are using NDN, I'm going to 20027 09:37:35,520 --> 09:37:39,436 frame this answer around how NN actually 20028 09:37:37,680 --> 09:37:41,200 works because its license is actually 20029 09:37:39,436 --> 09:37:42,720 kind of what decides what you can and 20030 09:37:41,200 --> 09:37:43,756 cannot do. I've also worked with tons of 20031 09:37:42,720 --> 09:37:45,200 different clients and I've delivered 20032 09:37:43,756 --> 09:37:46,720 workflows to them in tons of different 20033 09:37:45,200 --> 09:37:48,240 ways. So I basically just charge for the 20034 09:37:46,720 --> 09:37:50,640 JSON file and then I would give that to 20035 09:37:48,240 --> 09:37:52,160 them as well as a Loom setup guide of 20036 09:37:50,640 --> 09:37:53,756 how it works. I've had them invite me to 20037 09:37:52,160 --> 09:37:54,960 their own end account and I would just 20038 09:37:53,756 --> 09:37:56,320 develop right there in their own 20039 09:37:54,960 --> 09:37:57,596 environment. I've developed the workflow 20040 09:37:56,320 --> 09:37:58,960 in my own environment and then they 20041 09:37:57,596 --> 09:38:00,640 would give me their login credentials 20042 09:37:58,960 --> 09:38:01,916 and I would log in and port everything 20043 09:38:00,640 --> 09:38:03,040 and then I would just log out and I've 20044 09:38:01,916 --> 09:38:04,400 also helped people spin up their own 20045 09:38:03,040 --> 09:38:05,920 instance of NadN and then they would 20046 09:38:04,400 --> 09:38:07,840 invite me once they have the account 20047 09:38:05,920 --> 09:38:09,200 [music] as a team member. So I say all 20048 09:38:07,840 --> 09:38:10,480 that to say that there's a lot of 20049 09:38:09,200 --> 09:38:12,080 different ways to do it. So let me tell 20050 09:38:10,480 --> 09:38:13,520 you about the main options and what I 20051 09:38:12,080 --> 09:38:15,360 recommend. So the key rule that you need 20052 09:38:13,520 --> 09:38:17,276 to know is that you can only use Nitn 20053 09:38:15,360 --> 09:38:19,120 for your own business internally unless 20054 09:38:17,276 --> 09:38:20,720 you have a paid commercial or enterprise 20055 09:38:19,120 --> 09:38:22,640 license if you're hosting it. You are 20056 09:38:20,720 --> 09:38:24,480 allowed to sell services around nitn but 20057 09:38:22,640 --> 09:38:25,916 you are not allowed to turn nitn into 20058 09:38:24,480 --> 09:38:27,596 your own product. So everything about 20059 09:38:25,916 --> 09:38:29,680 hosting comes down to one thing. Is this 20060 09:38:27,596 --> 09:38:31,436 nen instance being used by one business 20061 09:38:29,680 --> 09:38:32,720 internally or are you exposing it as a 20062 09:38:31,436 --> 09:38:34,160 platform to other people? So now that 20063 09:38:32,720 --> 09:38:35,520 we've gone over that rule, we have three 20064 09:38:34,160 --> 09:38:37,040 options for hosting workflows and 20065 09:38:35,520 --> 09:38:38,400 honestly I would pretty much always go 20066 09:38:37,040 --> 09:38:39,520 with the first option and that's what 20067 09:38:38,400 --> 09:38:40,560 I'm recommending to you all, but I'll 20068 09:38:39,520 --> 09:38:41,916 still touch on the other two because 20069 09:38:40,560 --> 09:38:43,120 it's still important to understand the 20070 09:38:41,916 --> 09:38:45,276 difference. All right, so option number 20071 09:38:43,120 --> 09:38:46,960 one is where the client hosts NAD. This 20072 09:38:45,276 --> 09:38:48,480 is the safest and cleanest model for 20073 09:38:46,960 --> 09:38:49,520 almost everyone. This means that each 20074 09:38:48,480 --> 09:38:51,360 client that you're working with would 20075 09:38:49,520 --> 09:38:53,040 have their own nitin instance and you 20076 09:38:51,360 --> 09:38:54,400 simply work inside of it. So what this 20077 09:38:53,040 --> 09:38:56,080 means is that the client either buys 20078 09:38:54,400 --> 09:38:57,680 their own anoden cloud and invites you 20079 09:38:56,080 --> 09:38:59,436 as a user or they sign up on a 20080 09:38:57,680 --> 09:39:00,880 self-hosted instance or locally hosted 20081 09:38:59,436 --> 09:39:02,560 instance and then they give you access 20082 09:39:00,880 --> 09:39:03,596 to it. Now I know that as a service 20083 09:39:02,560 --> 09:39:05,200 provider you want to make their 20084 09:39:03,596 --> 09:39:06,800 experience as frictionless as possible. 20085 09:39:05,200 --> 09:39:08,160 So what you can do is you can help them 20086 09:39:06,800 --> 09:39:09,756 set it up. You can help them configure 20087 09:39:08,160 --> 09:39:11,520 their server or even provision an 20088 09:39:09,756 --> 09:39:12,800 account for them, but then they have to 20089 09:39:11,520 --> 09:39:14,640 own it and they have to pay for it 20090 09:39:12,800 --> 09:39:16,640 because you can't mark up the hosting or 20091 09:39:14,640 --> 09:39:17,680 essentially charge for access to NIDAN. 20092 09:39:16,640 --> 09:39:19,360 This [music] helps you stay compliant 20093 09:39:17,680 --> 09:39:21,040 because Naden is being used for that 20094 09:39:19,360 --> 09:39:22,480 company's internal business processes. 20095 09:39:21,040 --> 09:39:23,916 You are just providing consulting and 20096 09:39:22,480 --> 09:39:25,276 workflow development which is completely 20097 09:39:23,916 --> 09:39:27,040 allowed and you are not giving multiple 20098 09:39:25,276 --> 09:39:28,640 clients access to the same instance. 20099 09:39:27,040 --> 09:39:29,916 This is basically the Zapier model where 20100 09:39:28,640 --> 09:39:31,040 every client has their own seat and 20101 09:39:29,916 --> 09:39:32,480 you're the builder. So if you're doing 20102 09:39:31,040 --> 09:39:33,916 client work, this is what I recommend 20103 09:39:32,480 --> 09:39:36,320 pretty much all the time. Now option two 20104 09:39:33,916 --> 09:39:38,320 is you host NM but only for your own 20105 09:39:36,320 --> 09:39:39,916 agency. So in this setup, you run nitn 20106 09:39:38,320 --> 09:39:41,680 on your own server, but nobody else sees 20107 09:39:39,916 --> 09:39:43,360 it except for your business. And this is 20108 09:39:41,680 --> 09:39:44,960 for your own internal automations like 20109 09:39:43,360 --> 09:39:46,640 lead routing, content workflows, 20110 09:39:44,960 --> 09:39:48,240 internal AI agents, or anything else 20111 09:39:46,640 --> 09:39:50,080 where the client never touches NADN 20112 09:39:48,240 --> 09:39:51,840 directly or ever needs to. Now, you can 20113 09:39:50,080 --> 09:39:53,276 also deliver a service using Eniden 20114 09:39:51,840 --> 09:39:54,800 running on your own infrastructure. As 20115 09:39:53,276 --> 09:39:56,320 long as clients don't log in, don't 20116 09:39:54,800 --> 09:39:58,240 connect their own API keys, things like 20117 09:39:56,320 --> 09:40:00,320 that. This is compliance because NIDAN 20118 09:39:58,240 --> 09:40:01,756 is only powering your own operations. 20119 09:40:00,320 --> 09:40:03,040 You're not exposing it as a hosted 20120 09:40:01,756 --> 09:40:04,320 platform and you're not giving clients 20121 09:40:03,040 --> 09:40:05,756 access to it. So just think of it as 20122 09:40:04,320 --> 09:40:07,360 your own internal engine. And an example 20123 09:40:05,756 --> 09:40:09,040 of this could be if you were sending a 20124 09:40:07,360 --> 09:40:11,436 client something like an automated 20125 09:40:09,040 --> 09:40:12,720 report or research and as a service to 20126 09:40:11,436 --> 09:40:14,320 them that's what you're basically 20127 09:40:12,720 --> 09:40:15,840 delivering even if your own internal 20128 09:40:14,320 --> 09:40:17,916 automation is powering that on your own 20129 09:40:15,840 --> 09:40:19,200 hosted NN that's fine because they are 20130 09:40:17,916 --> 09:40:21,520 just paying for that deliverable. Then 20131 09:40:19,200 --> 09:40:22,800 option three is when you host N&N as the 20132 09:40:21,520 --> 09:40:24,560 product and this is where you would need 20133 09:40:22,800 --> 09:40:26,000 a commercial or enterprise type of 20134 09:40:24,560 --> 09:40:27,680 license. This is the line that you 20135 09:40:26,000 --> 09:40:29,596 cannot cross on the free or the 20136 09:40:27,680 --> 09:40:31,680 sustainable use license. So essentially 20137 09:40:29,596 --> 09:40:33,756 you cannot build a SAS product software 20138 09:40:31,680 --> 09:40:35,436 as a service product where NN is the 20139 09:40:33,756 --> 09:40:37,520 value. Even if the client never sees the 20140 09:40:35,436 --> 09:40:38,640 NN UI if your offer is basically give me 20141 09:40:37,520 --> 09:40:40,640 your credentials and I'll run your 20142 09:40:38,640 --> 09:40:42,080 automations on my end server. That is 20143 09:40:40,640 --> 09:40:43,680 not allowed without a commercial 20144 09:40:42,080 --> 09:40:45,276 agreement. And this model only really 20145 09:40:43,680 --> 09:40:46,640 makes sense if you're building out a SAS 20146 09:40:45,276 --> 09:40:48,400 or you're selling automation as a 20147 09:40:46,640 --> 09:40:50,080 subscription where ended is clearly the 20148 09:40:48,400 --> 09:40:51,756 engine. If that is the case you 20149 09:40:50,080 --> 09:40:53,436 definitely want to talk to end sales and 20150 09:40:51,756 --> 09:40:54,960 get a commercial or enterprise license. 20151 09:40:53,436 --> 09:40:56,400 And I will say those things are not 20152 09:40:54,960 --> 09:40:57,840 cheap. So the short version is simple. 20153 09:40:56,400 --> 09:40:58,960 If you're building workflows for clients 20154 09:40:57,840 --> 09:41:00,400 let them host it. If you're running 20155 09:40:58,960 --> 09:41:01,596 automations for your own company, host 20156 09:41:00,400 --> 09:41:03,436 it yourself. And if you want to build a 20157 09:41:01,596 --> 09:41:04,800 SAS or platform, you need a commercial 20158 09:41:03,436 --> 09:41:06,240 license. And once you've decided where 20159 09:41:04,800 --> 09:41:07,840 the automation will actually live, then 20160 09:41:06,240 --> 09:41:09,120 you can move into planning out the 20161 09:41:07,840 --> 09:41:11,040 build, structuring the data, and 20162 09:41:09,120 --> 09:41:12,560 preparing for the handover. So next, 20163 09:41:11,040 --> 09:41:13,596 let's look at security and data 20164 09:41:12,560 --> 09:41:14,880 protection. Once you've built the 20165 09:41:13,596 --> 09:41:16,560 workflow, your job is to make sure the 20166 09:41:14,880 --> 09:41:18,080 data moving through it stays secure. 20167 09:41:16,560 --> 09:41:19,916 That means no leaking sensitive 20168 09:41:18,080 --> 09:41:22,240 information, no exposing personal data, 20169 09:41:19,916 --> 09:41:23,680 and no breaking privacy laws like GDPR. 20170 09:41:22,240 --> 09:41:25,120 So let's go over how Aniden handles 20171 09:41:23,680 --> 09:41:26,480 security and how you can explain this 20172 09:41:25,120 --> 09:41:27,520 clearly to your clients. And in a few 20173 09:41:26,480 --> 09:41:29,360 minutes, I'll talk more specifically 20174 09:41:27,520 --> 09:41:30,800 about API key management and billing 20175 09:41:29,360 --> 09:41:31,916 since that also deserves its own 20176 09:41:30,800 --> 09:41:34,000 section. The first thing to understand 20177 09:41:31,916 --> 09:41:35,756 is how Naden protects sensitive fields 20178 09:41:34,000 --> 09:41:38,080 inside of your automations. Credentials 20179 09:41:35,756 --> 09:41:39,756 inside Naden are encrypted at rest and 20180 09:41:38,080 --> 09:41:41,520 they're decrypted in memory at the 20181 09:41:39,756 --> 09:41:43,040 moment the workflow runs. So these nodes 20182 09:41:41,520 --> 09:41:44,800 with your credentials in there simply 20183 09:41:43,040 --> 09:41:46,080 reference credentials by name. And if a 20184 09:41:44,800 --> 09:41:47,840 teammate or client doesn't have 20185 09:41:46,080 --> 09:41:49,040 permission to that workspace that has 20186 09:41:47,840 --> 09:41:51,040 those credentials, they won't be able to 20187 09:41:49,040 --> 09:41:52,080 see the raw values, the API keys, the 20188 09:41:51,040 --> 09:41:53,840 passwords, whatever you want to call 20189 09:41:52,080 --> 09:41:55,360 them. This is why handing off a workflow 20190 09:41:53,840 --> 09:41:56,720 is safe when it's done correctly because 20191 09:41:55,360 --> 09:41:58,240 you're not exposing sensitive fields 20192 09:41:56,720 --> 09:41:59,840 inside nodes and you're not storing 20193 09:41:58,240 --> 09:42:01,520 anything in plain text. The platform is 20194 09:41:59,840 --> 09:42:03,276 built to keep secrets locked away so 20195 09:42:01,520 --> 09:42:04,880 only the automation engine can access 20196 09:42:03,276 --> 09:42:06,800 them when it needs to. Another big part 20197 09:42:04,880 --> 09:42:08,400 of security is web hook hardening. So a 20198 09:42:06,800 --> 09:42:09,916 web hook is basically like a public door 20199 09:42:08,400 --> 09:42:11,360 into a workflow which means you need to 20200 09:42:09,916 --> 09:42:13,276 treat it with the same seriousness as 20201 09:42:11,360 --> 09:42:14,720 you would any inbound request to an 20202 09:42:13,276 --> 09:42:17,040 application. So maybe this means using 20203 09:42:14,720 --> 09:42:18,640 HTTPS so that data is encrypted in 20204 09:42:17,040 --> 09:42:20,640 transit or signing secrets or 20205 09:42:18,640 --> 09:42:22,320 verification tokens for services like 20206 09:42:20,640 --> 09:42:23,916 Stripe, GitHub or any provider that 20207 09:42:22,320 --> 09:42:25,436 supports signature validation. What you 20208 09:42:23,916 --> 09:42:27,040 can do is have EndN verify that 20209 09:42:25,436 --> 09:42:28,640 signature before it actually trusts the 20210 09:42:27,040 --> 09:42:30,240 payload and lets it into the workflow 20211 09:42:28,640 --> 09:42:31,680 and never put sensitive data inside the 20212 09:42:30,240 --> 09:42:32,800 URL of a web hook. And if you really 20213 09:42:31,680 --> 09:42:34,320 want to get advanced and a little more 20214 09:42:32,800 --> 09:42:35,680 technical here, if the use case called 20215 09:42:34,320 --> 09:42:37,436 for it, you could implement things like 20216 09:42:35,680 --> 09:42:39,756 rate limits or additional authentication 20217 09:42:37,436 --> 09:42:41,200 checks to prevent spam, brute forcing or 20218 09:42:39,756 --> 09:42:42,880 automated abuse. So the way I would 20219 09:42:41,200 --> 09:42:44,320 explain this to clients is simple. Every 20220 09:42:42,880 --> 09:42:45,756 external trigger hitting your automation 20221 09:42:44,320 --> 09:42:47,276 must be authenticated so that only 20222 09:42:45,756 --> 09:42:48,560 approved systems can talk to this 20223 09:42:47,276 --> 09:42:50,240 workflow, which means random people 20224 09:42:48,560 --> 09:42:52,160 cannot guess the URL and start hitting 20225 09:42:50,240 --> 09:42:53,360 your CRM or your internal systems for 20226 09:42:52,160 --> 09:42:54,800 data. And while we're on this topic, 20227 09:42:53,360 --> 09:42:56,320 it's also worth thinking about prompting 20228 09:42:54,800 --> 09:42:58,080 in some guard rails and building a 20229 09:42:56,320 --> 09:42:59,840 system so that people can't jailbreak or 20230 09:42:58,080 --> 09:43:01,596 prompt inject your AI agents. Now, 20231 09:42:59,840 --> 09:43:03,840 another big responsibility is handling 20232 09:43:01,596 --> 09:43:05,276 CRM, payment, or other personal data 20233 09:43:03,840 --> 09:43:07,596 because this information is often 20234 09:43:05,276 --> 09:43:09,596 regulated under GDPR and similar laws. 20235 09:43:07,596 --> 09:43:11,596 Anything that could identify a person is 20236 09:43:09,596 --> 09:43:13,200 protected. So, this is not legal advice. 20237 09:43:11,596 --> 09:43:14,560 However, there are a few basic best 20238 09:43:13,200 --> 09:43:16,080 practices to follow, but you should 20239 09:43:14,560 --> 09:43:17,596 always be consulting with professionals 20240 09:43:16,080 --> 09:43:19,040 based on your industry and your laws 20241 09:43:17,596 --> 09:43:20,560 that govern you and your clients. But 20242 09:43:19,040 --> 09:43:22,080 you could do stuff like using data 20243 09:43:20,560 --> 09:43:23,200 minimization, which means only bringing 20244 09:43:22,080 --> 09:43:24,880 in the fields that you actually need. 20245 09:43:23,200 --> 09:43:26,320 You could limit who can see the workflow 20246 09:43:24,880 --> 09:43:28,160 runs, so only the right people have 20247 09:43:26,320 --> 09:43:29,360 access to the logs and the payloads. You 20248 09:43:28,160 --> 09:43:31,040 should also understand that a client 20249 09:43:29,360 --> 09:43:32,480 must have a legal basis for collecting 20250 09:43:31,040 --> 09:43:34,160 and processing the data that they're 20251 09:43:32,480 --> 09:43:35,596 passing into the workflow. And if you're 20252 09:43:34,160 --> 09:43:36,880 processing data on the client's behalf, 20253 09:43:35,596 --> 09:43:38,400 you're usually acting as a data 20254 09:43:36,880 --> 09:43:40,240 processor, which means you may need a 20255 09:43:38,400 --> 09:43:41,120 data processing agreement in place. You 20256 09:43:40,240 --> 09:43:42,720 also need to make sure that your 20257 09:43:41,120 --> 09:43:44,480 automations don't make it impossible for 20258 09:43:42,720 --> 09:43:46,480 the client to honor requests like data 20259 09:43:44,480 --> 09:43:48,080 deletion, data corrections, or access 20260 09:43:46,480 --> 09:43:49,520 requests. Basically, what that means is 20261 09:43:48,080 --> 09:43:51,120 you should know exactly where the data 20262 09:43:49,520 --> 09:43:52,960 flows so that it can be removed or 20263 09:43:51,120 --> 09:43:54,640 updated if needed. And Naden helps with 20264 09:43:52,960 --> 09:43:56,320 this because you can prune executions, 20265 09:43:54,640 --> 09:43:57,916 trim logs, and limit the amount of data 20266 09:43:56,320 --> 09:43:59,596 that the system stores over time. And 20267 09:43:57,916 --> 09:44:01,040 one of the biggest advantages of NADN is 20268 09:43:59,596 --> 09:44:02,880 that it's source available, which is 20269 09:44:01,040 --> 09:44:04,080 essentially better known as open source, 20270 09:44:02,880 --> 09:44:05,756 which means that it can be fully 20271 09:44:04,080 --> 09:44:07,040 self-hosted, which gives the client the 20272 09:44:05,756 --> 09:44:08,640 option to keep all of their workflow 20273 09:44:07,040 --> 09:44:10,320 data in their own environment. So you 20274 09:44:08,640 --> 09:44:11,596 can run noden on their infrastructure, 20275 09:44:10,320 --> 09:44:13,520 connect it to only tools that they 20276 09:44:11,596 --> 09:44:15,520 approve and trust and even use local or 20277 09:44:13,520 --> 09:44:17,596 self-hosted AI models instead of sending 20278 09:44:15,520 --> 09:44:19,520 data to OpenAI or other closed source 20279 09:44:17,596 --> 09:44:20,880 proprietary models. This gives true data 20280 09:44:19,520 --> 09:44:22,480 sovereignty. The client chooses where 20281 09:44:20,880 --> 09:44:24,320 the server lives, how it's secured, and 20282 09:44:22,480 --> 09:44:25,756 who has access. So for privacy sensitive 20283 09:44:24,320 --> 09:44:27,040 clients, this is a huge selling point. 20284 09:44:25,756 --> 09:44:28,480 Instead of pushing sensitive data 20285 09:44:27,040 --> 09:44:30,240 through random cloud services, you can 20286 09:44:28,480 --> 09:44:31,916 run the entire automation engine inside 20287 09:44:30,240 --> 09:44:33,840 their own locked room, whether that's on 20288 09:44:31,916 --> 09:44:35,436 prem or inside a private VPS. And that's 20289 09:44:33,840 --> 09:44:36,960 the foundation of security and data 20290 09:44:35,436 --> 09:44:38,720 privacy. Your job is to build workflows 20291 09:44:36,960 --> 09:44:40,320 that move data safely, keep sensitive 20292 09:44:38,720 --> 09:44:41,680 information protected, and give clients 20293 09:44:40,320 --> 09:44:42,960 confidence that nothing is leaking. And 20294 09:44:41,680 --> 09:44:44,160 now that you understand the security 20295 09:44:42,960 --> 09:44:45,596 side, the next section I'm going to walk 20296 09:44:44,160 --> 09:44:46,880 you guys through is about API key 20297 09:44:45,596 --> 09:44:48,240 management and billing because that's 20298 09:44:46,880 --> 09:44:49,756 another area where I get a ton of 20299 09:44:48,240 --> 09:44:51,596 questions. So, the main ones I get are 20300 09:44:49,756 --> 09:44:53,120 who owns the API keys and who pays for 20301 09:44:51,596 --> 09:44:54,240 the usage. And the cleanest answer I can 20302 09:44:53,120 --> 09:44:56,480 give you is that the client should 20303 09:44:54,240 --> 09:44:57,756 always pay for their own API keys and 20304 09:44:56,480 --> 09:44:59,436 usage. This keeps everything 20305 09:44:57,756 --> 09:45:00,960 transparent, predictable, and it avoids 20306 09:44:59,436 --> 09:45:02,400 a lot of headaches later. So the ideal 20307 09:45:00,960 --> 09:45:04,160 setup is having the client sign up for 20308 09:45:02,400 --> 09:45:05,840 the tool themselves. Enter their billing 20309 09:45:04,160 --> 09:45:07,436 information, generate the API key, and 20310 09:45:05,840 --> 09:45:08,960 paste it directly into Ended. When you 20311 09:45:07,436 --> 09:45:10,480 do it this way, the key never gets sent 20312 09:45:08,960 --> 09:45:11,840 over the internet to you, and the client 20313 09:45:10,480 --> 09:45:13,200 keeps full control over their account. 20314 09:45:11,840 --> 09:45:14,480 They can see the usage, they can see the 20315 09:45:13,200 --> 09:45:15,916 charges, they can turn it off if they 20316 09:45:14,480 --> 09:45:17,360 want, and nothing about the automation 20317 09:45:15,916 --> 09:45:18,720 is hidden from them. It's just a much 20318 09:45:17,360 --> 09:45:20,000 cleaner working relationship. Now, the 20319 09:45:18,720 --> 09:45:21,360 best way to do this, because like I 20320 09:45:20,000 --> 09:45:22,880 said, you want to remove as much 20321 09:45:21,360 --> 09:45:24,480 friction as possible, is to send them a 20322 09:45:22,880 --> 09:45:25,840 Loom video walking them through exactly 20323 09:45:24,480 --> 09:45:27,680 where to click and how to create that 20324 09:45:25,840 --> 09:45:29,200 key and where to paste it into N. Just 20325 09:45:27,680 --> 09:45:30,800 keep it dead simple for them. You could 20326 09:45:29,200 --> 09:45:32,320 even walk them through it on a Zoom call 20327 09:45:30,800 --> 09:45:34,080 if they prefer. Now, could you set up 20328 09:45:32,320 --> 09:45:35,680 the API accounts on your side and then 20329 09:45:34,080 --> 09:45:36,720 just build them later? Yes, you could. 20330 09:45:35,680 --> 09:45:38,400 There's nothing about that is 20331 09:45:36,720 --> 09:45:39,680 non-compliance, but it could create all 20332 09:45:38,400 --> 09:45:40,960 kinds of problems because they don't see 20333 09:45:39,680 --> 09:45:42,080 the usage. They don't understand where 20334 09:45:40,960 --> 09:45:43,680 their money is going. And if you're 20335 09:45:42,080 --> 09:45:45,680 marking up usage or you're charging a 20336 09:45:43,680 --> 09:45:47,520 fixed rate, it can get confusing fast. 20337 09:45:45,680 --> 09:45:49,276 As the automation scales or if something 20338 09:45:47,520 --> 09:45:50,640 breaks or spikes, even if it does feel 20339 09:45:49,276 --> 09:45:51,756 easier right in the moment because the 20340 09:45:50,640 --> 09:45:53,200 client doesn't actually have to go do 20341 09:45:51,756 --> 09:45:54,960 anything, it definitely in the long run 20342 09:45:53,200 --> 09:45:56,400 can create more questions than answers. 20343 09:45:54,960 --> 09:45:57,916 So, letting them own it and pay for it 20344 09:45:56,400 --> 09:45:59,916 keeps everything clean. Now, if a client 20345 09:45:57,916 --> 09:46:01,436 is intimidated by that process and wants 20346 09:45:59,916 --> 09:46:02,160 you to handle the key directly, you 20347 09:46:01,436 --> 09:46:03,840 still want to make sure you're 20348 09:46:02,160 --> 09:46:05,596 transferring it securely. So, just send 20349 09:46:03,840 --> 09:46:07,120 them over Slack, ClickUp, text, or 20350 09:46:05,596 --> 09:46:09,120 email. Have them drop it into some sort 20351 09:46:07,120 --> 09:46:11,120 of secure vault like a one password or 20352 09:46:09,120 --> 09:46:12,640 any encrypted secret sharing tool where 20353 09:46:11,120 --> 09:46:14,720 they can generate a onetime link. Then, 20354 09:46:12,640 --> 09:46:16,320 you can copy that key into NADN yourself 20355 09:46:14,720 --> 09:46:17,840 and that link can expire or something 20356 09:46:16,320 --> 09:46:19,360 like that so that no one else could ever 20357 09:46:17,840 --> 09:46:20,400 access that vault. As a small bonus 20358 09:46:19,360 --> 09:46:22,000 feature, you could even think about 20359 09:46:20,400 --> 09:46:23,916 offering them a dashboard that shows all 20360 09:46:22,000 --> 09:46:25,520 their API keys and all the billing in 20361 09:46:23,916 --> 09:46:27,040 one spot. That gives them visibility and 20362 09:46:25,520 --> 09:46:28,640 it gives you credibility because you're 20363 09:46:27,040 --> 09:46:30,000 helping them manage their system like a 20364 09:46:28,640 --> 09:46:31,680 real piece of infrastructure. So the 20365 09:46:30,000 --> 09:46:33,436 simple rule is clients own their API 20366 09:46:31,680 --> 09:46:35,040 keys, clients pay for their usage and 20367 09:46:33,436 --> 09:46:36,720 you make the process painless for them. 20368 09:46:35,040 --> 09:46:38,560 This keeps everything clear, secure, and 20369 09:46:36,720 --> 09:46:40,160 scalable as the automation stack grows 20370 09:46:38,560 --> 09:46:41,596 and as your professional relationship 20371 09:46:40,160 --> 09:46:42,800 matures. Now once all that's been 20372 09:46:41,596 --> 09:46:44,480 decided and you're actually starting to 20373 09:46:42,800 --> 09:46:45,436 think about handing over the project, 20374 09:46:44,480 --> 09:46:47,040 you have to make sure that it's been 20375 09:46:45,436 --> 09:46:48,240 fully tested in the right way before you 20376 09:46:47,040 --> 09:46:49,840 actually send it over. If you're not 20377 09:46:48,240 --> 09:46:51,680 careful, the workflow may have bugs that 20378 09:46:49,840 --> 09:46:53,120 you didn't spot before and this can hurt 20379 09:46:51,680 --> 09:46:54,480 your reputation and relationship with 20380 09:46:53,120 --> 09:46:56,240 the client. So, the first step is 20381 09:46:54,480 --> 09:46:57,360 planning your test data with the client. 20382 09:46:56,240 --> 09:46:58,640 You don't want to test with madeup 20383 09:46:57,360 --> 09:47:00,240 examples that have nothing to do with 20384 09:46:58,640 --> 09:47:02,000 their business. So, early on, ask them 20385 09:47:00,240 --> 09:47:03,916 for a small sample set that looks like 20386 09:47:02,000 --> 09:47:05,840 real usage. I typically do this before 20387 09:47:03,916 --> 09:47:07,360 we sign the contract so they know what 20388 09:47:05,840 --> 09:47:09,200 is expected of them because if they 20389 09:47:07,360 --> 09:47:10,560 delay getting you all that sample data, 20390 09:47:09,200 --> 09:47:12,320 then it's going to delay your process as 20391 09:47:10,560 --> 09:47:14,240 well. So, that could be emails, support 20392 09:47:12,320 --> 09:47:15,840 tickets, transcripts, CRM records, 20393 09:47:14,240 --> 09:47:17,120 whatever actually fits the workflow when 20394 09:47:15,840 --> 09:47:18,880 it's in production. And of course, if 20395 09:47:17,120 --> 09:47:20,480 needed, they can anonymize it. Then, you 20396 09:47:18,880 --> 09:47:21,840 can agree on what success looks like and 20397 09:47:20,480 --> 09:47:23,360 what is a good output and what must 20398 09:47:21,840 --> 09:47:25,200 never happen. things like wrong tags, 20399 09:47:23,360 --> 09:47:26,640 broken links, leaking info, or sending 20400 09:47:25,200 --> 09:47:28,160 the wrong person the wrong message. So, 20401 09:47:26,640 --> 09:47:30,160 you can explain it very simply. Before 20402 09:47:28,160 --> 09:47:31,596 we go live, we're going to run your real 20403 09:47:30,160 --> 09:47:33,200 examples through the system so that you 20404 09:47:31,596 --> 09:47:34,480 can see exactly how it behaves. And then 20405 09:47:33,200 --> 09:47:36,160 inside your own testing, you want to 20406 09:47:34,480 --> 09:47:37,360 think less like a developer clicking in 20407 09:47:36,160 --> 09:47:39,120 every node and looking at the 20408 09:47:37,360 --> 09:47:40,800 configuration and think more like an 20409 09:47:39,120 --> 09:47:42,240 engineer who's planning for failure. So, 20410 09:47:40,800 --> 09:47:44,080 with automations, especially when they 20411 09:47:42,240 --> 09:47:45,436 have AI, you have to accept that you 20412 09:47:44,080 --> 09:47:47,040 don't know what you don't know. And once 20413 09:47:45,436 --> 09:47:48,880 the system goes into production, real 20414 09:47:47,040 --> 09:47:50,240 users and real data will always reveal 20415 09:47:48,880 --> 09:47:51,360 edge cases that you didn't think about. 20416 09:47:50,240 --> 09:47:52,720 So during testing, you should 20417 09:47:51,360 --> 09:47:54,400 intentionally look for worst case 20418 09:47:52,720 --> 09:47:56,800 scenarios and ask yourself what happens 20419 09:47:54,400 --> 09:47:58,560 if this, what happens if that, bad data, 20420 09:47:56,800 --> 09:48:00,080 no data, duplicate data, or even 20421 09:47:58,560 --> 09:48:01,360 something completely unexpected. Instead 20422 09:48:00,080 --> 09:48:02,800 of assuming the workflow will run 20423 09:48:01,360 --> 09:48:04,320 smoothly forever, you want to build in 20424 09:48:02,800 --> 09:48:06,000 guardrails. Maybe the workflow can time 20425 09:48:04,320 --> 09:48:07,596 out gracefully so nothing happens. Maybe 20426 09:48:06,000 --> 09:48:09,200 you set up an error workflow that alerts 20427 09:48:07,596 --> 09:48:10,800 the team. Maybe you log all failures 20428 09:48:09,200 --> 09:48:12,800 into a Google sheet so you can track 20429 09:48:10,800 --> 09:48:14,720 patterns over time. The idea is not to 20430 09:48:12,800 --> 09:48:16,160 eliminate every possible issue because 20431 09:48:14,720 --> 09:48:17,680 you can't, but to make sure that when 20432 09:48:16,160 --> 09:48:19,276 something does break, it breaks safely 20433 09:48:17,680 --> 09:48:21,276 and quietly and in a way that gives you 20434 09:48:19,276 --> 09:48:22,800 enough information to go fix it fast. So 20435 09:48:21,276 --> 09:48:24,080 once that works, you step back and you 20436 09:48:22,800 --> 09:48:25,840 treat the whole workflow like a black 20437 09:48:24,080 --> 09:48:27,596 box. You feed in a lot of examples, not 20438 09:48:25,840 --> 09:48:29,276 just one or two, ideally dozens or even 20439 09:48:27,596 --> 09:48:30,640 hundreds of sample inputs if you can get 20440 09:48:29,276 --> 09:48:31,756 them. And then for each one, you log 20441 09:48:30,640 --> 09:48:33,200 what came in, what happened in the 20442 09:48:31,756 --> 09:48:34,720 middle, and what the final output was. 20443 09:48:33,200 --> 09:48:36,000 Then you compare those outputs to the 20444 09:48:34,720 --> 09:48:37,360 success [music] criteria that you agreed 20445 09:48:36,000 --> 09:48:38,640 on with the client. You flag the 20446 09:48:37,360 --> 09:48:40,240 failures, the weird edge cases, and 20447 09:48:38,640 --> 09:48:41,680 borderline results that you want to talk 20448 09:48:40,240 --> 09:48:44,000 about with them. And this is your 20449 09:48:41,680 --> 09:48:45,756 internal QA or quality assurance pass. 20450 09:48:44,000 --> 09:48:47,276 The goal is to catch as much as possible 20451 09:48:45,756 --> 09:48:49,200 before the client ever tries it. And I 20452 09:48:47,276 --> 09:48:51,040 would do internal QA for at least a few 20453 09:48:49,200 --> 09:48:52,720 days before having them get in there and 20454 09:48:51,040 --> 09:48:53,916 provide any feedback. Now AI adds 20455 09:48:52,720 --> 09:48:55,040 another layer on top of that because 20456 09:48:53,916 --> 09:48:56,400 you're not just checking that the AI 20457 09:48:55,040 --> 09:48:58,160 node runs. You're checking the quality 20458 09:48:56,400 --> 09:48:59,916 of what it says. So for beginners, focus 20459 09:48:58,160 --> 09:49:01,360 on a few simple checks like relevance 20460 09:48:59,916 --> 09:49:02,880 and correctness. Does the answer 20461 09:49:01,360 --> 09:49:04,160 actually respond to the request with 20462 09:49:02,880 --> 09:49:05,756 accurate information? Another thing is 20463 09:49:04,160 --> 09:49:07,520 tone and safety. It shouldn't be toxic, 20464 09:49:05,756 --> 09:49:08,720 off-brand, or leaking hidden system 20465 09:49:07,520 --> 09:49:10,080 prompts and private info. And then 20466 09:49:08,720 --> 09:49:11,840 you've got the element of consistency. 20467 09:49:10,080 --> 09:49:13,276 So, if you send in the same 10 inputs, 20468 09:49:11,840 --> 09:49:14,480 are you getting roughly the same 10 20469 09:49:13,276 --> 09:49:16,400 answers every time? And behind the 20470 09:49:14,480 --> 09:49:17,756 scenes, you can run simple AB tests and 20471 09:49:16,400 --> 09:49:19,276 evaluations where you try different 20472 09:49:17,756 --> 09:49:20,800 prompts and different models on the same 20473 09:49:19,276 --> 09:49:22,240 data set and track which ones give you 20474 09:49:20,800 --> 09:49:23,916 the best results. And to the client, you 20475 09:49:22,240 --> 09:49:25,840 can phrase that like, "We tested several 20476 09:49:23,916 --> 09:49:27,916 prompts and models on your real examples 20477 09:49:25,840 --> 09:49:29,840 and kept the one that hit the highest 20478 09:49:27,916 --> 09:49:31,520 quality and the most consistency. Here's 20479 09:49:29,840 --> 09:49:32,880 the evaluation data we ran." And you 20480 09:49:31,520 --> 09:49:34,400 could even use Eniden's built-in 20481 09:49:32,880 --> 09:49:35,680 evaluation feature. Of course, you have 20482 09:49:34,400 --> 09:49:36,880 to be able to actually show all that. 20483 09:49:35,680 --> 09:49:38,400 So, that's where logging comes in. And 20484 09:49:36,880 --> 09:49:39,916 logging is what makes all of this not 20485 09:49:38,400 --> 09:49:41,756 feel like magic because I like to have 20486 09:49:39,916 --> 09:49:42,960 my workflow store execution history in a 20487 09:49:41,756 --> 09:49:44,800 Google sheet where it tracks all the 20488 09:49:42,960 --> 09:49:46,480 inputs, all the outputs, the tool calls, 20489 09:49:44,800 --> 09:49:47,756 the errors and tokens so that you can 20490 09:49:46,480 --> 09:49:49,436 actually look through this log and you 20491 09:49:47,756 --> 09:49:51,360 can identify patterns, common failure 20492 09:49:49,436 --> 09:49:53,120 types, recurring bad inputs or weak 20493 09:49:51,360 --> 09:49:54,720 spots in your prompt or model choice. 20494 09:49:53,120 --> 09:49:56,000 That same log becomes your evidence when 20495 09:49:54,720 --> 09:49:57,596 you talk to the client and you can show 20496 09:49:56,000 --> 09:49:59,596 them what you tested and why you made 20497 09:49:57,596 --> 09:50:01,040 certain decisions or improvements. And 20498 09:49:59,596 --> 09:50:02,480 after you're happy internally with the 20499 09:50:01,040 --> 09:50:04,240 system, you can move to the client-f 20500 09:50:02,480 --> 09:50:05,840 facing QA where you give them a clear 20501 09:50:04,240 --> 09:50:08,320 way to test the system. That might be a 20502 09:50:05,840 --> 09:50:09,756 chat box or a form or a simple UI. Just 20503 09:50:08,320 --> 09:50:11,596 make it simple. You don't want them to 20504 09:50:09,756 --> 09:50:13,360 actually have to get into Nen and look 20505 09:50:11,596 --> 09:50:14,880 at all of that mess. Then you ask them 20506 09:50:13,360 --> 09:50:16,880 to tell you what they think about the 20507 09:50:14,880 --> 09:50:18,400 system, about the outputs, the tone, the 20508 09:50:16,880 --> 09:50:19,840 formatting, anything like that. And a 20509 09:50:18,400 --> 09:50:21,200 lot of times at this point, if you did 20510 09:50:19,840 --> 09:50:23,040 everything right, you will just be doing 20511 09:50:21,200 --> 09:50:24,480 little prompt tuning and model tuning 20512 09:50:23,040 --> 09:50:26,400 tweaks. And then to wrap up, you can 20513 09:50:24,480 --> 09:50:28,400 record a short update video, show one or 20514 09:50:26,400 --> 09:50:29,840 two full runs from the input to workflow 20515 09:50:28,400 --> 09:50:31,276 to output, point to the logs, and 20516 09:50:29,840 --> 09:50:32,960 explain how the system handled those 20517 09:50:31,276 --> 09:50:34,880 real examples. And that is the kind of 20518 09:50:32,960 --> 09:50:36,400 QA or quality assurance that builds 20519 09:50:34,880 --> 09:50:37,680 trust and makes clients want to work 20520 09:50:36,400 --> 09:50:39,436 with you again. Now, once you've tested 20521 09:50:37,680 --> 09:50:41,120 the workflow successfully, it's time to 20522 09:50:39,436 --> 09:50:42,560 start the handover process. This is the 20523 09:50:41,120 --> 09:50:43,916 delivery phase and it looks a little 20524 09:50:42,560 --> 09:50:45,040 different depending on your current 20525 09:50:43,916 --> 09:50:46,800 situation. So, the first thing that 20526 09:50:45,040 --> 09:50:48,400 could affect handover is whether or not 20527 09:50:46,800 --> 09:50:49,680 you built the workflow directly in their 20528 09:50:48,400 --> 09:50:51,040 environment because if you did, the 20529 09:50:49,680 --> 09:50:52,160 handover is a lot easier because 20530 09:50:51,040 --> 09:50:53,200 everything's already set up and their 20531 09:50:52,160 --> 09:50:54,400 credentials and everything like that. 20532 09:50:53,200 --> 09:50:55,756 But if you didn't, then you'll have a 20533 09:50:54,400 --> 09:50:57,360 bigger transfer process where you 20534 09:50:55,756 --> 09:50:58,480 actually help them move credentials and 20535 09:50:57,360 --> 09:50:59,756 you have to recreate some of those 20536 09:50:58,480 --> 09:51:01,276 connections. The second thing that can 20537 09:50:59,756 --> 09:51:02,800 affect your handover is whether or not 20538 09:51:01,276 --> 09:51:04,320 this is the end of the project or if 20539 09:51:02,800 --> 09:51:05,520 you've already scoped out more work or 20540 09:51:04,320 --> 09:51:06,960 some sort of ongoing maintenance 20541 09:51:05,520 --> 09:51:08,240 retainer. If you're sticking around, you 20542 09:51:06,960 --> 09:51:09,520 might keep some testing infrastructure 20543 09:51:08,240 --> 09:51:11,520 in place, but if you're not, then your 20544 09:51:09,520 --> 09:51:13,040 handover needs to be more final and 20545 09:51:11,520 --> 09:51:14,480 complete. There are a few key steps you 20546 09:51:13,040 --> 09:51:15,916 want to follow either way. First, you 20547 09:51:14,480 --> 09:51:17,916 want to duplicate the workflow. So, keep 20548 09:51:15,916 --> 09:51:19,596 one version somewhere as a backup or a 20549 09:51:17,916 --> 09:51:21,520 testing version and then push the clean 20550 09:51:19,596 --> 09:51:23,040 one into production. This is exactly how 20551 09:51:21,520 --> 09:51:24,400 software teams work. You kind of have a 20552 09:51:23,040 --> 09:51:25,596 test environment where you experiment 20553 09:51:24,400 --> 09:51:27,040 and iterate and then you have a 20554 09:51:25,596 --> 09:51:28,640 production environment where only a 20555 09:51:27,040 --> 09:51:30,320 stable version lives. So anytime that 20556 09:51:28,640 --> 09:51:31,756 you need to make changes or updates, you 20557 09:51:30,320 --> 09:51:33,120 do that on the test version first. 20558 09:51:31,756 --> 09:51:34,320 Confirm that everything still works and 20559 09:51:33,120 --> 09:51:36,000 then you can move that version into 20560 09:51:34,320 --> 09:51:38,480 production. And that same idea can apply 20561 09:51:36,000 --> 09:51:40,320 to when Naden itself releases updates or 20562 09:51:38,480 --> 09:51:41,680 when the tools or integrations change. 20563 09:51:40,320 --> 09:51:43,200 You never want to just update your 20564 09:51:41,680 --> 09:51:44,800 production environment blindly. You want 20565 09:51:43,200 --> 09:51:45,840 to update the test setup first, load the 20566 09:51:44,800 --> 09:51:47,200 workflow, make sure all the 20567 09:51:45,840 --> 09:51:48,640 functionality is still intact. And then 20568 09:51:47,200 --> 09:51:50,000 once you know it still behaves as it 20569 09:51:48,640 --> 09:51:51,436 should, then you can update the version 20570 09:51:50,000 --> 09:51:53,276 that the client would actually rely on. 20571 09:51:51,436 --> 09:51:54,960 This avoids outages, broken automations, 20572 09:51:53,276 --> 09:51:56,320 and a lot of unnecessary stress. On top 20573 09:51:54,960 --> 09:51:57,916 of that, you always want to back up your 20574 09:51:56,320 --> 09:51:59,916 workflows. So you can store the exported 20575 09:51:57,916 --> 09:52:01,436 JSON on GitHub, Google Drive, or even a 20576 09:51:59,916 --> 09:52:03,120 simple Google sheet. So you always have 20577 09:52:01,436 --> 09:52:04,560 previous versions that you can revert to 20578 09:52:03,120 --> 09:52:05,916 if needed. And if you want to go a step 20579 09:52:04,560 --> 09:52:08,080 further, you can build an automated 20580 09:52:05,916 --> 09:52:09,756 backup process using an itself so that 20581 09:52:08,080 --> 09:52:11,200 it periodically exports and saves the 20582 09:52:09,756 --> 09:52:12,720 workflows somewhere else. The next thing 20583 09:52:11,200 --> 09:52:13,916 you want to do is about workflow 20584 09:52:12,720 --> 09:52:15,596 hygiene. So you want to make sure that 20585 09:52:13,916 --> 09:52:17,200 it's clean and easy to understand. Use 20586 09:52:15,596 --> 09:52:18,480 clear naming in each step, label each 20587 09:52:17,200 --> 09:52:19,916 step, have sticky notes around the 20588 09:52:18,480 --> 09:52:21,520 workflow explaining what it's doing and 20589 09:52:19,916 --> 09:52:23,756 why you built it that way. The goal is 20590 09:52:21,520 --> 09:52:25,596 that anyone from their team or your team 20591 09:52:23,756 --> 09:52:28,080 later on could open up that workflow or 20592 09:52:25,596 --> 09:52:29,520 have a PDF of that workflow and see and 20593 09:52:28,080 --> 09:52:30,720 understand the logic right away. You 20594 09:52:29,520 --> 09:52:32,400 also want to double check that there are 20595 09:52:30,720 --> 09:52:33,756 no sensitive keys or tokens anywhere in 20596 09:52:32,400 --> 09:52:35,120 the workflow before you hand it over 20597 09:52:33,756 --> 09:52:36,800 because you want a clean handoff where 20598 09:52:35,120 --> 09:52:38,400 the client knows exactly where their API 20599 09:52:36,800 --> 09:52:39,680 keys go and how to set them up on their 20600 09:52:38,400 --> 09:52:41,756 own account. So in this set of 20601 09:52:39,680 --> 09:52:43,120 deliverables, it could also have a Loom 20602 09:52:41,756 --> 09:52:44,480 walkthrough where it's a quick 1 or 2 20603 09:52:43,120 --> 09:52:45,840 minute video where you show how the 20604 09:52:44,480 --> 09:52:47,360 system works, how to configure it, and 20605 09:52:45,840 --> 09:52:49,276 what to do if certain elements need 20606 09:52:47,360 --> 09:52:51,436 updating because there's never one exact 20607 09:52:49,276 --> 09:52:52,720 right solution for a process as far as 20608 09:52:51,436 --> 09:52:54,080 like how to automate it. And everyone's 20609 09:52:52,720 --> 09:52:55,276 brains work a little differently. So if 20610 09:52:54,080 --> 09:52:56,240 you can explain to them what you were 20611 09:52:55,276 --> 09:52:57,436 thinking when you built it, it's going 20612 09:52:56,240 --> 09:52:58,640 to be really helpful. And whether this 20613 09:52:57,436 --> 09:53:00,080 is the only project you're doing for 20614 09:52:58,640 --> 09:53:01,840 them or if you're staying on retainer, 20615 09:53:00,080 --> 09:53:03,200 good documentation is always valuable 20616 09:53:01,840 --> 09:53:04,720 because like I said, if someone on their 20617 09:53:03,200 --> 09:53:06,240 team later takes it over or if you bring 20618 09:53:04,720 --> 09:53:07,596 in a developer later to help maintain 20619 09:53:06,240 --> 09:53:09,120 the account, everything is super clear 20620 09:53:07,596 --> 09:53:10,720 and no one has to guess what was built 20621 09:53:09,120 --> 09:53:12,320 or why. And it really protects both 20622 09:53:10,720 --> 09:53:13,840 sides because it helps the client feel 20623 09:53:12,320 --> 09:53:15,680 supported and confident. And it helps 20624 09:53:13,840 --> 09:53:16,800 you avoid being the bottleneck whenever 20625 09:53:15,680 --> 09:53:18,320 something needs to change. And this is 20626 09:53:16,800 --> 09:53:19,916 how you deliver workflows professionally 20627 09:53:18,320 --> 09:53:21,200 and set yourself up for a long-term 20628 09:53:19,916 --> 09:53:22,480 relationship instead of one-off 20629 09:53:21,200 --> 09:53:24,080 projects. Now, this is the part that 20630 09:53:22,480 --> 09:53:25,520 people never really discuss online, and 20631 09:53:24,080 --> 09:53:27,040 that's the legal and financial side of 20632 09:53:25,520 --> 09:53:28,320 things. After handing over the workflow, 20633 09:53:27,040 --> 09:53:30,000 there are a few things you want to make 20634 09:53:28,320 --> 09:53:31,120 sure are agreed on in advance. And the 20635 09:53:30,000 --> 09:53:33,040 first one is billing. You want to be 20636 09:53:31,120 --> 09:53:34,720 crystal clear on this. First, you close 20637 09:53:33,040 --> 09:53:36,240 out the current project and get paid for 20638 09:53:34,720 --> 09:53:37,520 what you just built. Then, you decide if 20639 09:53:36,240 --> 09:53:38,880 there will be an ongoing paid 20640 09:53:37,520 --> 09:53:40,080 relationship to keep everything healthy 20641 09:53:38,880 --> 09:53:41,680 over time through a maintenance 20642 09:53:40,080 --> 09:53:43,200 retainer. Before anything else, you want 20643 09:53:41,680 --> 09:53:44,960 to revisit the scope of work that both 20644 09:53:43,200 --> 09:53:46,560 of you guys agreed on at the start. Your 20645 09:53:44,960 --> 09:53:48,480 contract or scope of work should already 20646 09:53:46,560 --> 09:53:49,916 say what finished means, which workflows 20647 09:53:48,480 --> 09:53:51,360 you promised to build, which systems 20648 09:53:49,916 --> 09:53:52,800 they would connect to, what success 20649 09:53:51,360 --> 09:53:54,560 looks like, essentially what the 20650 09:53:52,800 --> 09:53:55,916 definition of done is. Because at 20651 09:53:54,560 --> 09:53:57,680 handover, you want to walk through each 20652 09:53:55,916 --> 09:53:59,040 item and confirm that everything works 20653 09:53:57,680 --> 09:54:00,480 the way that you agreed. And once the 20654 09:53:59,040 --> 09:54:01,916 client confirms that the project is 20655 09:54:00,480 --> 09:54:03,436 complete, you send the final invoice. 20656 09:54:01,916 --> 09:54:05,200 You can frame this as simple as the 20657 09:54:03,436 --> 09:54:06,800 project ends when the agreed workflows 20658 09:54:05,200 --> 09:54:08,240 are live, tested, documented, and 20659 09:54:06,800 --> 09:54:09,916 accepted. And then the project invoice 20660 09:54:08,240 --> 09:54:10,960 is due. The next piece is deciding if 20661 09:54:09,916 --> 09:54:12,320 you want to offer a maintenance 20662 09:54:10,960 --> 09:54:14,000 retainer. A retainer is a separate 20663 09:54:12,320 --> 09:54:15,520 ongoing agreement where the client pays 20664 09:54:14,000 --> 09:54:16,800 you to keep the system up and running. 20665 09:54:15,520 --> 09:54:18,960 This usually covers things like bug 20666 09:54:16,800 --> 09:54:20,880 fixes, small tweaks, updates, dependency 20667 09:54:18,960 --> 09:54:23,120 changes, monitoring, and basic security 20668 09:54:20,880 --> 09:54:25,040 checks. It does not cover new features, 20669 09:54:23,120 --> 09:54:26,560 new workflows, or major scope changes. 20670 09:54:25,040 --> 09:54:28,320 Those should be a separate project. You 20671 09:54:26,560 --> 09:54:29,840 can also set basic service levels so 20672 09:54:28,320 --> 09:54:31,680 clients know what to expect. For 20673 09:54:29,840 --> 09:54:32,960 example, a critical outage might get a 20674 09:54:31,680 --> 09:54:34,240 response within a few hours. Minor 20675 09:54:32,960 --> 09:54:35,200 requests might be handled within a few 20676 09:54:34,240 --> 09:54:36,960 days. These don't have to be 20677 09:54:35,200 --> 09:54:38,240 complicated, but the expectations there 20678 09:54:36,960 --> 09:54:40,320 should be clear. Now, you also want to 20679 09:54:38,240 --> 09:54:41,680 get clarity on ownership and IP. Many 20680 09:54:40,320 --> 09:54:43,276 consulting agreements say that the 20681 09:54:41,680 --> 09:54:44,560 client owns the work product once paid, 20682 09:54:43,276 --> 09:54:46,320 but you should still protect yourself so 20683 09:54:44,560 --> 09:54:48,080 that you can keep the right to reuse 20684 09:54:46,320 --> 09:54:49,756 generic patterns or components that are 20685 09:54:48,080 --> 09:54:51,520 not specific to their business, such as, 20686 09:54:49,756 --> 09:54:53,520 like I said, reusable tools or 20687 09:54:51,520 --> 09:54:55,360 subworkflows or basic templates. It also 20688 09:54:53,520 --> 09:54:56,640 helps to define the exit process. So, if 20689 09:54:55,360 --> 09:54:58,080 the client ever wants to move away from 20690 09:54:56,640 --> 09:54:59,520 your services, you should outline what 20691 09:54:58,080 --> 09:55:01,596 you will hand over. This could include 20692 09:54:59,520 --> 09:55:03,276 exported workflows, documentation, and 20693 09:55:01,596 --> 09:55:04,800 handover call along with what is 20694 09:55:03,276 --> 09:55:06,640 included and what is billable. So, a 20695 09:55:04,800 --> 09:55:08,240 simple explanation of this is once the 20696 09:55:06,640 --> 09:55:10,160 product is paid for, the client has the 20697 09:55:08,240 --> 09:55:11,436 right to use and run these workflows in 20698 09:55:10,160 --> 09:55:13,040 their business. If they later want to 20699 09:55:11,436 --> 09:55:14,560 move providers, you will help handle 20700 09:55:13,040 --> 09:55:15,916 everything off in a structured way. For 20701 09:55:14,560 --> 09:55:17,756 beginners, the main thing is simple. 20702 09:55:15,916 --> 09:55:19,680 Stop doing all of this informally. Put 20703 09:55:17,756 --> 09:55:21,520 scope, definition of done, payment, 20704 09:55:19,680 --> 09:55:23,360 maintenance, service levels, bugs versus 20705 09:55:21,520 --> 09:55:24,960 changes, ownership, and exit terms into 20706 09:55:23,360 --> 09:55:26,480 a clear written agreement. When both 20707 09:55:24,960 --> 09:55:28,160 sides know what they are buying and what 20708 09:55:26,480 --> 09:55:29,916 happens after going live, projects run 20709 09:55:28,160 --> 09:55:31,040 smoother and you avoid miscommunication. 20710 09:55:29,916 --> 09:55:32,560 So now that you know what to do in 20711 09:55:31,040 --> 09:55:34,080 theory, let's take a look at a real life 20712 09:55:32,560 --> 09:55:35,436 example of a workflow that I sold and 20713 09:55:34,080 --> 09:55:36,800 the process I went through when handing 20714 09:55:35,436 --> 09:55:38,240 it over. So this one was a personal 20715 09:55:36,800 --> 09:55:39,360 assistant workflow and one of the first 20716 09:55:38,240 --> 09:55:41,040 ones that I ever delivered and the 20717 09:55:39,360 --> 09:55:42,400 client had never actually heard of N& he 20718 09:55:41,040 --> 09:55:43,840 just watched my YouTube video of the 20719 09:55:42,400 --> 09:55:44,960 ultimate assistant and then reached out 20720 09:55:43,840 --> 09:55:46,640 and said that he wanted something like 20721 09:55:44,960 --> 09:55:48,000 that. So after discovery and after 20722 09:55:46,640 --> 09:55:49,840 signing the contract, we got on a 20723 09:55:48,000 --> 09:55:51,360 kickoff call and on that call I had all 20724 09:55:49,840 --> 09:55:52,720 of these things that I needed from him 20725 09:55:51,360 --> 09:55:54,800 which were listed out in sort of like 20726 09:55:52,720 --> 09:55:56,000 our client expectations portion of the 20727 09:55:54,800 --> 09:55:57,680 contract. So, I walked him through 20728 09:55:56,000 --> 09:55:59,596 exactly what we needed to get and I 20729 09:55:57,680 --> 09:56:01,120 helped him go get those API keys, sign 20730 09:55:59,596 --> 09:56:02,560 up for an end account, things like that. 20731 09:56:01,120 --> 09:56:04,240 And then I showed him how to invite me 20732 09:56:02,560 --> 09:56:06,080 to that ended instance. Right there on 20733 09:56:04,240 --> 09:56:07,520 the call, we connected his CRM, his 20734 09:56:06,080 --> 09:56:09,120 calendar, his email, and the data 20735 09:56:07,520 --> 09:56:10,480 sources that he wanted this assistant to 20736 09:56:09,120 --> 09:56:11,596 be able to use. From there, I was able 20737 09:56:10,480 --> 09:56:12,960 to just plug in a few of my own 20738 09:56:11,596 --> 09:56:14,320 credentials for testing purposes [music] 20739 09:56:12,960 --> 09:56:15,596 and then I could just hit the ground 20740 09:56:14,320 --> 09:56:17,436 running. And the best part about this 20741 09:56:15,596 --> 09:56:18,960 was at the end, a handover was almost 20742 09:56:17,436 --> 09:56:20,640 instant because all I had to do was swap 20743 09:56:18,960 --> 09:56:21,520 out a few of his credentials for mine 20744 09:56:20,640 --> 09:56:22,720 and then he [music] could just start 20745 09:56:21,520 --> 09:56:23,916 using it right away and giving me 20746 09:56:22,720 --> 09:56:25,520 feedback. Now, with something like a 20747 09:56:23,916 --> 09:56:27,680 personal assistant that is super 20748 09:56:25,520 --> 09:56:28,956 autonomous, QA can be intense because 20749 09:56:27,680 --> 09:56:30,080 it's super conversational and there's 20750 09:56:28,956 --> 09:56:31,680 [music] lots of different tools that it 20751 09:56:30,080 --> 09:56:34,000 could call. It's also client facing. It 20752 09:56:31,680 --> 09:56:35,520 has memory. It has tone. It has lots of 20753 09:56:34,000 --> 09:56:37,200 things that you need to actually make 20754 09:56:35,520 --> 09:56:38,400 sure that the client is happy with. So, 20755 09:56:37,200 --> 09:56:40,000 there was a lot of back and forth. There 20756 09:56:38,400 --> 09:56:41,404 was a lot of tweaks, refinements, and 20757 09:56:40,000 --> 09:56:42,560 specifically with the system prompt, and 20758 09:56:41,404 --> 09:56:44,320 [music] that's completely normal. But 20759 09:56:42,560 --> 09:56:46,320 throughout this process, he began asking 20760 09:56:44,320 --> 09:56:47,916 for bigger features, new integrations. 20761 09:56:46,320 --> 09:56:49,680 And at that point, I had to protect the 20762 09:56:47,916 --> 09:56:51,200 scope because that's super important to 20763 09:56:49,680 --> 09:56:52,320 make sure that we're not adding in all 20764 09:56:51,200 --> 09:56:53,840 the stuff that you're not getting paid 20765 09:56:52,320 --> 09:56:55,520 for. So I told him which of those 20766 09:56:53,840 --> 09:56:57,200 requests would fit inside version one 20767 09:56:55,520 --> 09:56:59,120 and which ones would need to be added to 20768 09:56:57,200 --> 09:57:00,480 the backlog for a future phase. Then 20769 09:56:59,120 --> 09:57:01,916 after version one was complete and 20770 09:57:00,480 --> 09:57:03,596 accepted, we would scope out a new 20771 09:57:01,916 --> 09:57:05,436 project around those extra features. So 20772 09:57:03,596 --> 09:57:06,960 that alone saved me from doing a ton of 20773 09:57:05,436 --> 09:57:09,120 unpaid work. And the final lesson here 20774 09:57:06,960 --> 09:57:11,040 ties back to API keys. Early on, I used 20775 09:57:09,120 --> 09:57:12,400 to try to make things easy for clients 20776 09:57:11,040 --> 09:57:14,000 by running everything under my own 20777 09:57:12,400 --> 09:57:15,040 billing and just sending them an invoice 20778 09:57:14,000 --> 09:57:16,720 at the end of the month. Now it sounds 20779 09:57:15,040 --> 09:57:18,400 nice in theory, but in reality, it gets 20780 09:57:16,720 --> 09:57:20,160 messy fast. Like I mentioned earlier, 20781 09:57:18,400 --> 09:57:21,680 clients want predictable costs and token 20782 09:57:20,160 --> 09:57:23,120 usage is impossible to estimate 20783 09:57:21,680 --> 09:57:25,200 perfectly. You also could deal with late 20784 09:57:23,120 --> 09:57:26,560 invoices or confusion about what they're 20785 09:57:25,200 --> 09:57:28,000 actually paying for. And it all just 20786 09:57:26,560 --> 09:57:29,520 comes back to the same rule. It's so 20787 09:57:28,000 --> 09:57:31,596 much cleaner and simpler and way more 20788 09:57:29,520 --> 09:57:32,880 scalable if they own those accounts and 20789 09:57:31,596 --> 09:57:34,320 their keys from the start. It makes the 20790 09:57:32,880 --> 09:57:36,000 handover easier. It makes maintenance 20791 09:57:34,320 --> 09:57:37,916 easier. And it keeps you out of the 20792 09:57:36,000 --> 09:57:39,436 billing babysitter role. So hopefully 20793 09:57:37,916 --> 09:57:41,120 seeing a real example gives you a better 20794 09:57:39,436 --> 09:57:42,880 sense of how all the pieces come 20795 09:57:41,120 --> 09:57:44,880 together in a live client project. This 20796 09:57:42,880 --> 09:57:46,400 is how you build, host, test, handover, 20797 09:57:44,880 --> 09:57:47,840 and maintain AI workflows without 20798 09:57:46,400 --> 09:57:49,120 creating headaches for you or the 20799 09:57:47,840 --> 09:57:50,560 client. So that's the full process. 20800 09:57:49,120 --> 09:57:52,160 First, you decide where the workflow is 20801 09:57:50,560 --> 09:57:53,756 going to live. I always recommend that 20802 09:57:52,160 --> 09:57:55,756 clients self-host everything whether 20803 09:57:53,756 --> 09:57:57,200 that's ended in cloud, a VPS or 20804 09:57:55,756 --> 09:57:58,320 something local and you just help them 20805 09:57:57,200 --> 09:57:59,756 configure it. Before you deliver 20806 09:57:58,320 --> 09:58:01,276 anything, you make sure security and 20807 09:57:59,756 --> 09:58:02,960 data privacy are handled the right way. 20808 09:58:01,276 --> 09:58:05,120 Then you figure out who owns what with 20809 09:58:02,960 --> 09:58:06,640 API keys and how those keys get into the 20810 09:58:05,120 --> 09:58:08,480 system without creating a mess. After 20811 09:58:06,640 --> 09:58:10,080 that, you run your testing and QA so you 20812 09:58:08,480 --> 09:58:11,596 know that the workflow is reliable, 20813 09:58:10,080 --> 09:58:13,120 safe, and producing the right outputs. 20814 09:58:11,596 --> 09:58:14,880 Then you move into the actual handover, 20815 09:58:13,120 --> 09:58:16,320 which is how you deliver the system, set 20816 09:58:14,880 --> 09:58:17,916 expectations, and give them 20817 09:58:16,320 --> 09:58:19,756 documentation. And finally, you close 20818 09:58:17,916 --> 09:58:21,360 out the project on the legal and billing 20819 09:58:19,756 --> 09:58:22,880 side and decide if there will be ongoing 20820 09:58:21,360 --> 09:58:24,080 maintenance after go live. That's the 20821 09:58:22,880 --> 09:58:25,756 full life cycle of building and 20822 09:58:24,080 --> 09:58:27,276 delivering AI workflows the right way. 20823 09:58:25,756 --> 09:58:28,800 So, I know that we covered a lot of 20824 09:58:27,276 --> 09:58:30,240 information in this video. So, what I've 20825 09:58:28,800 --> 09:58:31,680 done is I've thrown all of this into a 20826 09:58:30,240 --> 09:58:33,200 full resource guide that you guys can 20827 09:58:31,680 --> 09:58:34,800 access for completely free. All you have 20828 09:58:33,200 --> 09:58:35,756 to do is join my free school community. 20829 09:58:34,800 --> 09:58:36,960 The link for that is down in the 20830 09:58:35,756 --> 09:58:38,320 description. If you enjoyed this one and 20831 09:58:36,960 --> 09:58:39,680 you want to dive even deeper, then 20832 09:58:38,320 --> 09:58:41,200 definitely check out my plus community. 20833 09:58:39,680 --> 09:58:42,800 We've got over 3,000 members in there 20834 09:58:41,200 --> 09:58:43,840 who are building businesses with NN 20835 09:58:42,800 --> 09:58:45,200 every single day. So, it's a great 20836 09:58:43,840 --> 09:58:46,640 environment to surround yourself with 20837 09:58:45,200 --> 09:58:47,756 like-minded people. So, that's going to 20838 09:58:46,640 --> 09:58:49,040 do it. If you learned something new, 20839 09:58:47,756 --> 09:58:50,240 please give it a like and subscribe. It 20840 09:58:49,040 --> 09:58:51,276 definitely helps me out a ton. And let 20841 09:58:50,240 --> 09:58:52,800 me know what else you guys want to see 20842 09:58:51,276 --> 09:58:53,840 in the comments. As always, I appreciate 20843 09:58:52,800 --> 09:58:55,200 you guys making it to the end of the 20844 09:58:53,840 --> 09:58:58,480 video. I'll see you in the next one. 20845 09:58:55,200 --> 09:58:59,680 Thanks, everyone. 20846 09:58:58,480 --> 09:59:00,720 If you guys are watching this, it means 20847 09:58:59,680 --> 09:59:02,400 you made it to the end of the course. 20848 09:59:00,720 --> 09:59:04,320 And I just want to say a huge thank you, 20849 09:59:02,400 --> 09:59:06,880 but also congratulations. You just sat 20850 09:59:04,320 --> 09:59:08,160 through so many hours of me talking. I'm 20851 09:59:06,880 --> 09:59:09,276 sure you guys are sick of my voice. But 20852 09:59:08,160 --> 09:59:11,200 like I said, I just wanted to say thank 20853 09:59:09,276 --> 09:59:12,720 you. I put a lot of time and energy into 20854 09:59:11,200 --> 09:59:14,640 this course, so I really hope that it 20855 09:59:12,720 --> 09:59:15,916 was beneficial for you. So, if it was, I 20856 09:59:14,640 --> 09:59:17,916 would really enjoy if you could leave a 20857 09:59:15,916 --> 09:59:19,200 like, drop subscribe. That would mean a 20858 09:59:17,916 --> 09:59:20,400 lot to me. And if you want to continue 20859 09:59:19,200 --> 09:59:22,160 to support me, then definitely check out 20860 09:59:20,400 --> 09:59:24,240 other resources. One of my biggest 20861 09:59:22,160 --> 09:59:26,080 passions right now is AI Automation 20862 09:59:24,240 --> 09:59:27,200 Society, as you can see by this 20863 09:59:26,080 --> 09:59:28,560 sweatshirt that I've been wearing pretty 20864 09:59:27,200 --> 09:59:29,680 much this entire course. You can check 20865 09:59:28,560 --> 09:59:31,040 it out. The link for that is down in the 20866 09:59:29,680 --> 09:59:32,880 description. It is my free community 20867 09:59:31,040 --> 09:59:34,160 called AI Automation Society. And we've 20868 09:59:32,880 --> 09:59:35,436 got hundreds of thousands of members. 20869 09:59:34,160 --> 09:59:37,200 And my goal is just to make it a 20870 09:59:35,436 --> 09:59:38,960 resource hub for people that want to 20871 09:59:37,200 --> 09:59:40,160 learn AI, but also just like a really 20872 09:59:38,960 --> 09:59:42,160 cool place for people to meet each 20873 09:59:40,160 --> 09:59:43,520 other. and we're going to be doing some 20874 09:59:42,160 --> 09:59:45,040 virtual events every quarter. We're 20875 09:59:43,520 --> 09:59:46,400 going to be doing inerson events. So, 20876 09:59:45,040 --> 09:59:48,080 that would be a great way to support me 20877 09:59:46,400 --> 09:59:49,840 would be by becoming a member of AI 20878 09:59:48,080 --> 09:59:51,916 Automation Society. And building on top 20879 09:59:49,840 --> 09:59:53,200 of AI Automation Society, we also have a 20880 09:59:51,916 --> 09:59:54,240 plus group. We're also going to have 20881 09:59:53,200 --> 09:59:56,080 higher ticket tokate coaching coming 20882 09:59:54,240 --> 09:59:57,520 out. So much more stuff is going to be 20883 09:59:56,080 --> 09:59:59,040 coming in the AI Automation Society 20884 09:59:57,520 --> 10:00:00,560 ecosystem, which I'm really pumped 20885 09:59:59,040 --> 10:00:01,916 about. But that's my pitch. I appreciate 20886 10:00:00,560 --> 10:00:03,276 you guys as always making it to the end 20887 10:00:01,916 --> 10:00:06,720 of the video, and I'll see you on the 20888 10:00:03,276 --> 10:00:06,720 next one. Thanks so much everyone. 1643352

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.