What problem does it solve?
This skill removes friction from adding, typing, and controlling custom tools for Reactive Agents TypeScript projects by providing clear ToolDefinition requirements, registration patterns, and enforcement hooks so agents reliably call external APIs, databases, or file operations when required.
Core Features & Use Cases
- Typed tool factories: Use tool() for simple async handlers or defineTool() for Effect-native typed parameters and handlers.
- Registration & gating: Register custom tools alongside built-ins, restrict allowed tools, and require specific tools before completion.
- Safety & controls: Configure per-tool timeouts, risk levels, approval requirements, and per-tool call budgets to enforce guardrails.
- Use case: Add a lookup-user API tool with typed input and require the agent to call it before producing a final answer for user data retrieval workflows.
Quick Start
Register a typed lookup-user tool and enable it via withTools({ tools: [lookupUser], allowedTools: ['lookup-user'] }) so the agent can call it during task execution.