Skip to main content
Glama
MarkUnthank

icloud-agent

by MarkUnthank

calendar_update_draft

Revise a pending local calendar draft using its last-read hash, then show the new revision and get fresh confirmation before creating the event. Nothing is created in iCloud.

Instructions

Revise a pending local calendar draft using its last-read hash. Creates nothing in iCloud. Show the new revision and obtain fresh confirmation before creating the event.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argumentsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the mutation/safety profile (readOnlyHint=false, destructiveHint=false), and the description adds genuinely new behavioral context: the optimistic-concurrency guard via the last-read hash and the fact that nothing is written to iCloud. It stops short of saying what happens on a stale-hash conflict, which is the key failure mode.

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?

Three tight sentences with the scope constraint front-loaded; every clause carries information. The final imperative is agent-directed workflow rather than tool semantics, which costs it the top mark.

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 mutation tool with no output schema, it covers safety (local-only, non-destructive), concurrency, and the required confirmation loop. Missing only the conflict/error path and confirmation that field updates are partial, which an agent would want before invoking on a stale draft.

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 effectively 0% for the nested fields, so the description carries the burden; it explains the concurrency hash ('using its last-read hash') and the draft identity, but says nothing about the nullable start/end/title/location/calendar_id fields being an optional partial patch rather than a full replace. Baseline 3 given the schema does at least constrain and name every field.

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 and resource ('Revise a pending local calendar draft') and immediately bounds the scope with 'Creates nothing in iCloud,' which separates it from calendar_update/calendar_create. It never names the ambiguous sibling (calendar_update) explicitly, so the distinction must be inferred from the word 'draft.'

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?

The description implies usage context ('pending local calendar draft', 'using its last-read hash') and gives a workflow step ('Show the new revision and obtain fresh confirmation before creating the event'), but never states when to choose this over calendar_update or calendar_create. No exclusions or prerequisites beyond the safety reassurance.

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