75 slides extracted.
Slide 1 — 0:22 (watch)
Slide 2 — 0:46 (watch)
Slide 3 — 1:46 (watch)
Slide 4 — 2:42 (watch)
Slide 5 — 3:44 (watch)
Slide 6 — 4:10 (watch)
![]() | The first point is that as models become more capable, you should resist the urge to constrain them. Who here has heard of the "bitter lesson" by Richard Sutton? Great. Fantastic. |
Slide 7 — 5:20 (watch)
Slide 8 — 7:04 (watch)
Slide 9 — 7:56 (watch)
Slide 10 — 8:18 (watch)
![]() | If you're not using auto mode, I strongly recommend that you start using it. It simplifies the process significantly. |
Slide 11 — 8:42 (watch)
Slide 12 — 9:46 (watch)
Slide 13 — 9:58 (watch)
![]() | It will take a moment, so let's return to my slides. Could I please go back to the slides? |
Slide 14 — 10:14 (watch)
Slide 15 — 10:36 (watch)
Slide 16 — 10:48 (watch)
![]() | If the Markdown files exceed 200 lines, it's unlikely that you or your colleagues will read them. |
Slide 17 — 10:56 (watch)
![]() | Before we began, I had Claude with Opus 4.7 generate a few examples of what this could look like with my build splitting app. |
Slide 18 — 11:02 (watch)
![]() | Now, let's examine those examples. |
Slide 19 — 11:04 (watch)
![]() | We have them here. |
Slide 20 — 11:10 (watch)
![]() | The prompt I used is available in the repository you will have access to. |
Slide 21 — 11:20 (watch)
Slide 22 — 11:28 (watch)
![]() | This is what this design would look like. This one might look like this. |
Slide 23 — 11:36 (watch)
![]() | This has a completely different aesthetic. I can click around. |
Slide 24 — 12:00 (watch)
Slide 25 — 12:52 (watch)
Slide 26 — 13:24 (watch)
![]() | We will have one slide where you can see the actual URL to engage with. You want to make it part of the artifact, and that is what we will cover today. |
Slide 27 — 14:14 (watch)
Slide 28 — 14:48 (watch)
![]() | I encourage you to visit that link, where you will find a repository. |
Slide 29 — 14:52 (watch)
![]() | This is the repository for CWC Workshops, specifically for today's session titled "How We Claude Code." |
Slide 30 — 15:28 (watch)
Slide 31 — 16:02 (watch)
![]() | It's all provided in the repository, which is quite impressive. |
Slide 32 — 16:22 (watch)
Slide 33 — 16:58 (watch)
Slide 34 — 17:22 (watch)
![]() | Let's examine this in more depth. We'll navigate to the app and take a closer look. |
Slide 35 — 17:30 (watch)
![]() | We will examine the elements. |
Slide 36 — 17:40 (watch)
Slide 37 — 17:54 (watch)
![]() | The updates are visible, and when I drop it, it updates again. This is the information that the agent can read later. |
Slide 38 — 18:12 (watch)
Slide 39 — 18:32 (watch)
![]() | Every component receives one of these. This includes schemas, fixtures, known states, and invariants. |
Slide 40 — 18:50 (watch)
Slide 41 — 19:06 (watch)
![]() | That same approach applies in this case as well. |
Slide 42 — 19:16 (watch)
![]() | The dashboard is defined here, displaying the different schemas and the invariants we have established. We can run these individually to observe how they execute. |
Slide 43 — 19:26 (watch)
![]() | Here is an example. |
Slide 44 — 19:28 (watch)
![]() | I could run all of them, and in fact, I'm going to do that now. |
Slide 45 — 19:34 (watch)
![]() | I run all of them. One of them is triggered artificially because we prompted it earlier. |
Slide 46 — 19:40 (watch)
![]() | I will scroll down to find out what that is, and here it is. |
Slide 47 — 19:48 (watch)
![]() | We will examine how to replicate this for an agent as well, and we will do that in the following way. |
Slide 48 — 19:54 (watch)
![]() | Go to this location and scratch the surface. |
Slide 49 — 20:24 (watch)
Slide 50 — 21:08 (watch)
Slide 51 — 21:34 (watch)
![]() | In each case, you can see the details of how this was accomplished. |
Slide 52 — 21:44 (watch)
![]() | The key point here is the importance of including the probes to explore paths beyond the happy path. |
Slide 53 — 22:04 (watch)
Slide 54 — 22:36 (watch)
![]() | We will get the same result if we run "verify all" from Claude. Let's allow Claude to do that now. It may be hard to see, but the results show pass, pass, pass, pass, pass, and then fail. |
Slide 55 — 23:14 (watch)
Slide 56 — 23:36 (watch)
![]() | I will attempt to break the chain or the contract without affecting the app. I’ll demonstrate that now. |
Slide 57 — 23:52 (watch)
![]() | I can change the total stats under the to-do app by deleting it. I will undo that change afterwards. |
Slide 58 — 24:14 (watch)
![]() | If we rerun the tests now, all of the ones at the bottom will fail. We will see the same result when we run this again from here. |
Slide 59 — 24:40 (watch)
![]() | All of these are failing, not because we broke the app, but because we broke the contract, which Claude can natively verify. |
Slide 60 — 25:06 (watch)
Slide 61 — 25:50 (watch)
Slide 62 — 26:12 (watch)
![]() | We have Claude running here. |
Slide 63 — 26:26 (watch)
Slide 64 — 26:46 (watch)
Slide 65 — 27:06 (watch)
Slide 66 — 27:24 (watch)
![]() | You could also record the outcome we discussed. |
Slide 67 — 27:38 (watch)
Slide 68 — 28:12 (watch)
Slide 69 — 28:50 (watch)
Slide 70 — 29:30 (watch)
Slide 71 — 30:00 (watch)
![]() | You can modify the code, observe what breaks, and rerun it yourself. The documentation is quite detailed, and this is what Tarek and the team use in the Claude Code team for their work. |
Slide 72 — 30:14 (watch)
![]() | This demo was developed quickly, just a week and a half ago, so I encourage you to check it out. |
Slide 73 — 30:24 (watch)
![]() | What's new is the remixing and rearrangement of familiar primitives to make them available to the agent first. |
Slide 74 — 30:32 (watch)
![]() | That concludes what I wanted to cover. I encourage you to spend more time on the repository. |










































































