Tool & capability
These two words mean similar things — and most agent builders never need to know the difference. Here’s the difference anyway, so the rest of the docs make sense.
Tool
A tool is one specific action an agent can take. Tools have names like search_web, read_file, send_email, create_artifact, execute_command, make_agent_call. When you read in an agent’s trace “called search_web with query ‘qatar labour law leave entitlement’”, search_web is the tool.
There are around 80 tools shipped with TeamMate. They span:
- Files & code —
create_file,read_file,str_replace,execute_command,execute_code. - Web & research —
search_web,search_tavily,scrape_webpage,browser_navigate,browser_extract. - Communication —
send_email_tool, plus the connected-app tools (Slack, Teams, Gmail, Outlook). - Data —
query_dataset,create_dataset,create_data_analytics_plan. - Knowledge —
search_knowledge,write_knowledge. - Visualization —
chart_generator_tool,pdf_generator. - Delegation —
make_agent_call,search_agents,load_agent. - Discovery (SuperAgent only) —
search_tools,load_tools,search_skills,load_skill.
You don’t pick tools one at a time. You pick capabilities, and TeamMate injects the right tool set.
Capability
A capability is the higher-level switch. In the agent builder’s Capabilities tab, you’ll see toggles for Web Research, Files & Code Management, Email, Knowledge, Database & Datasets, and so on. Each toggle controls a group of tools — turning on Web Research gives the agent search_web, search_tavily, scrape_webpage, and the browser tools.
Capabilities exist because:
- Fewer choices. Most builders don’t want to opt into individual tools.
- Capability-aware routing. When a capability is on, TeamMate picks the right underlying tool for the model. If the agent’s model can read PDFs inline, the file-attachment capability does nothing extra. If the model can’t, the same capability injects
read_attachments.
When you’d ever care about specific tools
- You’re debugging an agent’s trace and want to know what each call did.
- You’re using the SuperAgent’s
search_tools/load_toolsmeta-tools to expand its toolset on the fly. These work at the tool level, not the capability level. - You’re writing a skill that needs a specific tool to be loaded first (“call
load_tools({ ids: ['create_skill'] })before continuing”).
Tool vs Skill
People mix these up:
- A tool is programmatic. It runs code, hits an API, reads a file. The agent calls it.
- A skill is textual. It’s a written playbook the agent reads and follows.
A skill can use tools. The skill-creator skill, for example, tells the agent how to use the create_skill tool. The skill is the recipe; the tools are the ingredients.
How tools and capabilities show up in the UI
- Agent builder → Capabilities tab — turn capabilities on or off for one agent.
- Agent builder → Skills tab — attach skills (which may declare required tools).
- Chat trace — when a reply involves a tool call, you see the tool name, its inputs, and its outputs inline.
Related reading
- Capability-aware tool injection — why a tool may not appear on an agent even when you’ve turned the capability on.
- SuperAgent dynamic loading — how the SuperAgent searches and loads tools on the fly.
- Chat → Tools — what tool calls look like in the chat UI.