Tools Overview
Tools are the primitive actions agents can execute — HTTP requests, file I/O, memory, shell commands. They are implemented in the tama runtime and always available to any skill.
How tools work
Section titled “How tools work”Tools are unlocked through skills. An agent cannot call a tool directly; it must first load a skill that declares the tool:
---name: my-skilldescription: Does something useful.tools: - tama_http_get - tama_files_write---
Instructions for the agent...When the agent calls read_skill("my-skill"), the listed tools become available for subsequent calls in that agent’s session.
Always-on tools
Section titled “Always-on tools”Two tools are always available — no skill required:
| Tool | Description |
|---|---|
start | Receive the task input. Every agent calls this first. |
finish | Return the result and end the agent loop. |
Every other tool must be unlocked via a skill.
Built-in tool namespaces
Section titled “Built-in tool namespaces”tama ships with a standard library of built-in tools organized by namespace:
| Namespace | Tools | What it does |
|---|---|---|
tama_http | tama_http_get, tama_http_post | HTTP requests |
tama_files | tama_files_read, tama_files_write | File I/O |
tama_mem | tama_mem_set, tama_mem_get, tama_mem_append | Shared in-memory store |
tama_bash | tama_bash | Shell command execution |
Tool names in skill files
Section titled “Tool names in skill files”Always use the full tool name (including namespace prefix) in your skill’s tools: list and in the body instructions:
---name: search-webdescription: Search the web using DuckDuckGo.tools: [tama_http_get, tama_files_write]---
Call tama_http_get to fetch search results...