WEBVTT

00:00:00.000 --> 00:00:04.219
Welcome to the deep dive. OK, let's talk about

00:00:04.219 --> 00:00:06.179
that feeling. You know the one, right? Yeah.

00:00:06.240 --> 00:00:09.359
That mix of hope and, let's be honest, crushing

00:00:09.359 --> 00:00:11.619
disappointment when you get some AI -generated

00:00:11.619 --> 00:00:14.119
code. Oh, yeah. Looks perfect on the screen.

00:00:14.279 --> 00:00:17.000
Exactly. Looks absolutely perfect. But then the

00:00:17.000 --> 00:00:20.260
second you try to actually integrate it, it just

00:00:20.260 --> 00:00:22.440
crumbles. It falls apart. You end up just tossing

00:00:22.440 --> 00:00:25.519
these disconnected prompts at the AI, hoping

00:00:25.519 --> 00:00:27.780
something sticks. People are calling it vibe

00:00:27.780 --> 00:00:31.839
coding. Yeah, vibe coding. It's kitschy. It is.

00:00:32.259 --> 00:00:34.340
But look, today we're digging into something

00:00:34.340 --> 00:00:36.899
that feels pretty revolutionary, an approach

00:00:36.899 --> 00:00:38.979
that could genuinely change that frustration

00:00:38.979 --> 00:00:42.280
into, well, maybe phenomenal productivity. And

00:00:42.280 --> 00:00:43.960
that change, that whole approach, it's called

00:00:43.960 --> 00:00:46.579
context engineering. And you know, it's not just

00:00:46.579 --> 00:00:48.259
another buzzword that's going to vanish next

00:00:48.259 --> 00:00:50.359
month. Right. We see enough of those. We do.

00:00:50.479 --> 00:00:54.070
This is a, it's a systematic way, really. a methodology

00:00:54.070 --> 00:00:57.189
to dramatically improve AI coding results, basically

00:00:57.189 --> 00:00:59.909
by giving the AI the right information, precisely.

00:01:00.149 --> 00:01:01.810
That feels like such a key difference, doesn't

00:01:01.810 --> 00:01:04.150
it? It shifts the focus. It's less about the

00:01:04.150 --> 00:01:07.510
AI guessing and more about us, the developers,

00:01:08.189 --> 00:01:10.870
actually providing the clarity it needs. It's

00:01:10.870 --> 00:01:14.049
almost like we become architects for the AI.

00:01:14.250 --> 00:01:16.230
That's a great way to put it. Information architects.

00:01:16.310 --> 00:01:19.680
Yeah. So our mission for this deep dive is to

00:01:19.680 --> 00:01:21.900
really unpack how this works. We've got some

00:01:21.900 --> 00:01:25.560
great sources, including bits from context engineering,

00:01:25.939 --> 00:01:28.200
the future of AI assisted development to help

00:01:28.200 --> 00:01:30.599
guide us through this shift. Let's unpack this

00:01:30.599 --> 00:01:33.879
then. What's the fundamental problem? Why are

00:01:33.879 --> 00:01:36.319
developers struggling so much with AI code right

00:01:36.319 --> 00:01:38.700
now? Why doesn't it just work more often? Well,

00:01:38.700 --> 00:01:41.340
I think it really boils down to trust or maybe

00:01:41.340 --> 00:01:43.459
the lack of it. There was this recent study,

00:01:43.659 --> 00:01:45.640
Quoto did it, and it found something pretty alarming.

00:01:45.790 --> 00:01:49.409
Oh, what was that? 76 .4 % of developers just

00:01:49.409 --> 00:01:52.129
don't trust AI -generated code, not without a

00:01:52.129 --> 00:01:54.209
human looking it over carefully. Wow, over three

00:01:54.209 --> 00:01:56.590
quarters. That's huge. It is. And look, the core

00:01:56.590 --> 00:01:58.769
problem isn't really the AI model itself. These

00:01:58.769 --> 00:02:01.750
LLMs, they're incredibly smart, like brilliant

00:02:01.750 --> 00:02:04.629
interns. They have this vast encyclopedic knowledge,

00:02:04.989 --> 00:02:07.489
but they have zero practical experience with

00:02:07.489 --> 00:02:10.770
your project, your specific setup. That's a fantastic

00:02:10.770 --> 00:02:13.780
analogy. Brilliant interns, loads of theory,

00:02:14.039 --> 00:02:16.400
no clue about this actual job site. Exactly.

00:02:16.620 --> 00:02:20.360
They know general patterns, sure. But your project's

00:02:20.360 --> 00:02:22.819
architecture, the libraries you picked, your

00:02:22.819 --> 00:02:25.419
team's coding style, the business reason for

00:02:25.419 --> 00:02:27.080
the feature, they know none of that. Right. So

00:02:27.080 --> 00:02:28.979
that's the gap. So if they're these brilliant

00:02:28.979 --> 00:02:31.740
interns, what are they missing most when we just

00:02:31.740 --> 00:02:34.759
give them a simple, vague prompt? It's all about

00:02:34.759 --> 00:02:37.800
that context void. When you say something short

00:02:37.800 --> 00:02:41.229
like, Write me a user API with Express .js. Yeah,

