Skip to main content
Glama

write_session_queue

Destructive

Queue routine sessions for the coming week in order, or clear the queue with null. The app shows it as externally managed and replaces any running rotation.

Instructions

Act as a planner: write the sessions of a coming week as a queue (the routines in order; the first one not done yet is the session of whatever day is trained next), or clear the queue with routineIds null. A planner's queue (written by write_session_queue or another app) shows as "Externally managed" in the app: the app does not refill it, and the user can adopt it as their own rotation. It replaces whatever round is running, the app's own rotation included (the saved rotation stays). A session counts as done when a workout of its routine starts after the queue was written, or is dated from startsOn on and named after the routine (unless strict). Use write_rotation instead for the user's own rotation. 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
labelNoShown on Home, e.g. "Week 3"
strictNoCount only workouts started after the queue was written
startsOnNoThe day the queue begins (default today); until then it waits
routineIdsYesThe sessions in order, each routine once; null clears the queue

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the destructiveHint/openWorldHint annotations: it discloses that the queue replaces any running round including the app's own rotation, that the saved rotation survives, how a session counts as done (start timing, naming, strict), and the openGym last-writer-wins merge semantics. This is exactly the destructive/concurrency context an agent needs.

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?

Front-loaded with the core action, but the single dense paragraph mixes the primary purpose with tangential openGym merge detail and done-counting rules, making it heavy to parse. Several clauses earn their place; the openGym aside is the weakest link.

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

Completeness4/5

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

For a complex destructive mutation with no output schema, the description covers replacement behavior, external-management semantics, and adoption flow well. It is close to complete, though the openGym sentence introduces a partially-explained concurrency model that could leave an agent uncertain.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: routineIds is an ordered list with each routine once, and null clears the queue, and strict/startsOn interaction with done-counting is clarified. It does not explicitly expand label/startsOn beyond the schema, keeping it at a strong 4.

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?

States a precise verb and resource ('write the sessions of a coming week as a queue') with ordering rules, and explicitly names the sibling it complements ('Use write_rotation instead for the user's own rotation'). An agent can distinguish it from write_rotation/write_week_plan without opening schemas.

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 a clear framing ('Act as a planner') and names the alternative (write_rotation) for the user's own rotation, plus explains what the queue shows as ('Externally managed'). However, the boundary vs. the app's own rotation and vs. write_week_plan is described behaviorally rather than as an explicit when-to-use/when-not rule.

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