id = "tools_agent"
display_name = "Tools Agent"
when_to_use = "Generalist specialist for heavyweight ad-hoc execution with built-in OpenHuman tools (shell, file I/O, HTTP, web search, memory). Use only when direct orchestrator handling is insufficient and the task needs substantial tool-driven execution, but does NOT require managed Composio OAuth integrations. For external SaaS, spawn `integrations_agent` with a `toolkit` argument instead."
temperature = 0.4
max_iterations = 10
sandbox_mode = "none"
omit_identity = true
omit_memory_context = true
omit_safety_preamble = false
omit_skills_catalog = true

# Prediction-market venues (#2427) own their own specialist
# (`markets_agent` → `delegate_do_prediction_markets`) with a venue-aware
# approval-gate prompt. Disallow them here so the generalist's wildcard
# inventory doesn't surface a second, weaker route to the same
# capability. `tools_agent` retains every other built-in tool through
# the wildcard.
disallowed_tools = ["polymarket", "kalshi"]

[model]
hint = "agentic"

[tools]
# Wildcard — the agent inherits the orchestrator's full built-in tool
# surface. Composio meta-tools and dynamic `<TOOLKIT>_*` action tools
# are stripped at runtime (see `filter_non_composio_indices` in the
# subagent runner), so the LLM never sees integration-specific tools
# here; those belong to `integrations_agent`. Trading venues are also
# stripped via `disallowed_tools` above so they route through
# `markets_agent` exclusively.
wildcard = {}
