YouTube2Text

What Claude Code Can Do That You Haven't Tried - Gui Ferreira - NDC Oslo 2026 — Transcript

by NDC Conferences · 9,451 words · 1,465 segments · language en · Watch on YouTube

Full transcript

  1. 0:11Hello.
  2. 0:12So, based on the number of people in
  3. 0:14this room, I think it's safe to say that
  4. 0:17Cloud Code is quite popular.
  5. 0:20But also, it's safe to say that things
  6. 0:22keep changing too fast and it's hard to
  7. 0:24keep up.
  8. 0:26And that's the point of this talk.
  9. 0:28So,
  10. 0:30if I ask how many features do you think
  11. 0:32Cloud has,
  12. 0:34I'll get many different numbers for
  13. 0:35sure, big numbers. And I couldn't get
  14. 0:38the number, but I could get the number
  15. 0:40for the number of slash commands, those
  16. 0:42that you start with a slash and you
  17. 0:44write something, that are available on
  18. 0:46Cloud Code by default.
  19. 0:48And on Friday, they were 104
  20. 0:52slash commands.
  21. 0:54Since then, I didn't check X or whatever
  22. 0:58we want to call it. So, maybe they're
  23. 1:00already 105 or 106 because it's really
  24. 1:04hard to keep up with these things, okay?
  25. 1:06And in the past few months, I've been
  26. 1:09teaching this thing about Cloud, and
  27. 1:12I've noticed one common thing.
  28. 1:14You pick Cloud for the first time, you
  29. 1:16start Cloud, you ask to build something,
  30. 1:19and in a couple of minutes, you are so
  31. 1:21much more productive than you used to
  32. 1:22be. Okay? It's doing a ton of things for
  33. 1:24you. It's writing tests. It's doing
  34. 1:26reviews. It's finding bugs. And you just
  35. 1:29learn 10 to 20% of it.
  36. 1:32Personally, I believe that if you learn
  37. 1:34all the types of things, you might find
  38. 1:36some important details that improve your
  39. 1:38workflow, your quality of life. And
  40. 1:40that's the point of this talk. So, what
  41. 1:43I want to share with you, and this comes
  42. 1:45from someone that is not affiliated to
  43. 1:47Anthropic at all, is just someone that
  44. 1:49uses the tool every day and that feels
  45. 1:52that the tool is helping him a lot. So,
  46. 1:55every single thing that I will share
  47. 1:56today are actually things that I use in
  48. 1:59my day-to-day, okay? And I will organize
  49. 2:01those in four different buckets.
  50. 2:04Stuff that you can do once and take
  51. 2:06advantage of it forever, okay? You
  52. 2:08configure it, you take advantage of it,
  53. 2:10either you and your team or you alone.
  54. 2:13Also, we'll talk about daily workflow
  55. 2:15things. So, stuff that you can use in
  56. 2:18your day-to-day in certain scenarios.
  57. 2:20They can be quite useful. And during the
  58. 2:22process, we'll talk about also things
  59. 2:25that you can customize, you can extend
  60. 2:27Clojure during your day-to-day. But, I
  61. 2:29want to focus not on the things that are
  62. 2:31available, but because those became
  63. 2:33quite popular if you have ever used
  64. 2:35Clojure. I want to talk about some
  65. 2:38scenarios that we tend to ignore. And
  66. 2:40finally, I want to leave this room by
  67. 2:42sharing with you a couple of other
  68. 2:44scenarios where you can use Clojure
  69. 2:46code, okay? Things that don't involve
  70. 2:48code at all, okay? That's the goal for
  71. 2:51this session.
  72. 2:52Warning.
  73. 2:53This is a session for those that once
  74. 2:56run Clojure. Okay? So, that's the idea.
  75. 2:59And uh I will not be doing uh demos like
  76. 3:02intro demos, that's not the point. This
  77. 3:05is a rapid-fire style of talk. So,
  78. 3:07during the next hour, we'll go through
  79. 3:09roughly 40 different things that I want
  80. 3:11to share with you. So, we are going
  81. 3:13fast, okay? So, bear with me and watch
  82. 3:16the recording afterwards if needed. My
  83. 3:19point here is the following, and that's
  84. 3:21my mission for today, and I want to do
  85. 3:24that today. If you leave this room and
  86. 3:27you have the feeling that on Monday you
  87. 3:29need to open Clojure and run two or
  88. 3:32three of those things that I will share
  89. 3:34with you, for me is a huge success.
  90. 3:36Because some of the things that I will
  91. 3:38share with you, you might be familiar
  92. 3:39with them, they are old things but good
  93. 3:42ones, others are new things uh and great
  94. 3:45ones as well. So, to start, we need to
  95. 3:48first talk about where we run Clojure.
  96. 3:52You can run Clojure inside of your
  97. 3:53terminal, you can run Clojure inside of
  98. 3:55uh your editor as an extension. You can
  99. 3:58run Clojure as a desktop application.
  100. 4:00Personally, I like to use the terminal.
  101. 4:03I feel that it's faster. Also, usually
  102. 4:06the experimental features come there
  103. 4:08first. That's the reason why I use it.
  104. 4:10So, I will be sharing print screens from
  105. 4:12the terminal, but most of the things
  106. 4:14that I will share with you work wherever
  107. 4:15is the environment that you prefer.
  108. 4:18Just uh to share that with you.
  109. 4:21So, let's start. First pillar, um set up
  110. 4:24type of stuff.
  111. 4:25So, let's say that in the past few
  112. 4:27months you used Claude in the past and
  113. 4:30you changed to something like Codex or
  114. 4:32Cursor.
  115. 4:33And after this session you are too
  116. 4:34excited to go back to Claude. What you
  117. 4:37can do, slash import and the name of the
  118. 4:40product where you want to get your
  119. 4:42stuff. Basically, this will pick your
  120. 4:45MCP servers, configuration files, uh sub
  121. 4:48agents, all of that and bring it to
  122. 4:51Claude. So, you don't need to do that
  123. 4:52manually. Why does this happen?
  124. 4:55For a simple reason. Unfortunately, the
  125. 4:58standards that we have with coding
  126. 5:00agents are not that great standards. So,
  127. 5:03everyone is doing things differently. At
  128. 5:05least they are putting the files inside
  129. 5:06of different folders.
  130. 5:08But the worst of them is actually the
  131. 5:10Claude.md.
  132. 5:12That is one of the most important files
  133. 5:13that you have in your project. But if
  134. 5:15you work with other thing, you will be
  135. 5:17naming that thing as agents.md.
  136. 5:21And this file is so important, um
  137. 5:23but I believe that we have created some
  138. 5:25misconceptions in the industry.
  139. 5:27Also, if I would come here to be honest
  140. 5:30last year and I talked about the
  141. 5:32Claude.md, I would be saying,
  142. 5:35"Put there every single thing that you
  143. 5:37can think about that can be helpful."
  144. 5:39Write it a document as
  145. 5:41most complete that you that you can. You
  146. 5:43can have every single thing there.
  147. 5:46That's actually wrong, okay? Finally, we
  148. 5:48have studies that prove that that's not
  149. 5:50the way of doing it. ETH Zurich ran the
  150. 5:53a study
  151. 5:55and proved that we have some problems.
  152. 5:56So, we need to have some techniques. And
  153. 5:59one of them is this problem of the
  154. 6:00typical duplication.
  155. 6:02So, it's quite common that you'll see
  156. 6:04things moving around between your
  157. 6:06projects and eventually you have
  158. 6:08information in the readme and another
  159. 6:10and the same information in your
  160. 6:11cloud.md. Eventually, your agent is
  161. 6:14absorbing all of that those files and
  162. 6:16becomes confused. So, tries one way,
  163. 6:20doesn't work, it needs to go through
  164. 6:21another one.
  165. 6:23Actually, cloud supports this import
  166. 6:25type of thing. So, you do the at and the
  167. 6:27path to the file and you can bring that
  168. 6:29file with the cloud.md. So, if you have
  169. 6:31something like team rules or a given
  170. 6:33schema that is super important for that
  171. 6:35API and you want to have it as part of
  172. 6:38your
  173. 6:39cloud.md, you can do it. Whatever is the
  174. 6:41extension that you want. So, avoid the
  175. 6:44duplication that can lead to some
  176. 6:45problems. As I was saying, ETH Zurich
  177. 6:48proved that the performance when you
  178. 6:51have a long and descriptive cloud.md, it
  179. 6:54tends to drop in 3% and your costs will
  180. 6:59increase in 20%.
  181. 7:01And they run the study based on
  182. 7:03cloud.md, agents.md. So, cloud, codex
  183. 7:07and so on. And they did the the study
  184. 7:10with groups that were handcrafting the
  185. 7:13cloud.md, groups that were generating
  186. 7:15the cloud.md and groups that had no
  187. 7:19cloud.md at all. And they proved that
  188. 7:22a good cloud.md, one that is efficient,
  189. 7:24is actually one that is lean enough.
  190. 7:27Okay? So, that you throw away things
  191. 7:28that are useless. So, I usually ask
  192. 7:31three questions to clean my cloud.md and
  193. 7:34I challenge you to do the same.
  194. 7:36So, I go for each instruction that I
  195. 7:39have there and I will ask the following.
  196. 7:41The first one is
  197. 7:43do I need this thing for every single
  198. 7:45task? Okay? If I imagine every type of
  199. 7:48iteration that I have with cloud, is
  200. 7:49this actually useful? So, if it might be
  201. 7:52useful,
  202. 7:53let's keep it there.
  203. 7:55If it's something so specific that I
  204. 7:57only do that once in a while, like
  205. 7:59running my performance tests,
  206. 8:02maybe let's move that to something like
  207. 8:04a skill. Or if it's something like the
  208. 8:06rule for your team for JavaScript or for
  209. 8:09C# or for whatever, you can create rule
  210. 8:12files inside of Cloud.
  211. 8:14.cloud/rules
  212. 8:16and you can create files there that are
  213. 8:17specific to languages or specific to uh
  214. 8:20file extensions. And finally, I'd like
  215. 8:23to ask if um the agent could figure out
  216. 8:26this thing alone.
  217. 8:28I used to add to my cloud.md things like
  218. 8:30the folder structure, like here we are
  219. 8:33using vertical slices and you will find
  220. 8:36the controllers here, the endpoints
  221. 8:38here, the models there.
  222. 8:40That information, your agent can't find
  223. 8:41it alone. And if you write it once,
  224. 8:44eventually it will drift from the
  225. 8:46reality, so it can lead to problems.
  226. 8:50The good news is that is that you are
  227. 8:51the lucky ones and quite recently uh
  228. 8:54Anthropic decided to add to the slash
  229. 8:56doctor exactly these type of things, so
  230. 8:59this cleanup. The slash doctor can uh uh
  231. 9:03check the state of your current
  232. 9:05installation of Cloud, if you have
  233. 9:07something that is misconfigured, but
  234. 9:09also when run inside of a given project,
  235. 9:12it will go through your cloud.md and
  236. 9:14apply those three questions to the
  237. 9:17duplicate stuff, to move things to
  238. 9:19skills, okay? It can do that for you.
  239. 9:21So, at least do that one.
  240. 9:25And remember that cloud.md is a file
  241. 9:28that is so much more than that file that
  242. 9:30you usually create in the context of a
  243. 9:32project.
  244. 9:33Because otherwise, what will happen is
  245. 9:35that you'll have your own preferences,
  246. 9:36things that you want Cloud to do that
  247. 9:38way. For example, for a long time I was
  248. 9:40doing test-driven development, but I
  249. 9:42don't want to force other people to do
  250. 9:43it. So, what's my option here? You can
  251. 9:46actually create a cloud.local.md,
  252. 9:49Git ignore that file, and have your own
  253. 9:52stuff there, okay? It doesn't impact
  254. 9:53anyone else.
  255. 9:55The things that are shared with your
  256. 9:56team go to the traditional cloud.md,
  257. 9:59but there's one more that we tend to
  258. 10:01ignore.
  259. 10:02There's a user profile folder named
  260. 10:04.cloud where you can find the cloud.md
  261. 10:08and where you can find things like your
  262. 10:09settings.
  263. 10:11But, they are things that apply to every
  264. 10:13single session.
  265. 10:14So, if you have something like I want
  266. 10:17you to talk with me, let's say I'm
  267. 10:18Portuguese. So, let's say that I would
  268. 10:20prefer Claude to talk with me in
  269. 10:22Portuguese. I could go to my user
  270. 10:24profile, so I know that every single
  271. 10:26session that I start with Claude Code
  272. 10:28will follow that instruction. I don't
  273. 10:30need to keep copying it to the many
  274. 10:32different projects that I work with.
  275. 10:35This is the things about Claude Code,
  276. 10:36but there's another important file
  277. 10:38inside of your project under dot Claude
  278. 10:40that is the settings.
  279. 10:42And there,
  280. 10:44um, please promise me that you'll do the
  281. 10:45following.
  282. 10:47And for that, let's use an example.
  283. 10:49Imagine that you are trying to fix a
  284. 10:51database connection issue that happens
  285. 10:53only once in a while.
  286. 10:56And you ask Claude to do it, and what
  287. 10:57Claude will do is that it will say,
  288. 10:59"Yeah, you are right. That's really an
  289. 11:01important issue. Let's address it." And
  290. 11:03will try his best to find the solution.
  291. 11:06And will try and try and try, and to
  292. 11:08finally be able to help you, will read
  293. 11:10things like your secrets, your settings,
  294. 11:14your environment variables.
  295. 11:17And it will do that unless you deny it.
  296. 11:21You might say, "Okay, but no one puts
  297. 11:24production keys on the
  298. 11:26the settings files.
  299. 11:28You are lying.
  300. 11:30Uh, if it's not you, because we are all
  301. 11:32perfect, someone in your team will do it
  302. 11:34one day when it's actually needed. And
  303. 11:37in that moment, your keys are going over
  304. 11:39the wire to Anthropic.
  305. 11:42So, this is a small thing that you can
  306. 11:43do. Go to the settings.json, permissions
  307. 11:46deny is a collection of extensions that
  308. 11:50you want to exclude or bash commands
  309. 11:52that you don't want to run.
  310. 11:54That way, you guarantee that those files
  311. 11:56or those commands are not never executed
  312. 11:58or seen by Claude Code. It's a small
  313. 12:00thing to do that is quite important.
  314. 12:04But now, let's talk about the things
  315. 12:05that you said to help that we actually
  316. 12:07like. So, we are developers, we are
  317. 12:09super proud of the setup that we have on
  318. 12:11VS or Visual Studio, right? So, one
  319. 12:15thing that has been missing for a long
  320. 12:16time was themes. And we all like to pick
  321. 12:19a different theme or create our own
  322. 12:21theme. Now you can do it, okay? You will
  323. 12:23pick the theme. Obviously, if you are in
  324. 12:25the context of the terminal,
  325. 12:27you you will need to deal with the theme
  326. 12:29of the terminal plus the theme of uh
  327. 12:31Claude code. But for the things like the
  328. 12:33font, the way that you see the source
  329. 12:35code, you can actually do it. It's quite
  330. 12:37simple and you can do it once.
  331. 12:40And the other thing that is even more
  332. 12:41important than theme, and this one you
  333. 12:44should do it, is to create your own
  334. 12:46status line.
  335. 12:48I like to see the status line as a
  336. 12:50dashboard that I have over uh my current
  337. 12:53session. Why? When I'm working, I need
  338. 12:56to know where I'm working, what's the
  339. 12:58project. I need to know, for example, I
  340. 13:00like to know the branch. I like to know
  341. 13:02the current model that I'm using. I like
  342. 13:04to know things like the percentage of
  343. 13:06the context window that I'm using. That
  344. 13:08type of information is useful after a
  345. 13:11few minutes, I promise. And it's quite
  346. 13:14simple to create your own status line,
  347. 13:15something like that. You just need to
  348. 13:17chat with Claude code using the {slash}
  349. 13:20status line and Claude can tell you what
  350. 13:22is available. And then, that will create
  351. 13:24a script for you that will be uh running
  352. 13:27on your behalf and you uh have always
  353. 13:30visibility on the things that are
  354. 13:31happening.
  355. 13:33So, do those things once and you'll take
  356. 13:35advantage of them forever.
  357. 13:37Now let's go to the uh uh
  358. 13:40most extensive part of the talk. So, the
  359. 13:42daily minor things that you want to do
  360. 13:45in your day-to-day.
  361. 13:46And I've learned during the World Cup
  362. 13:48that is important to have an hydration
  363. 13:50break. So, sorry for this.
  364. 13:58Thank you.
  365. 13:59So, you have been using Claude code and
  366. 14:01one of the things that you
  367. 14:03you might came
  368. 14:04uh
  369. 14:05to to the conclusion is that it is a
  370. 14:07good idea to first plan the changes that
  371. 14:09you are about to do instead of doing
  372. 14:11them right away. That's why we have the
  373. 14:13plan mode. You can do the shift uh tab
  374. 14:16and you navigate through the different
  375. 14:18modes and eventually you get to the plan
  376. 14:20mode. What will happen is that Claude
  377. 14:21will
  378. 14:22do a research to understand the best way
  379. 14:24to implement something.
  380. 14:26Sometimes it comes back to you with a a
  381. 14:29description of how you going to do the
  382. 14:31thing that you want.
  383. 14:33But you
  384. 14:34there's something that is wrong.
  385. 14:35What I used to do is that I would have a
  386. 14:37conversation. I would keep going like,
  387. 14:39"Okay, but I don't want implementation
  388. 14:41this way. I want that way. Please change
  389. 14:43that thing, okay?"
  390. 14:45But eventually we were just discussing
  391. 14:47details.
  392. 14:48Just one line that was wrong or
  393. 14:50something that I could write myself. And
  394. 14:53it's not that productive to keep
  395. 14:55chatting and having Claude refining that
  396. 14:57plan. You can actually do something
  397. 14:59different. Once you see the plan, you
  398. 15:02can do control G and that will open your
  399. 15:04plan as a markdown file in your editor.
  400. 15:07You do your changes, you save it, and
  401. 15:10Claude recognizes all of those things
  402. 15:12and keep going. Okay? Looks like magic.
  403. 15:15It's like a shared Google Doc with
  404. 15:17Claude, okay? You are collaborating with
  405. 15:19Claude and Claude is using that file.
  406. 15:22So, it's
  407. 15:23a pretty cool and pretty useful tool.
  408. 15:26Another thing that happens with
  409. 15:29plans
  410. 15:30is that
  411. 15:32I came to love this idea of having
  412. 15:34Claude interviewing me.
  413. 15:36Because quite often you ask for a plan,
  414. 15:38but by the end the plan has a ton of
  415. 15:39assumptions that you don't think about
  416. 15:41them.
  417. 15:42We have been building software for a
  418. 15:43long time and we have learned that
  419. 15:46usually the understanding of the problem
  420. 15:48will come weeks later when we are
  421. 15:51writing a line of code and finally we
  422. 15:53have to write that if statement that
  423. 15:54reveals that no one discussed the given
  424. 15:57topic.
  425. 15:58And Claude can assume a ton of things
  426. 16:00for you because it wants to be
  427. 16:01productive. And if you have a prompt
  428. 16:04that is not descriptive enough, a ton of
  429. 16:06a ton of assumptions will be there.
  430. 16:08So, what you can do is that you can take
  431. 16:10advantage of those questions that
  432. 16:12usually pop up from Claude saying, "Do
  433. 16:14you prefer option A or option B?"
  434. 16:16But you can force Claude to do that.
  435. 16:18There's this thing inside of Claude
  436. 16:20named the ask user question tool. So,
  437. 16:22you can simply say, "Hey Claude,
  438. 16:24interview me and don't stop until we
  439. 16:26clarify every single thing." Okay? And
  440. 16:28we'll keep going, keep going, keep
  441. 16:30going, and improving the plan. That way,
  442. 16:32you will realize that things were not as
  443. 16:35clear as you thought in the first place.
  444. 16:37And you can be involved in the decisions
  445. 16:40instead of only finding only finding
  446. 16:42them once the thing is implemented.
  447. 16:45Okay?
  448. 16:45Do that uh is super useful as well.
  449. 16:50During this process, when you are
  450. 16:52planning, sometimes you might realize
  451. 16:54that Claude comes back to you with
  452. 16:56questions like, "Hey,
  453. 16:58um I know we need to build this API, but
  454. 17:01do you prefer to use something like MVC
  455. 17:03pattern or something like uh minimal
  456. 17:06APIs?" And you think about it, you might
  457. 17:09ask, "What do you recommend?" And Claude
  458. 17:10says, "Okay, I recommend MVC pattern."
  459. 17:13You say, "Okay, let's do it."
  460. 17:15And now you we start implementing, and
  461. 17:17eventually, you start looking into the
  462. 17:19code, and you don't like it. You think,
  463. 17:21"That was too much for this problem. I
  464. 17:23want to go back to the other thing."
  465. 17:25So, what do you usually do? You prompt
  466. 17:28again, and you ask Claude, "Okay, let's
  467. 17:30refactor this thing, and let's move away
  468. 17:32from MVC and go to minimal APIs."
  469. 17:36By doing that, you are basically taking
  470. 17:38steps forward
  471. 17:40towards the thing that you want.
  472. 17:42However, by doing that,
  473. 17:45there's a problem.
  474. 17:46All the past directions, all the past
  475. 17:48code that was generated will stay in the
  476. 17:50context window.
  477. 17:51By staying there, once your context
  478. 17:53window is big enough, it might have a
  479. 17:55negative impact in the future
  480. 17:57iterations. So, what can you do instead?
  481. 18:00You can take advantage of an amazing
  482. 18:01feature that feels like time traveling.
  483. 18:04That is the rewind.
  484. 18:06If at a a given point, you want to go
  485. 18:08one step back, you can do double escape
  486. 18:11or {slash} rewind, and then you can take
  487. 18:14the direction that you want. It's like
  488. 18:15taking one step back to then take two
  489. 18:18steps forward. Okay? That's the idea.
  490. 18:21Looks like uh reverting something with
  491. 18:24Git,
  492. 18:25but Claude is doing that for you, okay?
  493. 18:27And you can always navigate to the
  494. 18:28proper message, the proper prompt, and
  495. 18:31adjust that prompt during the process.
  496. 18:35Talking about
  497. 18:36uh plans and implementing those plans,
  498. 18:39there's a common recommendation that is
  499. 18:40you need them a powerful model to uh
  500. 18:43plan and a cheaper model to execute.
  501. 18:48That's a a common saying in the
  502. 18:49industry. So, one thing that you can do
  503. 18:52is in the middle of a conversation run
  504. 18:54{slash} model and pick the model that
  505. 18:55you want. So, once you do this, you will
  506. 18:58want to have that status line, so you
  507. 19:00know which model you are using.
  508. 19:03But, what most ignore is that this is
  509. 19:05not only about Sonnet, Opus, Fable,
  510. 19:09Haiku.
  511. 19:11Inside of each model, you have different
  512. 19:13levels of efforts, different different
  513. 19:15levels of reasoning. They will cost more
  514. 19:18or fewer
  515. 19:19um
  516. 19:20tokens. So, you can actually change for
  517. 19:23that thread
  518. 19:24the effort level. You can say, "I want
  519. 19:26to use to the to the planning Opus, and
  520. 19:30to implement, I also want to use Opus,
  521. 19:33but with a a small level of effort, for
  522. 19:37example, okay?" And you can change that
  523. 19:39for the whole thread.
  524. 19:40One of the problems of changing that for
  525. 19:42the whole conversation is that
  526. 19:43eventually you will forget it, okay? At
  527. 19:45least I do.
  528. 19:46So, sometimes you are fixing a bug and
  529. 19:49you want to run the
  530. 19:51a prompt and you say, "Okay, let's fix
  531. 19:52this thing."
  532. 19:54But, it is a hard thing to fix. So, you
  533. 19:56don't want to change the effort level.
  534. 19:57What you can do is to take advantage of
  535. 19:59ultra think. So, you just write ultra
  536. 20:02think, and what is happening is that
  537. 20:04Claude is running that specific prompt
  538. 20:07in max effort level for you, and then
  539. 20:11going back to the past one.
  540. 20:12But, if you don't use this for this
  541. 20:14reason, use it just to see the rainbow
  542. 20:16that they will uh do. It's a nice
  543. 20:18animation, okay?
  544. 20:22Talking about um
  545. 20:24this type of thing. So, you let's say
  546. 20:25that I'm now implementing my feature
  547. 20:28with uh X high level. So, it might end
  548. 20:31hopeless or fable, and it will take some
  549. 20:32time.
  550. 20:34While it takes that time, what do I do?
  551. 20:36Do I stare at the computer?
  552. 20:39Many of us start writing the next
  553. 20:41prompt. Okay, so we think, okay, what's
  554. 20:43the next step once this one is finished?
  555. 20:45So, I used to start writing that one, uh
  556. 20:47but eventually sometimes Claude will
  557. 20:49stop during the process saying,
  558. 20:51"Hey, on this problem, what should we
  559. 20:53do?" So, I would need to copy that
  560. 20:55prompt to a notepad, and then get it
  561. 20:58back there, uh and that was a mess.
  562. 21:01But actually, it's as simple as doing
  563. 21:02control S. That will stash the current
  564. 21:06prompt. So, it's like putting that uh
  565. 21:08current prompt on another place, like
  566. 21:10another file, for a moment, and once you
  567. 21:13click it again, you will get back to the
  568. 21:15conversation. So, let's say that you are
  569. 21:16writing a long prompt, you do control S,
  570. 21:19it goes there, you answer Claude, you
  571. 21:21bring the the other one back, and you
  572. 21:23keep going. You don't need to be using
  573. 21:24notepad and so on uh for that. So,
  574. 21:28this one uh saves a a ton of time.
  575. 21:31If
  576. 21:32what you actually have is a question, is
  577. 21:34not the next prompt, is something that
  578. 21:36you want answered uh right away, you can
  579. 21:39use the by the way.
  580. 21:41Why?
  581. 21:42If you write your next prompt, it will
  582. 21:44wait until the previous one finished to
  583. 21:47answer you back.
  584. 21:49But let's say that I'm working on the
  585. 21:50key feature, is implementing the
  586. 21:52feature, and in the middle, I think,
  587. 21:53okay, did we discuss this aspect? Uh how
  588. 21:56are we going to do this thing? Is with
  589. 21:58this pattern or with that pattern? So,
  590. 22:00what I can do is that I run the slash
  591. 22:02BTW, that is by the way, and it will run
  592. 22:05that as kind of like a a side
  593. 22:07type of thing, doesn't pollute the
  594. 22:08context window, and will get back to me
  595. 22:10while it's working on the main
  596. 22:12execution. So, you don't need to keep
  597. 22:14waiting on that.
  598. 22:17Let's talk about the most important
  599. 22:19aspect of being a developer nowadays.
  600. 22:21That is
  601. 22:22money.
  602. 22:23Uh in the past, we were super concerned
  603. 22:26about uh cost when we got the decisions
  604. 22:29in terms of infrastructure.
  605. 22:30What's the database that I'm using? Am I
  606. 22:32using a cloud platform for for
  607. 22:34something? What's the idea that we have
  608. 22:37here? Or maybe I have a routine that is
  609. 22:39too inefficient for my data set.
  610. 22:42Nowadays, we need to think about the
  611. 22:44tokens that we consume to write a small
  612. 22:46endpoint that just does CRUD with a
  613. 22:48database.
  614. 22:49So, it's important to have an idea of
  615. 22:51how much each session is costing us. I
  616. 22:54like I like to bring that information to
  617. 22:57my status line.
  618. 22:58But also, you can do that through the
  619. 23:00terminal as well.
  620. 23:01If you run status, you can find not only
  621. 23:04your most used model, but also for by
  622. 23:08the end of a session, you can see all
  623. 23:10the models that were involved because
  624. 23:11sometimes Claude will start models that
  625. 23:13you don't expect. Why? It starts using
  626. 23:16sub-agents with different types of
  627. 23:18models, so you can have a clear picture
  628. 23:20on much does it cost to implement a
  629. 23:21given feature if you were paying each
  630. 23:24token. Okay? That can be quite useful,
  631. 23:26and besides that, by the end of the
  632. 23:28year, it makes a great print for X.
  633. 23:30Okay? So, that's the idea.
  634. 23:34Cost,
  635. 23:35we are talking about context. You can
  636. 23:37check the context window by running
  637. 23:39{slash} context. But the idea is not
  638. 23:41that. Why I'm talking about this?
  639. 23:44This one is super useful when you are in
  640. 23:47an empty session.
  641. 23:49So, you start Claude,
  642. 23:50it's empty, and you run {slash} context.
  643. 23:52Why?
  644. 23:54Because this way, you can actually
  645. 23:55diagnose what is happening.
  646. 23:58You can see what types of things go to
  647. 24:00your context window without you asking
  648. 24:02for it.
  649. 24:03You can see the types of things that you
  650. 24:05have configured in your project that
  651. 24:07might be there and you don't need it.
  652. 24:09Because it's quite cool nowadays, you go
  653. 24:11to LinkedIn and you see uh someone
  654. 24:14posting uh my top 10 agent skills. So,
  655. 24:17let me download them all and put them in
  656. 24:19my project.
  657. 24:20But each skill has a small footprint.
  658. 24:23So, you need to do your own maintenance.
  659. 24:25So, running the {slash} context when the
  660. 24:27session is empty, and if you see that
  661. 24:29it's taking 8% for example,
  662. 24:32do something. Go and try to understand
  663. 24:34what is there, okay? Because each
  664. 24:37token that you are consuming will have
  665. 24:39an impact in the future.
  666. 24:40That relates to a concept that is is
  667. 24:43based on opinions, okay? By the way,
  668. 24:45it's based on opinions of many different
  669. 24:47people. I'm not aware of any study that
  670. 24:50proves this, but there's this idea that
  671. 24:52once you get to the 40% of the context
  672. 24:54window, you get into the danger zone.
  673. 24:57What does it mean? It means that once
  674. 24:59you reach that limit, your um
  675. 25:03quality, the quality that you get out of
  676. 25:04each token is not as good. So, each
  677. 25:07dollar that you invest in a token
  678. 25:09doesn't return the same amount of money
  679. 25:11to your pocket, okay? That's the idea.
  680. 25:14So, what can you do?
  681. 25:15First, you avoid that you bring to bring
  682. 25:17things to the context window that that
  683. 25:19you don't need, but also, you can do uh
  684. 25:22another important thing. That is
  685. 25:25taking care of the compaction.
  686. 25:26Compaction will run automatically when
  687. 25:29you are reaching the 100%. So, Claude
  688. 25:31will go, summarize your history, replace
  689. 25:34that history with a summary, and you can
  690. 25:37keep going.
  691. 25:38Why not doing it yourself?
  692. 25:40So, when you start seeing that Claude is
  693. 25:42always doing trial and error, so you are
  694. 25:45trying to fix something and it's trying,
  695. 25:47okay, doesn't work, and you are
  696. 25:49basically asking, "Are you stupid? Why
  697. 25:51you don't you get this?" Okay? Try
  698. 25:53again. This time try harder. When you're
  699. 25:56doing that, it is
  700. 25:57it means something. It means that you
  701. 25:59need to clear something from your
  702. 26:01context window usually. In that moment,
  703. 26:04be proactive and run the slash compact
  704. 26:07yourself.
  705. 26:08Personally, when I'm working on a
  706. 26:09feature, I split implementation in
  707. 26:12multiple parts. Let's say that first I
  708. 26:14do the data model, then I will do the
  709. 26:16the domain model, then I will do the UI.
  710. 26:18Let's say that was something like this.
  711. 26:20So, by the end of each one of these
  712. 26:22sections, what I like to do, instead of
  713. 26:24starting a new conversation, if I know
  714. 26:26that the context of this one might be
  715. 26:28useful, I compact and I keep going.
  716. 26:30Because that information
  717. 26:32took some time to build it and the agent
  718. 26:35will appreciate it. So, it will be
  719. 26:37useful.
  720. 26:38Inside of your contacts, you will see
  721. 26:40many different things popping out.
  722. 26:42And one of them is quite curious.
  723. 26:47Because sometimes you don't ask for it.
  724. 26:51There's this concept named memories.
  725. 26:53And memories became auto loaders in many
  726. 26:57applications.
  727. 26:59One of the interesting most interest
  728. 27:01interesting stories of my
  729. 27:04utilization of ChatGPT has been the day
  730. 27:06where I realized that ChatGPT was always
  731. 27:09calling me Emily.
  732. 27:10But that didn't make sense to me because
  733. 27:13I never asked to be called Emily. So, I
  734. 27:15went to the memories folder and I
  735. 27:18realized that back in the days I asked
  736. 27:22Claude to parse a given blog post to
  737. 27:24summarize and Claude no, ChatGPT. And
  738. 27:28ChatGPT he concluded that
  739. 27:30since the blog post had a sentence like
  740. 27:32my name is Emily, that I would be Emily.
  741. 27:35So, it will capture things that you
  742. 27:36don't imagine sometimes. So, you need to
  743. 27:38be proactive maintaining those things.
  744. 27:41But it's not only about throwing away
  745. 27:43things that are useless. It's because
  746. 27:45sometimes Claude will spot your
  747. 27:46preferences and you don't notice it. So,
  748. 27:49it might understand from a simple prompt
  749. 27:51that you prefer things being done this
  750. 27:53way and never this way. So, we'll create
  751. 27:56a memory inside of the memory
  752. 27:58file. So, what you want to do is to run
  753. 28:00{slash} memory, go to your folder of the
  754. 28:03memories and there audit them. And some
  755. 28:06of them you will want to promote them to
  756. 28:09your Claude.md. Because they are
  757. 28:11actually rules that are useful to have a
  758. 28:13better outcome. So, if you do that as a
  759. 28:16diagnosing tool, you will by the end
  760. 28:18enrich your Claude.md and improve the
  761. 28:20experience for every single person
  762. 28:22in your team.
  763. 28:24There's another thing
  764. 28:26that I like to do to avoid polluting the
  765. 28:28context, that is the following. I think
  766. 28:30we all have done this, that is we get to
  767. 28:33the end the implementation of something
  768. 28:35and we need to do a commit. We all know
  769. 28:37how to do a commit, so get commit
  770. 28:39{slash} m write a message, right? But we
  771. 28:42say, "Hey Claude, commit this for me."
  772. 28:45I personally do that because the usually
  773. 28:47the message is so much better than the
  774. 28:49one that I would write, okay? I would
  775. 28:50say, "Fixed."
  776. 28:52or something like that.
  777. 28:53And Claude does a better job on that
  778. 28:55one. What you don't need is to have
  779. 28:57Claude reasoning about this step. What
  780. 29:01you can do in certain types of commands,
  781. 29:03those that are quite simple and you know
  782. 29:06how to do it, is to use the exclamation
  783. 29:08mark.
  784. 29:10Once you type the exclamation mark,
  785. 29:11every single thing that comes after will
  786. 29:13be treated as a bash command.
  787. 29:16So, if I want to do an LS or a dot net
  788. 29:18test, npm test, npm run, something like
  789. 29:21that, I don't need to have Claude
  790. 29:23thinking about the process. What is this
  791. 29:25thing? How do I run this that thing?
  792. 29:27You just write it.
  793. 29:29But keep in mind that result will go
  794. 29:31back to the context window. So, if you
  795. 29:33run something that
  796. 29:35brings sensitive information in,
  797. 29:38don't do it.
  798. 29:39Talking about Git,
  799. 29:41um recently they released one feature
  800. 29:43that I've been using a lot because I
  801. 29:45used to do this in another terminal,
  802. 29:47that is a slash diff. So, if during the
  803. 29:50process you want to see what Claude is
  804. 29:52changing, the files, the different
  805. 29:54changes in each line, you can actually
  806. 29:57open a pane that will contain that
  807. 29:59information, okay? On the side see all
  808. 30:01the files being changed and you can
  809. 30:04click there and see what changed, okay?
  810. 30:06It's a new feature uh that I really
  811. 30:08like.
  812. 30:09So, these type of things are things that
  813. 30:10come to help us with many of the things
  814. 30:13that we used to use for a long time.
  815. 30:15But the ones that I like the most are
  816. 30:16the ones that change the way that I
  817. 30:18work.
  818. 30:19The ones that change my lifestyle, I
  819. 30:22would say.
  820. 30:23And the one that impact me the most was
  821. 30:25the remote control.
  822. 30:27If you've never tried remote control,
  823. 30:29you should.
  824. 30:30Remote control is something uh quite
  825. 30:32cool. Then let me uh share with you a an
  826. 30:34example. So, a few months ago
  827. 30:37I was working on
  828. 30:39um
  829. 30:40something that I had to deliver on the
  830. 30:42the next day and I was running late and
  831. 30:45my father called me asking if I could go
  832. 30:47pick him at the hospital tell because he
  833. 30:49had an appointment. Um so, I was
  834. 30:52thinking, "Okay, uh I'm screwed. I have
  835. 30:54to deliver this thing. I want to stay,
  836. 30:56but I won't say no to my father."
  837. 30:58So, what I've done is that I start
  838. 31:00remote control.
  839. 31:02I asked Claude to implement a complex
  840. 31:04stuff um that will take a couple of
  841. 31:07minutes. Then, I pick my phone, my
  842. 31:09pocket.
  843. 31:11I go to the hospital.
  844. 31:13Uh and while I was waiting for my uh
  845. 31:15father I used the Claude code
  846. 31:17application
  847. 31:18to keep working.
  848. 31:21Okay, let's discuss uh work-life
  849. 31:23balance.
  850. 31:25>> [laughter]
  851. 31:27>> On the other side, there's another
  852. 31:28scenario where this is quite helpful.
  853. 31:31Sometimes I'm working the plan at my
  854. 31:33desk for a for a long time. I'm refining
  855. 31:35the plan. I know what I want to do and I
  856. 31:37know that the plan will take a couple of
  857. 31:38hours to be um executed. So, what I like
  858. 31:42to do is that I start remote control. I
  859. 31:44send Claude on that journey of
  860. 31:45implementing that thing and I go for a
  861. 31:47walk because I know that during that
  862. 31:49time I might receive a uh a pop-up
  863. 31:53notification message, a push
  864. 31:54notification saying, "Okay, you need to
  865. 31:56prove this thing or I need feedback on
  866. 31:58this thing." And I also know once it's
  867. 32:00finished.
  868. 32:01So, while on one hand we have a problem
  869. 32:04because now we can keep spending our
  870. 32:07tokens wherever we are
  871. 32:10on the other hand, it uh creates this
  872. 32:12opportunity to work in a different way.
  873. 32:15If you don't like this one, try the next
  874. 32:17one.
  875. 32:17Next one is voice and I know that many
  876. 32:19of you won't agree with me uh but I
  877. 32:22really like this one. So, before the
  878. 32:25pandemic uh we would go to the office 5
  879. 32:28days a week and you would sit in your
  880. 32:31computer and eventually you'll find a
  881. 32:33problem. You would spend 4, 6, 7 hours
  882. 32:36looking online trying to find that
  883. 32:38thing. There was nothing on Stack
  884. 32:40Overflow. There was no AI agent to fix
  885. 32:42it. So, we would go to your colleague in
  886. 32:45the other side of the office and you
  887. 32:46would start explaining the thing that
  888. 32:48you were facing.
  889. 32:49And eventually, in the middle of a
  890. 32:51sentence, he would say,
  891. 32:53"Ignore it. I know what it is." And you
  892. 32:55would go back to your computer and you
  893. 32:56would fix it in just a couple of
  894. 32:58minutes.
  895. 32:59Why? You were explaining it out loud.
  896. 33:02And for some reason, when you speak,
  897. 33:04your brain works in a different way. At
  898. 33:05least with me, it happens. So,
  899. 33:08I came to the conclusion that when I'm
  900. 33:10using voice,
  901. 33:12I start understanding better the things
  902. 33:13that I'm building. Okay? I know it's not
  903. 33:15for everyone. I don't advise anyone to
  904. 33:18be doing this in an open office. It
  905. 33:19might feel strange.
  906. 33:21But, if you want to try it at home,
  907. 33:24run {slash} voice to enable voice mode
  908. 33:27and from that point on, just press your
  909. 33:29space key without leaving it and start
  910. 33:32talking and it will write the prompt for
  911. 33:34you. Okay?
  912. 33:35That's the big idea.
  913. 33:37If you like this idea of working with
  914. 33:39different types of mediums, we call this
  915. 33:41multimodal.
  916. 33:42So, text,
  917. 33:44voice, and you also have image.
  918. 33:47If any of you is a front-end developer
  919. 33:49or works with the web,
  920. 33:52using images and print screens is
  921. 33:54awesome. Screenshots. So, often I'm
  922. 33:57building something and I'll
  923. 33:59shopping for inspiration online. So, I
  924. 34:01find a website that I like or I'll go to
  925. 34:04Figma and I see something that I like. I
  926. 34:07take a screenshot. I paste it on my
  927. 34:09terminal and I explain what I want on my
  928. 34:12own website. And Claude will use not
  929. 34:14only the text, but also the image as a
  930. 34:17visual representation.
  931. 34:19The cool thing is that you can actually
  932. 34:20do this in the terminal. You You can
  933. 34:22paste it or drag and drop images to your
  934. 34:24terminal and Claude will recognize it.
  935. 34:26If you use a Mac, it's actually control
  936. 34:29V as well. The command V doesn't work.
  937. 34:33Oh.
  938. 34:35One of the big problems of the being a
  939. 34:37developer in 2026
  940. 34:42is the fact that we are sitting waiting
  941. 34:45for our
  942. 34:46code to be written and we need to do
  943. 34:49other thing, right?
  944. 34:51So, you start working in things in
  945. 34:52parallel.
  946. 34:53And sometimes it might be things inside
  947. 34:55of the same project. So, how do you do
  948. 34:57it? Because you are working on that
  949. 34:58branch, how do I fix something on on a
  950. 35:02place where I'm actually working on the
  951. 35:04feature? Do I need to wait? Do I need to
  952. 35:06commit and move around?
  953. 35:08Nowadays we use this thing named work
  954. 35:10trees that
  955. 35:11is older than Claude code, okay? It
  956. 35:14stayed in
  957. 35:16Git Git for a long time, but we are now
  958. 35:18taking advantage of this. It's like
  959. 35:21a virtual folder that you have inside of
  960. 35:24your
  961. 35:25repo in your computer and you can keep
  962. 35:27working things in parallel. That means
  963. 35:29that I can be
  964. 35:31building a new feature,
  965. 35:33doing a code review,
  966. 35:35and fixing a bug on the same project at
  967. 35:37the same time, no problem.
  968. 35:39Actually, there's a problem. How do I
  969. 35:41know where I'm doing each of those
  970. 35:43things? Because it's hard to maintain
  971. 35:45that
  972. 35:46context when you are always shifting
  973. 35:48around between tabs or
  974. 35:50different
  975. 35:51windows. So, one thing that I like to do
  976. 35:53is to use the slash color and the slash
  977. 35:55rename. For example, I can apply red to
  978. 35:59a bug fix, orange to
  979. 36:01refactor, blue to a new feature. And
  980. 36:04also, I can rename the the conversation
  981. 36:08so I know that that is the issue 123
  982. 36:11from GitHub.
  983. 36:13And this way, when I'm moving around, I
  984. 36:15always have a reference, a visual
  985. 36:16reference where I'm looking at, okay?
  986. 36:19That can be quite helpful.
  987. 36:21Since you are waiting for Claude,
  988. 36:24you actually want to wait for a long
  989. 36:25time. You don't want to babysit Claude.
  990. 36:28How do you do it? One of my favorite
  991. 36:30features, slash goal.
  992. 36:32Instead of writing a prompt, write a
  993. 36:35goal.
  994. 36:36A goal is like a journey that Claude
  995. 36:38should go, the thing that needs to be
  996. 36:40built, but also a way to verify that we
  997. 36:43achieve the goal.
  998. 36:45How do we stop? When the test pass? When
  999. 36:48I have a specific type of test that will
  1000. 36:50go through? When I go to the browser and
  1001. 36:52click this button and something goes to
  1002. 36:54the database?
  1003. 36:56So, if you define that, Claude can
  1004. 36:58iterate as a loop until finally it can
  1005. 37:01verify that the thing that you are
  1006. 37:02asking for is there.
  1007. 37:04Example, you want to build an invoice
  1008. 37:06generator, an API for that. You explain
  1009. 37:09that and you say, "Okay, to verify this
  1010. 37:11thing, create a test that should pass
  1011. 37:14and that test will call the API and by
  1012. 37:17the end you should call another API that
  1013. 37:19will give you a PDF and the PDF should
  1014. 37:21look like this one." Okay? If you do
  1015. 37:23something like this, Claude will take
  1016. 37:25his time, but eventually he'll get back
  1017. 37:26to to you saying, "Okay, it's done. Give
  1018. 37:29me feedback." It's better than staying
  1019. 37:31there just babysitting in every single
  1020. 37:34step. Okay?
  1021. 37:36One thing that happens is that you send
  1022. 37:37it on that journey and you are doing
  1023. 37:40this for five, six, seven, eight, nine
  1024. 37:43projects in parallel eventually. Okay?
  1025. 37:46It's natural that it will happen.
  1026. 37:48Um
  1027. 37:50and when you are always jumping around
  1028. 37:52between different tasks, seeing all of
  1029. 37:54those logs from Claude is not that
  1030. 37:56useful
  1031. 37:57because many of those things are just
  1032. 37:59details while he's implementing. It's
  1033. 38:01like
  1034. 38:02when you come for the first time to to a
  1035. 38:04stage and you start doing demos or doing
  1036. 38:08live coding, one thing that they teach
  1037. 38:10you is that you shouldn't uh be quiet at
  1038. 38:12any moment. And that's the thing that
  1039. 38:14Claude is doing. But if you are not
  1040. 38:16there looking at what is happening, why
  1041. 38:18bothering? So, the thing that I like to
  1042. 38:20use is {slash} focus.
  1043. 38:23{slash} focus
  1044. 38:25uh will basically say to Claude, "From
  1045. 38:27this point on, I don't care about those
  1046. 38:29intermediary messages. I just want to
  1047. 38:32see my initial prompt
  1048. 38:34and the final result." So, when I go to
  1049. 38:36that conversation, I always see, "Okay,
  1050. 38:38this was what I asked. This is what
  1051. 38:41Claude is is telling me." Just that.
  1052. 38:43It simplifies the whole process.
  1053. 38:46Working with different agents, uh many
  1054. 38:48different agents, is hard because you
  1055. 38:50need to keep up with many different
  1056. 38:51things.
  1057. 38:52What do I recommend? You either use the
  1058. 38:55Claude desktop application that is a bit
  1059. 38:57easier to do that. Or if you are like me
  1060. 39:00and you really like the terminal, you
  1061. 39:02can actually start Claude with Claude
  1062. 39:04space agents instead of doing doing only
  1063. 39:07Claude. And basically what will happen
  1064. 39:09is that you have access to the agents
  1065. 39:11view. The agents view gives you access
  1066. 39:14to
  1067. 39:15a quick overview of who is running,
  1068. 39:18okay? Who needs my attention? Who's the
  1069. 39:21the next thing that I should do? Who has
  1070. 39:23finished? And I can quickly navigate and
  1071. 39:26jump between each agent and control it
  1072. 39:28that way. Okay? It's one way of doing
  1073. 39:31it.
  1074. 39:33Let's now go to our second iteration
  1075. 39:35break and talk about platform layer.
  1076. 39:41What do I mean with this?
  1077. 39:43We all have heard about skills or sub
  1078. 39:46agents and things like that.
  1079. 39:49But the thing is that sometimes we don't
  1080. 39:51take advantage of those techniques in
  1081. 39:54certain scenarios.
  1082. 39:55And one of them that I like to use a lot
  1083. 39:58is hooks.
  1084. 40:00I used to do a ton of test driven
  1085. 40:03development and one thing that
  1086. 40:06changed me during the process of doing
  1087. 40:08test driven development is that I like
  1088. 40:10to have my feedback as soon as possible.
  1089. 40:12Okay? When something is wrong, I want to
  1090. 40:15know it.
  1091. 40:16And Claude wants to know it as well. So
  1092. 40:19why not
  1093. 40:20building a hook that once Claude thinks
  1094. 40:24that okay, this thing is done,
  1095. 40:25runs your tests and uses that tests
  1096. 40:28those tests as information to correct
  1097. 40:31the path.
  1098. 40:32You can do that. The benefit of doing
  1099. 40:34such a thing is that now you are also
  1100. 40:36saving
  1101. 40:37tokens.
  1102. 40:38Why? Because running this instruction,
  1103. 40:42this bash command, yourself doesn't cost
  1104. 40:44anything in terms of tokens.
  1105. 40:47But if you decide to go to your Claude
  1106. 40:49MD and write things like always run the
  1107. 40:52tests by the end or
  1108. 40:55respect this naming convention, always
  1109. 40:58name tests this way. If you do things
  1110. 41:00that way, actually it's Claude that
  1111. 41:02needs to take the decision, that needs
  1112. 41:03to reason about that, and sometimes
  1113. 41:05won't do it.
  1114. 41:07You are not sure that he's always doing
  1115. 41:09it. But, if you create a post tool use
  1116. 41:11hook and you let run your linter, your
  1117. 41:14tests, and all of that,
  1118. 41:16Claude will ask to run it. It will run
  1119. 41:18it, and the feedback goes back into the
  1120. 41:21conversation. So, if something is wrong,
  1121. 41:23Claude can fix it before saying, "Okay,
  1122. 41:25I'm done." Okay? That's one of the big
  1123. 41:28benefits.
  1124. 41:30The other one is skills.
  1125. 41:31Skills is one of our favorites, okay? It
  1126. 41:34looks like putting a prompt inside of a
  1127. 41:36file that we call once in a while.
  1128. 41:38They look like small recipes that we
  1129. 41:41have.
  1130. 41:42But, I think we are missing one
  1131. 41:43important aspect of skills.
  1132. 41:45Skills are more like packaging small
  1133. 41:48features, small capabilities inside of a
  1134. 41:51folder.
  1135. 41:52Because a skill is so much more than a
  1136. 41:55skill.md.
  1137. 41:57The skill.md is just entry point.
  1138. 42:00You can put there things like scripts,
  1139. 42:02like a Python script, PowerShell script.
  1140. 42:05You can bring all of that inside of that
  1141. 42:07folder. You can bring markdowns
  1142. 42:09explaining how to use that script.
  1143. 42:12So, if your team has a Confluence page
  1144. 42:14with scripts that you run once in a
  1145. 42:16while to fix a given problem, you can
  1146. 42:18package those scripts as skills. So,
  1147. 42:21next time that you need them, you can
  1148. 42:23just call Claude, and Claude will do it
  1149. 42:25for you. Okay? It can run all of those
  1150. 42:27things for you.
  1151. 42:29Whatever is the language. If it runs on
  1152. 42:30your machine, Claude can
  1153. 42:32can do it.
  1154. 42:34Talking about skills, I see often people
  1155. 42:37creating their own
  1156. 42:38code review skill or
  1157. 42:41skills to
  1158. 42:43for example do refactorings. A ton of
  1159. 42:45skills that become quite repetitive, or
  1160. 42:48we shop around online for them.
  1161. 42:50But, actually, our friends from
  1162. 42:52Anthropic exposed some
  1163. 42:55um skills inside of the product by
  1164. 42:57default. Skills that they use to build
  1165. 42:59Cloud Code.
  1166. 43:01One of them that I really like is the uh
  1167. 43:03{slash} patch. What does this one does?
  1168. 43:06Imagine that you want to do a a huge
  1169. 43:08migration, like a huge refactoring,
  1170. 43:10renaming a ton of things, you can run a
  1171. 43:12{slash} patch, and it will parallelize
  1172. 43:14the work for you. Okay? We'll split that
  1173. 43:16in multiple
  1174. 43:17agents and work separate agents and do
  1175. 43:20the work for you. So, it's quite simple,
  1176. 43:21you can take advantage. But, my favorite
  1177. 43:23one is the {slash} simplify. Why it's my
  1178. 43:26favorite one?
  1179. 43:27I love simplicity, and the second thing
  1180. 43:29is that many of [clears throat] us
  1181. 43:31create this skill on its own, named
  1182. 43:33something like refactor or something
  1183. 43:35like that. {slash} simplify will try to
  1184. 43:38fix things and to avoid duplication, the
  1185. 43:40common problems that will lead to code
  1186. 43:43hard to maintain. So, use that one
  1187. 43:46before creating another one. Try that
  1188. 43:48one. Play with it and see how it goes.
  1189. 43:50It's the one that they use to build the
  1190. 43:52product.
  1191. 43:54There's also the {slash} loop.
  1192. 43:56If you ever had the experience of uh
  1193. 43:59creating a pull request that should be
  1194. 44:02deployed to somewhere, and then you are
  1195. 44:04going to, let's say, GitHub actions, and
  1196. 44:07you are refreshing, waiting for
  1197. 44:09the thing go green and to know that it's
  1198. 44:11already on Azure or something like that,
  1199. 44:14you can actually ask Cloud to do it. You
  1200. 44:16say {slash} loop, every 5 minutes, go
  1201. 44:19check if this thing is deployed.
  1202. 44:21And it'll be doing for that for you.
  1203. 44:23This is just a skill that they have
  1204. 44:25built.
  1205. 44:27As I told you, we also uh often shop
  1206. 44:29around for um skills, but also we shop
  1207. 44:33around for things like MCP servers.
  1208. 44:37When you get to the tool, likely, you go
  1209. 44:39online and you'll see, "Okay, which MCP
  1210. 44:41servers exist?"
  1211. 44:43Okay, in my company, I use this
  1212. 44:44technology, that technology, and that
  1213. 44:45technology, so let me install all of
  1214. 44:47them.
  1215. 44:48What is happening is that all of those
  1216. 44:51different MCPs will be installed on your
  1217. 44:53user profile.
  1218. 44:54What you actually want to do is to go to
  1219. 44:56your project, create a .mcp.json,
  1220. 45:00and describe there all the MCPs that you
  1221. 45:02use.
  1222. 45:03Why?
  1223. 45:04Next time that someone in your team
  1224. 45:06opens the the project with Claude,
  1225. 45:08Claude can go and make available those
  1226. 45:11MCPs, and now you can also audit the
  1227. 45:14ones that are used in your day-to-day
  1228. 45:15because you'll be committing this file.
  1229. 45:18Okay? Do that instead of having an
  1230. 45:20instruction somewhere saying, "To work
  1231. 45:22with this project, install these MCPs."
  1232. 45:24It's one way to help your uh team as
  1233. 45:27well.
  1234. 45:30>> [clears throat]
  1235. 45:31>> Do you know that you don't need to run
  1236. 45:32Claude and wait for Claude to ask you a
  1237. 45:34a question?
  1238. 45:37There's actually an headless mode.
  1239. 45:39You can use Claude to in this way.
  1240. 45:42Claude space write the prompt {dash}
  1241. 45:44{dash} print or {dash} p.
  1242. 45:47What is happening is that instead of
  1243. 45:49going to that uh typical user experience
  1244. 45:52of asking for the first prompt, it'll
  1245. 45:54run that thing and get back to you and
  1246. 45:56hence the session.
  1247. 45:59That means
  1248. 46:00that you can do things like this.
  1249. 46:02You can start changing your scripts,
  1250. 46:05your partial scripts, your shell
  1251. 46:07scripts, whatever, to have reasoning in
  1252. 46:10place.
  1253. 46:11To use Claude as one element of it. You
  1254. 46:15can do piping, for example, send things
  1255. 46:17to Claude, Claude analyze them, and then
  1256. 46:19outputting the result to another place.
  1257. 46:22You can do all of that with your uh
  1258. 46:24Claude subscription.
  1259. 46:27Let's go to the final one. Okay? Um this
  1260. 46:30one is uh quite important to me
  1261. 46:34because
  1262. 46:36I often see people using uh think about
  1263. 46:38Claude since we say Claude code as just
  1264. 46:41one thing to write code. But personally,
  1265. 46:44I have tried to use Claude for other
  1266. 46:46things as well, and uh actually it's
  1267. 46:48helping me in my day-to-day uh improving
  1268. 46:51my life. So, I decided, "Why not sharing
  1269. 46:54with you?" So, some of those things
  1270. 46:56might work as inspiration for the types
  1271. 46:58of things that you can do in your
  1272. 46:59day-to-day with Cloud.
  1273. 47:03You might be aware
  1274. 47:04that Cloud nowadays offers three
  1275. 47:06different products: Cloud Code,
  1276. 47:09Cloud Co-work, and cloud.com.
  1277. 47:12Cloud Co-work is like a hybrid between
  1278. 47:14um Cloud Code and the Cloud because it
  1279. 47:17has access to the same things on your
  1280. 47:19machine, but it tends to be a bit more
  1281. 47:21friendly. But, we are developers. We
  1282. 47:23don't need friendly things, right?
  1283. 47:25Uh
  1284. 47:26so,
  1285. 47:28you can use Cloud Code to automate many
  1286. 47:30different things, and it opens many
  1287. 47:31different possibilities. One common use
  1288. 47:34case that I see is when you have those
  1289. 47:37quarter reviews where you'll be
  1290. 47:39evaluated, and you need to go to your
  1291. 47:41manager and say, "You know, this
  1292. 47:44uh year I have implemented this thing,
  1293. 47:46that thing, and that thing. I had this
  1294. 47:48contribution on this project and on that
  1295. 47:50project." The problem is that doing that
  1296. 47:52after three, four, or six months is
  1297. 47:55hard. You need to go back to your uh
  1298. 47:58email or calendar to understand the
  1299. 48:00meetings you were involved and all of
  1300. 48:01those things.
  1301. 48:03But, if those
  1302. 48:04objectives were related to were related
  1303. 48:06to uh code,
  1304. 48:09ask Cloud.
  1305. 48:10If you have been building those things
  1306. 48:12with Cloud, Cloud can tell you what you
  1307. 48:14have been building. Okay? It can share
  1308. 48:16with you the things that you have been
  1309. 48:18doing.
  1310. 48:20And also, that means that you can go to
  1311. 48:22your user profile,
  1312. 48:23create a skill
  1313. 48:25to do this every quarter whenever your
  1314. 48:27manager asks for it. So, you don't need
  1315. 48:29to go back and research your email once
  1316. 48:31again or calendar. You can actually ask
  1317. 48:33Cloud to help you during the process.
  1318. 48:37Let's use another example.
  1319. 48:39I have a huge problem with my downloads
  1320. 48:40folder. Anyone can relate?
  1321. 48:43Okay? I think I'm not alone. Uh every
  1322. 48:46single thing that goes to my downloads
  1323. 48:48folder will only disappear from there in
  1324. 48:50the day that I get that message saying
  1325. 48:51you don't have enough space on your
  1326. 48:53disk. Okay?
  1327. 48:54So, that's the day when I decide to take
  1328. 48:56actions. I'm always afraid of losing
  1329. 48:58something that matters, but I know that
  1330. 49:00there's nothing value inside of that
  1331. 49:02folder. But, I'm in fear. So, what I've
  1332. 49:05decided to do is that recently I have
  1333. 49:081,626
  1334. 49:11items inside of that folder. I know that
  1335. 49:14some of those were actually folders, so
  1336. 49:16they were even more. And what I decided
  1337. 49:19to do was the following. A cloud, can
  1338. 49:21you help me with this thing? Organize
  1339. 49:23those things into uh
  1340. 49:24uh folders. So, then it becomes easy to
  1341. 49:27me to take decisions. Because now what
  1342. 49:30I'm seeing is a couple of folders, and I
  1343. 49:32know that if it's code, it will be on
  1344. 49:34GitHub, so I don't care. Let's drop that
  1345. 49:37one. If it's a screenshot, I don't care.
  1346. 49:40Let's drop that one. Installers as well.
  1347. 49:43But for things like documents, okay,
  1348. 49:44let's take some time and look at it.
  1349. 49:47It's those small things that you used to
  1350. 49:49take a ton of time or writing a Python
  1351. 49:51script that you can use cloud to help in
  1352. 49:53your day-to-day in just a couple of
  1353. 49:55minutes instead of wasting your time.
  1354. 50:00While I'm quite disorganized with my
  1355. 50:02downloads folder, I'm absolutely
  1356. 50:04obsessed with productivity.
  1357. 50:06Uh maybe that's the reason why I'm doing
  1358. 50:08this talk now that I think about it.
  1359. 50:10Uh
  1360. 50:11But one of the things that I really like
  1361. 50:13is uh note taking. But for a long time I
  1362. 50:15struggle I struggle to find the tool
  1363. 50:17that I like, the tool that I would use,
  1364. 50:19that I would commit to it. So, I tried
  1365. 50:22OneNote, Evernote, Apple Notes,
  1366. 50:25whatever you you know Notion, whatever
  1367. 50:27you know uh I tried it. And I tried one
  1368. 50:30thing named Obsidian.
  1369. 50:31Obsidian works with markdowns. Uh it can
  1370. 50:34create connections between those
  1371. 50:36markdowns. But the way that I see it is
  1372. 50:38like a client on top of your a folder
  1373. 50:41with markdowns that you can use as note
  1374. 50:42taking.
  1375. 50:44And eventually I start thinking, okay.
  1376. 50:46Obsidian loves markdowns.
  1377. 50:49Cloud code loves markdowns
  1378. 50:51on my machine.
  1379. 50:53Why not using both together?
  1380. 50:55So, nowadays I can use Cloud Code to
  1381. 50:58help me in my day-to-day type of things.
  1382. 51:00It can help me to surface things that I
  1383. 51:02would need to do next month.
  1384. 51:04It can help me with summarizing a given
  1385. 51:08meeting. It can help me with things like
  1386. 51:11understanding when I'm running late,
  1387. 51:12when I'm not. It can help me to create
  1388. 51:15connections between different notes that
  1389. 51:17I'm researching.
  1390. 51:19And nothing here is code.
  1391. 51:22It's just text. Text on my machine.
  1392. 51:25And now I have a folder that I control
  1393. 51:28and I use the tool that I want. And if
  1394. 51:29the day that I want to use Code X or
  1395. 51:31Cursor or whatever, I can do it as well
  1396. 51:34because I move those technologies to my
  1397. 51:37own control. Why that is cool? Because
  1398. 51:40now I can run Claude inside of my
  1399. 51:42Obsidian and I can have those
  1400. 51:45cool mesh diagrams over there that they
  1401. 51:48are pretty cool for a slide. Actually,
  1402. 51:50they are useless.
  1403. 51:52Uh
  1404. 51:53but they are pretty cool. So, these
  1405. 51:55types of things you can do. Let me share
  1406. 51:57with you one more example before we get
  1407. 52:00to the end.
  1408. 52:01So,
  1409. 52:03I I have a a chronic disease. So, uh
  1410. 52:07maybe 10 years ago or more, I was told
  1411. 52:10that I couldn't run, okay? Um yes,
  1412. 52:14because of the problems that I have with
  1413. 52:16that disease. And I accept that fact and
  1414. 52:18for a long time I didn't want to go for
  1415. 52:20a run.
  1416. 52:21Eventually, I was stubborn enough that I
  1417. 52:23started running. And one thing that I
  1418. 52:25learned during the process is that the
  1419. 52:27problem was not the fact that I was
  1420. 52:29running. Was the fact that I was running
  1421. 52:31in an unstable way.
  1422. 52:33I would I might be running today 5 km
  1423. 52:36and next week I will try 20 km, okay?
  1424. 52:39And um
  1425. 52:40that was not structured. I didn't have
  1426. 52:42anyone advising me.
  1427. 52:45So, what I decided to do eventually is
  1428. 52:47that I record my all my runs using
  1429. 52:50Strava. So, I said, "Okay, let's build a
  1430. 52:53skill that goes to Strava every single
  1431. 52:56day, pulls my
  1432. 52:58runs into my Obsidian vault. So, now all
  1433. 53:01of my history from every single year
  1434. 53:04since I've been using Strava is inside
  1435. 53:06of my Obsidian vault.
  1436. 53:08Then, I have a second skill that I run
  1437. 53:10every week that that I uh ask, "Hey,
  1438. 53:13help me build this um
  1439. 53:15um
  1440. 53:16program, so the next week plan, and
  1441. 53:19guarantee that we don't get to the point
  1442. 53:21that we were before where I had to stop
  1443. 53:23because of my disease."
  1444. 53:25And now, I have every week a stable way
  1445. 53:28of keep running, and I have been uh more
  1446. 53:30healthy because of that.
  1447. 53:33Just using two skills and a set of files
  1448. 53:35on my own machine.
  1449. 53:37So, any type of things like those, you
  1450. 53:40can do it with just a set of files
  1451. 53:43and Clojure.
  1452. 53:44I hope you have learned at least one or
  1453. 53:46two things with me. I told you that was
  1454. 53:48the goal. But, if you haven't learned
  1455. 53:50anything with me, promise me one thing.
  1456. 53:53Next uh week, once you get to your desk
  1457. 53:56and you start Clojure, type
  1458. 53:57{slash}insights.
  1459. 53:59Because if I couldn't tell you anything
  1460. 54:00new, {slash}insights will tell you a lot
  1461. 54:03about the way that you use Clojure.
  1462. 54:05I hope you like this session, and I hope
  1463. 54:07you enjoy the rest of the conference,
  1464. 54:08and I will see you around. Thank you.
  1465. 54:11>> [applause]

About this transcript

This page contains the full transcript of What Claude Code Can Do That You Haven't Tried - Gui Ferreira - NDC Oslo 2026 by NDC Conferences, generated from the public captions YouTube serves with the video. The transcript has 9,451 words across 1,465 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.