Overview Skills group related tools together so agents can work more effectively. They also provide shared usage context, which helps the agent understand how the tools connect without repeating the same explanation on every tool. For example, an Event Registration skill can explain how Registration Templates, Registration Instances, Registrations and Registrants relate to each other, giving the agent the structure it needs across the entire skill. Skills also give you a single place to manage security. Instead of applying permissions tool by tool, you can secure the skill as a whole so related tools stay consistent over time, even as new ones are added. Skills can be built using compiled C# or created with Lava, depending on the level of complexity and control needed. Skill Considerations Before creating new skills, keep these principles in mind: Think in terms of usage. Design skills around how agents will use them. Group tools in a way that makes logical sense, so your agents can work more effectively.Avoid overload. Too many tools or skills increase confusion and raise the chance of incorrect tool selection.Optimize context size. Each additional tool contributes to the size of the language model’s context for every call. Fewer, well-structured skills and tools help agents perform more reliably and efficiently. The larger the context, the higher the cost.Will existing tools work. Existing tools might accomplish what you need already. Many skills have configuration options that let you refine how they behave. Changing the system prompt might also be enough to make the existing skills work for you by providing additional terminology. An example of this might be if you were using groups in Rock to track sports teams. If you use the system prompt to tell the agent that sports teams are actually groups of a specific type, that might be enough without having to create a new set of skills for "sports teams".