Skills are new features: Building Skill-Centric Harness — Yogendra Miraje, FactSet
AI Engineer · 17 min · 133 sentences · from YouTube's caption track
Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.
- 00:01[music]
- 00:13Hi everyone, I am Yogi.
- 00:15I work at Faxet as principal AI engineer.
- 00:19We are a financial data and research company.
- 00:23I'm going to talk about how to build skill centric agentic products and I'm going to post slides so you don't have to keep uh taking photos.
- 00:34So that's my exandle yogi not the bear.
- 00:38Um so let's connect there and uh let's begin.
- 00:49So in the last year's talk in this very conference I talked about blueprints and what blueprints were really a simple set of steps or recipe that you can hand over
- 01:02to agents so that agent doesn't have to discover its path every time and when I look back it was simply a skill in a very naive form and a lot has changed since Then
- 01:20Antropic has shipped skills in last year October and even warned us not to build agents.
- 01:28But on serious note since Antropic had already open source the skills there was no point in trying to maintain our own standards.
- 01:38So we moved away from blueprints and just adopted skills fully.
- 01:44And this talk really inspired me to build skill centric agent and I'm going to share some of my learnings from that journey.
- 01:55So a quick raise of hands.
- 01:57How many of you really build skills here?
- 02:02So almost all of you.
- 02:04Now lower your hands if you have built that only in context of cloud code and codeex.
- 02:11and raise your hand if you have like built your own harness and added you know skills to that.
- 02:19So okay so I see a few hands.
- 02:21So reason I'm asking is when I see most of the online discourse it's about you know coding harnesses and skills in context of the coding agents and how to write great skills like so we need that but today I'm not going to talk about that
- 02:39what I'm going to focus on is skills in the context of agentic products and how do you really add support for skills in in your own harness and how to scale it at enterprise scale.
- 02:55So traditionally product used to look like this.
- 02:58A surface made of screens, buttons, forms and dashboards.
- 03:04The user navigated this UI.
- 03:08But nowadays we are seeing more and more these kind of interfaces where agent is at the forefront.
- 03:15The user either talks to the agent or agent behind the scene is the main decision maker helping users navigate your product.
- 03:26Now if the agent becomes the main interface for your product then where do features live?
- 03:37This framing of who, what, and how really helps to answer that question.
- 03:42Prompts define who the agent is.
- 03:45Tools define what it can connect to.
- 03:49And skills really tell you how a task gets done.
- 03:53And this is the great place to keep your business logic that shapes your agents behavior.
- 04:00So skills are the new features.
- 04:03And you can see this with this example.
- 04:06So equity research and wealth management are two very important workflows in uh finance and these all used to be the buttons, dropdowns and screens and now they are merely skills.
- 04:23One of the most uh underrated thing about skills especially when talking about agentric products is how it has enabled to build skills for anyone who has good understanding of the products.
- 04:37So if skills are new features and this new features can be shipped by anyone in the company.
- 04:43The question is what's the role of engineer?
- 04:46Then the role of engineer is shifting from shipping features to shipping harnesses.
- 04:53Harnesses that are smooth vehicles for your skills to run.
- 04:57But before diving into that, let's just get to the basics and try to understand what skill is.
- 05:04The dictionary meaning of skill is the ability to do something well.
- 05:09And what it means is that your model can live with it without it.
- 05:14But it obviously going to do better in presence of skill.
- 05:20A better definition for agent skill is a standardized way to teach AI agents how to do a specific task well.
- 05:29And a simple skill could contain just like a markdown but a very complex can have multiple references to the files and executable scripts.
- 05:43The skill.md is the heart of your skill.
- 05:46Name and description in the front matter are the key uh things that will help you to discover the skill and the business logic and instruction goes into the body of the skill
- 05:58and which will also contain references to the files and scripts.
- 06:04So let's see how to add a skill support in your harness.
- 06:08So what do you need to do like a bare minimum skill in your harness?
- 06:13You only need these three things like skill registry, a system prompt, and a basic file read tool.
- 06:20If you're running scripts, then obviously you're going to need either bash or maybe a code uh running sandbox environment.
- 06:29But this is the bare minimum requirement for adding support of skills like in your harness.
- 06:37A simple skill registry looks like this.
- 06:40So what is a skill registry?
- 06:42It just like collection of skills with their name, description and path.
- 06:48And we are going to see this with three example skills.
- 06:53Company research skill which is supposed to do a very basic web search for a company and produce a markdown.
- 07:02a report HTML skill that will turn the markdown into an HTML.
- 07:08A report PDF skill that will take that markdown and turn into PDF.
- 07:15Now how does really the agent discover the skill?
- 07:18So you have your registry then you form a skill concat concatenating the name description path and put it in your system prompt.
- 07:30So if you notice like we are only using the name and description path in in this system prompt and not the skill body and that's what what they call about is progressive disclosure.
- 07:44Agent is going to read the skills and only pick the skills that it is going to read and follow the instructions from there.
- 07:52And then you need your agentic loop that will run this system prompt.
- 07:58Here we're keeping track of all the messages in uh in that messages array and we're going to call the model with messages and agent tools and for every turn it's either
- 08:12looking for like making a tool call and all the tool calls get appended to the messages and if there is like no tool call we are just going to output the end of the
- 08:24uh program and going to show the output.
- 08:29So in this case what does like agent see in our example.
- 08:33So it sees that the skills that are available and then the activation part is when it looks for the company research skill for take this example of if you're asking to publish a report of NVDI
- 08:51it is going to call company research do the web searches and then use the build report skill to produce the report HTML And the output looks like something like this.
- 09:07Now what are the learnings from some of this is the descriptions are really the routing signals.
- 09:15And what I mean by that if you noticed I had like two different skills report HTML and report PDF.
- 09:25But when I showed the example, you saw only HTML.
- 09:28And the reason is I have this description saying that use the skill only when user ask for a PDF report.
- 09:37Focus on this word PDF.
- 09:39Right?
- 09:39So that is the trigger word that helps agent to know which skill to pick and that's why descriptions are called routing signals.
- 09:51And it's very important to keep your descriptions aligned to the user request and not about the skill itself.
- 10:04It's also important to keep your descriptions distinct enough so that agent doesn't get confused and make sure don't let your skills get stale because these are the reasons why your
- 10:18skills don't get triggered.
- 10:21One more like very important difference between like skills when we talk in agentic product context is most of the skills are only model driven because for nontechnical users we're not adding that cognitive load to remember them
- 10:37uh to keep the track of all the skills.
- 10:44Another learning that had was cut by user intent and not by data model.
- 10:49So when I started building the skill library, I had very narrow use cases.
- 10:54So add skill for estimation analysis or add for fundamentals.
- 10:58But I got real use cases and those use cases were not reflecting the data model.
- 11:04Those were really about the real use cases and I had to refactor this multiple times and that is okay, right?
- 11:14you start simply with narrower use cases and as you discover more use cases you start refactoring your skill library.
- 11:23So in practice it means that you know instead of having an estimate analysis skill you should have earning preparation skill instead of having a skill for news and analysis
- 11:35analyst rating skill you should have a pre-market briefing skill.
- 11:41So we updated our uh stack to a new model and our agent start uh failing because it was not obeying the skills.
- 11:52Nothing was changed.
- 11:54Not a single line in the skill was changed but still it failed.
- 11:59And when when we dig under the hood what was happening it was that this like new model was very focusing on beginning of the skill and we had very critical instruction at the end of the skill.
- 12:15So that's why it's very important to run evals and skills without evals are really just wishful thinking.
- 12:24Skills are not the documentation and a lot of people treat them like that and skills are really the contracts versioned to a model.
- 12:35So whenever you're upgrading a model, make sure to rerun uh your eval.
- 12:43So when you have like a few skills, shoving them in the system prompt really works.
- 12:51But as soon as you start growing your skill stack, this falls apart.
- 12:56When you have like more than 10 skill, maybe that's like a good point to think start thinking about, you know, how can you shortlist the skills that you're going to add to the system prompt.
- 13:08And this could mean just like having embeddings and have similarity search and short lists or a smaller model that can shortlist the skills and add to the system prompt.
- 13:20The real trouble really starts when you have hundreds of skills.
- 13:24At that point, you really need hierarchy of skills and metadata filters and the governance in the place to keep your uh library searchable and coherent.
- 13:40So there are like five aspect of skill library governance and these are admission, ownership, boundaries, life cycle and coherence.
- 13:52Sounds very enterprisey right but each of this really answer like a very core question and we will get to that in a second.
- 14:04But when you hear governance, it really doesn't need to be a red tape bottleneck.
- 14:10It really depends on how you're implementing it.
- 14:14How much automation is in place with proper human in the loop.
- 14:19And the good news is that we can borrow a lot of good practices from code and apply them to the skills.
- 14:28And these coding practices like has worked for decades.
- 14:34So what does admission even mean?
- 14:37What it means that should this skill even exist or it should go to an already existing skill.
- 14:44And in practice we build automated get for the registries with human in the loop.
- 14:50And this is very analog log to how we do the PR review process.
- 14:58Who maintains your skill?
- 15:01Just like how features are maintained by application teams, we need skills to be maintained by application teams.
- 15:07And like code owners, we need to have a dedicated skill owners like named maintainers for your skills.
- 15:17What happens to the skill over time?
- 15:20You need to have semantic version of the skills and also whenever you're getting rid of skills you need to have deprecation warnings and make sure that your changes are reflected in the change logs.
- 15:42So when you have large number of skills, the library should still make sense.
- 15:47And just like features are cohesive in a good product, we need to make sure that we are conducting periodic audits and skill validation checks so that your skills would really
- 16:02make sense.
- 16:10Whenever you have a lot of skills, it's important to have the allow list tools in in the skills and your tools are supposed to be access control and this is very important to keep the correct boundaries around skills.
- 16:30So what are the main takeaways?
- 16:33The main takeaways are skills are the features in your agentic products.
- 16:38Our role is shifting from features that is shipping features to shipping harnesses and routing mechanism doesn't get tuned as you scale.
- 16:51It changes the mechanism itself and at enterprise scale the skill library governance is really non-negotiable.
- 17:01That was my talk.
- 17:02Thank you very much for listening.
- 17:05[applause]
- 17:21[music]