What problem does it solve? Building tools for an AI agent is easy, but making them governed is hard: tools need role-based gating, human approval for mutations, tenant-scoped data access, and reliable discovery at boot. This Skill guides you through authoring, registering, and debugging governed tools for @adonis-agora/agent so the model only ever sees and calls what the acting user is allowed to use. ## Core Features & Use Cases - Class and functional tool authoring: Create tools via @AiTool decorated classes, ReadTool/ActionTool subclasses, or defineTool functions with Standard Schema inputs (Zod, Valibot, ArkType). - Governed execution: read tools auto-execute while action tools pause for human-in-the-loop approval, with roles/ability fail-closed gating and constructor dependency injection via the AdonisJS IoC container. - Governed SQL access: The dataTool satellite lets the agent run read-only SELECT queries against a role-to-table allow-list with tenant scoping, LIMIT injection, and result truncation. - Use Case: You add a get_order tool but the model never calls it — this Skill explains that missing roles means the tool inherits defaultRoles ['ADMIN'], so MEMBER actors never have it offered to the model. ## Quick Start Ask the AI to write a governed read tool in app/agent_tools that fetches data scoped to ctx.actor and registers it through the generated tools barrel.