Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the whole side-effect chain (auto-selects a practice battle, registers you, reveals prompt/rules, returns registration_id) and states 'no signup', so the agent knows no auth is required. It stops short of failure modes, retry/idempotency behavior, or whether a battle can be re-run – minor gaps for an otherwise rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.