00:02:41.250 --> 00:02:43.009
something simple like that. You're basically

00:02:43.009 --> 00:02:45.789
forcing the AI to guess. It has to guess, you

00:02:45.789 --> 00:02:47.789
know, your project's directory structure or using

00:02:47.789 --> 00:02:51.289
Mongo or Postgres. What about OS? Is it JWT OAuth

00:02:51.289 --> 00:02:53.590
2 .0? What are your logging standards, error

00:02:53.590 --> 00:02:56.710
handling, existing data models? All of it. It

00:02:56.710 --> 00:02:58.509
doesn't know any of that. It's completely in

00:02:58.509 --> 00:03:00.189
the dark on the stuff that actually matters for

00:03:00.189 --> 00:03:02.189
making the code work in your system. And without

00:03:02.189 --> 00:03:04.210
that specific info, it just spits out generic

00:03:04.210 --> 00:03:06.569
code, right? Based on common stuff it saw during

00:03:06.569 --> 00:03:10.020
training. Precisely. code that might technically

00:03:10.020 --> 00:03:12.900
run on its own, maybe, but it's almost guaranteed

00:03:12.900 --> 00:03:15.099
to be incompatible somehow with your existing

00:03:15.099 --> 00:03:18.020
project. Which leads to hours of painful debugging.

00:03:18.659 --> 00:03:20.780
Trying to figure out why this perfectly logical

00:03:20.780 --> 00:03:23.599
-looking code is breaking everything. Hours and

00:03:23.599 --> 00:03:27.340
hours, costly hours. And that's exactly why context

00:03:27.340 --> 00:03:30.539
engineering isn't just like a nice idea, it's

00:03:30.539 --> 00:03:33.580
becoming essential, a real game changer. Okay,

00:03:33.580 --> 00:03:35.759
so that brings us neatly to the term itself,

00:03:36.240 --> 00:03:38.689
context engineering. It's interesting. Andrzej

00:03:38.689 --> 00:03:40.669
Karpathy coined it, and he also gave us vibe

00:03:40.669 --> 00:03:42.669
coding, funnily enough. Yeah. Yeah. It covers

00:03:42.669 --> 00:03:44.669
both ends of the spectrum. Right. And Toby Lidke,

00:03:44.750 --> 00:03:46.909
the Shopify CEO, he put it really well. He said,

00:03:46.930 --> 00:03:49.389
I really like the term context engineering over

00:03:49.389 --> 00:03:52.030
prompt engineering. It describes the core skills

00:03:52.030 --> 00:03:54.610
better, the art of providing all the context

00:03:54.610 --> 00:03:56.990
for the task to be plausibly solvable by the

00:03:56.990 --> 00:03:59.229
large language model. That quote really does

00:03:59.229 --> 00:04:01.330
hit the nail on the head. It captures the essence

00:04:01.330 --> 00:04:03.990
perfectly. If you want to think about the difference,

00:04:04.389 --> 00:04:07.189
think about ordering food. OK. An analogy. I

00:04:07.189 --> 00:04:09.259
like it. Trumped engineering is like going to

00:04:09.259 --> 00:04:11.080
a chef and saying, cook me something nice with

00:04:11.080 --> 00:04:15.379
beef. OK. Vague could be anything. Exactly. Steak,

00:04:15.560 --> 00:04:19.199
stir fry, soup. Who knows? It depends entirely

00:04:19.199 --> 00:04:21.180
on the chef's assumptions about what you want.

00:04:21.379 --> 00:04:23.019
It's basically a shot in the dark. And how often

00:04:23.019 --> 00:04:25.410
does that work out perfectly? Probably not very

00:04:25.410 --> 00:04:27.589
often, so context engineering is the opposite.

00:04:27.790 --> 00:04:29.529
Completely. Context engineering is like handing

00:04:29.529 --> 00:04:32.449
the chef a super detailed recipe, right? Here's

00:04:32.449 --> 00:04:35.250
300 grams of Australian beef, cut exactly two

00:04:35.250 --> 00:04:37.550
centimeters thick, use the cast iron skillet,

00:04:37.649 --> 00:04:40.709
get it rip and hot, add rosemary, garlic, cook

00:04:40.709 --> 00:04:43.290
it medium rare, serve it with roasted asparagus.

00:04:43.490 --> 00:04:46.430
Ah, okay. No ambiguity there. The result is precisely

00:04:46.430 --> 00:04:48.509
what you asked for because you gave all the necessary

00:04:48.509 --> 00:04:51.569
details. Exactly. So if we want a full definition,

00:04:51.949 --> 00:04:54.120
context engineering is something like... The

00:04:54.120 --> 00:04:56.860
skill and art of strategically selecting, organizing,

00:04:57.120 --> 00:04:59.899
and managing the entire set of information and

00:04:59.899 --> 00:05:03.819
AI needs at each step to do complex tasks well

00:05:03.819 --> 00:05:06.220
efficiently and accurately. And the key is without

00:05:06.220 --> 00:05:08.319
overwhelming it with useless stuff or leaving

00:05:08.319 --> 00:05:10.860
out critical details. That's the art part. Finding

00:05:10.860 --> 00:05:13.300
that balance, feeding it the perfect information

