They're specifically focused on tasks and workflow logic, where CLoT.md is focused on repository-wide or subdirectory-wide coding guidelines. And they're obviously CLoT-specific or Entropic. Now, we know that skills are useful. Does that mean now we need to go to Gemini or any of our favorite AI providers and just create skills for everything? I'm actually going to recommend you against that. If you go to Gemini and create your own skills, this means that the skills are most likely unnecessary, because the model that the agent uses already possesses the capabilities to accomplish this task. So these skills are just redundant and they will be leading to extra context rot.
How do skills work? Remember our React loop. Let's plug in skills now. So whenever we're accomplishing a particular task, imagine that just a different iteration of the React loop, we would look at the available skills that we have, and we'll create a summary of them. This is just going to be the list of the descriptions and the names of the skills that we have available. We're going to ask the large language models which skills are relevant for this particular task, and if there are any relevant skills, we're going to add them to the context. Notice how many things we're adding to the context. That's why I'm saying we need to be very mindful about the skills that we're adding and also the way we're expanding the agent capabilities with MCP or with CLIs, because everything ends up being part of the context, and this is something for which we pay and something that can regress the agent's performance if it grows too much.
Building skills over the past year or so, or six months, I don't know, whenever the open design, whenever the skill specification came out, I discovered five best practices for the development of agent skills. First of all, what we need to put in skill MD. They need to be procedural instructions. I'll show you why in a little bit. Second, the front matter optimization is really important. Progressive disclosure, so we can keep our skill.md pretty slim. Repetitive task scripting and skill composition. Procedural instructions. If you're writing documentation for humans, you can provide examples, you can make comparisons between your framework and cooking, let's say. You can make different analogies, different pros that could actually be helpful for the user to comprehend how your technology works. However, if you're building skills, these skills are not for humans, they're for agents. And the agents, they don't need pros, they need procedural instructions that are very clear in describing the agent what it needs to do. So instead of saying, to run tests, first check if npm is in, so you can look for packages and so on and so forth, instead of doing that and making it hard for the agent to follow individual steps and discover them, you can just say, first search for package.json file. If yaml log is present, execute this and that. Focus on predictable, repeatable execution. Next, if you have the best skill.md possible, it might still be relevant if you don't have good front matter. You can either pollute your context or your agent might not be able to discover the skill at all.
Comments