Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and it partially delivers: it discloses that an LLM (Claude) is invoked, that the result is persisted onto the agent, and that regeneration overwrites/replaces the existing profile. It does not disclose credit/cost implications (notable given siblings like get_balance and get_credit_usage_by_agent), latency, or any failure/auth behavior for what is clearly a mutating, compute-heavy operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.