00:05:13.300 --> 00:05:16.360
diet, you could say. OK, the perfect diet. So

00:05:16.360 --> 00:05:18.160
here's where it gets really interesting for me.

00:05:18.699 --> 00:05:21.959
How does having all this context actually make

00:05:21.959 --> 00:05:24.680
such a huge difference? What are the ingredients

00:05:24.680 --> 00:05:27.180
in this perfect diet you're talking about? Right,

00:05:27.279 --> 00:05:29.839
so context isn't just your prompt. It's everything

00:05:29.839 --> 00:05:32.660
the AI model gets to see before it starts generating

00:05:32.660 --> 00:05:34.819
anything. It's multi -layered. It's structured.

00:05:35.600 --> 00:05:38.819
It includes, well, quite a few things. Lay it

00:05:38.819 --> 00:05:41.199
on us. What's in the mix? OK, first, the current

00:05:41.199 --> 00:05:43.519
state of the project. That means things like

00:05:43.519 --> 00:05:45.879
your file tree structure, the actual content

00:05:45.879 --> 00:05:48.079
of relevant code files. Like the files it needs

00:05:48.079 --> 00:05:50.660
to modify or interact with. Exactly. And things

00:05:50.660 --> 00:05:53.839
like your package .json or requirements .txt

00:05:53.839 --> 00:05:56.660
so it knows your dependencies. Then there's historical

00:05:56.660 --> 00:05:59.019
information. Meaning? Previous turns in the same

00:05:59.019 --> 00:06:01.800
chat session. Or maybe bigger architectural decisions

00:06:01.800 --> 00:06:04.000
that were already made and documented somewhere

00:06:04.000 --> 00:06:06.360
in the project. Then of course your user prompt.

00:06:06.939 --> 00:06:09.149
But not just a one -liner. The detailed one we

00:06:09.149 --> 00:06:10.850
talked about with business and technical needs.

00:06:10.990 --> 00:06:14.769
Yes. Then crucially, available tools. This is

00:06:14.769 --> 00:06:17.110
where it gets powerful. You tell the AI about

00:06:17.110 --> 00:06:19.730
specific APIs or functions it's allowed to use.

00:06:20.029 --> 00:06:22.410
Ah, like function calling capabilities in newer

00:06:22.410 --> 00:06:25.230
models. Precisely. Things like a function to

00:06:25.230 --> 00:06:27.589
query your database or an API call to send an

00:06:27.589 --> 00:06:30.350
email. The AI can leverage these external tools.

00:06:30.970 --> 00:06:33.709
Then there's ARAGI instructions, retrieve a logmented

00:06:33.709 --> 00:06:36.529
generation. Guiding the AI on how to look stuff

00:06:36.529 --> 00:06:39.860
up. Yep. How it should search and use info from,

00:06:39.860 --> 00:06:43.019
say, external docs you provide official API docs,

00:06:43.259 --> 00:06:46.120
technical articles, your own internal wiki, and

00:06:46.120 --> 00:06:49.439
finally, long -term memory. Persistent rules.

00:06:49.600 --> 00:06:52.319
Kind of. Rules, preferences, standards you set

00:06:52.319 --> 00:06:54.759
up once, like, always use type hints in Python,

00:06:54.939 --> 00:06:58.139
or every public function needs unit tests. These

00:06:58.139 --> 00:07:00.819
apply to every single interaction. Wow, okay.

00:07:01.019 --> 00:07:03.100
That's... That's a lot more comprehensive than

00:07:03.100 --> 00:07:05.220
just a prompt. So by pulling all that together,

00:07:05.319 --> 00:07:07.879
the AI can actually cross reference things, connect

00:07:07.879 --> 00:07:10.040
the dots. Exactly. It can see the current code,

00:07:10.079 --> 00:07:12.139
check the standards file, look at the API docs

00:07:12.139 --> 00:07:14.420
you linked, understand the goal from your detailed

00:07:14.420 --> 00:07:16.720
prompt. It's not guessing anymore. It's working

00:07:16.720 --> 00:07:18.860
from a detailed blueprint. A blueprint. I like

00:07:18.860 --> 00:07:20.560
that. So if you compare the two approaches side

00:07:20.560 --> 00:07:23.339
by side, vibe coding versus context engineering,

00:07:23.980 --> 00:07:26.279
the difference must be stark. Oh, absolutely.

00:07:26.639 --> 00:07:29.339
Look at reliability. Vibe coding, pretty low.

00:07:29.879 --> 00:07:32.899
Context engineering. much higher debug time vibe

00:07:32.899 --> 00:07:35.439
coding often high context engineering way lower

00:07:35.439 --> 00:07:37.560
because errors are caught earlier or prevented

00:07:37.560 --> 00:07:40.620
scalability consistency vibe coding is hard to

00:07:40.620 --> 00:07:43.199
scale or make consistent context engineering

00:07:43.199 --> 00:07:45.819
high scalability because you can reuse templates

00:07:45.819 --> 00:07:48.560
and rules consistency is much better what about

00:07:48.560 --> 00:07:52.379
cost like token usage that's interesting vibe

00:07:52.379 --> 00:07:55.680
coding feels cheap per prompt, but the back and

00:07:55.680 --> 00:07:58.120
forth adds up fast. Context engineering might

