Skip to main content
Glama

jot

Capture a quick memory episode with an auto-generated name, then link it to an existing node or share it to the team cloud in one call.

Instructions

Low-friction episode write — auto-named from body's first words plus a unique id suffix. Defaults to observation/low. Pass visibility=shared (in a team initiative) to capture and push to the cloud in one call. Pass link_to (with weight) to connect it to an existing node in this same call — an island is found only by exact name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesFree-form body. Name is auto-derived from first words + id suffix.
afterNoOptional: hold this back until `after` (YYYY-MM-DD), then surface it in `awake` as a debt. For something TRUE LATER, NOT NOW — a certificate that expires, a number to re-measure before quoting it again, work to pick up after the next release. Requires `for_days`.
cloudNoWhich cloud `visibility=shared` publishes to. Only consulted when sharing. Required when several clouds are configured — the push is refused rather than sent to a default you did not name.
layerNoOptional memory layer stamped at creation: `core`, `hot`, `warm`, `cold`, or `frozen`. Defaults to `warm`.
weightNoHow load-bearing the `link_to` edge is, 0..1. REQUIRED with `link_to`: it is the only signal knowledge chains route on, and there is no default because an unweighted graph makes every chain rank on noise. The capture still lands without it; the edge does not.
link_toNoOptional: the node this one connects to, by name or id — the edge is made in THIS call, while both ends are still in mind. Linking as a second step is the step nobody takes: one real vault reached 23 nodes and 0 edges with the nudge asking every time. Needs `weight`.
for_daysNoOptional: how many days the reminder keeps appearing once it surfaces. REQUIRED with `after`, and there is no default — state it deliberately, because "the certificate expires" and "re-measure this" want completely different windows. The window starts when the reminder is first actually seen, so it cannot expire while nobody is looking.
edge_typeNoEdge type for `link_to` — same closed vocabulary as `link` (`refers_to` by default, `causal`, `derived_from`, `contradicts`, `part_of`, `blocks`, `targets`, `supersedes`, `verifies`, `falsifies`, `temporal`, `consolidated_to`).
initiativeNo
visibilityNoOptional visibility. `shared` marks team knowledge and — in a `team` initiative with the secret guard clear — pushes it to the cloud in this one call. Defaults to `local` (stays private).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.5

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses auto-naming, the observation/low default, that shared visibility triggers a cloud push, and that link_to requires weight. It omits auth/permission requirements and is vague on what 'observation/low' actually refers to, but covers the notable side effects.

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?

Front-loaded with the core purpose in the first clause, then the two optional behaviors. Each sentence carries information and none is filler, though the second sentence packs visibility, team initiative, and cloud push tightly together.

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 10-parameter write tool with no annotations and no output schema, the description covers the high-value usage paths (shared/cloud push, in-call linking, weight requirement) while the schema covers the rest. The `initiative` parameter is left undocumented in both places, a minor gap.

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 90%, so the schema already documents nearly all parameters, including the weight/link_to and after/for_days dependencies. The description restates the key cross-parameter couplings rather than adding new syntax or semantics, which is the baseline-3 case.

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 ('episode write') with the distinguishing trait of being 'low-friction' and auto-naming from the body. It is clear what the tool does, though it never names or contrasts with the sibling `episode` tool an agent might reasonably confuse it with.

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 concrete conditional guidance: pass visibility=shared in a team initiative to capture-and-push in one call, and pass link_to (with weight) to connect within the same call. It explains the why behind in-call linking ('an island is found only by exact name') but does not explicitly exclude alternatives or route the agent away from separate link/episode calls.

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