Skip to main content
Glama

mnemosyne_cockpit_update

Post your current state (working, waiting, done, blocked, closed) to the human's cockpit card. Include a title and optional details so the status is clear and actionable.

Instructions

Your own status card on the human's canvas (the cockpit). Call it when you START a task ("working" + a short title and status), when you NEED the human ("waiting" — the card pulses and the taskbar flashes), when you are stuck ("blocked"), and when you are DONE ("done"). The state is what you declare; the host prints it next to the time since your last call, so keep calling at real milestones or the card goes quiet. The answer carries any message the human left on your card — read it and act on it. Needs the app window open. Nothing is stored in memory; this is a card, not a note.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stateYes"working" = on it; "waiting" = you asked the human something and stopped; "done" = the task is finished; "blocked" = you cannot continue without them; "closed" = this conversation is over (removes the card).
titleNoWhat this conversation is about, in a few words (the card's title). Give it at least once; later calls may omit it.
detailNoUp to 4 short lines under the status (files, a branch, a count). Optional.
statusNoOne line: what you are doing right now, or what you need. 160 characters max.
sessionNoOnly when the harness publishes no CLAUDE_CODE_SESSION_ID: a stable id for this conversation, reused on every call.
attentionNoAsk for the human's eye even in "working"/"done" (the card pulses, the taskbar flashes). "waiting" and "blocked" ask on their own.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.10.0

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses that the state is whatever the agent declares, that the host prints time since last call, that the card goes quiet without regular updates, that the response may contain a human message to act on, that the app window must be open, and that nothing persists to memory. This is rich behavioral context far beyond the schema.

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

Conciseness5/5

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

The description is compact, front-loaded with the core purpose, and every sentence earns its place: when to call, what declaring state does, what the answer contains, the app-window prerequisite, and the no-memory limitation. It avoids repeating schema details and contains no filler.

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 tool with six parameters and no output schema, the description is complete: it covers call timing, state semantics, response handling, prerequisites, and non-persistence. The one detail not repeated in the narrative, the 'closed' state removing the card, is fully documented in the schema, so no necessary information is missing.

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%, and the schema already fully documents all six parameters, including enum meanings for state. The description adds narrative context about when states are used and what effects they have, but it does not add new syntax, format constraints, or parameter-level details beyond the schema.

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?

The description states a specific verb and resource: updating your own status card in the cockpit. It gives concrete occasions for each state (starting a task, needing the human, stuck, done), and the 'card, not a note' line clearly separates it from memory-oriented siblings like mnemosyne_query or mnemosyne_ingest.

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?

It explicitly says when to call: at task start ('working'), when needing the human ('waiting'), when stuck ('blocked'), and when done ('done'). It also gives behavioral cues like the card pulsing and taskbar flashing. It does not name a specific alternative sibling tool, but 'nothing is stored in memory; this is a card, not a note' acts as a soft exclusion.

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