00:07:58.120 --> 00:08:00.680
have a larger initial request, but it's often

00:08:00.680 --> 00:08:03.019
more optimal overall because you get it right,

00:08:03.259 --> 00:08:06.180
or much closer to right, the first time. Fewer

00:08:06.180 --> 00:08:08.399
iterations. Okay, so the theory makes a ton of

00:08:08.399 --> 00:08:11.379
sense. Blueprint, detailed info, better results.

00:08:11.879 --> 00:08:13.600
But the big question for everyone listening is

00:08:13.600 --> 00:08:15.680
probably, OK, great, but how do I actually do

00:08:15.680 --> 00:08:17.980
this? How do I stop vibe coding and start building

00:08:17.980 --> 00:08:19.779
with this blueprint? Let's get practical. Right.

00:08:19.860 --> 00:08:21.459
Let's walk through it. There's a great template

00:08:21.459 --> 00:08:23.699
out there inspired by Coal Midden that really

00:08:23.699 --> 00:08:26.000
demonstrates the principles. And remember, these

00:08:26.000 --> 00:08:29.220
ideas work with basically any capable AI model.

00:08:29.579 --> 00:08:32.080
OK, step by step. What's step one? Step one is

00:08:32.080 --> 00:08:34.200
just laying the foundation. Basic stuff, really.

00:08:34.399 --> 00:08:37.080
Make sure you have tools like Git, Node .js installed,

00:08:37.759 --> 00:08:40.480
and you'll need an AI programming assistant integrated

00:08:40.480 --> 00:08:43.259
into your IDE. Something like the Quad Code extension

00:08:43.259 --> 00:08:45.360
for VS Code, for example. Standard developer

00:08:45.360 --> 00:08:48.620
setup. Got it. Step two. Step two, acquire the

00:08:48.620 --> 00:08:51.379
template. For this specific example, you'd clone

00:08:51.379 --> 00:08:55.659
a GitHub repo. https .getup .com forward slash

00:08:55.659 --> 00:09:00.960
duress 00000 contextengineering -intro .git.

00:09:01.299 --> 00:09:03.159
Then just open that clone folder in your IDE.

00:09:03.519 --> 00:09:05.360
Okay, clone the repo. Now what? This is where

00:09:05.360 --> 00:09:06.940
the context starts coming in, right? Yeah, okay.

00:09:07.019 --> 00:09:09.360
Step three, configuring global rules. This is

00:09:09.360 --> 00:09:11.500
where the magic starts. You open a file, often

00:09:11.500 --> 00:09:14.139
name something like Claude .md or systemrules

00:09:14.139 --> 00:09:17.039
.md. This file holds the core instructions for

00:09:17.039 --> 00:09:18.879
the AI for this project. Think of it as your

00:09:18.879 --> 00:09:21.279
project's constitution. The constitution. I like

00:09:21.279 --> 00:09:23.039
that. So what goes in there? All your high -level

00:09:23.039 --> 00:09:25.240
standards and preferences. Code structure stuff.

00:09:25.399 --> 00:09:27.720
Use hexagonal architecture. Or React components

00:09:27.720 --> 00:09:30.000
must be functional with hooks. Testing requirements.

00:09:30.360 --> 00:09:33.220
Use Jest and Supertest for API tests. Minimum

00:09:33.220 --> 00:09:36.100
85 % code coverage. Reliability standards, too.

00:09:36.220 --> 00:09:39.379
Like error handling. Yep. Always use Trycatch

00:09:39.379 --> 00:09:42.220
for I .O. log errors using our standard logger,

00:09:42.559 --> 00:09:45.279
even task completion rules, like only mark a

00:09:45.279 --> 00:09:47.240
task done when code and tests are generated,

00:09:47.879 --> 00:09:50.919
and conversation rules for the AI itself. Think

00:09:50.919 --> 00:09:54.139
step -by -step, ask clarifying questions if unsure.

00:09:54.399 --> 00:09:56.440
Wow, okay. So you're really setting the ground

00:09:56.440 --> 00:09:58.779
rules for how the AI should behave and build

00:09:58.779 --> 00:10:00.799
things within your specific project context.

00:10:00.899 --> 00:10:02.779
And this applies every time you interact with

00:10:02.779 --> 00:10:05.799
it for this project. That's the power. Consistency

00:10:05.799 --> 00:10:07.940
across interactions, even across different team

00:10:07.940 --> 00:10:10.159
members using it, it reduces that review friction.

00:10:10.440 --> 00:10:12.919
Makes sense. So Constitution is set. What's step

00:10:12.919 --> 00:10:15.940
four? the actual request. Step four is creating

00:10:15.940 --> 00:10:17.940
your feature request. This usually goes in a

00:10:17.940 --> 00:10:20.539
separate file, maybe initial .md or featurerequest

00:10:20.539 --> 00:10:23.759
.md, and detail is absolutely king here. No more

00:10:23.759 --> 00:10:26.159
make a login API. Definitely not. In a feature

00:10:26.159 --> 00:10:27.820
section, you'd write something specific like,

00:10:28.019 --> 00:10:31.399
build a post of PAV1 off login endpoint. It takes

00:10:31.399 --> 00:10:33.779
email and password. Authenticate against the

