Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (idempotent, non-destructive, non-read-only), and the description adds genuine domain behavior: a skipped day does not count against the goal and does not break the streak, and only up to 7 days back. That is real context beyond structured fields. It could say more about re-skipping or what the streak/goal state looks like afterward, but the output schema covers return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.