00:00:00when working with Cloud Code, Codex or any other agentic engineering tool, one really important
00:00:05concept that is supported by all these tools that you should understand and use is the concept of
00:00:12agent skills. And it's easy to ignore them because it's just a bunch of markdown files or because
00:00:18setting them up can be cumbersome but it is worth it in my experience. And a couple of days ago there
00:00:24was a post by someone on the Cloud Code team so someone from Anthropic where he shared the
00:00:31different types of skills they are using internally because indeed you can differentiate between
00:00:37different types of skills you want to create. They're all just markdown files in the end though
00:00:42you can add a bit more I'll get back to that but of course what's inside that markdown file can be
00:00:49quite different. Now this image here and this entire post can be quite overwhelming and can lead
00:00:56to not doing anything because you feel like okay if I gotta spend a week setting up skills I rather
00:01:02not use them at all and that's why I want to offer an alternative to that in this video. I think you
00:01:08can simply have three core types of skills that you should care about and that will lead to better
00:01:15results. By the way as I mentioned all these tool support skills I cover how to set them up how to
00:01:20actively invoke them how to build skills for Cloud Code for codecs in my respective courses and if you
00:01:26want to get those courses or get access to all my courses including future courses right now I'm
00:01:31running a promotion where you can get the annual membership which gives you full access to all my
00:01:35courses as long as you have the membership for a super low price link below. But regarding these
00:01:41skills here they are just markdown files markdown files that are stored in a special place and the
00:01:46exact place depends on the tool you're using but in the end they are there for prompt templates or
00:01:52extra pieces of context that can be injected into your agentic engineering sessions. And the first
00:02:01type of skill is the documentation or the knowledge skill I would say. Now what do I mean by that?
00:02:09Here I'm in my academy.com project so the project of my website and in there I got a bunch of agent
00:02:15skills that are really just kinds of documentation or knowledge I expose to the AI agent here. For
00:02:25example some typescript knowledge here some knowledge about more advanced typescript
00:02:33features maybe some newer features like the satisfies keyword which hasn't been around
00:02:40for 10 years some stuff I want the AI agent to be aware of or to be reminded of because it might not
00:02:50be the first things it's reaching for because maybe it hasn't seen as much of that stuff in its training
00:02:58data. So this really is something you could find in the official typescript documentation. The thing
00:03:04just is that unless you explicitly tell the agent to do so it very likely will not go to that official
00:03:11documentation it will not go to the typescript documentation so I rather have my own skill and
00:03:17this skill here has some metadata. The metadata is important because the idea behind the skills is that
00:03:24not all available skills are loaded into the context window every time instead just the
00:03:30metadata is loaded into the context window and then the AI agent can decide for which skill it wants to
00:03:37read more depending on your prompt and your tasks you gave it. You can also actively invoke skills
00:03:43depending on the tool you're using but the main idea is that the agent loads them on its own
00:03:47depending on that metadata. So here I have some metadata where I try to give the agent some idea
00:03:55on when to use this skill and therefore that is one type of skill that you provide extra documentation
00:04:02or knowledge that the agent may not have because maybe you're also working with some library which
00:04:08was not in the training data because it's brand new or where you know that it maybe hasn't seen a lot
00:04:13of about and you you want it to be aware of so that's the the first type of skill I would say.
00:04:18The second type of skill is behaviors best practices approaches that kind of stuff and here the idea
00:04:29really is that of course when you're working on a project you may have certain preferences regarding
00:04:37code style or regarding how some stuff should be done. So for example I have this clean modern
00:04:45react code skill which is not so much about documenting react features but instead about
00:04:50establishing some rules the agent should follow when it's writing react code to ensure that certain
00:04:59anti-patterns are less common at least because at least for me right now AI agents tend to generate
00:05:08code that's not always the highest quality and you could argue whether you care about the code
00:05:13quality at all. I created a separate video on a different channel about that. I would say it
00:05:18matters because code quality matters for being able to review the code. It can have performance
00:05:23implications it can have implications on how easy the code is to maintain or extend so I'd say it
00:05:29matters and if you have certain behaviors or patterns you want the agent to use then such a
00:05:36behavioral skill where you tell it how to write good react code that you that it should try to avoid
00:05:43use of fact and how it can avoid it that kind of skill can be interesting. So here it's less about
00:05:50providing extra documentation extra knowledge but instead about instructing behaviors. Now what's
00:05:55interesting about this skill is that here I got some related files with a file with more details
00:06:02about use of fact because all these skill files are loaded lazily as I already said and you can
00:06:09in a skill file reference another file like this use of fact MD file in the references folder here
00:06:15and then the AI can decide to load that file only when it knows that it is working with use of fact
00:06:21that it is doing something with use of fact so that here I then have more details about anti-patterns
00:06:27it it should be aware of and setting up these kinds of skills can be well worth it also because of
00:06:33course I can copy that into any react project I don't have to rewrite it all the time and it can
00:06:39lead to better code there. So that's the second type of skill I would recommend doing and you don't have
00:06:45to think of all the different patterns you might want to describe instead just act step by step if
00:06:52you see that in your project the AI agent is consistently doing something you don't want it to do
00:06:58add a skill where you think about a good description that increases the chance of the skill being loaded
00:07:04in the right times and then put your instructions in that skill so use it to fix stuff and over time
00:07:11you'll build a skill library with your specific best practices and behaviors you want to enforce
00:07:17and you can then use that in future projects so don't see it as that big upfront task that is
00:07:22super intimidating instead build that skill base step by step. Now the third type of skill and
00:07:29that's a different type of skill is functionality driven skills thus far we talked about documentation
00:07:37and about enforcing specific behaviors. Now these agentic engineering tools like cloud code codex
00:07:43they can do all kinds of stuff they can write code obviously but you're not limited to writing
00:07:49code in in projects since they can write code they can do anything on your computer if you want you
00:07:55can use them to analyze pdf documents for example or I have some global skills on my system which
00:08:03are not specific to just programming some of them are but not all you could set up a skill that tells
00:08:09an agent how to generate an image now what do I mean by that well there are of course various
00:08:16services or apis you can use to generate images or video with ai something like fell ai this is not a
00:08:24sponsored video by the way there also is replicate and there are different services now of course
00:08:29if you want to generate an image let's say for a project you need a dummy image in your website or
00:08:34for something totally different an image you want to print and put on your wall you can use these
00:08:41services and you could use codex cloud code the pi agent which I like a lot and ask it to generate
00:08:49an image for you by default it very likely will fail because these agentic engineering tools they
00:08:54don't have image generation capabilities built in but if you give them a right skill which still is
00:09:00just a markdown file in there you can of course describe how to interact with some third-party
00:09:06api to generate an image now just describing that interaction might be one way but you can take it
00:09:12a step further your skills can also come with scripts not all need them but here my generate
00:09:18image skill does this script is a script which to be honest was written by ai it was vibe coded
00:09:26and in here i have some some scripts that interact with the fell api so of that image generation
00:09:34service i essentially took their documentation put it into a prompt and told an ai agent to write me
00:09:40a tool that can utilize or that can talk to that api by fell to generate images so a little cli
00:09:49tool was written here a little script that can talk to that api and generate images with different
00:09:56parameters and so on and then the skill md file that file just explains how to use that script it
00:10:02points at it and it tells the agent how to execute it which parameters to pass in and so on and then
00:10:08i got the .env file here with my fell key and when that script here is invoked through bun which is
00:10:18what i'm telling the ai in the skill md file that .env file will be loaded automatically so i don't
00:10:23have to give my agent access to that key i don't have to tell it please generate an image by the way
00:10:29here's the key instead i just can't tell it to generate an image it will thanks to this
00:10:34description load this skill when it needs to and then in there it learns that it just needs to run
00:10:39a script and it does need to worry about the implementation details and that is another kind of
00:10:45skill that i think is interesting not just related to programming you could of course also have a
00:10:52script driven skill there some some skill that formats the code or i don't know but in general
00:10:57because you can really use these agents for more than just generating code and therefore that
00:11:02definitely is another skill category to be aware of but yeah as a whole i'd say don't over complicate
00:11:08it but also don't sleep on it instead build your skill library step by step it's worth noting that
00:11:14of course there are skill registries like skills.sh where you can browse skills built by other people
00:11:21just two important notes this can be very useful but what i would not do is say okay i'm building
00:11:29a react project with tailwind and better auth and i don't know so i will search for all the skills
00:11:35that could potentially be interesting there and i'll install them all into my project that might
00:11:40be counterproductive because you're loading more and more metadata into your context window and
00:11:47some of these skills just might not matter so that is one thing to be aware of i would not always try
00:11:53to add all the skills that you could theoretically add instead you should be selective and focus on
00:11:57the on the things the the ai consistently gets wrong or where you know that extra documentation
00:12:04will be needed that's one thing and the other thing about these registries of course is you are
00:12:09including skills that were written by other people these skills as we learned are just prompts if
00:12:16there is something malicious in one of these prompts that could be a problem that can lead to a prompt
00:12:22injection attack and you should be aware of that now some registries like skills.sh to my knowledge
00:12:28do some form of scanning to kind of reduce the danger of prompt injections but you're never 100%
00:12:36secure and that is there for something to be aware of so whenever you're using a skill written by
00:12:40someone else read it it's it's there for you to read take a look at it and see if there is something
00:12:47malicious in there that's just one word of caution but yeah other than that use skills don't feel like
00:12:54you need to build that super complex super system here instead play around with them and keep these
00:13:00three core types of skills in mind