What Is a Skill?
In the context of AI agents, a skill is a discrete, self-contained capability that an agent can invoke to accomplish a specific type of action. Skills are the building blocks of what an agent can do — each one encapsulates a particular interaction with the world, such as searching the web, extracting data from a URL, running a calculation, or sending an email.
The term "skill" is used interchangeably with "tool" in many frameworks, though "skill" often implies a slightly higher level of abstraction: a skill may internally compose multiple API calls or processing steps, while a tool is often a single function invocation.
Characteristics of a Good Skill
A well-designed agent skill should be:
- Atomic — It does one thing clearly and completely. Combining too many behaviors into a single skill makes it harder for the agent to reason about when to use it.
- Composable — It can be combined with other skills in sequence or in parallel to accomplish complex tasks.
- Documented — It has a clear name and description so the agent's LLM understands when and how to invoke it.
- Deterministic (where possible) — Given the same inputs, it produces consistent outputs that the agent can reason about predictably.
- Scoped — It operates within well-defined boundaries, reducing the risk of unintended side effects.
Examples of Common Agent Skills
- Web search — Query a search engine and return a list of relevant URLs and snippets.
- URL extraction — Fetch a webpage and extract structured data from it (e.g., KnowledgeSDK's
/v1/extract). - Screenshot — Capture a visual rendering of a webpage as a base64 image.
- Code execution — Run a snippet of Python or JavaScript and return the output.
- Email sending — Compose and dispatch an email via an SMTP or API integration.
- Database lookup — Query a structured database for a record by ID or keyword.
- Semantic search — Retrieve relevant documents from a knowledge base using vector similarity.
Skills vs. Tools vs. Functions
These terms are often used interchangeably but carry subtle differences:
| Term | Typical Usage |
|---|---|
| Function | The underlying code that executes the capability. |
| Tool | The interface exposed to the LLM, including schema and description. |
| Skill | A capability from the agent's perspective; may wrap one or more tools. |
In practice, the distinction matters less than having clear boundaries and good documentation for each capability.
Building Skills for KnowledgeSDK Agents
If you are building a web intelligence agent, KnowledgeSDK's API endpoints map naturally to skills:
/v1/scrape→ a "ScrapeURL" skill for turning any page into markdown./v1/extract→ an "ExtractKnowledge" skill for pulling structured facts from a page./v1/search→ a "SearchKnowledge" skill for semantic retrieval over your knowledge base./v1/classify→ a "ClassifyBusiness" skill for categorizing a company by its website.
Each of these can be registered in a tool registry or MCP server and made available to your agent as a first-class skill.