From adk-tools
Use this skill to add human-in-the-loop tool-call confirmation to an ADK 2.0 agent — the agent must get explicit approval before destructive or sensitive tools fire. Triggers on: "ADK human in the loop", "ADK tool confirmation", "approve tool calls in ADK", "HITL ADK", "guard tool execution", "ADK ask before running tool", "manual approval for ADK tool". Generates a tool wrapped with require_confirmation() so ADK pauses and surfaces a prompt before invoking the tool.
How this skill is triggered — by the user, by Claude, or both
Slash command
/adk-tools:tool-confirmation-hitlThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Wrap dangerous or expensive tools with required confirmation. ADK 2.0 ships this as a first-class feature.
Wrap dangerous or expensive tools with required confirmation. ADK 2.0 ships this as a first-class feature.
from google.adk.agents import LlmAgent
from google.adk.tools import require_confirmation
def send_email(to: str, subject: str, body: str) -> dict:
"""Send an email. Requires human approval before firing.
Args:
to: Recipient email.
subject: Email subject line.
body: Email body (plain text).
Returns:
Dict with 'sent' bool and 'message_id' string.
"""
# Implementation calls SES / SMTP / etc.
return {"sent": True, "message_id": "abc123"}
guarded_send = require_confirmation(
send_email,
prompt_template=(
"Approve sending email?\n"
" To: {to}\n"
" Subject: {subject}\n"
" Body preview: {body:.100s}\n"
),
)
root_agent = LlmAgent(
name="email_assistant",
model="gemini-2.5-flash",
instruction="Help draft and send emails. Always preview before sending.",
tools=[guarded_send],
)
guarded = require_confirmation(
send_email,
auto_approve=lambda args: args["to"].endswith("@trusted-domain.com"),
)
If auto_approve returns True, the tool fires without asking — useful for whitelisting.
adk webThe debug UI shows a yellow confirmation card with the prompt text and "Approve" / "Reject" buttons. Programmatic approval over A2A is also supported.
from google.adk.callbacks import on_tool_confirmation
@on_tool_confirmation
def log_approval(ctx, tool_name, args, decision):
print(f"[AUDIT] {tool_name} {decision} args={args}")
auth-framework-config (in adk-observability-safety) for tool-level auth gatesnpx claudepluginhub healthcare-ai-consulting-llc/adk-2-toolkit --plugin adk-toolsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.