00:10:33.779 --> 00:10:37.460
user's table. On success, create a JWT 24 -hour

00:10:37.460 --> 00:10:40.519
expiry, include user and rule, return the token.

00:10:40.730 --> 00:10:43.230
super specific. Okay, that's clear. What else

00:10:43.230 --> 00:10:45.830
goes in this request file? Critically, an example

00:10:45.830 --> 00:10:49.309
section. This is huge. You provide snippets or

00:10:49.309 --> 00:10:52.309
paths to existing files in your code base. Ah,

00:10:52.350 --> 00:10:54.769
so it learns your style. Exactly. An existing

00:10:54.769 --> 00:10:57.950
controller .js, maybe a database model .ts. You

00:10:57.950 --> 00:11:00.029
put these in maybe an examples directory and

00:11:00.029 --> 00:11:02.370
reference them. The AI learns your patterns,

00:11:02.570 --> 00:11:04.970
your style, how you structure things. Okay, examples

00:11:04.970 --> 00:11:07.970
are key. A documentation section. Paste links

00:11:07.970 --> 00:11:11.230
to relevant docs, Stripe API page, a confluence

00:11:11.230 --> 00:11:13.129
article on your internal standards, whatever

00:11:13.129 --> 00:11:16.049
it needs. And finally, additional considerations.

00:11:16.269 --> 00:11:19.289
Edge cases. Security. Precisely. Endpoint must

00:11:19.289 --> 00:11:21.769
be rate limited. Hash passwords using bcrypt.

00:11:22.129 --> 00:11:24.190
Performance notes. Anything else it needs to

00:11:24.190 --> 00:11:26.970
know to do the job right. Leave no stone unturned.

00:11:27.129 --> 00:11:29.470
Okay, foundation laid. Constitution written.

00:11:29.690 --> 00:11:31.830
Super detailed request crafted with examples

00:11:31.830 --> 00:11:35.919
and docs. Now this next step. Step five, generating

00:11:35.919 --> 00:11:39.139
the product requirement plan or PRP. This sounds

00:11:39.139 --> 00:11:41.019
like where the real departure from just asking

00:11:41.019 --> 00:11:43.600
for code happens. Why plan first? This is the

00:11:43.600 --> 00:11:45.899
game changer step, honestly. Instead of jumping

00:11:45.899 --> 00:11:48.120
straight to code, you ask the AI to generate

00:11:48.120 --> 00:11:51.580
a detailed blueprint first. Using an agent or

00:11:51.580 --> 00:11:55.139
tool, you might run a command like agent .planrequest,

00:11:55.539 --> 00:11:58.519
requestfeaturelogin .md, output plansloginplan

00:11:58.519 --> 00:12:01.620
.md. And what does the AI do then? It goes to

00:12:01.620 --> 00:12:04.100
work. It reads your request, deeply analyzes

00:12:04.100 --> 00:12:06.600
the documentation links you provided, examines

00:12:06.600 --> 00:12:08.580
your code base, especially those example files,

00:12:08.879 --> 00:12:11.220
and then it constructs a detailed step -by -step

00:12:11.220 --> 00:12:13.159
plan. It might take a few minutes, but it's doing

00:12:13.159 --> 00:12:15.320
actual research and architectural thinking. Okay,

00:12:15.379 --> 00:12:18.799
so it generates this plan. Step six is reviewing

00:12:18.799 --> 00:12:21.740
that PRP. What am I looking for and why is this

00:12:21.740 --> 00:12:24.480
review so critical? I guess catching mistakes

00:12:24.480 --> 00:12:26.480
here is way cheaper. Way, way cheaper. Yeah.

00:12:26.600 --> 00:12:28.179
You're catching errors on the blueprint, not

00:12:28.179 --> 00:12:30.759
after the walls are up. A good PRP is detailed.

00:12:30.860 --> 00:12:33.480
It'll have a requirement summary. The AI basically

00:12:33.480 --> 00:12:35.120
repeats back what it thinks you want, confirming

00:12:35.120 --> 00:12:37.289
understanding. Good sanity check. Absolutely.

00:12:37.429 --> 00:12:39.710
It lists documentation references it plans to

00:12:39.710 --> 00:12:42.590
use. It shows a file structure analysis. Here's

00:12:42.590 --> 00:12:44.309
the current tree. Here's what I'll create or

00:12:44.309 --> 00:12:47.129
modify. And the core is the detailed implementation

00:12:47.129 --> 00:12:50.169
plan, literally step by step. One, create auth

00:12:50.169 --> 00:12:53.350
.controller .js. Two, add route to routes index

00:12:53.350 --> 00:12:56.490
.js. So you can see exactly what it intends to

00:12:56.490 --> 00:12:59.090
do, file by file. Exactly. And often, a risk

00:12:59.090 --> 00:13:00.990
assessment section two, potential problems it

00:13:00.990 --> 00:13:03.809
foresees, and how it plans to handle them. Reviewing

00:13:03.809 --> 00:13:06.210
this catches misunderstandings, logical flaws,

00:13:06.490 --> 00:13:08.389
potential hallucinations before code is written.

00:13:08.809 --> 00:13:10.850
It saves so much time and tokens downstream.

