Skip to main content
Glama

propose_week

Builds a polarized training week as one proposal, with sessions and days sized from recent running, and returns an ID for applying the package to Garmin after approval.

Instructions

Build a polarised training week and file it as ONE proposal: a VO2max session and a threshold session 48 h apart, the long run on its weekday, easy runs between, nothing hard the day before or after the long run, at least one rest day. Sized from the athlete's last four weeks of running (+10 %), targets from their own zones. Use when the athlete asks for their week ("plan my week", "what should next week look like"). The calendar wins: a day that already has an entry gets nothing, and a quality session too close to a hard calendar day becomes an easy run - each change is a calendar: line. Returns every session with its day and one proposal id; apply_workout with that id puts the package on Garmin after the athlete's yes. Nothing is written here.

Input Schema

NameRequiredDescriptionDefault
start_dayNoFirst day of the week to plan, YYYY-MM-DD, today or up to 8 days ahead. Default: the coming Monday (today, if today is Monday).
long_run_dayNoWeekday of the long run. Default: the profile, else sun (listed as an assumption).
days_per_weekNoRunning days. Default: the athlete's profile, else 4 (listed as an assumption).

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

No annotations are supplied, so the description carries the full burden and does so: 'The calendar wins' with the rule that occupied days get nothing, downgrades are surfaced as `calendar:` lines, and 'Nothing is written here' makes the non-mutating nature explicit. Sizing (+10% over the last four weeks) and target sourcing (the athlete's own zones) are disclosed behavioral traits an agent could not infer.

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?

It is dense at roughly 140 words, but it is front-loaded with purpose, then usage trigger, then conflict-resolution behavior, then what is returned. Nearly every clause carries information; only the return-value sentence is arguably redundant given the output schema.

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 zero-annotation, zero-required-parameter tool this covers the essentials: what is produced, the scheduling constraints applied, how calendar conflicts are resolved and reported, that nothing is persisted, and the id needed for apply_workout. An agent can invoke it and hand off correctly without further information.

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

Parameters3/5

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

Schema description coverage is 100%, so start_day, long_run_day and days_per_week are already fully documented with defaults and formats. The description references the long run weekday and week framing but adds no parameter-level syntax or edge-case meaning beyond the schema, so baseline 3 applies.

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?

Opens with a specific verb+resource: 'Build a polarised training week and file it as ONE proposal', then enumerates the concrete composition rules (VO2max + threshold 48h apart, long run on its weekday, easy runs, one rest day). This is clearly distinguishable from propose_workout (single session) and apply_workout (which it names as the downstream step).

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?

Gives an explicit trigger with quoted user phrasings ('plan my week', 'what should next week look like') and states the follow-up path via apply_workout with the returned proposal id. It does not explicitly say when NOT to use it or name propose_workout as the alternative for a single session, so it falls short of a 5.

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