Skip to main content
Glama

write_day_note

Destructive

Record a note for a day without training—sick, travel, rest, injured, or text—so missed-workout nudges and reminders skip that excused day. Add, update, or remove it by date.

Instructions

Note why a day had no training (sick, travel, rest, injured, and/or a line of text), today or earlier; a day with a note is excused: the missed-workout nudge and the workout-day reminder leave it alone, and the app shows the note in its calendar. A field left out keeps what the note has; null removes it, and a note with no tag and no text is removed. The app offers a new note only on a day without a workout; leap allows it and says so. openGym merges settings and the plan one setting and one day at a time: only a device that changes the same setting or day later, before it syncs, keeps its own value.

Input Schema

NameRequiredDescriptionDefault
tagNo
dateYesDate YYYY-MM-DD (the profile’s local calendar day)
textNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and openWorldHint=true, and the description adds substantial context beyond them: omitted fields preserve existing values, null clears a field, a note with no tag and no text is removed entirely, and the note suppresses the missed-workout nudge and reminder. The openGym merge/sync rules further disclose concurrent-update behavior.

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

Conciseness3/5

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

Purpose and mutation semantics are front-loaded, but the final openGym sentence is long, dense, and reads as tangential general app behavior rather than something specific to writing a day note, diluting the focus of an otherwise efficient definition.

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

Completeness5/5

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

For a mutation tool with no output schema, the description covers what an agent needs: the update/removal semantics, the downstream effects (nudges, reminders, calendar display), and the sync-merge caveat. Nothing essential to correct invocation appears missing.

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?

With only 33% schema coverage, the description compensates well: it explains the partial-update contract ('a field left out keeps what the note has; null removes it') and enumerates the valid tag values (sick, travel, rest, injured), which maps to the enum. The text field's 500-char limit is not restated but the schema covers it.

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

Purpose4/5

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

States a specific verb+resource (write a note on why a day had no training) and enumerates the note tags. It clearly conveys what the tool does, though it never names the sibling (write_day_plan) it sits beside, so sibling differentiation is left implicit.

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

Usage Guidelines3/5

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

Implied usage is present: a note excuses a day, the app offers a new note only on a day without a workout, and leap permits it. However, there is no explicit when-to-use vs when-not-to-use guidance or named alternative, so the agent must infer the selection conditions.

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