00:13:11.149 --> 00:13:12.950
That feels like a huge shift. It's not just coding

00:13:12.950 --> 00:13:15.950
faster, it's improving the design process itself.

00:13:16.490 --> 00:13:18.450
Like having a super diligent architect review

00:13:18.450 --> 00:13:20.769
your plans. Okay, so plan reviewed, looks good.

00:13:21.250 --> 00:13:24.070
Step seven, execute the PRP. Yep. Now you tell

00:13:24.070 --> 00:13:27.169
the AI to build it, a command like agent .execute

00:13:27.169 --> 00:13:32.429
plansloginplan .md workspace .src. And the AI

00:13:32.429 --> 00:13:34.210
just systematically works through the plan. What

00:13:34.210 --> 00:13:36.169
does that look like in practice? It'll create

00:13:36.169 --> 00:13:38.529
directories if needed, install dependencies via

00:13:38.529 --> 00:13:41.309
npm or pip, write the code for each specified

00:13:41.309 --> 00:13:43.570
file, run linters or formatters you've configured.

00:13:43.879 --> 00:13:46.539
It might even try to run build commands or simple

00:13:46.539 --> 00:13:49.600
validations. And if it hits small errors, it

00:13:49.600 --> 00:13:51.639
often tries to fix them automatically based on

00:13:51.639 --> 00:13:53.919
the error messages. That sounds pretty intensive.

00:13:54.279 --> 00:13:58.000
Takes a while. Uses tokens. It can, yes. Especially

00:13:58.000 --> 00:14:00.480
for complex features. It might take several minutes.

00:14:00.899 --> 00:14:02.840
And it will use tokens as it thinks, writes,

00:14:03.080 --> 00:14:05.740
and potentially self -corrects. But the output

00:14:05.740 --> 00:14:08.159
quality, the adherence to your plan and standards,

00:14:08.480 --> 00:14:10.659
it's usually far superior to just wean it with

00:14:10.659 --> 00:14:12.759
vibe coding. Right. The upfront investment pays

00:14:12.759 --> 00:14:15.419
off in quality and reduced rework. So execution

00:14:15.419 --> 00:14:17.940
finishes. What's the last step? Step eight is

00:14:17.940 --> 00:14:20.909
basically test and deploy. The AI usually finishes

00:14:20.909 --> 00:14:23.029
by giving you the final instructions. Things

00:14:23.029 --> 00:14:25.529
like environment variables you need to set, API

00:14:25.529 --> 00:14:27.950
keys you need to configure, the exact commands

00:14:27.950 --> 00:14:30.190
to install everything, npm install, run the app,

00:14:30.269 --> 00:14:33.529
npm start, and run the tests, npm test. So it

00:14:33.529 --> 00:14:36.549
hands off a working tested based on its generated

00:14:36.549 --> 00:14:39.929
tests feature with instructions. Ideally, yes.

00:14:40.370 --> 00:14:42.649
You follow its final steps, do your own thorough

00:14:42.649 --> 00:14:45.230
testing, of course, and then deploy. But it's

00:14:45.230 --> 00:14:47.990
built to your specifications defined in the context

00:14:47.990 --> 00:14:50.440
in the plan. Okay, that whole process makes sense.

00:14:50.679 --> 00:14:53.000
To really hammer home the power, maybe let's

00:14:53.000 --> 00:14:55.259
look at a more complex, real -world example,

00:14:55.460 --> 00:14:58.639
something beyond a simple login, like that automated

00:14:58.639 --> 00:15:01.860
financial analysis system idea. Great idea, because

00:15:01.860 --> 00:15:03.620
that's where you see the massive time savings.

00:15:04.320 --> 00:15:06.600
Imagine you want an AI to build a system that

00:15:06.600 --> 00:15:09.299
pulls quarterly financial reports and drafts

00:15:09.299 --> 00:15:11.600
an email summary for your investment team. Okay,

00:15:11.659 --> 00:15:14.600
that sounds complex. What would the initial .md

00:15:14.600 --> 00:15:16.759
look like for that? Under features, you'd be

00:15:16.759 --> 00:15:19.820
very specific. build an automated Python system,

00:15:20.080 --> 00:15:22.379
takes a list of stock tickers, uses the Braids

00:15:22.379 --> 00:15:24.519
search API to find the latest quarterly earnings

00:15:24.519 --> 00:15:27.340
report PDF or web page for each, extracts key

00:15:27.340 --> 00:15:30.120
metrics, revenue, net income, EPS, future guidance,

00:15:30.840 --> 00:15:33.899
then uses the Gmail API to draft an email summarizing

00:15:33.899 --> 00:15:36.279
findings comparing current quarter to previous.

00:15:36.700 --> 00:15:39.269
Wow, okay. Very specific feature set. What about

00:15:39.269 --> 00:15:42.389
examples and docs? Crucial here. Under examples,

00:15:42.470 --> 00:15:44.990
you might provide a sample Python script showing

00:15:44.990 --> 00:15:47.090
how you prefer to use libraries like requests

00:15:47.090 --> 00:15:50.009
for fetching data and maybe Beautiful Soup for

00:15:50.009 --> 00:15:52.950
basic HTML parsing, and definitely provide a

00:15:52.950 --> 00:15:55.129
markdown template showing the exact format you

