Skip to main content
Glama

Pass the ball to a spot

pass_ball
Destructive

Kick the ball to an X/Y field coordinate with a measured low-power kick, fetching or dribbling closer if needed, and refusing when the path is blocked.

Instructions

Kick the ball to a spot on the field (mm, as in robot_status().panel.map: on a field (0, 0) is its centre, x right, y up the field) with the gentlest measured kick that gets there, fetching it first if needed and dribbling closer if no measured kick reaches. Refuses if something on the map is in the ball's way.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
x_mmYes
y_mmYes
speed_percentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare the safety profile (destructiveHint=true, not read-only), and the description adds meaningful behavior beyond that: it fetches the ball if distant, dribbles when no measured kick suffices, and refuses when the path is blocked. It does not discuss permissions, failure surface, or what a refused call returns, so it is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the verb and purpose before elaborating on units and fallbacks; nothing is padding. It is slightly run-on, packing three conditional behaviors into one clause chain, which costs a little readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and annotations covering only safety, the description supplies the coordinate frame, fallback strategy, and refusal semantics an agent needs. The undocumented speed_percent parameter and the absence of any return-value or failure detail are the remaining gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must carry the load, and it does define the coordinate system and units for x_mm/y_mm precisely ('mm... (0,0) is its centre, x right, y up the field'). speed_percent, however, is left completely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Kick the ball to a spot on the field') and immediately pins down the coordinate frame, which distinguishes it from siblings like kick, shoot_at_goal, and fetch_ball. An agent can tell what this does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes the internal fallback chain (fetch first if needed, dribble closer if no measured kick reaches) and the refusal condition, giving clear context for when the tool applies. It never names an alternative tool or an explicit when-not-to-use case, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.