Skip to main content
Skills are reusable capability definitions attached to agents. Each skill packages domain-specific instructions that teach an agent how to perform a class of tasks. Tools are the runtime primitives agents invoke to interact with external systems. Together they define what an agent can do without changing its identity.

Skills

Every skill is registered in the Convex skillDefinitions table and can be attached to any agent definition.
FieldDescription
skillIdUnique identifier
nameHuman-readable skill name
contentThe SKILL.md body — conventions, procedures, examples
sourceOrigin: custom, template, or marketplace
versionSemantic version string
statusQuality pipeline stage (see below)
tagsDiscovery and categorization tags
ownerOrg or user who owns this skill

Quality Pipeline

Skills progress through a review pipeline before reaching production use:
draftin-reviewapprovedactive. A contentHash field detects post-review drift — if skill content changes after approval, the hash mismatch signals re-review is needed.
Skills are pattern-matched at runtime. The agent receives a skill directory and decides which skill to activate based on task context. This is an LLM decision, not hard-coded routing.

Tools

Tool bindings give agents access to external capabilities: APIs, databases, file systems, shell execution, web search, and MCP servers. Agents declare tools in two categories:
  • Required tools — always available, cannot be removed at deployment. Define the minimum capability surface.
  • Optional tools — can be added at deployment time. Expand the surface for specific use cases.
Skills can recommend tools via a toolRecommendations field. When a skill is attached, its recommended tools inform which optional tools should be enabled — connecting “what the agent knows” to “what the agent can do.” In Burgundy: Manage skills from the resources page. →