00:15:55.129 --> 00:15:58.649
want for the final email draft. Style, tone,

00:15:59.070 --> 00:16:00.990
structure. So it matches your team's communication

00:16:00.990 --> 00:16:04.600
style. Smart docs. Direct links under documentation

00:16:04.600 --> 00:16:07.299
to the Brave Search API docs and the Gmail API

00:16:07.299 --> 00:16:10.120
docs make it easy for the AI. And additional

00:16:10.120 --> 00:16:11.860
considerations. What kind of things, Zach? Things

00:16:11.860 --> 00:16:14.200
like handle cases where an earnings report can't

00:16:14.200 --> 00:16:16.500
be found for a ticker. Ensure the email tone

00:16:16.500 --> 00:16:18.789
is professional and objective. maybe mention

00:16:18.789 --> 00:16:21.590
API rate limits to be aware of, error handling

00:16:21.590 --> 00:16:24.330
for parsing failures. Okay, and if you run this

00:16:24.330 --> 00:16:27.370
whole context engineering process plan, review,

00:16:27.710 --> 00:16:29.809
execute, what's the potential outcome? The outcome

00:16:29.809 --> 00:16:31.850
could be a complete Python project, maybe with

00:16:31.850 --> 00:16:34.529
a main script like financialanalyzer .pi, helper

00:16:34.529 --> 00:16:37.909
modules, requirement files, a system that automatically

00:16:37.909 --> 00:16:40.850
does that research, scrapes the data, performs

00:16:40.850 --> 00:16:43.669
the analysis, and drafts that detailed email.

00:16:43.750 --> 00:16:45.669
Which would normally take a human analyst star

00:16:45.669 --> 00:16:49.639
hours. Easily. hours of manual, tedious work,

00:16:50.000 --> 00:16:52.259
researching, downloading, reading reports, extracting

00:16:52.259 --> 00:16:54.860
numbers, drafting. This system could potentially

00:16:54.860 --> 00:16:57.519
do it for, what, maybe a few dollars in API fees

00:16:57.519 --> 00:17:00.659
and token costs? That's a jaw -dropping productivity

00:17:00.659 --> 00:17:04.359
game, moving from manual slog to automated insight.

00:17:05.000 --> 00:17:07.579
So if we zoom out again, connect this to the

00:17:07.579 --> 00:17:11.190
bigger picture. What are the real compounding

00:17:11.190 --> 00:17:14.210
benefits here? Adopting this context -first approach

00:17:14.210 --> 00:17:16.930
across a whole project or team. The benefits

00:17:16.930 --> 00:17:19.769
really stack up, I think. First, reduced hallucinations.

00:17:19.849 --> 00:17:23.309
Big one. By giving the AI a clear, bounded world,

00:17:23.769 --> 00:17:25.849
your context it operates on the ground truth

00:17:25.849 --> 00:17:28.549
you provide. less making stuff up. Makes sense.

00:17:28.710 --> 00:17:30.990
What else? Superior planning. Like we said, forcing

00:17:30.990 --> 00:17:33.210
the AI to plan before coding catches so many

00:17:33.210 --> 00:17:35.690
architectural or logical flaws early. Fixing

00:17:35.690 --> 00:17:37.309
the blueprint is way cheaper than renovating

00:17:37.309 --> 00:17:39.369
the building. Right. Cognitive offloading, too,

00:17:39.430 --> 00:17:41.829
maybe? Absolutely. Cognitive offloading. Developers

00:17:41.829 --> 00:17:44.309
can focus more on what the high -level requirements,

00:17:44.609 --> 00:17:46.670
the business value, and let the AI handle more

00:17:46.670 --> 00:17:49.089
of the detailed how. Freeze up mental bandwidth

00:17:49.089 --> 00:17:51.369
for harder problems. I can see that. And the

00:17:51.369 --> 00:17:53.390
context files themselves. They become a form

00:17:53.390 --> 00:17:56.380
of living code -based specification. your CLAWD

00:17:56.380 --> 00:17:59.640
.md rules, your detailed initial .md requests,

00:18:00.119 --> 00:18:03.240
the generated PRPs, they act as always up -to

00:18:03.240 --> 00:18:05.160
-date documentation explaining how the system

00:18:05.160 --> 00:18:07.519
is built and why certain decisions were made.

00:18:07.680 --> 00:18:09.920
That's incredibly valuable. Documentation that

00:18:09.920 --> 00:18:13.019
doesn't get stale and overall quality. Consistent

00:18:13.019 --> 00:18:16.019
quality. With good context, the AI consistently

00:18:16.019 --> 00:18:18.380
produces code that meets your standards, uses

00:18:18.380 --> 00:18:22.160
your patterns, includes tests, fewer bugs, easier

00:18:22.160 --> 00:18:24.849
maintenance, more reliable system overall. OK,

00:18:24.930 --> 00:18:27.269
it sounds almost perfect, which always makes

00:18:27.269 --> 00:18:29.609
me ask, what are the catches? Are there pitfalls

00:18:29.609 --> 00:18:31.450
to watch out for when you start doing context

00:18:31.450 --> 00:18:33.589
engineering? Where can things go wrong? Oh, definitely

