Tendril
A self-extending agentic sandbox that demonstrates the Agent Capability pattern — where the model discovers, builds, and reuses tools autonomously across sessions.
Built with AWS Strands Agents SDK and Tauri.
What it does
You ask Tendril to do something. It checks its capability registry. If a tool exists, it uses it. If not, it writes one, registers it, and executes it — all without asking. Next time you need the same thing, the tool is already there.
You: "fetch the top stories from Hacker News" Tendril: → searchCapabilities("fetch url hacker news") # nothing found → registerCapability(fetch_url, code) # builds a tool → execute("fetch_url", {url: "https://..."}) # runs it by name → "Here are the top stories: ..." You: "now fetch Lobsters and compare" Tendril: → listCapabilities() # found: fetch_url ✓ → execute("fetch_url", {url: "https://lobste.rs"})# runs it — no rebuild
The registry grows with use. Every session is smarter than the last.
The Agent Loop
The core of Tendril is a Strands agent with three bootstrap tools. That's it — three tools to rule them all.
Where it lives
... continue reading