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.