00:18:33.589 --> 00:18:35.670
pitfalls. It's not magic. It requires skill.

00:18:36.230 --> 00:18:38.890
One big one is over -constraining. Too many rules.

00:18:39.009 --> 00:18:41.309
Yeah, being too rigid. If you lock down every

00:18:41.309 --> 00:18:44.210
single detail, you might stifle the AI's ability

00:18:44.210 --> 00:18:46.349
to find a clever or simpler solution you didn't

00:18:46.349 --> 00:18:49.109
think of. It can sometimes be counterproductive.

00:18:49.329 --> 00:18:51.750
OK, so don't stifle creativity entirely. Yeah.

00:18:51.869 --> 00:18:54.349
What else? Conflicting context. This is a subtle

00:18:54.349 --> 00:18:57.430
one. If your global rules in Claw .md say one

00:18:57.430 --> 00:19:00.410
thing, but your specific feature request in Initial

00:19:00.410 --> 00:19:03.529
.md accidentally implies something contradictory.

00:19:03.730 --> 00:19:06.789
The AI gets confused. Mixed signals. Exactly.

00:19:07.069 --> 00:19:09.809
It can lead to unpredictable or nonsensical output

00:19:09.809 --> 00:19:12.089
because it doesn't know which instruction takes

00:19:12.089 --> 00:19:15.069
precedence. Consistency across your context is

00:19:15.069 --> 00:19:17.190
key. Makes sense. What about the planning step?

00:19:17.670 --> 00:19:19.809
Skipping PRP review? It was tempting, right?

00:19:20.029 --> 00:19:22.839
You just want the code. But blindly trusting

00:19:22.839 --> 00:19:25.519
the AI's plan without carefully reading it is

00:19:25.519 --> 00:19:27.819
risky. It might have misunderstood something,

00:19:28.259 --> 00:19:30.279
planned a flawed approach, and if you just hit

00:19:30.279 --> 00:19:32.259
execute. You bake in the errors right at the

00:19:32.259 --> 00:19:34.839
start. Got it. And the opposite of over -constraining.

00:19:35.380 --> 00:19:37.380
Insufficiently detailed context. If you don't

00:19:37.380 --> 00:19:40.720
provide enough detail, good examples, clear requirements,

00:19:41.059 --> 00:19:43.619
relevant docs you just drift back towards. Vibe

00:19:43.619 --> 00:19:45.880
coding. Right back where you started. The AI

00:19:45.880 --> 00:19:48.799
is forced to guess again. So, yeah, finding that

00:19:48.799 --> 00:19:51.720
balance detailed enough, but not too rigid and

00:19:51.720 --> 00:19:54.380
internally consistent, that's the skill. It really

00:19:54.380 --> 00:19:56.819
feels like context engineering is more than just

00:19:56.819 --> 00:19:59.259
a technique. It's a fundamental shift, isn't

00:19:59.259 --> 00:20:01.660
it? in how we even think about interacting with

00:20:01.660 --> 00:20:06.059
these powerful AI tools. We're moving away from

00:20:06.059 --> 00:20:08.599
just being command -givers, shouting orders into

00:20:08.599 --> 00:20:11.220
the void, and becoming more like information

00:20:11.220 --> 00:20:14.579
architects, curators of context. The critical

00:20:14.579 --> 00:20:16.740
skill isn't just writing a clever prompt anymore,

00:20:16.740 --> 00:20:20.319
is it? It's about systematically gathering, organizing,

00:20:20.819 --> 00:20:23.200
structuring, and presenting the right information,

00:20:24.000 --> 00:20:26.710
designing the entire conversation. That's perfectly

00:20:26.710 --> 00:20:29.069
put. It's really about more than just training

00:20:29.069 --> 00:20:32.190
an AI to write code snippets. It's about training

00:20:32.190 --> 00:20:35.470
it in a way to become a capable, reliable member

00:20:35.470 --> 00:20:37.849
of your development team. one that understands

00:20:37.849 --> 00:20:40.009
your project's specific needs and standards.

00:20:40.130 --> 00:20:42.789
It's truly augmenting what we can do. So, maybe

00:20:42.789 --> 00:20:44.890
the final thought for everyone listening is this.

00:20:45.450 --> 00:20:47.950
The era of unreliable, frustrating vibe coding

00:20:47.950 --> 00:20:50.650
feels like it's coming to an end. The age of

00:20:50.650 --> 00:20:53.029
systematic, context -driven software development,

00:20:53.269 --> 00:20:55.549
that seems to be just beginning. The question

00:20:55.549 --> 00:20:57.930
is, are you ready to be a part of that shift

00:20:57.930 --> 00:21:00.380
and transform how you build software? It's an

00:21:00.380 --> 00:21:02.680
exciting time to be a developer. It really is.

00:21:02.980 --> 00:21:05.160
We definitely encourage you to explore these

00:21:05.160 --> 00:21:08.059
ideas more, check out the resources, maybe try

00:21:08.059 --> 00:21:10.140
building a simple context template for one of

00:21:10.140 --> 00:21:12.799
your own projects. The future of coding is unfolding

00:21:12.799 --> 00:21:15.000
and it looks like context is right at the heart

00:21:15.000 --> 00:21:15.279
of it.
