Skip to main content
Glama

Server Details

Shared memory for coding agents. Stop re-explaining your codebase every session.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
teamshared-ai/teamshared-plugin
GitHub Stars
0

Available Tools

122 tools
account_briefAccount BriefAInspect

Weekly account file for one strategic Person or Organization.

Writes one shared file (stakeholders, initiative, objections, last evidence, next review, five-line brief) attached as an artifact on a create-once account work item. Returns {changed: false} and does not comment when the picture is unchanged. Weekly schedule is bot-side.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPerson or Organization slug (not Contact or Deal)
agentNoOverride agent identity

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden and does disclose meaningful behavior: it writes a shared file, attaches it as an artifact, and returns '{changed: false}' and does not comment when the picture is unchanged. Yet it leaves ambiguity about what happens when the picture has changed, failure modes, and whether the create-once work item must already exist, which are important for safe invocation.

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?

Four sentences, each carrying distinct information: the target resource, the file structure and attachment point, the conditional no-op behavior, and scheduling context. No filler or redundancy; concise yet complete.

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

Completeness3/5

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

The tool has an output schema, so return values don't need explanation, and the description covers the core behavior. However, it omits important context such as prerequisites (whether the create-once work item must exist), what happens when the picture has changed, and any relationship to sibling tools, leaving an agent to infer setup requirements.

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 the schema already documents both parameters thoroughly. The description does not add parameter-specific meaning beyond reinforcing that the slug refers to a strategic Person or Organization and that agent is an override, but it doesn't need to compensate for a coverage gap.

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: 'Writes one shared file (stakeholders, initiative, objections, last evidence, next review, five-line brief) attached as an artifact on a create-once account work item.' It clearly identifies the tool's purpose and differentiates it from generic file or work item tools by naming the artifact and target uniquely.

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 the tool is for weekly account briefs on strategic Persons or Organizations and notes 'Weekly schedule is bot-side,' suggesting automated periodic use. However, it gives no explicit when-to-use versus alternatives, no exclusions, and no guidance on manual invocation or prerequisites.

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

agent_run_cancelAgent Run CancelAInspect

Cancel the active Cursor run. Follow up on the same agent to continue.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent attribution label
run_idNoTeamShared run UUID or Cursor run-… id
cursor_agent_idNoCursor bc-… id (latest run)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does disclose one useful trait — that after canceling you can follow up on the same agent to continue — but it omits side effects, such as whether the run's state is preserved, whether the cancellation is reversible, or what happens if there is no active run.

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?

Two short sentences, with the core action front-loaded in the first and the continuation nuance in the second. Every word earns its place; no filler or repetition.

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

Completeness3/5

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

The description is sufficient for a simple cancel plus the follow-up hint, and an output schema exists to describe return values. However, with no annotations and three optional parameters, it leaves ambiguous how the system selects among multiple active runs and which parameter combination to use in which scenario, so it feels minimal rather than complete.

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?

All three parameters (agent, run_id, cursor_agent_id) already have descriptive schema text, and coverage is 100%, so the description doesn't need to compensate. It adds no parameter-level detail beyond implying that omitting them targets the active run, so a baseline score of 3 is appropriate.

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 uses the specific verb 'Cancel' with a clear target, 'the active Cursor run,' which is distinct from sibling actions like agent_run_start, agent_run_status, or agent_run_followup. It is not a tautology of the name and leaves no doubt about the operation.

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 gives no explicit when-to-use or when-not-to-use advice, nor does it name sibling alternatives. 'Follow up on the same agent to continue' implies a post-cancel path (likely agent_run_followup) but doesn't state it or specify conditions, so usage must be inferred.

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

agent_run_followupAgent Run FollowupBInspect

Send a follow-up to an existing Cursor cloud agent (re-injects TeamShared MCP).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent attribution label
promptYesFollow-up prompt for an existing cloud agent
run_idNoTeamShared run UUID or Cursor run-… id
cursor_agent_idNoCursor bc-… id when run_id is omitted

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose a non-obvious behavior: that the follow-up re-injects TeamShared MCP into the agent. But it does not describe side effects, permission requirements, or what happens to the existing run, leaving the agent to infer the operational impact.

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?

The description is a single front-loaded sentence with no filler. It communicates the primary action and one behavioral detail efficiently. The parenthetical is cryptic but compact, and the overall length is appropriate for a tool whose parameter semantics are already covered by the schema.

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

Completeness3/5

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

Given that the schema documents all four parameters and an output schema exists, the description does not need to explain return values or parameter formats. It is minimally adequate, but it lacks explicit guidance on how run_id and cursor_agent_id relate to the 'existing' agent and does not clarify what happens when both are omitted. No annotations exist to compensate for these gaps.

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 the parameters are already well-documented in the input schema. The description itself adds no semantic detail beyond the schema, which is acceptable given the high schema coverage. There is no contradiction or missing parameter meaning that the description should have compensated for.

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?

The description states a specific verb and resource: 'Send a follow-up to an existing Cursor cloud agent.' It distinguishes itself from sibling tools like agent_run_start or agent_run_status by targeting an existing run rather than starting/listening to one. The parenthetical '(re-injects TeamShared MCP)' adds context but is jargon-heavy and slightly obscures the core purpose.

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 phrase 'existing Cursor cloud agent' implies this tool is for continuing or prompting an already-running agent, which provides some usage context. However, it never explicitly names alternatives like agent_run_start or states when not to use this tool. The selection guidance is left to inference rather than stated directly.

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

agent_run_listAgent Run ListAInspect

List Cursor cloud-agent runs in this org.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
work_idNoFilter to one work item UUID
cursor_agent_idNoFilter to one Cursor bc-… id

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral burden. 'List' plus 'in this org' conveys a read-only, org-scoped operation, which is the core trait. It does not disclose ordering, pagination behavior, or whether historical runs are included, but no surprising side effects are implied.

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?

One concise sentence with no wasted words. The action and resource are front-loaded, and the sentence ends immediately after stating the scope.

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?

An output schema exists and the input schema carries all parameters, defaults, and constraints, so the description need not restate them. The tool is a simple list operation, and the description is sufficient; the only real gap is explicit sibling routing, which belongs to usage guidance.

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?

The description adds no parameter-level detail, but the schema covers the two filter parameters with descriptions and limit/offset are conventional pagination names. Since schema coverage is 50% but the remaining parameters are self-explanatory, the omission is acceptable.

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 uses an explicit verb ('List'), names the resource ('Cursor cloud-agent runs'), and bounds the scope to 'this org'. It clearly distinguishes the tool from siblings like agent_run_start, agent_run_cancel, agent_run_status, and agent_run_followup.

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 listing purpose is implied by the verb, but there is no explicit guidance about when to choose this tool over alternatives such as agent_run_status for checking a single run or agent_run_followup for post-run actions. It is adequate, not prescriptive.

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

agent_run_startAgent Run StartAInspect

Start a Cursor cloud agent. Repo github= is a coding worker; otherwise dispatcher.

TeamShared injects HTTP MCP with a short-lived org tsk_. One agent per work item — a busy run returns status=busy instead of a second bc- id. When work_id has playbook_slug, that named playbook and the skills it cites are prepended (capped). Unset slug or omitted work_id: no inject.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoOptional workspace slug stored on the run
agentNoOverride agent attribution label
modelNoCursor model id; omit to use the org default
githubNoowner/repo — spawns a repo worker. Omit for the no-repo dispatcher
promptYesTask prompt for the Cursor cloud agent
work_idNoWork item UUID; reuses that item's Cursor agent
spawned_byNoParent Agent slug or label (dispatcher that spawned this worker)
auto_create_prNoOpen a PR when the coding worker finishes (default true for workers)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/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 behavioral burden, and it discloses meaningful side effects: HTTP MCP injection with a short-lived token, one-agent-per-work-item concurrency, busy-run status semantics, and conditional playbook/skills prepending with a cap. It stops short of clarifying what the cap is or the token lifetime, and some jargon (tsk_, bc-) is unexplained, but these are minor against the substantial disclosure.

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?

The definition is front-loaded with the core purpose and every subsequent sentence carries information with no filler. The density hurts a little — 'TeamShared', 'tsk_', and 'bc-' are unexplained internal jargon — so it sacrifices some readability for completeness.

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 tool with 8 parameters, no annotations, and a complex behavioral profile (two launch modes, injection side effects, concurrency limits), the description covers the important operational facts, and an output schema is present so return values need no description. What's missing is a tie-back to sibling tools (e.g., what to use when status=busy) and clarification of 'capped', which leaves the agent to guess at the playbook limit.

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. The description adds real semantics beyond the schema for work_id — playbook_slug triggers prepending of the named playbook and its cited skills, capped, with no injection when the slug is unset or work_id omitted — which instructs an agent on that parameter's behavioral effect. Other parameters are already well described in the schema, so no further compensation is needed.

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 opening sentence states a concrete action with a concrete resource: start a Cursor cloud agent. The worker-vs-dispatcher distinction scopes two mmsodes, and the verb 'start' cleanly separates this from sibling tools like agent_run_cancel, agent_run_followup, agent_run_list, and agent_run_status.

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 provides strong operational context — a busy run returns status=busy instead of a second id, so an agent learns not to expect a second run for a busy work item — but it never names an alternative tool or states when not to use this one. The worker/dispatcher and playbook-injection rules guide parameter choice, yet tool-vs-tool routing is left implicit.

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

agent_run_statusAgent Run StatusAInspect

Read the latest status of a Cursor cloud-agent run.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoTeamShared run UUID or Cursor run-… id
cursor_agent_idNoCursor bc-… id (latest run)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. 'Read' clearly signals a non-mutating operation, but it does not disclose details such as whether the tool waits for completion, returns intermediate progress, or requires an existing run. The output schema covers return shape but not these behavioral aspects.

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 a single front-loaded sentence with no filler. Every word contributes to identifying the action and resource, which is ideal for quick agent parsing.

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

Completeness3/5

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

The tool is simple and has an output schema, so return-value coverage is handled. However, the description does not explain the relationship or precedence between run_id and cursor_agent_id, nor what happens when both are omitted, and there is no usage guidance relative to sibling tools. These gaps make it only minimally complete.

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 the baseline is 3. The tool description adds no parameter-level meaning, but the schema already describes run_id and cursor_agent_id reasonably, including the two ID formats. The description does not clarify which parameter should be preferred or whether at least one is required.

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 uses a specific verb ('Read') and resource ('latest status of a Cursor cloud-agent run'), making the purpose immediately clear. It is also easily distinguished from siblings like agent_run_list, which lists runs, and agent_run_cancel, which mutates a run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus agent_run_start, agent_run_list, agent_run_followup, or agent_run_cancel. An agent has to infer from sibling names and the description that this is for checking status after a run has been started.

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

attention_snapshotAttention SnapshotAInspect

Org attention briefing from open work, project status, and dream.

Work is the signal — not Slack or email. Writes one shared file (attached as an artifact on a create-once org attention work item). Returns {changed: false} and does not comment when the picture is unchanged. Hourly schedule is bot-side.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

There are no annotations, so the description carries full burden, and it delivers: it discloses the write side effect, the target artifact and work item, the no-comment-when-unchanged behavior, the changed:false return, and the bot-side schedule. This gives an agent a realistic model of what invoking the tool will do.

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 and well-structured, with the core purpose front-loaded and the behavioral caveats following it. Every sentence contributes useful information; there is no redundancy or 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?

Given a single optional parameter, an existing output schema, and no required prompts, the description supplies all needed invocation context: data sources, side effects, the unchanged-picture protocol, and scheduling ownership. An agent can reasonably decide when and how to call it.

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?

The only parameter, 'agent', is fully covered by the schema with 100% description coverage, so the baseline applies. The tool description adds no meaningful parameter guidance, but none is needed because the schema already explains the override behavior.

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 clearly defines the deliverable as an org attention briefing synthesized from open work, project status, and dream, and states an active behavior: it writes a shared file. This goes beyond restating the tool name and gives enough specificity to distinguish it from sibling tools like account_brief.

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?

Usage context is implied rather than explicit: 'Hourly schedule is bot-side' and 'Work is the signal — not Slack or email' signal when and under what conditions the tool fits. However, it does not name alternatives, exclusion criteria, or scenarios where another sibling should be used instead.

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

context_commitContext CommitAInspect

Turn-end batch: assistant summary + durable writes + optional close.

One call replaces the end-of-turn memory_session_append + memory_remember (+ memory_session_close + memory_state_set) sequence. The append self-heals expired sessions; the response's session_id is authoritative. Returns {session_id, turn_count, reopened, memories, closed}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoWorkspace slug; scopes fact tags and the state pointer.
agentNoOverride agent identity
closeNoClose the session (queueing distillation) and clear the state pointer. Pass true when the task is done or the user says goodbye.
factsNoDurable memories to write in the same call: [{"content": "...", "kind": "fact|preference|event|note|outreach", "subject": "...", "tags": [...]}]. Only include things still true next week.
githubNoGitHub owner/repo tag for the facts.
summaryYesFaithful summary of your reply — appended as the assistant turn.
session_idNoWorking-memory session to commit to. Omit to resolve it from the conversation/active-session state pointer (requires repo).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/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 behavioral burden. It discloses that the tool performs durable writes, can close the session, self-heals expired sessions, returns an authoritative session_id, and reports the result shape. This is solid transparency, though it stops short of covering failure modes or permission requirements.

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?

Three sentences with no filler. The core purpose is front-loaded, the replaced sequence is named, and the return shape is included. Every sentence earns its place.

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?

The definition is mostly complete for a tool with a rich schema: it names the scenario, the replaced alternatives, key behavioral nuances, and the return contract. It could be slightly more complete with explicit guidance on when not to use it, but the schema and output schema cover most operational details.

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. The description adds extra semantic value beyond the schema by explaining that the append self-heals expired sessions and that the response's session_id is authoritative, which directly clarifies behavior tied to the session_id parameter and the overall write semantics.

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 clearly states the tool's function: a turn-end batch that combines assistant summary, durable writes, and optional close. It also distinguishes itself from the sibling sequence by explicitly naming memory_session_append + memory_remember (+ memory_session_close + memory_state_set), so an agent can tell exactly what this tool is for.

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?

The description gives strong usage context by stating this replaces the end-of-turn memory_session_append + memory_remember sequence and that close is optional. It does not provide explicit when-not-to-use or exclusion guidance, but the naming of alternatives makes the appropriate use case clear.

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

context_compressContext CompressAInspect

Compress a prompt payload before it reaches an LLM.

Shrinks JSON tool outputs, logs, and long text using SmartCrusher-lite sampling. Originals are stored in CCR (Redis) with ref= markers for context_retrieve. Always runs; tune thresholds via TEAMSHARED_COMPRESS_*.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesOpenAI-style chat messages to compress before sending to an LLM. User messages are preserved; long tool/assistant/system blocks shrink.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations present, the description carries the full disclosure burden and does substantial work: it reveals a persistence side effect (originals stored in CCR/Redis), a recovery mechanism (ref= markers consumed by context_retrieve), and an operational default ('always runs'), plus configuration knobs (TEAMSHARED_COMPRESS_*). It stops short of explaining what happens to the input in-place or the exact shape of the returned refs, but the output schema covers the return side.

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?

Three sentences with zero filler: purpose first, then mechanism and storage behavior, then operational tuning. Every sentence earns its place, and the most decision-relevant facts (what it compresses, where originals go, how to retrieve them) are front-loaded.

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 low-complexity tool (one well-documented parameter, output schema present), the description covers purpose, mechanism, side effects, recovery path, and configuration. The only real gap is the unresolved 'always runs' instruction, which leaves some ambiguity about whether this tool is agent-invoked or automatically applied, and there is no mention of cost/latency tradeoffs an agent might weigh before compressing.

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% — the messages parameter already documents that user messages are preserved while long tool/assistant/system blocks shrink. The main description's mention of 'JSON tool outputs, logs, and long text' is consistent with and mildly reinforces the schema but adds little meaning beyond it, so the 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?

The description opens with a specific verb+resource pair ('Compress a prompt payload before it reaches an LLM') and details the content types shrunk (JSON tool outputs, logs, long text) and the method (SmartCrusher-lite sampling). It also names context_retrieve as the companion for stored originals, which distinguishes it from the five other context_* siblings without needing to open any schema.

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?

The description positions the tool in a pipeline ('before it reaches an LLM'), states that it 'always runs', and routes recovery to context_retrieve via ref= markers, giving an agent a clear sense of when and alongside what it operates. It does not explicitly contrast itself with similar-looking siblings like context_normalize, context_prepare, or context_commit, and the phrase 'always runs' is slightly ambiguous about whether the agent should invoke it directly or whether the system does it automatically.

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

context_normalizeContext NormalizeAInspect

Strip, clean, and compress a non-teamshared tool output for agent context.

Trims recall-style payloads, shrinks large JSON/logs, and stores originals in CCR when compressed. Prefer letting MCP middleware handle teamshared tools automatically; call this for Shell, Grep, or other harness tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputYesRaw tool output string (usually JSON).
tool_nameYesName of the tool whose output you are trimming.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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 behavioral burden. It discloses that the tool trims, cleans, shrinks, and stores originals in CCR when compressed. This is meaningful context, though the acronym 'CCR' is left unexplained and the compression trigger conditions are not specified.

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?

Three sentences with no redundancy. The core purpose is front-loaded, followed by specific behavioral details and a clear usage rule. Every sentence earns its place.

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?

The tool has only two simple parameters and an output schema, so the description covers most operational needs: what it does, what types of outputs it targets, and when to call it. The main gaps are the unexplained 'CCR' and the somewhat jargon-heavy 'non-teamshared' term.

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 the baseline is 3. The description adds general context about the target tool types but does not add parameter-specific meaning beyond what the schema already provides for tool_name and output.

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?

The description opens with a specific verb-resource action: 'Strip, clean, and compress a non-teamshared tool output for agent context.' It distinguishes its target (Shell, Grep, or other harness tools) from teamshared tools, though it does not explicitly differentiate itself from the closely named sibling context_compress.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('call this for Shell, Grep, or other harness tools') and when not to ('Prefer letting MCP middleware handle teamshared tools automatically'). It also describes what kinds of outputs are appropriate, such as recall-style payloads and large JSON/logs.

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

context_prepareContext PrepareAInspect

Pre-LLM pipeline: session append → compress incoming history → enrich.

Returns compressed messages, optional additional_context (org memory), session_id, and stats. Use before sending a turn to your LLM when you want teamshared to shrink tool bloat and inject recall. Server-side MCP middleware already normalizes teamshared tool responses; this covers the rest of the prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoWorkspace slug for scoped recall enrichment.
enrichNoAssemble org memory and append as `additional_context`.
githubNoGitHub `owner/repo` for scoped recall enrichment.
promptNoLatest user prompt when you do not have full message history.
messagesNoOpenAI-style chat messages to run through the pre-LLM pipeline. Provide this or `prompt`.
session_idNoWorking-memory session to append the user turn to.
token_budgetNoSoft token cap for assembled context.
append_sessionNoAppend the latest user message to the working session.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses the operation sequence (appends to session, compresses history, enriches) and the output shape, which implies the tool transforms context and may write to working memory. It does not state persistence, reversibility, or behavior when neither messages nor prompt is provided.

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 compact sentences with the pipeline summary first, followed by output and usage context. It is efficient, though the arrow-notation pipeline and 'teamsmarted' jargon require the reader to already know the domain.

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?

Given 8 optional parameters, a full output schema, and no annotations, the description supplies the needed usage context and a clear invocation trigger. It could more explicitly distinguish itself from close siblings like context_compress or memory_assemble_context, but the 'before sending a turn' guidance is sufficient for most cases.

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 the baseline is the correct anchor. The description adds strategic context (why to use it, what it returns) rather than per-parameter explanations; the individual parameters are already well documented in 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 names a specific pipeline (session append → compress → enrich) and the concrete return payload (messages, optional additional_context, session_id, stats). It also scopes itself against sibling tooling by stating that server-side MCP middleware handles teamshared tool normalization and 'this covers the rest of the prompt.'

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 'Use before sending a turn to your LLM' and gives the condition (want teamshared to shrink tool bloat and inject recall). It does not name an alternative tool explicitly, but the middleware statement provides a boundary against normalization-focused siblings.

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

context_retrieveContext RetrieveAInspect

Retrieve the original content for a compressed block via CCR ref.

ParametersJSON Schema
NameRequiredDescriptionDefault
refYesCCR ref from a compressed message (ref=ccr_...)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses only the core operation; it does not address failure modes (invalid or expired refs), side effects, prerequisites, or whether retrieval mutates any state. For a no-annotation tool this is thin coverage.

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?

A single 13-word sentence that front-loads the verb and resource. There is no filler or repetition of the title, and every word contributes meaning.

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

Completeness3/5

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

The description is adequate for a simple one-parameter tool with an output schema present. However, it never situates itself in the compression workflow alongside siblings like context_compress or context_commit, and it says nothing about edge cases such as stale or invalid refs.

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% — the schema already documents ref as 'CCR ref from a compressed message (ref=ccr_...)' with format guidance. The description's 'via CCR ref' adds only a weak link between the parameter and the operation, so the 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?

The description states a specific action ('retrieve'), a specific resource ('original content for a compressed block'), and the mechanism ('via CCR ref'). It is immediately distinguishable from sibling tools, notably context_compress, which performs the inverse operation.

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 intended use case is implied: when you have a CCR ref from a compressed message, call this tool to recover the original content. However, there is no explicit when-to-use guidance, no exclusions, and no named alternatives among the context/memory sibling tools.

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

drive_attachDrive AttachAInspect

Deprecated alias for storage_attach.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
file_idYesStorage object UUID to attach
work_idNoWork item UUID to attach to (kind=artifact)
project_idNoProject UUID to attach to (kind=artifact)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

There are no annotations, so the description carries the behavioral disclosure burden. It discloses two important traits: the tool is deprecated and it behaves exactly like storage_attach. It does not list side effects or permissions, but because the behavior is delegated via an alias, that information is available from the canonical tool.

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 a single sentence with no wasted words: it states the essential fact—deprecated alias—and stops. For a compatibility shim tool, this is the appropriate level of detail.

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?

Given the complete input schema, an output schema, and the explicit reference to storage_attach, an agent has enough context to see this tool as deprecated and to route to the canonical alternative. It is not a full 5 because the description relies on the reader to consult storage_attach to learn the actual attach behavior.

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 coverage is 100% and each parameter already has a meaningful description in the input schema. The tool description adds no parameter-level semantics, so the schema-supported baseline of 3 is appropriate.

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?

The description clearly identifies the tool as a deprecated alias for storage_attach, which effectively states its function by pointing to the canonical operation. It does not describe the underlying attach action directly, but the alias reference names the concrete resource and distinguishes the tool from its siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Deprecated immediately tells an agent this tool should not be preferred, and 'alias for storage_attach' names the alternative to use instead. This is an explicit when-not-to-use signal combined with the correct routing instruction.

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

drive_folder_createDrive Folder CreateAInspect

Deprecated alias for storage_folder_create.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
titleYesFolder name
parent_idNoParent folder UUID (omit or empty = org root)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It adds the deprecation status and the alias relationship, which is useful context beyond the schema. However, it does not disclose the operation's side effects (folder creation), which is only implied by the name/title and by the alias target.

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 a single short sentence that conveys the essential deprecation information with no wasted words. It is front-loaded with the most important fact: the tool is deprecated.

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 deprecated alias tool, the description fully covers what an agent needs to know: it is deprecated, it aliases storage_folder_create, and the input schema (100% coverage) and output schema supply the remaining invocation details. Nothing critical 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%, so the parameter descriptions already fully document 'title', 'parent_id', and 'agent'. The tool description adds no additional parameter semantics; the baseline of 3 applies.

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?

The description clearly identifies the tool as a deprecated alias for storage_folder_create, differentiating it from its non-deprecated sibling. It does not explicitly state 'creates a folder', but the tool name and title supply the verb and resource, and the alias implies identical behavior to storage_folder_create.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

By labeling the tool as 'deprecated alias', the description explicitly tells agents not to use this tool in favor of storage_folder_create. This is a clear when-not-to-use statement and names the exact alternative.

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

drive_getDrive GetAInspect

Deprecated alias for storage_get.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesStorage object UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states only that the tool is a deprecated alias; it says nothing about read-only behavior, side effects, permissions, or error behavior. The deprecation status is useful, but actual invocation behavior is left unspecified.

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?

One short sentence conveys deprecation status and the canonical alternative with zero wasted words. The key information is front-loaded and immediately actionable.

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?

The tool is low-complexity: one documented parameter and an output schema exist. The deprecation message is the critical extra context and is present, telling the agent to route to storage_get. The only minor gap is that the description does not explain storage_get's semantics, but that definition is available among siblings.

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?

The input schema already documents the single parameter file_id with the description 'Storage object UUID', so schema coverage is complete. The tool description adds no additional parameter-level meaning. This matches the baseline for full schema coverage.

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?

The description clearly identifies the tool as a deprecated alias for storage_get, which tells an agent what this tool effectively is without simply restating its name. It also distinguishes it from the sibling tool set by pointing to the canonical replacement. It does not independently describe the underlying get operation, but the alias reference is sufficient.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly marks the tool as deprecated and names storage_get as the replacement. This gives the agent direct guidance to prefer storage_get and avoid using this alias except for legacy compatibility.

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

drive_listDrive ListAInspect

Deprecated alias for storage_list.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNoOptional case-insensitive title substring
work_idNoOnly Storage objects attached to this work item UUID
folder_idNoAlias of parent_id
parent_idNoFolder UUID to list, or 'root' / empty for the org root. Omit to list everything.
project_idNoOnly Storage objects attached to this project UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it discloses an important behavioral trait: the tool is deprecated and behaves as an alias for storage_list. However, it does not describe any actual listing behavior, output characteristics, filters, or side effects; the pointer to storage_list partially compensates but does not fully disclose behavior.

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 a single sentence with no filler: it states the deprecation status and the canonical replacement. Every word earns its place, and the critical routing information is immediately visible.

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 deprecated alias tool with a detailed input schema and an output schema, the description is largely sufficient because it tells the agent to use storage_list instead. It does not restate storage_list's full behavior, but as an alias this is acceptable; the main gap is that if storage_list's description is unavailable, the agent must infer the actual listing semantics.

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 high (83%), and the schema provides descriptions for most parameters including query, work_id, folder_id, parent_id, and project_id. The description itself adds no parameter-level meaning, so it earns the baseline score for relying on a well-covered schema.

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?

The description states that drive_list is a deprecated alias for storage_list, which clearly identifies the underlying operation by reference to the canonical tool. It stops short of explicitly stating 'lists storage objects,' relying on the sibling tool name, but it is not vague or tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The deprecation notice explicitly signals that this tool should not be used in favor of storage_list, which is named as the replacement. This gives an agent clear routing guidance and an explicit alternative.

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

drive_moveDrive MoveAInspect

Deprecated alias for storage_move.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
file_idYesStorage object or folder UUID to move
parent_idNoDestination folder UUID, or empty / 'root' for the org root

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It discloses that the tool is deprecated and that it delegates to storage_move, which is meaningful. However, it does not describe the move operation's effects, permissions, or error behavior, leaving the behavior mostly to be inferred from the canonical tool.

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 single sentence is tightly packed and front-loads the critical deprecation signal before naming the canonical tool. Every word earns its place, and no filler is present.

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 deprecated alias, the routing to storage_move plus a fully described schema and an output schema is sufficient. It could be improved by explicitly stating 'use storage_move instead,' but the alias relationship provides the necessary context.

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 every parameter (agent, file_id, parent_id) is already documented in the schema. The description adds no additional parameter-level meaning, matching the baseline of 3.

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?

The description clearly identifies the tool as a deprecated alias and names storage_move as the canonical tool, which distinguishes it from the drive_* and storage_* siblings. It does not state the underlying action directly, but the alias relation and the canonical tool name convey the purpose.

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?

By marking the tool as deprecated and as an alias for storage_move, the description tells an agent not to choose this tool for new calls and implicitly routes it to storage_move. This is a clear usage signal, though it does not spell out 'use storage_move instead' in an imperative form.

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

drive_publishDrive PublishAInspect

Deprecated alias for storage_publish.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesStorage object UUID to publish

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only discloses deprecation status and alias relationship, and does not describe side effects, permissions, reversibility, or publish/unpublish semantics. The behavior is only implicitly delegated to storage_publish.

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?

One sentence with no filler, front-loading the deprecation status and then naming the replacement. This is appropriately sized for a deprecated alias tool whose only real purpose is to route callers to storage_publish.

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?

The tool is simple with one required parameter, a fully described schema, and an output schema available. The deprecation guidance plus the named replacement covers the key decision an agent needs to make. It loses one point because the actual publish behavior is only implicit via 'alias' and the sibling name, with no annotations to compensate.

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% for file_id, e.g. 'Storage object UUID to publish', so the baseline is met. The description adds no parameter-level meaning beyond identifying the tool as an alias, but the schema already documents the single parameter adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says the tool is a deprecated alias for storage_publish, which points to the relevant sibling but does not itself state the tool's operating behavior (publishing a storage object). It relies on the sibling name and the file_id schema hint to convey the function, and there is no explicit verb describing what drive_publish does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when-not-to-use guidance via the word 'Deprecated' and names the replacement alternative, storage_publish. An agent can clearly infer that storage_publish should be used instead of drive_publish.

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

drive_unpublishDrive UnpublishAInspect

Deprecated alias for storage_unpublish.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesStorage object UUID to unpublish

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals only that the tool is deprecated and an alias, but says nothing about side effects, permissions, idempotency, or what unpublishing entails. For a mutation-oriented tool, this is a significant omission, even if the alias relationship implies identical behavior to storage_unpublish.

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 a single sentence, word-efficient, and front-loaded with the most critical fact (deprecated alias). No unnecessary elaboration exists, making it ideal for a wrapper tool.

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?

Given the tool is a deprecated alias with a simple one-parameter schema and an output schema present, the description covers the essential context: its status and the canonical target. It could be more explicit about the actual action, but the alias relationship plus sibling listing of storage_unpublish makes the intent reasonably complete for an agent.

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%, with file_id documented as 'Storage object UUID to unpublish', so the schema already handles parameter semantics. The description adds no parameter-level information, which aligns with the baseline score of 3 when the schema fully covers parameters.

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?

The description explicitly identifies the tool as a deprecated alias for storage_unpublish, which conveys that its function matches the canonical unpublish operation. This distinguishes it from siblings like drive_publish and drive_list, but it does not directly state what unpublishing does, relying on knowledge of the aliased tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly marks the tool as deprecated and names storage_unpublish as the canonical replacement. This tells an agent to use the alternative and avoid this tool, giving clear when-to-use versus when-not-to-use guidance in a single phrase.

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

drive_upload_requestDrive Upload RequestAInspect

Deprecated alias for storage_upload_request.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
titleYesStorage object title
work_idNoAttach the uploaded Storage object to this work item UUID
filenameNoOptional local filename (script default path + MIME sniff)
parent_idNoFolder UUID to land the file in (omit or empty = org root). One grant per file.
project_idNoAttach the uploaded Storage object to this project UUID (kind=artifact)
content_typeNoOptional MIME type hint stored on the grant
upload_base_urlNoOptional server origin (e.g. https://teamshared.com). Defaults to settings.public_url.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It honestly discloses deprecation and equivalence to storage_upload_request, which is useful, but it does not describe the underlying upload behavior, side effects, or requirements such as authentication or storage object creation. Some transparency is present, but significant behavioral context is delegated to the canonical tool.

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?

A single sentence that says exactly what is needed: the tool is deprecated and points to the canonical replacement. There is no wasted wording, and the critical deprecation signal is front-loaded.

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 deprecated alias, the description is sufficiently complete: it tells the agent not to use it and where to go instead. Full parameter documentation in the schema and an output schema cover the mechanics, so the only missing piece is the standalone behavioral description of the upload operation, which is reasonably delegated to storage_upload_request.

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 the input schema already documents all 8 parameters including defaults and semantics. The description adds no parameter-specific meaning, which is acceptable under the baseline for full schema coverage.

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?

The description clearly identifies this as a deprecated alias for storage_upload_request, which tells an agent what this tool is and where the real functionality lives. It does not describe the upload action in its own words, but the alias reference makes the purpose unambiguous and distinct from the many storage/drive siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'Deprecated' explicitly signals not to use this tool, and 'alias for storage_upload_request' names the exact alternative. This gives the agent an unambiguous routing decision with no need to infer when or whether to call it.

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

file_archiveFile ArchiveAInspect

Archive a shared file (excluded from active lists) and clean up its bucket mirror (if published).

Archived files are retained with full version history for audit; the public /s/{share_token} route returns 404 for an archived file.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesFile UUID to archive

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses meaningful side effects: removal from active lists, cleanup of the bucket mirror when published, retention of version history for audit, and the public route returning 404. This goes well beyond a bare 'archive' statement.

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?

Two tightly written sentences with the primary action and immediate side effect first, followed by audit and routing consequences. No filler or redundant restatement of the 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?

The tool is low-complexity with one required parameter and an output schema, so the description's coverage of action, side effects, retention and public behavior is sufficient for correct invocation. No critical behavioral information appears to be 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 coverage is 100% and the single file_id parameter is already documented as the file UUID to archive. The description adds only the shared-file and published-mirror context, not new parameter details. Baseline 3 is appropriate.

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 specific action ('Archive') on a specific resource ('a shared file'), and clarifies the observable effect: excluded from active lists, bucket mirror cleanup if published. This distinguishes it from vaguely named alternatives like file_update or file_version_delete.

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 when to use it (when a file should be archived and retained for audit) and describes post-conditions, but it does not explicitly name alternatives such as file_unpublish or file_version_delete or state when NOT to use this tool. The context is clear enough to infer usage, but not explicitly routed.

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

file_createFile CreateAInspect

Create a new versioned shared file in the caller's org.

Shared files default to private. Call file_publish to generate the public share URL (/s/{share_token}). Each file_update creates a new immutable version row. Pass work_id to attach it to a task and/or project_id to attach it to a project (same shared_files row; project attachments are kind=artifact only).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
titleYesFile title
contentYesFile body: markdown, raw HTML, or a teamshared.diagram/v1 JSON/YAML document when content_format='diagram'
work_idNoAttach the new file to this work item UUID
project_idNoAttach the new file to this project UUID (kind=artifact)
content_formatNo'markdown' (allowlist sanitizer), 'html' (sanitized raw HTML), or 'diagram' (teamshared.diagram/v1 JSON/YAML; Mermaid on /s/...)markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It reveals that shared files default to private, that public sharing requires file_publish, that updates create immutable version rows, and that project attachments are kind=artifact only. This is strong contextual information beyond the basic create operation, though it does not cover authorization or broader 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.

Conciseness5/5

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

The description is four sentences with no filler: it leads with the core purpose, then adds privacy behavior, sibling-tool routing, versioning semantics, and attachment details. Every sentence earns its place and important information is front-loaded.

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?

Given the tool has a rich input schema, an output schema, and no annotations, the description is complete enough for reliable invocation. It explains the key behavioral boundaries, attachment constraints, and related sibling operations. Nothing essential for correct use appears to be missing.

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 description coverage is 100%, so the baseline is 3. The description adds meaningful semantic nuance beyond the schema: work_id and project_id attach to the same shared_files row, project attachments are restricted to kind=artifact, and content can be passed in different formats. This elevates the parameter understanding beyond simple property descriptions.

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 uses a specific verb and resource: 'Create a new versioned shared file in the caller's org.' It clearly distinguishes itself from sibling tools like file_update and file_publish by establishing that this is the creation entrypoint and that updates create new version rows.

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?

The description gives concrete guidance about related sibling tools: file_publish is the way to generate a public share URL, and file_update is the operation that creates new immutable version rows. It provides clear context for when those alternatives are relevant, though it does not explicitly list exclusions such as when to prefer file_upload_request.

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

file_getFile GetBInspect

Fetch a shared file with its latest version content.

Includes public_url (the /s/{slug} link) when the file is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesFile UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral transparency. It usefully discloses that the latest version content is returned and that `public_url` appears only when the file is published. Error behavior, access requirements, and unpublished-file behavior are not addressed, but the core read-only behavior is clear.

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?

Two compact sentences: the first states the primary action and target resource, the second adds a conditional output detail. Nothing is redundant or filler.

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?

This is a simple one-parameter read tool with an output schema present, so the description does not need to restate return structure. The only meaningful behavioral nuance, the conditional `public_url`, is covered. Slightly more routing context could help, but the tool itself is well scoped.

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?

The only parameter, `file_id`, is already fully described in the schema as 'File UUID' (100% schema coverage). The description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.

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 action and resource: 'Fetch a shared file with its latest version content.' It also adds the conditional `public_url` output detail. It does not explicitly contrast with `file_list` or `file_publish`, but the by-ID content-fetch focus makes it reasonably distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus siblings such as `file_list` or `file_publish`. It does not mention that this is the by-ID single-file retrieval counterpart to listing, nor any prerequisites beyond having `file_id`.

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

file_listFile ListAInspect

List active shared files in the caller's org, newest update first.

Each file includes public_url (the /s/{slug} link, or /s/{share_token} if no slug) when published, plus slug and share_token. Use query to find a file by title without listing everything — e.g. file_list(query="yield vault"). Pass work_id to list files on a task (agent log + artifacts), or project_id to list files on a project (artifacts only). project_id wins if both filters are set. Archived files stay joined but are omitted.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNoOptional case-insensitive title substring to filter by, e.g. 'yield vault'
work_idNoOnly files attached to this work item UUID
project_idNoOnly files attached to this project UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations are absent, so the description carries the burden. It discloses useful behavioral traits: active files only, newest-update ordering, archived files stay joined but are omitted, and the public_url formation for published files. It doesn't describe pagination or full return shape, but with no annotations and an output schema present, this is a solid disclosure.

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?

The description is compact and front-loaded with the core behavior, followed by return-URL details and filter guidance. Every sentence earns its place, though the public_url/slug/share_token detail could arguably be deferred to the output schema; it is still concise and relevant.

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?

Given the tool's moderate complexity (4 optional params) and no annotations, the description covers primary use cases, filter semantics, precedence, and a key behavioral nuance (archived files). It doesn't mention pagination or limit defaults, but the output schema and self-explanatory limit parameter reduce the need.

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 75% and the description adds meaning beyond the schema: it explains the purpose of query (find by title without full listing), explains work_id vs project_id semantics (task vs project, artifacts only vs agent log + artifacts), and documents precedence. The limit parameter is left to the schema but its constraints are self-explanatory.

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 specific verb ('List'), resource ('active shared files in the caller's org'), and ordering ('newest update first'). It distinguishes itself from sibling file tools by focusing on listing/filtering rather than create/get/update, and the description explicitly covers filter semantics that set it apart from file_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: use query to find a file by title without listing everything, pass work_id to list files on a task, project_id to list files on a project. It also documents precedence (project_id wins) and clarifies that archived files are omitted, giving clear context for choosing parameters and interpreting results.

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

file_publishFile PublishAInspect

Publish a shared file: generate the public share token + slug and URL.

Idempotent: returns the existing token/slug if already published. The latest rendered HTML is eagerly pushed to the Railway bucket. The public URL is /s/{slug} (human-readable, from the title) with /s/{share_token} as a fallback; both are returned in the response.

Agent seats (org tsk_ / agent_run) are refused — call request_gated_approval(gate="publish") instead. Console humans (ts_session) still publish.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesFile UUID to publish

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries full behavioral disclosure. It reveals idempotency (returns existing token/slug), the eager push of latest rendered HTML to the Railway bucket, the dual URL scheme with slug and token, and the seat-based access restriction. These are meaningful behavioral traits 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 information-dense without fluff; every sentence contributes either purpose, idempotency, output URL structure, or access guidance. The main action is front-loaded, and supporting details are grouped logically. It is longer than a two-sentence description but earns each sentence.

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 single-parameter tool with an output schema and no annotations, the description covers everything needed to invoke it correctly: what it does, return behavior, URL formats, idempotency, and authorization restrictions. An agent can confidently decide whether to call this tool or request approval.

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 coverage is 100% and the only parameter, file_id, is already described as 'File UUID to publish.' The description adds surrounding context about URL generation and idempotency but does not add new file_id-specific semantics. Baseline 3 is appropriate because the schema fully documents the parameter.

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 opens with a specific verb and resource: 'Publish a shared file: generate the public share token + slug and URL.' It clearly differentiates file_publish from siblings like file_unpublish and file_update. The scope is unambiguous and an agent can tell exactly what operation this invokes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit routing guidance: agent seats are refused and should call request_gated_approval(gate="publish") instead, while console humans may still publish directly. It also notes idempotency, so agents know re-calling is safe. This goes beyond a simple 'use for publishing' statement.

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

file_unpublishFile UnpublishAInspect

Revoke public access to a shared file (visibility back to private).

The share token is retained for audit; the public route returns 404. Best-effort removes the mirrored objects from the Railway bucket.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesFile UUID to unpublish

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It usefully discloses that the share token is retained for audit, that the public route will return 404, and that removal of mirrored bucket objects is best-effort. These specifics go beyond a generic 'unpublish' statement.

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?

Two focused sentences with no filler. The core action is front-loaded, and the second sentence adds important caveats that earn their place.

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 one-parameter tool with an output schema present, the description covers the action, side effects, audit behavior, and the best-effort nature of bucket cleanup. Minor gaps like permission requirements and idempotency keep it from a perfect score.

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?

The schema already provides 100% coverage for the single parameter: file_id is described as 'File UUID to unpublish.' The description adds no further parameter-level meaning, so the baseline of 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?

The description uses a specific verb and resource: 'Revoke public access to a shared file (visibility back to private).' This clearly distinguishes the tool from sibling file operations like file_publish or file_update, even without naming them explicitly.

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 intended use is readily implied: call this when a shared file's public access should be withdrawn. However, the description provides no explicit guidance on when to prefer this over alternatives, or when not to use it.

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

file_updateFile UpdateAInspect

Append a new version to an existing shared file (version = prior max + 1).

If the file is published, the new version is eagerly mirrored to the Railway bucket. Old versions are never mutated.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
contentYesNew file body (markdown, raw HTML, or teamshared.diagram/v1 JSON/YAML)
file_idYesFile UUID to update
content_formatNoOverride content format ('markdown', 'html', or 'diagram'); defaults to the file's current format

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 behavioral burden and does so well. It discloses the version numbering mechanism, the eager mirroring behavior when the file is published, and the guarantee that old versions are never mutated. This is far beyond a generic 'update' statement.

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 two sentences with zero filler. The core operation and version rule are front-loaded, followed by the published-file mirroring behavior and immutability guarantee. Every sentence earns its place.

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?

Given the 100% schema coverage and the presence of an output schema, the description is complete enough for correct invocation. It covers what the tool does, its versioning model, the published-file behavior, and what is never mutated. An agent can select and call this tool without needing further inference.

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 coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides for file_id, content, content_format, and agent. The versioning context is useful but does not enrich individual parameter semantics.

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: 'Append a new version to an existing shared file.' It also gives the versioning rule, 'ersion = prior max + 1,' and the non-destructive trait, 'Old versions are never mutated,' which clearly distinguishes it from file_create or file_version_delete.

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?

The description clearly implies when to use it: updating an already-existing shared file by appending a version, including behavior for published files. However, it does not explicitly name alternatives such as file_create for new files or file_version_delete for deleting versions, so it lacks explicit exclusions.

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

file_upload_requestFile Upload RequestAInspect

Get a one-time uploader script to push a local file into a shared file.

For large local HTML/Markdown files that don't fit inline in file_create/file_update. Returns upload_url, upload_token, an expires_in_seconds TTL, and a self-deleting Python script. Save the script to disk and run python3 upload.py /path/to/file; it reads the file, POSTs it to the server with the one-time token, prints the resulting file id (and public URL if publish=true), and deletes itself on success. The token is single-use and expires in ~10 min.

Update mode: pass file_id to append the uploaded body as a new version to an existing shared file (the title is ignored; the existing file's title/slug/share_token are preserved, and the bucket mirror is re-published to the new version when the file is already published). This is the supported way to push a new version of a large file.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
titleYesFile title (used only when creating a new file; ignored in update mode)
file_idNoExisting file UUID to append a new version to (update mode). Omit to create a new file.
publishNoIf true, the file is published immediately (returns public URLs). In update mode this is idempotent if already published.
work_idNoAttach the uploaded file to this work item UUID
filenameNoOptional filename (used for format sniffing and as the script's default path)
project_idNoAttach the uploaded file to this project UUID (kind=artifact)
content_formatNo'html', 'markdown', 'diagram' (teamshared.diagram/v1 JSON/YAML), or 'auto' (sniff from the file extension; *.diagram.yaml/json)auto
upload_base_urlNoOptional server origin (e.g. https://teamshared.com). Defaults to settings.public_url.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden, and it delivers. It discloses the one-time token, ~10-minute TTL, self-deleting script, single-use behavior, and the update-mode side effects including preserved title/slug/share_token and bucket mirror re-publishing. This is rich behavioral context that an agent needs to understand consequences before invoking.

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 well-structured and front-loaded with the core purpose, followed by a concise workflow explanation and a clearly separated "Update mode" section. Every sentence adds useful information—TTL, self-deletion, output behavior, update-mode preservation rules—without redundancy or 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 9-parameter tool with an output schema, the description is complete enough: it explains the end-to-end flow (request script, save, run, upload, cleanup), the constraints, and the important update-mode behaviors. The output schema and 100% schema coverage handle remaining return and parameter details, so nothing critical is missing.

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 meaningful semantics beyond the schema: title is ignored in update mode, file_id enables appending a new version, publish=true triggers public URL output, and filename serves as the script's default path. It doesn't narrate every parameter, but the added context materially improves parameter understanding.

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 clearly states the tool's verb and resource: "Get a one-time uploader script to push a local file into a shared file." It explicitly distinguishes itself from siblings by saying it is for files that "don't fit inline in file_create/file_update," and it explains the update-mode variant. An agent can immediately tell what this tool does and how it differs from related file tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly names alternatives (file_create/file_update) and states the condition for using this tool instead: large local HTML/Markdown files that don't fit inline. It also says update mode is "the supported way to push a new version of a large file," giving clear routing guidance. This leaves little to inference.

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

file_version_deleteFile Version DeleteAInspect

Delete a single version of a shared file (destructive, irreversible).

Refuses to delete the only remaining version. If the deleted version was the current (latest) one, current_version is bumped back to the new max and -- when the file is published -- the bucket mirror is re-published to that new current version so the public /s/{slug} route stays consistent. Returns deleted, current_version_changed, and the updated file.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesFile UUID the version belongs to
versionYesVersion number to delete

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/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 it does so excellently. It discloses the irreversible/destructive nature, the refusal to delete the last version, the current_version rollback behavior, the bucket mirror re-publication side effect, and the returned fields.

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 dense but well-organized: the safety warning is front-loaded, followed by edge-case behavior and return values. Every sentence adds meaningful information, and there is 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?

The description is complete for a destructive single-version delete tool. It covers what is deleted, what is refused, the side effects on current version and publishing, and what the caller receives in the response. The presence of an output schema reduces the need to document return structure further.

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 coverage is 100% and both parameters are already described clearly in the input schema. The description adds useful context about shared files and current-version behavior, but it does not materially extend the meaning of the two parameters 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 names the exact action ('Delete a single version of a shared file') and adds important context: it is destructive and irreversible. This clearly distinguishes it from sibling file operations like file_update or file_archive.

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 usage is implied by the verb and resource, but there is no explicit guidance on when to prefer this tool over alternatives, nor mention of sibling tools such as file_archive or file_unpublish. The refusal condition is a useful edge-case note, not a usage guideline.

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

healthHealthAInspect

Liveness + dependency probe.

Returns {"status", "version", "components": {server, redis, postgres, semantic, distiller, graph, ollama}}. semantic is the pgvector + embedder store. Optional deps report "disabled" when off and do not degrade overall status. Always cheap; safe to poll on a 10s interval. Used by Docker healthcheck and the /health HTTP route.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/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 behavioral burden and meets it thoroughly. It discloses that optional dependencies report 'disabled' when off without degrading overall status, defines what 'semantic' means, and states the probe is cheap and safe to poll—operational behavior beyond a generic liveness check.

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?

Every sentence earns its place: purpose, return shape, component clarification, disabled-dependency behavior, and operational guidance. The description is compact, front-loaded, and completely free of 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 zero-parameter liveness probe with an output schema, the description covers the return contents, disabled-dependency behavior, cost/rate expectations, and common usage context. Nothing an agent needs to invoke and interpret the tool correctly is missing.

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?

This tool has zero parameters and the schema already documents that with 100% coverage, so the baseline is 4. There is no parameter-level meaning to add, and the description instead clarifies the return fields, which is the more relevant semantic content here.

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 opens with 'Liveness + dependency probe', a specific noun phrase naming the resource and its purpose. It details the returned status, version, and component map, and references the '/health' HTTP route and Docker healthcheck, making it clearly distinct from siblings like 'version'.

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?

The description explicitly states this tool is used by Docker healthcheck and the '/health' HTTP route, and says it is 'always cheap; safe to poll on a 10s interval'—clear context for when to use it. It does not name alternatives or a when-not-to-use condition, so it falls just 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.

mcp_authMcp AuthAInspect

Last-resort email + OTP bind for this MCP session (headless only).

Prefer account-level Cursor Connect (Cloud / Grok Bot inherit it) or a tsk_ header. Do not call this as the first hop. When the host has no token:

  1. mcp_auth(email="you@example.com") — we email a 6-digit code.

  2. Ask the human for the code, then mcp_auth(email="you@example.com", code="123456").

  3. If status=need_org, call again with org_id=.

After status=authenticated, later tools on this streamable-HTTP session run as that person. Do not store the code or any token.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoOne-time code from the login email. Pass together with email= after mcp_auth returned status=code_sent.
emailNoEmail to send a 6-digit login code to. Same OTP as the console and Cursor Connect. Omit (with no code) to see whether this session is already signed in.
org_idNoOrganization to attach when the email belongs to more than one org (status=need_org).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/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 it delivers: it discloses the headless-only constraint, that an email with a 6-digit code is sent, that later tools 'run as that person' after authentication, and instructs not to store the code or token. This is rich behavioral context beyond any structured annotation.

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 front-loaded with the core purpose and constraints, then presents a scannable numbered workflow with code snippets. Every sentence earns its place; there is no filler or redundancy.

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 multi-step auth flow with no annotations, this is complete: it covers the trigger condition, alternatives, ordered calls, relevant statuses (code_sent, need_org, authenticated), session-binding consequences, and a security warning. The output schema can carry the structured status details, so nothing critical is missing.

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. The description adds workflow-level meaning beyond the schema: it shows concrete call examples for email-only, email+code, and org_id resolution, and clarifies that omitting email checks the session state. This integration of parameters into a sequence is valuable, though not a huge leap over the already descriptive 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: 'Last-resort email + OTP bind for this MCP session (headless only).' It distinguishes itself from account-level Cursor Connect and tsk_ header alternatives, and no sibling tool overlaps with auth, so an agent can tell exactly what this tool is for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use this tool: only as a last resort 'When the host has no token' and 'Do not call this as the first hop.' It names preferred alternatives (Cursor Connect, tsk_ header) and provides a numbered 3-step workflow, so invocation timing is fully specified.

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

memory_action_applyMemory Action ApplyAInspect

Execute a governed ontology action and write an audit log entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
actionNoAlias for action_name
parametersYesParameters matching the action schema
action_nameNoRegistered action type name, e.g. link_entities

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses a concrete side-effect, writing an audit log entry, and 'governed' hints at guardrails or policy constraints. It does not detail permissions, reversibility, or failure behavior, but the main behavioral traits are visible.

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 a single focused sentence with no filler. It front-loads the core operation and immediately signals the audit side-effect, making it easy for an agent to parse quickly.

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

Completeness3/5

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

With a nested parameters object and an output schema, the tool has enough structure for basic invocation. However, the description is sparse on how to discover valid action names and gives no guidance on selecting this tool over related memory actions. It is adequate but has clear gaps.

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 explains action_name, action alias, agent override, and parameters. The tool description adds no extra parameter-level meaning, so the baseline score of 3 is appropriate.

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 uses a specific verb ('Execute'), a clear resource ('governed ontology action'), and an explicit secondary effect ('write an audit log entry'). This distinguishes it from sibling tools like memory_action_log_list, which lists logs rather than applying actions.

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 when to use it—when you need to execute an ontology action—but does not explicitly state when not to use it or point to alternatives such as memory_action_log_list or memory_graph_relate. Usage context is present but mostly inferred.

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

memory_action_log_listMemory Action Log ListBInspect

List recent governed action executions for the org.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool lists recent executions but does not mention that it is read-only, how results are ordered, whether pagination is needed, or what counts as a 'governed action execution.'

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 a single sentence with no fluff. It front-loads the core behavior ('List') and immediately states the resource and scope.

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

Completeness3/5

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

Complexity is low: one optional parameter and an output schema exist, so return format is handled elsewhere. However, the description leaves open questions about ordering, whether results are limited to the most recent N, and what exactly 'governed' means, making it minimally adequate but not complete.

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

Parameters2/5

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

The schema has 0% description coverage and the description says nothing about the limit parameter. The schema does provide type, default, minimum, and maximum, so the parameter is not unusable, but the description adds no semantic meaning beyond the parameter name and constraints.

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?

The description uses a specific verb and resource: it lists recent governed action executions at the org level. This distinguishes it from list-style siblings that target episodes, playbooks, or procedures, though the term 'governed' is not explained.

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 the tool should be used when the agent needs to inspect recently executed governed actions for the organization. It provides no explicit alternatives, exclusions, or by-contrast guidance, but the usage context is reasonably inferable.

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

memory_agent_ensureMemory Agent EnsureAInspect

Get-or-create this org's ontology Agent + shared memory profile.

Harness agents slug to agent-<label>. Cloud agents slug to agent-<cursor_agent_id>. Other agents read the profile with memory_agent_get or memory_entity_view.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoHarness label (cursor, grok, dispatcher). Omit for the caller.
agentNoOverride agent attribution label
modelNoCursor model id when known (composer-2.5, auto-smart, …)
harnessNoHarness type that owns this agent (cursor, grok-bot, …)
runtimeNoharness (MCP client) or cloud (Cursor cloud agent)
spawned_byNoParent Agent slug or label (dispatcher that spawned this cloud agent)
cursor_agent_idNoCursor cloud agent id (bc-…). Sets runtime=cloud when provided.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden. It discloses conditional side effects via 'Get-or-create' and explains the non-obvious slug mapping for harness and cloud agents. It doesn't explicitly state whether an existing profile is ever modified, but 'get-or-create' strongly implies idempotent ensure semantics.

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?

Three sentences, each earning its place: purpose, naming convention, and routing to read-only alternatives. The core action is front-loaded and there is no filler.

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 tool with 7 optional parameters and an output schema, the description provides the essential decision context: what it ensures, how slugs are formed, and how other agents should read the profile. An explicit note about when to prefer memory_agent_set instead would make it fully complete, but the schema and output schema cover most remaining mechanics.

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% and each parameter has its own description, establishing a baseline of 3. The description adds extra meaning by tying the name parameter to harness labels and cursor_agent_id to cloud agent slugs, which goes beyond the schema's raw field descriptions.

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 opens with a specific verb and resource: 'Get-or-create this org's ontology Agent + shared memory profile.' This clearly conveys an ensure operation and immediately distinguishes it from read-only siblings like memory_agent_get and memory_entity_view.

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?

The description explicitly routes read-only needs to alternatives: 'Other agents read the profile with memory_agent_get or memory_entity_view.' It also gives useful context on when harness vs cloud agent naming applies. It stops short of explicitly contrasting this with memory_agent_set, but the get-or-create framing largely communicates the intended use.

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

memory_agent_getMemory Agent GetAInspect

Read another agent's (or your own) org-shared ontology memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoHarness label. Omit together with slug/id to fetch the caller.
slugNoOntology slug, e.g. agent-cursor or agent-bc-…
cursor_agent_idNoCursor cloud agent id (bc-…)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It clearly states this is a read operation and that the memory is org-shared, which conveys an access boundary, but it does not mention permissions, side effects, failure modes, or what happens for missing agents.

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 one short, front-loaded sentence with no redundant or filler words. Every word adds scope: read, audience, and resource type are all present.

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 read-only lookup with zero required parameters and an output schema present, the description plus detailed parameter descriptions is largely sufficient for an agent to select and call the tool. It lacks only explicit alternative-tool routing and behavioral caveats, which are minor for a simple read operation.

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%, with each parameter meaningfully documented as a Harness label, ontology slug, or Cursor cloud agent id. The tool description itself adds no parameter-level meaning beyond the schema, which aligns with the baseline of 3.

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 uses a specific verb, 'Read', and a precise resource, 'another agent's (or your own) org-shared ontology memory.' This scope separates it from memory_agent_list, memory_agent_set, and content-specific getters like memory_skill_get or memory_state_get.

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?

Usage is implied rather than explicit: the tool reads another agent's shared ontology memory, and the schema notes that omitting identifiers fetches the caller. However, the description gives no direct when-to-use guidance, no exclusions, and no alternatives such as memory_recall or memory_entity_view.

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

memory_agent_listMemory Agent ListAInspect

List Agent ontology memories in this org (other agents can reference them).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
runtimeNoOptional filter: harness or cloud

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description bears the transparency burden. It reveals that the operation is a list scoped to the org and that referenced memories are available to other agents, but it does not mention auth requirements, pagination behavior, or filtering semantics. The read-only nature is implied by 'List', and the output schema covers return structure, so this is adequate rather than comprehensive.

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 a single, front-loaded sentence that efficiently communicates action, resource, scope, and purpose. The parenthetical adds meaningful context without padding.

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 simple, read-only list tool with optional parameters and an output schema, the description covers the essential intent and scope. It could be slightly richer by clarifying what 'Agent ontology memories' are or pointing to sibling tools, but nothing critical is missing for selecting and invoking it correctly.

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

Parameters2/5

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

Schema description coverage is only 33% (only 'runtime' has a description), and the tool description adds no parameter-level guidance. It does not explain how 'limit', 'offset', or 'runtime' affect results, nor does it compensate for the low schema coverage.

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 clearly states a specific action ('List'), a precise resource ('Agent ontology memories'), and an organizational scope ('in this org'). The parenthetical '(other agents can reference them)' adds semantic context that helps distinguish this listing tool from related get/set/ensure agent-memory tools.

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?

The description gives clear context for when to use the tool: when the agent needs to discover Agent ontology memories available in the org, specifically ones that other agents can reference. It does not explicitly name alternatives or exclusion criteria, so it stops 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.

memory_agent_setMemory Agent SetBInspect

Replace an agent's org-shared memory profile (creates the entity if needed).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoHarness label. Omit with slug/id to write the caller.
slugNoOntology slug, e.g. agent-cursor
agentNoOverride agent attribution label
body_mdYesCompressed markdown profile (role, current task, constraints). Keep short; server caps length. Org-visible — not a private soul.
cursor_agent_idNoCursor cloud agent id (bc-…)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full disclosure burden. It does disclose the core behavioral trait (a destructive replace with create-if-needed semantics) and the org-shared scope, which is useful. However, it omits any mention of permissions, reversibility, or side effects on related memory entities, so behavioral disclosure remains thin.

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 a single front-loaded sentence with a parenthetical that adds meaningful upsert context. It contains no filler and every clause earns its place.

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

Completeness3/5

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

For a straightforward set operation, the description covers the core function, and the output schema plus fully documented parameters provide much of the necessary context. But the large memory_* sibling family includes memory_agent_ensure, which likely overlaps, and without usage/alternative guidance or side-effect disclosure an agent may route incorrectly. Operationally adequate, contextually under-specified.

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%, with each parameter already documented: body_md is described as a compressed, org-visible markdown profile; name, slug, agent, and cursor_agent_id are optional attribution labels. The tool description adds no meaning beyond schema, so the baseline score of 3 applies.

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?

The description states a specific verb ('Replace') and resource ('an agent's org-shared memory profile'), and adds the upsert qualifier 'creates the entity if needed.' This makes the tool's function clear and distinguishes it from read-oriented siblings like memory_agent_get and memory_agent_list, but it does not explicitly contrast it with similar write/ensure siblings such as memory_agent_ensure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus the closely related memory_agent_ensure or other memory set tools like memory_soul_set, memory_playbook_set, or memory_procedure_set. There are no exclusions, prerequisites, or alternative conditions, leaving the agent to infer usage solely from the verb 'Replace.'

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

memory_assemble_contextMemory Assemble ContextAInspect

Assemble one token-budgeted, cited context pack for a task.

Fans recall across semantic, episodic, procedural, skill, strategic, work, working pillars and the optional graph in parallel through the secure retrieval path, then ranks and packs the result into a single sectioned markdown bundle. Use this once at the start of a task instead of issuing serial memory_recall / memory_procedure_get / memory_graph_related calls. Returns rendered (the pack), tokens_used, counts_by_pillar, and the kept records.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoWorkspace slug of your current repo. Boosts repo-scoped memories in the pack; pass it for code/repo-specific work.
taskYesWhat you are about to do (the task/question driving recall)
githubNoGitHub repository as owner/repo (boosts github-tagged memories)
open_filesNoPaths of files currently open/relevant; their names seed the graph-relationship lookup.
k_per_pillarNoMax records to recall per pillar
token_budgetNoApprox token budget for the rendered pack (default 1500)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It explains that recall happens in parallel across multiple pillars and an optional graph, uses 'the secure retrieval path', ranks and packs results, and lists exact return fields. This goes well beyond the schema and gives the agent a solid mental model of the tool's behavior, though it does not explicitly state side effects or failure modes.

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?

The description is efficiently organized: purpose first, then mechanism, usage guidance, and return values. Every sentence contributes useful information, though the 'Fans recall across...' phrasing is slightly awkward and jargon-heavy.

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?

Given an output schema exists, the description covers all essential context: what the tool does, how it behaves internally, when to use it, what alternatives exist, and what it returns. The parameter details are fully covered by the input schema, so nothing critical is missing for an agent to invoke it correctly.

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 the schema already documents all six parameters including defaults and intended effects. The description does not add significant per-parameter meaning, but it also does not need to; the baseline of 3 applies because the schema carries the heavy lifting.

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: 'Assemble one token-budgeted, cited context pack for a task.' It clearly differentiates itself from sibling tools by naming the serial memory_recall/memory_procedure_get/memory_graph_related calls it replaces, so an agent can tell what this tool does and how it differs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage guidance: 'Use this once at the start of a task instead of issuing serial memory_recall / memory_procedure_get / memory_graph_related calls.' This directly tells the agent when to use this tool and names the alternatives, leaving no ambiguity about the intended workflow.

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

memory_dream_statusMemory Dream StatusAInspect

Latest nightly dream report for this org (what changed overnight).

Returns the most recent leftover-distill + curator report, or found=false when last night wrote nothing. The same note is a normal semantic memory / wiki page memory_recall can find.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It explicitly says 'Returns', making clear this is a retrieval/status operation, and it discloses the no-data behavior ('found=false when last night wrote nothing'). It also explains how the note relates to memory_recall, adding useful context. It does not discuss auth or side effects, but for a zero-parameter read-only report tool this is sufficient.

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 three short sentences: purpose, return/edge behavior, and relationship to memory_recall. Each sentence adds distinct value, no filler is present, and the core purpose is front-loaded.

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-parameter tool with an output schema, the description is complete enough to select and invoke it correctly. It covers the purpose, the found=false edge case, and the relationship to memory_recall, so no critical behavioral information is missing.

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?

The input schema has zero properties and 100% schema description coverage, so there are no parameters to document. The baseline for zero-parameter tools is 4, and the description does not need to add parameter-level meaning.

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 opens with a specific purpose: 'Latest nightly dream report for this org (what changed overnight)' and then states the exact returned artifact: 'most recent leftover-distill + curator report'. It clearly differentiates from the sibling tool memory_recall by noting the same note is a normal semantic memory/wiki page that memory_recall can find.

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?

The description gives clear context for when to call: to get the latest overnight report, and it handles the empty case with 'found=false'. It also points to memory_recall as an alternative for retrieving the same note as semantic memory. However, it stops short of an explicit when-not-to-use statement, so it earns a 4 rather than a 5.

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

memory_entity_viewMemory Entity ViewBInspect

Roll up wiki, memories, graph neighbors, and work for one entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesEntity slug (wiki topic slug or ontology entity slug)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the data sources involved but says nothing about side effects, whether the operation is read-only, performance characteristics, or behavior on empty results — leaving the agent to infer from the title 'View'.

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?

A single sentence with no filler. The action is front-loaded, and the list of aggregated sources is compact.

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

Completeness3/5

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

The output schema exists and the one parameter is clear, but the description gives no guidance on what 'roll up' returns structurally or when to prefer this over memory_recall or work_list — a notable gap for an aggregation tool.

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 coverage is 100%, so the parameter is well documented. The description adds minimal extra meaning ('one entity' reiterates the singular slug), which is acceptable per baseline.

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?

The description uses the verb 'roll up' with a clear resource (one entity) and enumerates the four data domains (wiki, memories, graph neigbors, work). This distinguishes it from single-purpose siblings like memory_recall or work_list, though the informal phrasing leaves some ambiguity about the delivered artifact.

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?

Usage is implied: the agent should call this when it needs a consolidated view across the named sources for a single slug. It does not name alternates or explicitly state when not to use, but the aggregation scope provides adequate context.

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

memory_episodes_listMemory Episodes ListBInspect

Browse the episodic timeline (shared within the org by default).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOptional filter — restrict to one agent's episodes. Default (None) returns every agent's timeline in the org.
limitNo
sinceNoLower bound on created_at
topicNoSubstring match on topic
untilNoUpper bound on created_at

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. 'Browse' implies a non-mutating list operation and the org-wide default scope is a useful non-obvious detail. However, it does not mention ordering, pagination behavior, or what an 'episode' actually represents.

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?

The description is a single front-loaded sentence with no filler words. It is efficient, though slightly too terse to fully orient an agent to the episodic-timeline concept.

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

Completeness3/5

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

An output schema exists and most parameters are documented, so return values and filters do not need to be repeated. Still, with no annotations and many sibling memory tools, the description could usefully state that episodes are returned in chronological order and that this is the go-to tool for browsing the org's episodic history.

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 high (80%), and the schema already documents the main parameters. The description adds no parameter-specific meaning beyond restating the default org scope, which the agent parameter already covers.

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?

The description identifies a concrete read action ('Browse') and a distinct resource ('episodic timeline'), and it adds a useful scope qualifier ('shared within the org by default'). It clearly reads as a list/history tool, though it does not explicitly route away from related memory tools like memory_recall.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as memory_recall, memory_session_get, or memory_action_log_list. The only contextual hint is the default org-wide scope, which is behavioral rather than a usage criterion.

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

memory_forgetMemory ForgetAInspect

Soft-delete a semantic/episodic memory by id (requires memory:delete).

memory_id is the memory_items UUID returned by memory_recall. Procedural deletes are not supported via this tool.

Agent seats (org tsk_ / agent_run) are refused — call request_gated_approval(gate="destructive") instead. Console humans (ts_session) still forget.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesAudit reason; required
memory_idYesmemory_items UUID from a previous recall
parent_idNoWork parent UUID when this forget belongs to a beat

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/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 it delivers: it discloses soft-delete semantics, the memory:delete permission requirement, the refusal of agent seats, the supported console-human path, and the unsupported procedural-delete case. This is exemplary behavioral disclosure for a destructive tool with zero annotation coverage.

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?

Four short sentences, each earning its place: the core action, the memory_id provenance, the procedural exclusion, and the seat/approval routing. It is front-loaded with the primary purpose and avoids any 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?

The description covers the essential behavioral facts: what is deleted, how to get the id, who is allowed, what permission is needed, and what alternative to route through. The output schema exists, so return-value details do not need to be in the description. Nothing necessary for correct invocation is missing.

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. The description adds meaningful extra context by stating that memory_id is the memory_items UUID returned by memory_recall and that reason is an audit requirement. It does not repeat schema details verbatim, and parent_id is adequately covered by 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 uses a specific verb ('Soft-delete'), names the target resource ('semantic/episodic memory by id'), and immediately distinguishes this tool from memory_forget_procedure and memory_forget_skill by stating 'Procedural deletes are not supported via this tool.' An agent can tell exactly what this tool does and what it does not do without opening any sibling schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-not-to-use guidance: agent seats are refused, and the tool directs the agent to call request_gated_approval(gate="destructive") instead. It also specifies that memory_id must come from a previous memory_recall, and it excludes procedural deletes. This is strong, actionable routing.

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

memory_forget_procedureMemory Forget ProcedureBInspect

Soft-delete all active versions of a playbook by name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlaybook name to soft-delete
reasonYesAudit reason; required

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral disclosure burden. 'Soft-delete' hints at non-destructive behavior, but the description does not explain what soft-delete means operationally, whether it is reversible, what happens to inactive versions, or what side effects occur.

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 a single, tightly scoped sentence with no filler. The key action, target, and scope are front-loaded, making it easy for an agent to parse quickly.

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

Completeness3/5

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

The description is minimally viable for invoking the tool, especially with a complete schema and output schema present. However, it lacks context about soft-delete semantics, version behavior, and how this relates to the sibling memory_forget and memory_forget_skill tools.

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 coverage is 100%, so the parameters are already well documented. The description adds contextual meaning by clarifying that the operation targets 'all active versions' by name, but it does not meaningfully elaborate on parameter semantics beyond the schema.

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?

The description clearly states a specific verb ('soft-delete') and resource ('all active versions of a playbook by name'), making the core operation unambiguous. It does not explicitly distinguish itself from sibling tools like memory_forget or memory_forget_skill, and the use of 'playbook' rather than 'procedure' relative to the tool name introduces minor ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as memory_forget, memory_forget_skill, or memory_playbook_set. The intended context is only implied by the name and resource type, with no explicit exclusions or preconditions.

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

memory_forget_skillMemory Forget SkillAInspect

Soft-delete all active versions of a skill by name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSkill name to soft-delete
reasonYesAudit reason; required

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It usefully discloses 'soft-delete' rather than hard delete and that all active versions are affected. However, it does not mention reversibility, authorization needs, or what happens to the skill from the perspective of resolution or retrieval, leaving some behavioral context undisclosed.

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 one tight sentence that front-loads the action ('Soft-delete') and target ('all active versions of a skill by name'). There is no filler, repetition, or unnecessary detail.

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 simple tool with two flat required parameters and an output schema, the description is mostly sufficient to invoke correctly. It clearly states the operation, scope, and target. It only lacks a brief usage-routing note relative to sibling delete/forget tools, which prevents a 5.

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 coverage is 100%, and both parameters are already documented in the input schema (name and reason with 'Audit reason; required'). The description only re-emphasizes 'by name' and adds no new semantic detail for either parameter, so the 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?

States a specific verb and resource ('soft-delete all active versions of a skill by name'), which clearly identifies the operation and target. The scope 'all active versions' also helps distinguish it from sibling memory forget/procedure tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to choose this tool instead of related siblings like memory_forget, memory_forget_procedure, memory_skill_set, or memory_skill_get. The intended use is inferable from the name and description, but no explicit alternatives or exclusions are provided.

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

memory_graph_relateMemory Graph RelateAInspect

Record an explicit relationship in the optional org-scoped graph store.

No-op (with a reason) when the graph isn't enabled. Use this when you learn a structured fact like "alice -> works_on -> teamshared" that vector recall would obscure. predicate must be a registered link type (see memory_ontology_list).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
objectNoAlias for object_entity
weightNo
subjectYesSource entity
predicateYesRelationship label, e.g. 'works_on'
object_entityNoTarget entity

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It usefully discloses that the tool is a no-op with a reason when the graph is not enabled and that predicate must be registered. However, it does not disclose duplicate or overwrite behavior, entity existence requirements, or side effects beyond graph creation.

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?

Four short sentences, each earning its place: purpose, no-op behavior, usage scenario, and predicate constraint. The description is front-loaded and contains no filler or redundancy.

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

Completeness3/5

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

The description is adequate for invoking a simple relation-recording tool, and the output schema reduces the need to explain return values. It leaves gaps around duplicate relationships, whether entities must already exist, and how this relates to memory_graph_related, which matter for a write operation with no annotations.

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 high, so the baseline is 3. The description adds value by giving a concrete triple example ('alice -> works_on -> teamshared') and by adding the constraint that predicate must be a registered link type, which the schema itself does not state.

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?

The description starts with a specific verb and resource: 'Record an explicit relationship in the optional org-scoped graph store.' This makes the tool's core purpose clear, but it does not explicitly differentiate it from the sibling memory_graph_related, so the agent must infer the distinction from the verb 'Record.'

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 gives an explicit use case ('Use this when you learn a structured fact ... that vector recall would obscure') and points the agent to memory_ontology_list for predicate validation. It does not explain when not to use it or how it compares to memory_graph_related, but the guidance is clear and actionable.

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

memory_ontology_listMemory Ontology ListAInspect

List org ontology schema: link types, object kinds, interfaces, action types.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. 'List' conveys a read-only operation, but the description does not explicitly state that no changes are made, whether the result is a complete snapshot, or whether access constraints apply. For a zero-parameter tool the behavior is simple, but more explicit transparency would be stronger.

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 a single, efficient sentence with no filler. The verb and resource are front-loaded, and the four content categories are listed compactly without unnecessary explanation.

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 simple zero-parameter listing tool with an output schema, the description is largely complete: it states the purpose and what the output covers. The main gap is the absence of explicit guidance about when to use this tool instead of sibling ontology mutation tools, though this is a minor omission given the tool's simplicity.

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?

The tool has zero parameters and 100% schema description coverage, so there is no parameter meaning for the description to add. The description still contributes by naming the content categories of the output, which is useful semantic context beyond the empty 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 uses a specific verb ('List') and identifies a clear resource ('org ontology schema'), then enumerates exactly what is included: link types, object kinds, interfaces, and action types. This clearly distinguishes it from sibling mutation tools such as memory_ontology_link_type_set and memory_ontology_object_kind_set.

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?

Usage is implied: it is a listing operation, so an agent would call it to inspect the ontology schema before using related memory_ontology_* tools. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites.

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

memory_ontology_merge_entitiesMemory Ontology Merge EntitiesAInspect

Merge drop_slug into keep_slug (remap FKs, delete duplicate).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
drop_slugYesDuplicate entity slug to merge away
keep_slugYesCanonical entity slug to keep

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full transparency burden. It does disclose the two material consequences — FK remapping and deletion of the duplicate — which is real value beyond the schema. Missing are reversibility, conflict-resolution behavior, and permission or transaction notes, which matters for a destructive operation. Score 3.

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?

A single sentence that front-loads the core operation ('Merge drop_slug into keep_slug') and appends only the essential behavioral parenthetical. No filler; every phrase earns its place.

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

Completeness3/5

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

With an output schema present and full parameter coverage, the description need not document return values. It captures the core operation and side effects, but for a destructive merge it would benefit from caveats about irreversibility and handling of conflicting properties between the two entities. Adequate with clear gaps — 3.

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%, with meaningful per-parameter descriptions ('Duplicate entity slug to merge away', 'Canonical entity slug to keep'), so the baseline is 3. The tool description echoes the directionality but adds no parameter detail beyond what the schema already provides.

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 — 'Merge drop_slug into keep_slug' — with clear directionality between the canonical and duplicate entities. The parenthetical '(remap FKs, delete duplicate)' adds operational specificity that distinguishes it from the other memory_ontology_* siblings (list, propose_entity, rekind_entity). It stops short of 5 only by not explicitly naming sibling distinctions.

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?

'Delete duplicate' implies a deduplication context, giving an agent a reasonable when-to-use signal, and nothing misleading is stated. However, there are no explicit alternatives, no when-not conditions, and no prerequisites (e.g., verifying both slugs exist) before a destructive merge. That is implied guidance at best — 3.

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

memory_ontology_object_kind_setMemory Ontology Object Kind SetBInspect

Register or update a custom org object kind.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesObject kind name, e.g. Vendor
agentNoOverride agent identity
descriptionNoHuman-readable description
properties_schemaNoJSON schema for entity properties

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does indicate an upsert behavior ('register or update'), but it does not disclose whether updating overwrites properties_schema, whether existing associated entities are affected, any permission requirements, or the consequences of changing an object kind. This is minimal transparency for a mutation tool.

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 a single, front-loaded sentence with no filler. Every word earns its place, and the core verb-resource relationship is immediately visible.

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

Completeness3/5

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

The input schema and output schema cover parameters and return values, so those dimensions do not need explanation in the description. However, for a mutation tool with no annotations, the description omits usage boundaries and side-effect details, leaving meaningful gaps in contextual completeness.

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?

The input schema covers all four parameters with descriptions, so the schema already does the heavy lifting. The description adds no additional parameter-level meaning beyond indicating that the tool concerns a custom org object kind, which maps to the required 'name' parameter. Baseline 3 is appropriate.

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 action pair (register or update) and a concrete resource (custom org object kind), which clearly distinguishes it from sibling tools like memory_ontology_link_type_set or memory_ontology_rekind_entity. It is immediately clear what the tool operates on and what it does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance about when to use this tool versus alternatives such as memory_ontology_link_type_set or memory_ontology_rekind_entity. It also does not explain conditions for registering versus updating, or any prerequisites or exclusions. Usage context is left entirely to inference.

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

memory_ontology_propose_entityMemory Ontology Propose EntityBInspect

Propose a typed ontology entity (active immediately).

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoAlias for kind_name
nameYesDisplay name for the entity
agentNoOverride agent identity
kind_nameNoRegistered object kind, e.g. Person or Project
propertiesNoOptional JSON properties matching the kind schema

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses one meaningful trait — the entity is 'active immediately', implying a direct creation with no approval or staging step — which is more than a bare verb. However, it says nothing about prerequisites (e.g., whether the kind must already be registered), idempotency, reversion, or failure behavior when the kind does not exist.

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?

The description is a single eight-word sentence that is front-loaded and contains no wasted words; the parenthetical earns its place by disambiguating the semantics of 'propose'. It is terse to the point of under-specification, but that deficiency is properly penalized in other dimensions rather than here.

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

Completeness3/5

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

The existence of an output schema and 100% parameter coverage lowers the burden, and the tool's shape is simple (flat, 1 required parameter, no enums). Even so, an agent cannot determine from this description when to select it over memory_remember or memory_entity_view, or whether the named kind must already exist in the ontology. For a tool in a crowded sub-family, this is minimally viable but not complete.

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 the baseline is 3 even with no parameter detail in the description. The word 'typed' reinforces the role of kind/kind_name and implies properties should conform to the kind schema, marginally reinforcing the schema's 'Registered object kind' note. It adds no syntax, defaults, or format guidance beyond what the schema already documents.

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?

The description states a specific verb ('Propose') and resource ('typed ontology entity'), and the parenthetical '(active immediately)' clarifies that the entity takes effect at once rather than requiring approval. It is distinguishable from sibling tools like memory_ontology_list, memory_ontology_merge_entities, and memory_ontology_rekind_entity, though it does not name them. It stops short of 5 because 'propose' could still be misread by an agent unfamiliar with the immediate-activation parenthetical.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as memory_remember, memory_entity_view, or the other memory_ontology_* siblings. With a sibling list of 90+ tools and no when-to-use or when-not-to-use conditions, an agent is left to infer applicability. This is a clear gap.

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

memory_ontology_rekind_entityMemory Ontology Rekind EntityCInspect

Change the object kind of an existing ontology entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoAlias for kind_name
slugYesExisting entity slug
agentNoOverride agent identity
kind_nameNoRegistered object kind to assign, e.g. Person

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral consequences on its own. It communicates that an existing entity is mutated, but omits ownership details such as whether the previous kind is overwritten, whether the change is reversible, whether permissions are required, or what happens if kind and kind_name are both null. This is a material gap for a write operation.

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 one front-loaded sentence with a clear verb and object and no redundant words. It is appropriately compact for the surface operation, and any missing content belongs to other evaluation dimensions.

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

Completeness2/5

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

For an unannotated mutation tool with four parameters and an ambiguously related sibling, the description is too thin. It does not clarify side effects, null parameter behavior, or how rekind_entity differs from memory_ontology_object_kind_set, so an agent lacks enough context to select and invoke it confidently despite the output schema.

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 the schema already documents slug, kind, kind_name, and agent. The description does not add parameter-level insight beyond the high-level intent, and it leaves the kind/kind_name alias semantics to the schema. That matches the baseline for full schema coverage.

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?

The description states a concise, specific operation: changing the object kind of an existing ontology entity, so the core behavior is clear. However, it does not distinguish this tool from the very similarly named sibling memory_ontology_object_kind_set, which appears to target the same concept and would confuse tool selection without further context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is given. The description does not explain when to use this tool instead of sibling alternatives such as memory_ontology_object_kind_set, memory_ontology_propose_entity, or memory_entity_view. There are no conditions, prerequisites, or exclusions to steer an agent toward the correct choice.

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

memory_playbook_getMemory Playbook GetBInspect

Alias for memory_procedure_get.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlaybook name
versionNoSpecific version
expand_skillsNoInline composed skills

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of explaining side effects and safety, and it does not. 'Alias for memory_procedure_get' points elsewhere but discloses no actual behavior, auth requirements, or side-effect profile.

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?

One short sentence and zero filler; the alias relationship is front-loaded and immediately actionable for an agent that can reference memory_procedure_get.

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

Completeness3/5

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

Given an output schema and complete parameter descriptions, the tool is callable, and the alias pointer compensates for some missing detail. Still, the description is not self-contained: it never explains the playbook/procedure domain or usage conditions.

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 the input schema already explains name, version, and expand_skills. The description adds no parameter-level meaning, so it meets but does not exceed the baseline.

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?

The description identifies the tool as an alias for memory_procedure_get, which together with the 'Get' in the title conveys a retrieve-by-name operation on a memory playbook/procedure. It points to a specific sibling and is not a tautology, though it never directly states what a playbook is or that the operation is read-only.

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?

By naming memory_procedure_get as the aliased tool, the description gives the agent a clear reference for behavior and implicitly says this tool is equivalent to that sibling. It does not, however, state when to prefer this alias over the canonical tool or contrast it with memory_playbook_set and memory_playbooks_list.

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

memory_playbook_setMemory Playbook SetBInspect

Alias for memory_procedure_set.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlaybook name (stable id)
tagsNoTags for discovery
agentNoOverride agent identity
owner_idNoOrg member UUID. Omit inherits last owner or the writer.
steps_mdNoOptional intro markdown before composed skills
descriptionNoOne-line summary
tool_recipeNoOrdered skill list: {"skills": ["lint", "ship-pr"]}
verification_daysNoVerification window: 30, 90, or 180 days; 0 for none. Omit inherits the last window.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description must carry the burden of behavioral disclosure, but it only says the tool is an alias. It does not state that this is a write operation, whether it creates or updates, whether it persists, what side effects occur, or what permissions/ownership behavior applies. The alias hints at equivalence with ``memory_procedure_set`` but does not describe any actual behavior.

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?

The description is extremely short with no wasted words and is front-loaded. However, for an 8-parameter tool with no annotations, a single alias sentence is under-specified rather than appropriately concise. It is not bloated, but it omits essential context that would make the short length effective.

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

Completeness2/5

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

Given eight parameters, many sibling tools, and no annotations, the description is not complete enough. The output schema supplements return-value knowledge, but the description still fails to explain the operation's purpose, side effects, or usage boundaries. An agent is forced to look up ``memory_procedure_set`` to understand this tool, which makes the definition incomplete on its own.

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 coverage is 100%, and the schema already provides useful descriptions, defaults, and types for all eight parameters. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 applies. An agent can call the tool correctly from the schema alone even though the description is uninformative about parameters.

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?

The description identifies this tool as an alias for ``memory_procedure_set``, which gives a specific target operation and clearly separates it from read/list siblings like ``memory_playbook_get`` and ``memory_playbooks_list``. It is not a tautology, but it relies on the reader already knowing what ``memory_procedure_set`` does rather than stating the behavior directly.

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 alias statement implies this tool is used wherever ``memory_procedure_set`` would be used, providing some routing context. However, it does not explain when creating/updating a playbook/procedure is appropriate or when to prefer another memory tool. There are no explicit conditions, exclusions, or alternative recommendations beyond the bare alias.

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

memory_playbooks_listMemory Playbooks ListCInspect

Alias for memory_procedures_list.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoFilter by tag
limitNo
offsetNo
include_bodyNoInclude full steps_md

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Alias for memory_procedures_list' and discloses no behavior beyond that indirect reference: no read-only implications, pagination behavior, filtering behavior, or output expectations are stated. The word 'list' implies read-only weakly, but the description itself does not explain what happens when called.

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?

The description is extremely short and contains no filler, which is structurally efficient. However, it is so terse that it becomes under-specification rather than genuine conciseness: one short alias statement carries almost no explanatory value.

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

Completeness2/5

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

For a four-parameter list tool with no annotations, an output schema, and many memory-related siblings, this description is not enough. It does not explain the tool's relationship to playbooks versus procedures, does not state what the response will contain, and leaves the agent to resolve the alias before it can safely decide whether to call this tool.

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

Parameters2/5

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

Schema description coverage is only 50%, with tag and include_body documented but limit and offset left undocumented in the schema. The description adds nothing about any parameter, so it fails to compensate for the gap in the structured schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the tool only as an alias for memory_procedures_list, which lets an agent infer it performs the same listing operation. However, it never states the operation itself and relies on the reader knowing what memory_procedures_list does; this is more than a tautology but still indirect and vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes an equivalence to memory_procedures_list but gives no guidance on when to use this tool versus memory_playbook_get, memory_playbook_set, memory_procedure_get, or memory_procedure_set. It provides no exclusions, conditions, or selection criteria.

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

memory_procedure_getMemory Procedure GetAInspect

Fetch a stored playbook by name (and optionally version).

Set expand_skills=true to resolve tool_recipe.skills into the returned steps_md / content_md (same as the background runner).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlaybook (procedure) name
versionNoSpecific version (default: latest active)
expand_skillsNoInline composed skill bodies into steps_md

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It usefully explains that expand_skills=true resolves tool_recipe.skills into returned steps_md/content_md and notes equivalence to the background runner. It does not mention failure behavior, read-only guarantees, or error cases, but 'fetch' implies a non-mutating operation.

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 and efficiently structured: one sentence for the primary action and one for optional behavior. No words are wasted, and the most important information is front-loaded.

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

Completeness3/5

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

The description provides enough to invoke the tool correctly for a basic fetch, and the output schema covers return structure. However, the ambiguity between 'procedure' and 'playbook' terminology, especially given the sibling memory_playbook_get, leaves contextual completeness incomplete without additional disambiguation.

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 coverage is 100%, so the baseline is 3. The description adds only marginal parameter insight, mainly clarifying the expand_skills effect by naming the returned fields and referencing the background runner. This is helpful but does not substantially extend the schema's already complete parameter descriptions.

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?

The description states a specific verb and resource: "Fetch a stored playbook by name (and optionally version)." This clearly identifies the tool's core function. However, it calls the resource a "playbook" while the tool name is procedure_get and a sibling memory_playbook_get exists, which muddies the distinction between procedures and playbooks.

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 when to use the tool: when you need to fetch a stored playbook by name and optionally a version. It also gives parameter-level guidance about expand_skills. However, it provides no explicit exclusion or comparison against the near-identical sibling memory_playbook_get, leaving tool selection partly to inference.

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

memory_procedure_setMemory Procedure SetAInspect

Insert a new version of a procedure. Each call creates a new version.

Playbooks are ordered skill collections: set tool_recipe.skills and optional steps_md intro. Routed through the guarded ingestion pipeline. Returns status (active or duplicate).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProcedure name (stable id)
tagsNoTags for discovery
agentNoOverride agent identity
owner_idNoOrg member UUID. Omit inherits last owner or the writer.
steps_mdNoOptional intro markdown before composed skills; use tool_recipe.skills for the ordered skill list
descriptionNoOne-line summary
tool_recipeNoPlaybook recipe: {"skills": ["lint", "ship-pr"], "loop": {"max_iterations": 3}}. See memory_tools_catalog for full shapes.
verification_daysNoVerification window: 30, 90, or 180 days; 0 for none. Omit inherits the last window.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/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. It discloses the non-idempotent behavior (each call creates a new version), the guarded ingestion pipeline, and the possible return statuses (active or duplicate). It does not detail authentication or side effects on old versions, but the core behavioral traits are visible.

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 and front-loaded with the core action. Every sentence earns its place: the first defines the operation, the second gives key parameter guidance, and the third covers pipeline and return behavior. No filler or repetition.

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 an 8-parameter tool with a full schema and an output schema, the description adequately covers the main call pattern and expected result. It could benefit from clarifying what triggers a 'duplicate' status or how this relates to memory_playbook_set, but the essentials for invocation are present.

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 description coverage is 100%, so the baseline is 3. The description adds real value by explaining the playbook shape: set tool_recipe.skills and optional steps_md, which clarifies two parameters beyond their schema descriptions. This raises the score above baseline.

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?

The description states a specific verb and resource: 'Insert a new version of a procedure', and clarifies the key behavior that each call creates a new version. This distinguishes it from sibling get/list/forget procedure tools, though it doesn't explicitly contrast with related playbook/skill setters.

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?

Clear context is provided: use this when you need to insert a new procedure version, with guidance on setting tool_recipe.skills and steps_md. No explicit exclusions or alternatives are named, but the context is enough for an agent to select this tool over procedure get/list/forget siblings.

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

memory_procedures_listMemory Procedures ListBInspect

List playbooks (latest version of each) in the caller's org.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoFilter by tag
limitNo
offsetNoPagination offset
include_bodyNoInclude full steps_md and tool_recipe

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure, and it does add useful context: only the latest version of each playbook is returned, scoped to the caller's org. However, it does not mention read-only behavior, default body exclusion, pagination behavior, or other side effects, though the output schema mitigates some ambiguity.

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 a single, information-dense sentence with no filler. Key qualifiers like 'latest version of each' and 'caller's org' are front-loaded, and every word earns its place.

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

Completeness3/5

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

For a simple list tool with an output schema and mostly self-descriptive parameters, the description is adequate. However, the absence of annotations and the presence of many closely related memory tools mean the definition should clarify the procedures-versus-playbooks terminology and its relationship to list/get siblings. It is sufficient but not fully complete.

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?

The description adds no per-parameter meaning beyond the input schema. Schema descriptions already cover tag, offset, and include_body, while limit is inferable from its minimum, maximum, and default. With roughly 75% schema coverage, the schema does most of the parameter-documentation work, so the description does not need to compensate much.

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?

The description names a specific verb ('List'), a concrete resource ('playbooks'), and a scope ('in the caller's org'), while adding the important qualifier 'latest version of each'. However, it does not explicitly differentiate this from sibling tools like memory_playbooks_list, and the tool name says 'procedures' while the description says 'playbooks', which introduces mild ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when this tool should be preferred over alternatives such as memory_playbooks_list, memory_procedure_get, or memory_playbook_get. It is a bare listing statement with no when-to-use, when-not-to-use, or alternative conditions.

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

memory_recallMemory RecallAInspect

Hybrid recall across memory pillars within the caller's org.

Default scope searches durable pillars only (semantic, episodic, procedural, skill, strategic, work). Pass scope=["working"] to include this chat's open session turns. Shared brain on durable pillars: pass agent="cursor" only to narrow semantic/episodic. For entity/competitor questions use a short keyword anchor in query (e.g. "mex") plus repo / github. Use explain=true; prefer hits with matched_keyword: true. Default recall is current truth (superseded/merged rows are omitted); pass include_superseded=true for the replacement chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
kNoMax records to return
repoNoWorkspace slug of your current repo. When set, durable memories tagged for this repo are boosted (ranked higher); nothing is hidden — cross-repo and un-scoped memories still appear. Pass your workspace slug when recalling for code/repo-specific work.
agentNoOptional filter — restrict semantic/episodic results to this agent's writes. Default (None) is the shared brain: every agent's durable memories in the org are visible. Working memory is always scoped to the caller regardless.
queryYesNatural-language query
scopeNoPillars to search. Default (null): durable pillars only (semantic, episodic, procedural, skill, strategic, work) — working is omitted. Add scope=['working'] when you need this chat's open session turns.
githubNoGitHub repository as owner/repo. Boosts memories tagged github:<owner>/<repo> (portable across checkout paths).
explainNoWhen true, include per-record retrieval attribution in metadata
filtersNoOptional AND filter. Keys (all optional): kind (fact|preference|event|note|outreach|skill|procedure), pillar (semantic|episodic|procedural|skill|strategic|work), subject (exact, case-insensitive), tags (list; record must include every tag), since / until (ISO datetimes). Example: {"kind": "fact", "subject": "HolderBrief", "tags": ["decision"]}. Nested AND/OR/NOT is not supported — omit a key instead. Empty result retries once without the filter (filter_relaxed=true on the result). Not for named playbook/skill/entity — use get-by-name tools.
verboseNoWhen false, truncate record content and omit metadata
time_rangeNoOptional time bounds for episodic/working hits
include_supersededNoWhen true, also return superseded/merged history. Default is current truth only.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly. It discloses default durable-only scope, shared-brain visibility, caller-scoped working memory, repo boosting without hiding results, filter relaxation on empty results, and current-truth default with superseded rows omitted. No annotation contradiction exists.

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 dense but tightly structured, front-loading the core purpose and default behavior before layering conditional usage guidance. Every sentence adds useful information and none are redundant with the 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 complex 11-parameter tool with an output schema and no annotations, the description covers the essential defaults, key behavioral nuances, and routing decisions. The presence of a full output schema means return-value documentation is not required here, and no critical usage gap remains.

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 meaningful operational guidance beyond the schema: short keyword anchor strategy, preferring matched_keyword:true hits, and clarifying repo/agent scoping effects. This lifts it above baseline though it does not need to re-document each parameter.

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 opens with a specific verb and resource: 'Hybrid recall across memory pillars within the caller's org.' It clearly differentiates from sibling memory tools by stating its recall scope and explicitly excluding named playbook/skill/entity retrieval via 'use get-by-name tools.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance: pass scope=['working'] for session turns, pass agent='cursor' to narrow semantic/episodic, use short keyword anchors for entity/competitor questions, and use explain=true. It also names alternatives by saying 'Not for named playbook/skill/entity — use get-by-name tools.'

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

memory_rememberMemory RememberAInspect

Write a durable memory into the caller's org.

fact / preference / note / outreach -> semantic pillar. event -> episodic. procedure / skill -> rejected; use memory_procedure_set / memory_skill_set. Routed through the guarded ingestion pipeline (PII, injection screening, near-dupe merge / contradiction supersede) under RLS. When repo / github are given the memory is tagged repo:<slug> / github:<owner>/<repo>.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNofact, preference, event, note, or outreach (not procedure/skill)note
repoNoWorkspace slug of the repo this memory belongs to (e.g. the slug used for memory_state). For code/repo-specific work, pass your current workspace slug so the memory is scoped to this repo (stored as a 'repo:<slug>' tag) and ranks higher when recalled from the same repo. Omit for cross-cutting memories.
tagsNoOptional free-form tags
agentNoOverride agent identity (defaults to bearer-token identity)
githubNoGitHub repository as owner/repo (e.g. xhad/teamshared). Stored as a 'github:<owner>/<repo>' tag for cross-machine association; use with or instead of workspace repo= when the same GitHub repo is checked out at different paths.
contentYesFree-form text to remember
subjectNoOptional subject/entity this memory is about

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/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 behavioral burden, and it does so well. It discloses the guarded ingestion pipeline (PII, injection screening, near-dupe merge / contradiction supersede), RLS enforcement, durability, and sticky behavior for repo/github tags. This goes well beyond a bare write operation.

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 and scannable, front-loading the core purpose before routing rules and pipeline behavior. Every sentence earns its place; code-formatted keywords and arrow notation condense a lot of information without fluff.

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?

The tool has 7 parameters and an output schema, but the schema covers all parameters and the description covers what the schema cannot: when to use it, which kinds are rejected, behavioral pipeline details, and tag semantics. An agent has enough information to call it correctly and avoid the common procedure/skill misuse.

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. The description adds meaningful semantics beyond the schema by mapping kind values to semantic pillars (fact/preference/note/outreach vs episodic event) and by explaining how repo and github parameters produce specific tags that affect recall ranking. This is clear added value without needing to restate every parameter.

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 opens with a specific verb and resource: 'Write a durable memory into the caller's org.' It also clarifies what kinds are accepted (fact, preference, event, note, outreach) and explicitly routes procedures/skills to separate tools, distinguishing it from memory_procedure_set and memory_skill_set siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states which kind values are rejected ('procedure' / 'skill' -> rejected) and names the alternatives to use instead ('use memory_procedure_set / memory_skill_set'). It also gives contextual guidance for repo and github parameters, telling the agent when to scope memories to a repo or GitHub association.

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

memory_session_appendMemory Session AppendAInspect

Append a turn to a working-memory session (self-healing).

When session_id has expired or was closed, a fresh session is opened automatically and the turn lands there; the response then carries the replacement session_id and reopened: true. Pass repo (and optionally github / topic) so reopen preserves workspace scope and updates the state pointer without a manual memory_state_set.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoWorkspace slug. When set with an active bearer token, reopen self-healing updates the conversation/active-session pointer.
roleYesuser, assistant, tool, or system
topicNoSession topic used when reopening after expiry
githubNoGitHub owner/repo tag used when reopening a session
contentYesTurn content
session_idYesSession id from memory_session_open

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations are absent, so the description carries the full disclosure burden. It clearly explains the non-obvious self-healing behavior: expired or closed sessions trigger automatic reopening, the response contains the replacement session_id and reopened: true, and the state pointer is updated. This is exactly the kind of behavioral nuance an agent needs to anticipate.

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 and front-loaded: the core purpose appears first, followed by the self-healing edge case and the relevant optional parameter guidance. Every sentence earns its place, with no redundant restatement of the tool name or 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?

Given that an output schema exists to describe return values, the description fully covers the non-obvious behavior, the optional reopen parameters, and the relationship to memory_state_set. An agent has enough information to call this tool correctly in both normal and self-healing scenarios.

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%, establishing a baseline of 3. The description adds value beyond the schema by explaining why repo, github, and topic matter during reopen and how repo updates the state pointer, avoiding a manual memory_state_set. It does not deeply annotate every parameter, but it meaningfully supplements 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 opens with a specific action and resource: 'Append a turn to a working-memory session (self-healing).' The self-healing behavior and the contrast with sibling session tools like memory_session_open, memory_session_close, and memory_session_get make the tool's role unmistakable.

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?

The description gives clear usage context: pass repo and optionally github/topic so a reopened session preserves workspace scope, and it explicitly contrasts with a manual memory_state_set call. It does not enumerate when to prefer this over session_open/ensure, but the append semantics and automatic-reopen behavior make the intended usage clear.

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

memory_session_closeMemory Session CloseAInspect

Close a working-memory session.

If distill is true (default), the transcript is queued for the background worker to summarize into durable org-scoped memories.

ParametersJSON Schema
NameRequiredDescriptionDefault
distillNoEnqueue for distillation into semantic/episodic memory
session_idYesSession id to close

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that closing queues the transcript for background distillation into durable org-scoped memories when distill is true, which is a meaningful side effect. It does not mention idempotency or what happens if distill is false, but the core behavior is transparent.

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 two focused sentences with no filler. The primary action is front-loaded, and the second sentence adds necessary behavioral detail about the default distill behavior.

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 two-parameter tool with a complete input schema and an output schema, the description covers the main behavior and the important background-distillation side effect. It could mention irreversibility or the effect of distill=false, but the available information is sufficient for an agent to invoke it correctly.

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 the schema already documents both parameters. The description adds context about 'durable org-scoped memories' for distill, but does not significantly extend the meaning of session_id beyond what the schema provides.

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 phrase 'Close a working-memory session' names a specific verb and resource, clearly distinguishing it from sibling tools like memory_session_open, memory_session_append, and memory_session_get. The additional sentence about distillation clarifies the incidental behavior without muddying the primary purpose.

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 makes it obvious that this tool is used when a working-memory session should be ended, but it does not explicitly state when to prefer this over sibling session tools or mention any exclusions. Usage is clear by implication rather than by explicit guidance.

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

memory_session_ensureMemory Session EnsureAInspect

One-call session bootstrap: recover the active session or open one.

Replaces the memory_state_get → memory_session_close → memory_session_open → memory_state_set ritual. Reuses the session in the conversation/active-session state pointer when it is still open and owned by the caller; otherwise closes it (distilling) and opens a fresh one, updating state. Returns {session_id, agent, resumed, soul, soul_linked}. When the bearer is linked to a human account, soul is their private compressed identity block for this org (may be empty string if not yet written). When playbook_slug or a work_id with a bound slug resolves, also returns playbook {name, description, body_md, slug} (skill-expanded, capped) on both fresh and resume paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoSession TTL in seconds (default from server config)
repoYesWorkspace slug (absolute path with leading / removed and / replaced by -). Keys the conversation/active-session state pointer.
userNoSubstantive user request for this turn. When set, appended as the user turn in the same call (replaces a separate memory_session_append).
agentNoOverride agent identity
freshNoForce rotation: close any stored session (queueing distillation) and open a new one. Pass true on the first turn of a new chat.
topicNoWhat this session is about (used when opening a new one)
githubNoGitHub owner/repo; distilled memories inherit the tag
work_idNoWork item UUID. When set and playbook_slug is omitted, that item's playbook_slug is injected on the ensure payload.
playbook_slugNoNamed playbook to attach (wins over the work item's slug). Unset/missing/cross-org omits playbook — never dumps the catalog.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full disclosure burden and meets it: it details the state transition, side effects (closing with distillation, opening fresh, updating state), conditional return fields, and the appending of a user turn when 'user' is set. This goes well beyond a generic 'ensures a session' statement.

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?

The description opens with a crisp one-sentence summary and then uses dense, purposeful clauses for the lifecycle and return contract. It is long, but for a stateful bootstrap tool with conditional return behavior, each sentence earns its place; only minor trim could tighten phrasing.

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?

The description covers the session lifecycle, destructive/rotating behavior, distillation, return shape, and playbook resolution, which is enough for an agent to invoke it correctly. It does not define 'owned by the caller' or auth prerequisites, but the rich prose plus an output schema keep the remaining gaps minor.

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 coverage is 100%, so the schema already documents all nine parameters and the baseline is 3. The description adds some contextual behavior around playbook_slug/work_id resolution and the fresh flag, but it does not substantially extend the schema's per-parameter explanations.

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 names a specific operation—'recover the active session or open one'—and positions it as a one-call bootstrap that replaces a four-step ritual. This clearly distinguishes it from siblings like memory_session_open, memory_session_close, memory_state_get, and memory_state_set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Replaces the memory_state_get → memory_session_close → memory_session_open → memory_state_set ritual' is an explicit when-to-use statement, and the resume-vs-open logic tells the agent when the tool will reuse versus rotate. It also names conditions (owned and open; fresh flag) that route behavior, leaving little to inference.

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

memory_session_getMemory Session GetAInspect

Read session metadata and turns (debug, handoff, append failure recovery).

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesSession id from memory_session_open

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It clearly signals a read-only operation and specifies what is read, but it does not disclose behavior for missing sessions, error conditions, or staleness. For a simple getter this is acceptable but not richly transparent.

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?

A single, front-loaded sentence that conveys the action, resource, and use cases with zero wasted words. Every element earns its place.

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 single-parameter read tool with an output schema present, the description is almost complete. It covers purpose and typical triggers. It could mention error behavior for non-existent sessions, but that is a minor gap given the tool's simplicity.

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 parameter description already adds provenance ('Session id from memory_session_open'). The tool description itself adds no additional parameter semantics, so the schema does the heavy lifting—baseline 3 is appropriate.

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 uses a specific verb ('Read') and names the exact resource ('session metadata and turns'), with parenthetical use cases that distinguish it from sibling session tools like memory_session_open, memory_session_append, and memory_session_close. An agent can immediately understand what this tool does without opening the schema.

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?

The parenthetical list 'debug, handoff, append failure recovery' provides clear contexts in which this tool is useful. It doesn't explicitly name alternative tools, but the context is strong enough to guide an agent toward when to call this getter versus other session-management siblings.

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

memory_session_openMemory Session OpenCInspect

Open a working-memory session and return a session_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoSession TTL in seconds (default from server config)
repoNoWorkspace slug of the repo this session is about. Memories distilled from the session inherit a 'repo:<slug>' tag so they stay scoped to this workspace.
agentNoOverride agent identity
topicNoWhat this session is about (free text)
githubNoGitHub repository as owner/repo. Distilled memories inherit a 'github:<owner>/<repo>' tag.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it only reveals that a session_id is returned. It does not disclose that each call creates a new session (non-idempotent), that TTL governs expiry, that unclosed sessions may hold resources, or that callers should pair this with memory_session_close. The existence of a TTL parameter and a close sibling implies real lifecycle behavior that the description leaves unstated.

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?

A single front-loaded sentence with zero filler; verb, resource, and output all appear immediately. It earns its place. It borders on under-specification, which is penalized elsewhere, but as pure conciseness it is well-formed.

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

Completeness3/5

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

Given the output schema exists and all five optional parameters are fully documented, parameter understanding is complete. The gap is contextual: nothing explains the session lifecycle (open → work → close), when to prefer ensure over open, or what side effects opening creates. For a session-management tool in a large memory* family, this missing lifecycle context is a real but not fatal shortfall.

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 descriptions are rich (e.g., repo and github parameters explain tag inheritance for distilled memories), so the baseline of 3 applies. The description adds nothing about parameters, but it does not need to — the schema already carries the semantic weight.

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?

The description uses a specific verb ('Open'), names a clear resource ('working-memory session'), and states the primary output ('return a session_id'). This distinguishes it from the session lifecycle siblings at a glance — append, close, get are all different verbs. However, it does not differentiate from memory_session_ensure, which plausibly also opens a session when none exists, leaving some ambiguity between the two.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the closely related siblings. Critically, memory_session_ensure is a likely get-or-create alternative to memory_session_open, and memory_session_close implies a lifecycle responsibility — yet the description mentions none of these. The agent must infer usage from the schema alone.

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

memory_skill_feedbackMemory Skill FeedbackAInspect

Propose a skill/playbook rewrite from a human-approved draft vs kept.

Stores the pair as a pending rewrite. The live skill does not change. A human accepts or rejects the proposed diff in the console; accept writes vN+1 through the existing setter. Never auto-overwrites.

ParametersJSON Schema
NameRequiredDescriptionDefault
keptNoHuman-kept / live body snapshot. Default: current live body
kindNoskill (atomic how-to) or playbook (composed flow)skill
nameYesSkill or playbook name that ran
noteNoWhy this rewrite, or the human-approved result summary
agentNoOverride agent identity
draftYesProposed new body_md (skill) or steps_md (playbook)
extraNoProposed extras: tool_hints/tags (skill) or tool_recipe/tags (playbook)
originYesWho proposed the rewrite: agent, human, or curator
descriptionNoProposed one-line summary

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly: the live skill is unchanged, the pair is stored as pending, a human must accept or reject in the console, accept writes vN+1, and the tool never auto-overwrites. This gives an agent a clear safety model for a mutating feedback operation.

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?

Four sentences, each earning its place: purpose, storage state, live behavior, human approval flow, and the never-overwrite guarantee. The description is dense but not verbose, with the purpose front-loaded.

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?

Given an output schema exists and all 9 parameters are documented, the description covers the workflow adequately. Minor ambiguity in 'human-approved draft vs kept' and no explicit pointer to memory_skill_set as the setter prevent a 5.

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 each parameter is already documented. The description adds only a light framing of 'draft vs kept' and does not provide additional parameter-level detail beyond the schema, meriting the baseline 3.

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 opens with a specific verb and resource: 'Propose a skill/playbook rewrite from a human-approved draft vs kept.' It also distinguishes itself from direct setters by stating 'The live skill does not change' and 'accept writes vN+1 through the existing setter.'

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 clearly conveys when to use this tool: to store a pending rewrite that requires human approval, and it explicitly says 'Never auto-overwrites.' It does not name alternatives like memory_skill_set or memory_playbook_set, but the human-in-the-loop review context makes the intended use unmistakable.

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

memory_skill_getMemory Skill GetAInspect

Fetch a stored skill by name (and optionally version).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSkill name
versionNoSpecific version (default: latest active)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the transparency burden. The verb 'Fetch' makes the read-only, non-mutating nature of the operation clear, and 'stored skill' indicates it reads existing data. It does not detail error behavior, but for a simple retrieval that is a minor gap.

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 a single, highly efficient sentence with no filler. Key information (action, resource, primary parameter, optional parameter) is front-loaded and every word earns its place.

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?

The tool has only 2 simple parameters, a fully described input schema, and an output schema, so the description does not need to explain return values. The description, combined with the schema, gives an agent everything needed to invoke this simple retrieval correctly.

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 the schema already documents the 2 parameters clearly. The description adds only logical mapping ('by name', 'optionally version') without introducing additional semantic detail beyond what the schema provides. This matches the baseline for high schema coverage.

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?

Purpose Clarity: The description uses a specific verb ('Fetch') and a concrete resource ('a stored skill') plus the query key ('by name'), which clearly defines what the tool does. It is easily distinguished from sibling tools like memory_skills_list (lists skills) and memory_skill_set (writes skills).

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?

The description gives clear context for when to call this tool: when a specific stored skill needs to be retrieved by name, with an optional version. It does not explicitly name alternatives or exclusions, but the single-skill retrieval semantics are unambiguous against the sibling list/set tools.

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

memory_skill_resolveMemory Skill ResolveBInspect

Resolve a playbook's tool_recipe.skills refs to full skill records.

ParametersJSON Schema
NameRequiredDescriptionDefault
playbook_nameYesPlaybook whose skills to resolve
playbook_versionNoPin playbook version (default latest)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says 'resolve' but does not clarify whether the operation is read-only, whether it mutates any state, or how missing refs or invalid versions are handled.

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?

One focused sentence that front-loads the verb and object. There is no filler, and every phrase contributes to the tool's meaning.

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

Completeness3/5

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

With only two well-documented parameters and an output schema present, the core invocation details are covered. However, the absence of annotations and any behavioral or alternative-tool context leaves the description slightly thin for an agent navigating a large sibling family of memory_skill tools.

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 description coverage is 100%, so the baseline is 3. The description adds meaning by naming the specific field (tool_recipe.skills) and explaining that resolution yields full skill records, which is more specific than the schema's 'Playbook whose skills to resolve'.

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 action ('Resolve') and precise resource ('playbook's tool_recipe.skills refs'), making the tool's core job clear. It is distinct from memory_skill_get and memory_skills_list at the content level, though it does not explicitly contrast itself with those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool over memory_skill_get, memory_skill_set, or memory_skills_list. The single sentence implies a use case, but it provides no conditions, exclusions, or alternative routing.

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

memory_skill_setMemory Skill SetAInspect

Insert a new version of a skill. Each call creates a new version.

Skills are atomic instruction building blocks. Playbooks compose them via tool_recipe.skills on memory_procedure_set. Routed through the guarded ingestion pipeline; only active skills are visible to recall and memory_skill_get.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSkill name (stable id)
tagsNoTags for discovery
agentNoOverride agent identity
body_mdYesMarkdown body the agent will read
owner_idNoOrg member UUID. Omit inherits last owner or the writer.
tool_hintsNoOptional structured hints (preferred MCP tools, params)
descriptionNoOne-line summary
verification_daysNoVerification window: 30, 90, or 180 days; 0 for none. Omit inherits the last window.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/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 behavioral burden. It discloses that each call creates a new version, routes through a guarded ingestion pipeline, and only exposes active skills to recall and memory_skill_get. This is useful side-effect and visibility information, though it omits details like authentication requirements and exactly what makes a version 'active'.

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 three concise sentences. The first sentence states the core action; the second gives domain context about where skills fit; the third explains pipeline and visibility. Every sentence earns its place, and there is no redundancy or fluff.

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?

The tool has full schema coverage and an output schema, so parameters and return values are handled by structured data. The description adds essential versioning and visibility context. The main gap is that 'active' status is referenced but not explained, and there is no mention of auth or ownership preconditions.

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 the baseline is 3. The tool description adds no parameter-specific meaning and doesn't clarify how fields like owner_id, verification_days, or tool_hints interact with the versioning model. It therefore does not exceed the schema's parameter documentation.

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 opens with a specific action: 'Insert a new version of a skill' and reinforces that every call creates a new version. This clearly separates it from read/list/delete siblings such as memory_skill_get, memory_skills_list, and memory_forget_skill. The verb+resource pair is unambiguous.

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 provides implied usage context by explaining that skills are building blocks for playbooks and that only active skills are visible to recall and memory_skill_get. However, it never explicitly states when to use this tool versus alternatives, nor does it give any when-not-to-use guidance, leaving the agent to infer the write path.

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

memory_skills_listMemory Skills ListAInspect

List all skills (latest version of each) in the caller's org.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoFilter by tag
limitNo
offsetNoPagination offset
include_bodyNoInclude full body_md and tool_hints

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It usefully discloses that only the latest version of each skill is returned and that the scope is the caller's org. However, it does not mention pagination behavior, the default 50-item limit, or that bodies are omitted unless include_body is true. These details are in the schema, but the description itself adds only minimal behavioral context.

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?

A single sentence that front-loads the core operation and its key scoping nuance, with no filler or redundancy. Every word contributes meaning.

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?

With an output schema present and parameter defaults fully expressed in the schema, the description is sufficient for basic call selection and invocation. It could add guidance about filtering by tag or distinguishing from single-skill retrieval, but these are not critical given the schema coverage and clear purpose.

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?

The input schema covers 3 of 4 parameters (tag, offset, include_body), leaving only limit undocumented, and the description adds no parameter-level clarification. This is adequate but slightly below the high-coverage baseline because the limit parameter has no description in either the schema or the tool description, and the description does not help an agent understand pagination semantics.

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 action ('List'), a resource ('all skills'), and a scoping nuance ('latest version of each' in the 'caller's org'). This clearly distinguishes it from related memory_skill_get, memory_skill_set, memory_skill_resolve, and memory_skill_feedback tools.

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 the tool is for listing skills by stating its purpose, but it does not explicitly state when to choose this over siblings such as memory_skill_get or memory_skill_resolve, nor does it give exclusion criteria. The 'latest version of each' note provides some context, but no explicit alternatives or when-not-to-use guidance is given.

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

memory_soul_getMemory Soul GetAInspect

Return this person's private soul for the current org.

The soul is a tiny compressed identity block (who they are, style, likes/dislikes, dos/don'ts). Empty when none yet or the API key is not linked to a human account (mint keys from the console while signed in). Also returned on memory_session_ensure as soul.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does this well by explaining the empty case: 'Empty when none yet or the API key is not linked to a human account,' and by adding the context about minting keys from the console while signed in. It also correctly characterizes the data as a 'private soul,' signaling sensitivity. The only omission is an explicit read-only guarantee, but 'Return' reasonably implies no mutation.

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 and front-loaded with the primary action. Each subsequent sentence earns its place: the definition of a soul, the empty/edge-case behavior, and the useful alternative source via memory_session_ensure. There is no filler or repetition.

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-parameter getter with an output schema available, the description is complete. It explains what the returned value means, when it can be empty, and offers a fallback source. Nothing an agent needs to call it correctly is missing.

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?

The tool has zero parameters, so there is nothing for the description to explain about parameters. The rubric sets a baseline of 4 for zero-parameter tools, and the description wisely spends no space on parameters. The 'current org' scope is implied by the description, which is sufficient.

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 opens with a specific verb and resource: 'Return this person's private soul for the current org.' It further defines exactly what a soul is ('a tiny compressed identity block...'), which removes ambiguity. It is clearly distinguishable from the sibling memory_soul_set by the get/set contrast and the resource it targets.

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?

The description gives clear context for when this tool is appropriate: to retrieve the private soul for the current org. It also notes that the soul is 'Also returned on memory_session_ensure as soul,' which alerts an agent to an alternative source. It does not explicitly state when not to use it, but the purpose is clear enough that an agent can decide.

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

memory_soul_setMemory Soul SetAInspect

Replace this person's private soul for the current org.

Prefer compact structured markdown. Preferences written via memory_remember(kind=preference) also absorb into the soul.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent attribution label
body_mdYesCompressed soul markdown (identity, role, style, likes, dislikes, dos/don'ts, patterns). Keep short; server caps length.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/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 it does disclose the key trait: this tool replaces (overwrites) the person's private soul. It also surfaces a non-obvious behavior—preferences written elsewhere via memory_remember(kind=preference) also absorb into the soul—which agents would not infer from schema alone. It does not cover permissions or irreversibility, but 'replace' already signals the destructive nature.

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?

Three short sentences with no filler: the action is front-loaded, and each subsequent sentence carries distinct information (format preference and preference absorption). This is appropriately sized for a simple two-parameter tool.

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?

Given an output schema exists and the input schema covers 100% of parameters, the description does not need to document return values or parameter details. It covers the core mutation, the preferred body format, and a relevant side effect. The main gap is the lack of routing guidance among the many memory_* siblings, but the purpose is clear enough to invoke correctly.

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 description coverage is 100%, so the baseline is 3. The description still adds value by specifying a preferred serialization ('compact structured markdown') and by clarifying that preference entries written through memory_remember(kind=preference) are additional content that becomes part of the soul, which is not stated in the schema. The optional agent override is left to the schema, which is sufficient.

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?

The description uses a specific verb ('Replace') with a clear resource ('this person's private soul') and scope ('for the current org'), so an agent can tell this is a write operation on the soul rather than a read. It is more explicit than the title alone, though the domain term 'soul' and the reference 'this person' are not expanded here and are not explicitly contrasted with sibling set tools like memory_agent_set.

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 gives useful how-to guidance: prefer compact structured markdown, and note that memory_remember(kind=preference) preferences absorb into the soul. However, it does not state when this tool should be chosen over alternatives such as memory_soul_get or memory_agent_set, nor does it give any when-not-to-use conditions; usage context is only implied by the replace action.

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

memory_state_getMemory State GetAInspect

Fetch JSON state scoped to the caller's org, bearer token, and repo.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesOpaque state key, e.g. continual-learning/index
repoYesWorkspace slug (absolute path with leading / removed and / replaced by -)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. 'Fetch' signals a read-only operation, and the explicit mention of scoping to org, bearer token, and repo is a useful behavioral detail beyond the schema. It does not describe error behavior, but that is not critical for a simple getter with an output 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 one short sentence with no wasted words. The core operation 'Fetch JSON state' is front-loaded, followed by the scoping qualifiers.

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?

The tool is simple, with only two well-documented parameters and an output schema. The description plus schema is enough for an agent to invoke it correctly. It lacks explicit sibling differentiation, but that gap is minor given the simplicity of the resource.

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 the baseline is 3. The description adds little beyond the schema, though it does contextualize 'repo' as part of the state's scoping. It does not add meaningful detail about 'key' beyond the schema's example.

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 operation and resource: fetching JSON state. It also clarifies the state's scope (caller's org, bearer token, and repo), which distinguishes it from sibling tools like memory_state_set and other memory retrieval tools.

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 imperative 'Fetch' and the scoping conditions imply this is the read path for repo-scoped JSON state. However, there is no explicit when-to-use/when-not guidance or direct comparison with alternatives such as memory_state_set or memory_recall.

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

memory_state_setMemory State SetBInspect

Persist JSON state scoped to the caller's org, bearer token, and repo.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesOpaque state key
repoYesWorkspace slug
valueYesJSON object to store

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It reveals the storage scope (org, token, repo) but does not state whether setting an existing key replaces or merges the previous value, whether data expires, or what happens on failure. The mutation side effect is only weakly implied by 'Persist'.

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?

A single sentence that leads with the verb and scope, with no redundant wording. It is appropriately brief for a simple three-parameter tool.

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

Completeness3/5

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

The description is adequate for selecting the tool, given the fully documented schema and presence of an output schema. However, it omits useful operational context such as overwrite semantics and failure behavior, which an agent might need to predict the effect of calling it twice with the same key.

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 the schema fully documents key, repo, and value as opaque string, workspace slug, and JSON object. The description adds at most the scoping role of repo, so there is no need for further parameter explanation beyond the baseline 3.

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 specific verb (persist), resource (JSON state), and the scoping of that state to org, bearer token, and repo. This clearly distinguishes it from the sibling memory_state_get, which retrieves state, and from memory_remember, which stores episodic memories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit when-to-use or when-not-to-use guidance and does not name any alternative tools. The scoping to org/bearer token/repo implies a per-workspace state store, but the agent is left to infer how this differs from memory_remember or context_commit.

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

memory_strategic_entity_getMemory Strategic Entity GetAInspect

Fetch one strategic entity by type and id.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYesEntity UUID
entity_typeYesobjective, key_result, initiative, plan, or statement

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden alone. 'Fetch' clearly signals a read-only retrieval operation with no mutation or side effects, which is sufficiently transparent for a simple getter. It does not detail not-found behavior or auth requirements, but these are less critical for this tool type.

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 a single, front-loaded sentence with no filler or redundant information. Every word adds value, and it efficiently communicates the tool's core purpose.

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 simple two-parameter getter with a complete input schema and an output schema, the description is largely sufficient. The main omission is guidance on sibling-tool selection, but the low complexity and rich schema context mean the description does not need much more.

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 input schema already documents entity_type (including the enum) and entity_id as a UUID. The description merely refers to 'type and id' and adds no semantic meaning beyond what the schema provides, so the 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?

The description uses a specific verb ('Fetch') and a concrete resource ('strategic entity') with explicit lookup criteria ('by type and id'). This clearly distinguishes it from list-oriented or type-specific siblings like memory_strategic_plan_get or memory_strategic_statement_get.

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 the tool should be used when a single strategic entity needs to be retrieved by its type and ID, but it does not explicitly state when to prefer this over sibling getters such as memory_strategic_plan_get or memory_strategic_statement_get. No exclusions or alternative routing are provided.

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

memory_strategic_initiative_setMemory Strategic Initiative SetCInspect

Propose a strategic initiative.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
titleYesInitiative title
plan_idYesParent plan UUID
objective_idNoAligned objective UUID
key_result_idNoAligned key result UUID
description_mdNoOptional description

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior, but it only says 'propose'—a non-committal verb. It does not state whether the initiative is persisted, whether an existing initiative with the same title gets overwritten, or whether alignment to objective/key_result is enforced. For a mutation-style 'set' tool, this is a significant transparency gap.

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?

The description is a single short sentence with no fluff, so it is concise. However, it is under-specified rather than efficiently complete—at this length it fails to convey behavior or usage, so the brevity does not add value beyond stating the basic resource.

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

Completeness2/5

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

The tool sits in a hierarchy of strategic-memory setters (plan, objective, key result, initiative, statement), yet the description gives no context on how an initiative relates to those entities or what 'propose' means in that workflow. With six parameters and no annotations, an agent needs more operational context to call it correctly. The presence of an output schema covers return values, but not the surrounding strategic-memory workflow.

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 every parameter is already documented, including plan_id as 'Parent plan UUID' and objective_id as 'Aligned objective UUID'. The description adds no parameter semantics beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('propose') and resource ('strategic initiative'), which is more than a tautology, but 'propose' is ambiguous—it does not clarify whether this creates, updates, or merely flags an initiative. It also does not distinguish this from sibling setters like memory_strategic_objective_set or memory_strategic_key_result_set beyond the resource name. An agent gets only a general sense of the tool's domain, not its exact operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus its siblings. No prerequisites (e.g., existence of the parent plan) or exclusions (e.g., use objective_set for objectives) are mentioned. An agent must infer usage entirely from parameter names and required fields, which is the schema's job, not the description's.

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

memory_strategic_key_result_setMemory Strategic Key Result SetAInspect

Propose a key result under an objective.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
titleYesKey result title
metric_unitNoUnit, e.g. %
objective_idYesParent objective UUID
track_statusNoon_track, at_risk, off_track, or doneon_track
metric_targetNoTarget value
description_mdNoOptional description
metric_currentNoCurrent value

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Propose' hints at some kind of creation or suggestion, but the description does not state whether this writes/updates data, validates the parent objective, or has other 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.

Conciseness5/5

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

The description is a single sentence with no filler, redundant qualifiers, or repeated schema information. The core action and context are front-loaded.

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

Completeness3/5

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

With 8 parameters and no annotations, the one-clause description leaves some behavioral and workflow questions open, such as whether the objective must already exist or how metric fields relate to the proposed key result. The full input schema and output schema cover the mechanics, making the description minimally adequate.

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 every parameter already has a meaningful description. The tool description adds little beyond naming the key result and its relationship to an objective, which matches the baseline for schema-heavy tools.

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 ('Propose'), a specific resource ('key result'), and the relationship ('under an objective'). Among sibling strategic planning tools, this clearly identifies the key result tool rather than objective, initiative, or statement tools.

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 when to use the tool: when proposing a key result under a parent objective. However, it does not explicitly contrast it with alternatives like memory_strategic_initiative_set or memory_strategic_objective_set, nor does it mention exclusions.

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

memory_strategic_objective_setMemory Strategic Objective SetBInspect

Propose an objective under a plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
titleYesObjective title
plan_idYesParent plan UUID
owner_idNoOwner UUID
owner_typeNouser or agent
sort_orderNoDisplay order
description_mdNoOptional description

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the operation is an upsert, create, or update; whether it is idempotent; whether it requires authorization; or what side effects it has. The word 'propose' is especially ambiguous because it could imply a non-persisting suggestion rather than a concrete set operation.

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?

The description is a single sentence with no filler and the main subject is front-loaded. It is structurally clean and easy to parse, though it is slightly under-specified in terms of content, so it does not earn a perfect score.

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

Completeness2/5

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

Given that this is a write-style tool with no annotations and seven parameters, a one-sentence description is not fully adequate. It does not explain the strategic-hierarchy context, whether the tool creates or updates, or how 'objective' relates to plan, key_result, and initiative tools. The full schema and presence of an output schema reduce some burden, but the behavioral and selection context is still incomplete.

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 the schema already documents all seven parameters, including plan_id as 'Parent plan UUID' and title as 'Objective title'. The description's 'under a plan' only re-emphasizes the same parent relationship and does not add meaningful detail beyond the schema definitions.

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?

The description names a specific action ('propose') and a specific resource ('objective under a plan'), which is enough to roughly distinguish it from other strategic-tool siblings like plan_set, key_result_set, and initiative_set. However, 'propose' versus the tool name 'set' leaves ambiguity about whether this creates, updates, or stages an objective, and no siblings are named explicitly.

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 phrase 'under a plan' gives some contextual signal about when this tool applies, and it clearly points to the parent-child relationship captured by plan_id. But it does not explicitly state when not to use this tool or how it differs from alternatives such as memory_strategic_key_result_set or memory_strategic_initiative_set, so the usage guidance is mostly implied rather than explicit.

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

memory_strategic_plan_getMemory Strategic Plan GetAInspect

Fetch one strategic plan, optionally with the full OKR tree.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYesPlan UUID
include_treeNoInclude objectives, key results, initiatives

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. 'Fetch' clearly signals a read-only operation, and the optional OKR tree behavior is stated. However, it does not mention defaults, not-found behavior, or side effects. The read-only nature is reasonably clear, but richer detail is missing.

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 a single front-loaded sentence with no filler. Every phrase contributes meaning: single plan selection, fetch action, and optional tree inclusion.

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?

This is a simple two-parameter retrieval tool with an output schema present, so the description plus schema is largely sufficient for correct invocation. The main gap is the lack of explicit usage routing to sibling list/set tools and absence of not-found/default behavior, but those are minor for this tool's complexity.

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 the baseline is 3. The description's mention of the 'full OKR tree' reinforces include_tree but does not add significant meaning beyond the schema's explicit parameter descriptions.

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 uses a specific verb and resource: 'Fetch one strategic plan.' It clearly distinguishes this tool from sibling tools like memory_strategic_plan_list and memory_strategic_plan_set by specifying that it fetches a single plan.

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 single-record retrieval but does not explicitly state when to use this tool versus list or set alternatives. An agent can infer intended usage from the phrase 'one strategic plan' and from sibling tool names, but no direct routing or exclusion guidance is provided.

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

memory_strategic_plan_listMemory Strategic Plan ListAInspect

List OKR cycles (strategic plans) for the org.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
active_onlyNoOnly active plans

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

The description makes clear this is a read/listing operation, but no annotations are provided to cover safety or behavior. It does not disclose that active_only defaults to true, meaning the tool returns only active plans unless told otherwise, nor does it mention limits or ordering behavior.

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?

Single sentence with no wasted words. The verb and resource are front-loaded, and the parenthetical clarifies the 'OKR cycles' terminology immediately.

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

Completeness3/5

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

The tool is simple, has an output schema, and only two optional parameters, so the description is close to sufficient for a basic list call. The main gap is that the default active-only behavior is not surfaced, which could lead an agent to believe the tool returns all strategic plans regardless of active status.

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 coverage is 50%: active_only has a description, while limit does not, though its purpose is fairly inferable. The description mostly reinforces the resource domain but adds little parameter-level meaning beyond what the schema already provides.

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 action ('List') and a clear resource ('OKR cycles / strategic plans') scoped to the org. This distinguishes it from sibling tools like memory_strategic_plan_get (singular retrieval) and memory_strategic_plan_set (creation/update), so an agent can quickly identify what this tool does.

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 usage context is implied: use this when you need the collection of strategic plans/OKR cycles for the org. However, the description does not explicitly mention alternatives or when not to use it, such as using memory_strategic_plan_get for a single plan.

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

memory_strategic_plan_setMemory Strategic Plan SetCInspect

Propose a new OKR cycle.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCycle name, e.g. 2026 Q2
agentNoOverride agent identity
period_endYesInclusive end date
period_startYesInclusive start date

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It states the core action—'Propose a new OKR cycle'—but does not disclose whether this persists data, overwrites existing plans, validates the date period, requires permissions, or has any side effects. This is too thin for a write-oriented tool.

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?

The description is a single sentence with no filler, and the core resource and action are front-loaded. It earns its place, though it is terse to the point of omitting useful context.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the description still lacks essential usage context: what happens after proposing, whether an existing OKR cycle is replaced, how this relates to other strategic tools, and whether only one active cycle is allowed. The surrounding sibling list shows a rich strategic-planning domain, yet the description gives almost no orientation within it.

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?

The schema provides descriptions for all four parameters (name, period_start, period_end, agent), so baseline is 3. The tool description adds no additional parameter-level meaning beyond what the schema already documents.

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?

The description uses a specific verb and resource—'Propose a new OKR cycle'—which clearly distinguishes this from related tools like memory_strategic_plan_get, memory_strategic_plan_list, and the objective/key-result setters. However, the word 'propose' sits in slight tension with the tool name 'set', leaving ambiguity about whether it creates a formal plan or merely suggests one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many related strategic-planning tools such as memory_strategic_objective_set, memory_strategic_key_result_set, or memory_strategic_initiative_set. It also does not state whether this is for creating only or updating existing cycles, or whether the 'propose' action requires any follow-up approval or confirmation.

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

memory_strategic_statement_getMemory Strategic Statement GetAInspect

Fetch the active org statement for vision, mission, or purpose.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesvision, mission, or purpose

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. 'Fetch' clearly signals a read operation, and 'active' adds scoping context. However, it does not disclose side-effect-free behavior, auth requirements, or what happens when no active statement exists for the requested kind.

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 a single front-loaded sentence that includes the verb, the resource, and the scope. Every word earns its place, with no redundant filler or restatement of unrelated details.

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 simple one-parameter retrieval tool with an output schema present, the description is largely sufficient. The main minor gap is the lack of guidance about the absent-statement case, but the schema and output schema cover much of the remaining context.

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?

The input schema fully covers the single 'kind' parameter with an enum and a matching description, so the baseline of 3 applies. The description largely repeats the kind options and adds no deeper semantic meaning beyond what the schema already provides.

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 uses a specific verb ('Fetch') and identifies a concrete resource ('active org statement') with a narrow scope of kinds ('vision, mission, or purpose'). This clearly distinguishes it from sibling strategic tools like memory_strategic_plan_get and memory_strategic_entity_get, and from the write counterpart memory_strategic_statement_set.

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 tool's usage as a read operation for the active organization statement is implied by the verb and the kind enum, but the description does not explicitly say when to choose it over alternatives or mention the set counterpart. It is inferable rather than stated.

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

memory_strategic_statement_setMemory Strategic Statement SetBInspect

Propose a new version of vision, mission, or purpose.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesvision, mission, or purpose
agentNoOverride agent identity
content_mdYesMarkdown body

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full disclosure burden, but it only says that the tool proposes a new version. It does not explain whether the proposal becomes active immediately, whether the existing statement is preserved, or whether approval or an existing statement is required.

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 one front-loaded sentence with no filler. Every word contributes to conveying the action and scope, and it is appropriately sized for a tool with a well-documented schema.

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

Completeness3/5

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

The schema covers all parameters and there is an output schema, so return details are not required. However, the semantics of 'propose' and 'new version' are under-specified: it is unclear whether this replaces, appends, or stages a version, and whether an existing strategic statement must be present. That leaves an agent with meaningful uncertainty about the side effects of invoking the tool.

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%, with useful parameter descriptions including the kind enum and Markdown body. The description adds no parameter-level information beyond the schema, so the baseline of 3 is appropriate.

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?

The description uses a specific verb ('propose') and resource ('a new version of vision, mission, or purpose'), and lists the three possible kinds. However, it does not explicitly contrast itself with siblings such as memory_strategic_statement_get, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is provided, no prerequisites are stated, and no alternatives or exclusions are named. The only usage signal is the implied action, which is too thin for a tool inside a large family of strategic and memory tools.

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

memory_thinkMemory ThinkAInspect

Synthesized answer with citations and gap analysis (GBrain think parity).

Runs durable recall (default scope excludes working), then composes a cited prose answer plus explicit gaps. For named-entity or competitor questions, call memory_recall with a short keyword anchor first — synthesis quality depends on retrieval. Prefer memory_think when you need prose + gaps after recall surfaced hits, or for open strategic questions. Default sources are current truth; pass include_superseded=true to include retired facts.

ParametersJSON Schema
NameRequiredDescriptionDefault
kNoMax source records to retrieve before synthesis
repoNoWorkspace slug; boosts repo-scoped memories in retrieval
queryYesQuestion to answer from team memory
githubNoGitHub owner/repo; boosts github-tagged memories
token_budgetNoApprox token budget for source packing
include_supersededNoWhen true, synthesize from current truth plus superseded/merged history. Default is current truth only.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden, and it does well: it states the internal sequence (durable recall, then a cited prose answer plus gaps), the default exclusion of working-memory scope, and the current-truth-only default. It does not explicitly declare that the tool has no mutating side effects, but the described behavior strongly implies a read/synthesize operation.

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 information-dense with no filler: every sentence contributes either a definition, a usage rule, a warning about retrieval dependency, or a key default behavior. The most important identifier is front-loaded first.

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?

Given the output schema exists and the input schema documents all parameters, the description covers the remaining contextual needs: when to use this tool versus memory_recall, how retrieval affects quality, what scope is used by default, and how to switch to superseded history. Nothing critical is missing for correct invocation.

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 the schema already fully documents every parameter. The description adds a small amount of extra semantic nuance for include_superseded and the retrieval-dependent nature of quality, but it does not materially enrich k, repo, github, or token_budget beyond their schema descriptions.

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 opens with a specific verb+resource statement: 'Synthesized answer with citations and gap analysis', which clearly defines what the tool produces. It also distinguishes itself from memory_recall by positioning this as the 'prose + gaps' layer after recall has surfaced hits, so it is not confusable with sibling memory tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit routing guidance: named-entity/competitor questions should call memory_recall first, while memory_think is preferred for prose-plus-gaps or open strategic questions. It also explains that synthesis quality depends on retrieval, telling the agent when a prerequisite step is needed.

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

memory_tools_catalogMemory Tools CatalogAInspect

Discover teamshared MCP tools for the current turn.

Returns protocol (every-turn loop), chooser (need → tool), never (hard constraints), and grouped tools with when / avoid / copy-paste example. Pass need= when choosing a tool mid-conversation. Also returns tool_recipe_shapes and aliases (procedure_* → playbook_*).

ParametersJSON Schema
NameRequiredDescriptionDefault
needNoConversation router: short intent (e.g. 'share a file', 'live slack', 'create a task'). Returns matching chooser rows plus those tools' when/avoid/example. Omit to browse.
tierNoOptional filter: core, extended, or human
scopeNomemory, work, or all tool groupsall

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full disclosure burden and mostly meets it by enumerating the exact return groups (protocol, chooser, never, grouped tools with when/avoid/example, tool_recipe_shapes, aliases). This tells agents the shape of the response and the routing semantics. It does not explicitly state read-only/no side effects, but the catalog framing makes mutation unlikely; a 4 rather than 5 because side-effect status and 'current turn' meaning are left implicit.

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?

Four sentences, front-loaded with the core purpose; the rest summarizes return data and usage in dense backticked terms. Every sentence earns its place, though the jargon (protocol, chooser, never) is not defined in prose — mitigated by the subsequent explanation.

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 3-parameter, all-optional catalog tool with an output schema, the description is largely complete: it covers what is returned, when to pass 'need', and that aliases exist. It could be more explicit about the meaning of 'teamshared' and 'current turn', but nothing essential for invoking the tool 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 coverage is 100%, and the schema already defines 'need' as a conversation router and 'tier'/'scope' as filters. The description adds only that 'need' should be passed mid-conversation, and shows the 'need → tool' mapping in the chooser. This is marginal beyond the schema, so a 3 is appropriate.

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 clear verb-resource pair ('Discover teamshared MCP tools') and a temporal scope ('for the current turn'). It immediately distinguishes itself from the sibling action tools: it is the meta-discovery/catalog tool, not a domain operation. The mention of return categories reinforces what the tool exists for.

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 one explicit usage rule: 'Pass need= when choosing a tool mid-conversation' — a concrete when-to-use condition. It does not list exclusion criteria or name alternative tools, but for a catalog tool the alternative set is all the tools it helps discover, so the guidance is sufficient.

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

project_archiveProject ArchiveBInspect

Archive or restore a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
archivedNoTrue to archive, False to restore
project_idYesProject UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

The description implies a reversible state toggle ('or restore') and the schema's archived property confirms the behavior, but it does not disclose side effects such as whether archived projects are hidden from lists, require special permissions, or affect associated work. With no annotations provided, the description carries the full burden and only partially satisfies it.

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 only five words, front-loaded with the core verb and resource, and contains no filler or repetition. For a simple toggle operation, this is appropriately concise.

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

Completeness3/5

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

The tool is simple, the schema fully documents the parameters, and an output schema exists, so the description need not explain return values. However, it omits usage guidance and behavioral side effects for a mutating operation with no annotations, making it minimally adequate rather than fully complete.

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?

The schema already covers all parameters at 100% coverage, including the meaning of archived ('True to archive, False to restore') and the default value of true. The description adds no parameter-specific detail, so the baseline of 3 is appropriate.

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 names a specific resource ('project') and explicit actions ('archive or restore'), clearly distinguishing it from siblings like file_archive and project_update. An agent can determine what this tool does without needing to infer from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to choose this tool over alternatives such as project_update or file_archive, nor does it mention any prerequisites or consequences. The only usage signal is the action phrase itself, providing no explicit routing information.

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

project_createProject CreateBInspect

Create a project (Asana-style task container).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProject name
agentNoOverride agent identity
colorNoOptional color label
team_idNoOwning team UUID
owner_emailNoOwner member email
default_viewNolist, board, timeline, or calendarlist
initiative_idNoStrategic initiative UUID for roll-up
description_mdNoOptional markdown body

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral disclosure burden. 'Create' implies a mutating side effect, but the description does not disclose permissions requirements, idempotency, what happens to existing data, or any follow-on effects such as whether an owning team or owner is required in practice.

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?

The description is a single, front-loaded sentence with no filler or redundant phrasing. It is efficient, though slightly sparse given the tool has eight parameters and sits in a large sibling family.

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

Completeness3/5

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

The schema provides rich definitions for all eight parameters and an output schema exists, so the agent can reasonably invoke the tool. However, the description alone does not explain project-specific context such as relationships to work items, teams, initiatives, or when creation might require more than the required 'name' parameter.

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 each parameter already has a documented meaning in the input schema. The description adds no additional parameter-level detail; nevertheless, the baseline of 3 applies because the schema handles the parameter semantics adequately.

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 uses a specific verb and resource: 'Create a project', and the parenthetical '(Asana-style task container)' clarifies that a project is a container for tasks rather than an individual work item. This helps distinguish it from siblings like work_create and project_update.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives. It does not mention project_update for modifying an existing project, project_archive for archiving, or work_create for creating tasks within a project, leaving the agent to infer usage solely from the tool name.

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

project_getProject GetAInspect

Fetch a project with its sections, latest status, attached files, and optionally its tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject UUID
include_itemsNoInclude the project's tasks (board view)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. 'Fetch' clearly signals a read-only operation, and it explicitly lists what is included. It does not disclose error behavior, permissions, or performance characteristics, but for a simple retrieval tool this is a reasonable level of transparency.

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?

A single, front-loaded sentence conveys the tool's purpose and optional behavior with no filler. Every word contributes useful information, and the structure is easy to parse quickly.

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 simple two-parameter read operation with a full input schema and an output schema present, the description is complete. It tells the agent what will be fetched and that tasks are optional, which is sufficient context for correct invocation.

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 the input schema already documents project_id and include_items fully. The description adds only the notion of 'optionally its tasks,' which mirrors include_items. This is baseline-appropriate: the schema does the heavy lifting.

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 ('Fetch'), a clear resource ('a project'), and enumerates the included components: sections, latest status, attached files, and optionally tasks. This distinguishes it from sibling tools like project_list, which presumably lists projects rather than fetching one in detail.

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?

The description provides clear context on what the tool returns, so an agent can infer when to use it: when a single project's full detail is needed. It does not explicitly name alternatives or exclusion criteria, but the context is clear enough for selection among siblings.

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

project_listProject ListCInspect

List projects in the org.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
team_idNoFilter by team UUID
initiative_idNoFilter by initiative UUID
include_archivedNoInclude archived projects

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral burden, but it only says 'List projects in the org.' It doesn't disclose that archived projects are excluded by default, that results can be filtered by team/initiative, or that pagination is limited (max 200). These are meaningful behaviors an agent should know.

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?

The description is a single front-loaded sentence with no filler or redundancy. However, it is terse to the point of omitting useful context, so it earns high marks for structure but not maximum for substance.

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

Completeness3/5

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

Given an output schema and a parameter schema that describes three of four parameters, the definition is minimally viable. It falls short by not stating the default scope (active projects only), that filters are available, or when to choose this over project_get/work_list.

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 75%, so the schema documents team_id, initiative_id, and include_archived. The description adds no parameter-level detail; the limit parameter is undocumented in both schema and description, but the schema constraints (min/max/default) partially compensate.

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?

The description uses a clear verb-resource pair ('List projects') and adds org scope, which distinguishes it from project_get/project_create/project_archive. It doesn't explicitly differentiate from work_list or state whether it returns all projects, but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no mention of filters or default behavior, and no exclusions. An agent would have to infer from the sibling names that project_get is for single-project lookups and project_create for creation.

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

project_section_addProject Section AddBInspect

Add an ordered section to a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSection name (list group / board column)
agentNoOverride agent identity
project_idYesProject UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. 'Add an ordered section' implies mutation but does not clarify ordering semantics, potential reordering effects, side effects on existing sections, or any prerequisites—leaving meaningful behavior undisclosed.

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 a single, front-loaded sentence with no filler. It communicates the core operation efficiently and earns its place.

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

Completeness3/5

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

The tool is simple, has full schema coverage, and includes an output schema, so the structured context is strong. Missing guidance about usage alternatives and ordering behavior leaves the description somewhat incomplete for an agent that has to decide between this and related project/work tools.

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?

The input schema already provides full descriptions for all parameters (100% coverage), including name, project_id, and agent. The description adds no parameter-level information beyond the schema, so it meets the baseline but does not enhance parameter understanding.

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?

The description states a clear action ('Add') and resource ('section') with a target ('project'), which distinguishes it from listing or updating tools. However, 'ordered' is ambiguous—it does not explain whether the caller supplies an order or the system maintains insertion order—so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives such as project_section_list, project_update, or work_add_to_project. The description conveys what the tool does but not the conditions or context that should trigger its use.

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

project_section_listProject Section ListAInspect

List a project's sections in order.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It does disclose the ordering behavior ('in order'), but it does not explicitly state that the operation is read-only, define what 'in order' means, or mention pagination/limits. For a simple list operation this is adequate but minimal.

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?

A single, front-loaded sentence with no filler. Every word contributes: the verb, the resource, the scope, and the ordering behavior.

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 one-parameter read-style list tool, the description plus the fully described input schema and existing output schema are sufficient for an agent to invoke it correctly. No critical 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?

The schema fully documents project_id as 'Project UUID' with 100% coverage. The description's 'a project's sections' merely restates the project relationship and adds no new format, constraints, or semantic detail 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 names a specific verb ('List') and resource ('a project's sections') and even adds the behavioral detail 'in order'. Among siblings, only project_section_add shares the section resource, but its verb is clearly different, so there is no ambiguity.

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?

The description makes the intended use obvious: call this when you need the ordered sections of a specific project. It does not name alternatives explicitly, but no sibling offers the same section-listing function, so an exclusion clause is not necessary.

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

project_status_postProject Status PostCInspect

Post a project status update (on-track / at-risk / off-track banner).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
statusNoAlias for state_label
body_mdNoStatus note (markdown ok)
project_idYesProject UUID
state_labelNoon_track, at_risk, or off_track

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the core action and the status values, but does not disclose whether posting replaces an existing status, whether it is destructive, whether any permission is required, or what side effects occur beyond posting a banner.

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 single-sentence description is concise, front-loaded with the verb and resource, and includes the key status options. It contains no filler and every word contributes to understanding the tool's purpose.

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

Completeness2/5

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

Given five parameters, an alias relationship between status and state_label, and no annotations, the description is too thin. It does not explain that project_id is required, whether either status field must be set, how the alias fields interact, or what happens when both are null. The output schema helps but does not compensate for these gaps.

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 the baseline is 3 per the rubric. The description adds the banner and status-value framing, which slightly reinforces the status/state_label enums, but it does not add meaningful parameter semantics beyond what the schema already documents.

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?

The description clearly identifies the action ('Post') and the resource ('project status update'), with the supported values on-track/at-risk/off-track and the banner-like nature. It is clear, but it does not explicitly differentiate itself from sibling project_update, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus project_update or other project-related tools. The description implies posting a status update but gives no context on prerequisites, alternatives, or when this tool is preferred.

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

project_updateProject UpdateCInspect

Update project metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name
agentNoOverride agent identity
colorNoColor label
project_idYesProject UUID
default_viewNolist/board/timeline/calendar
initiative_idNoStrategic initiative UUID
description_mdNoNew markdown body

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it discloses nothing. It doesn't state whether unspecified fields are preserved (PATCH semantics) or reset, whether passing null clears a field, what permissions are required, or whether the mutation is reversible. The schema's null defaults hint at partial-update semantics, but the description itself is silent on all mutation behavior.

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

Conciseness2/5

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

Three words with no waste, but this is under-specification rather than genuine conciseness. For a 7-parameter mutation tool, a useful definition would spend at least one or two more sentences on update semantics and scope. The sentence is clean but fails to earn its place as a functional tool description.

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

Completeness2/5

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

Despite having an output schema (which relieves the description of explaining return values), this definition is inadequate for a mutation tool with 7 parameters and zero annotations. It lacks partial-update semantics, null-value behavior, and permission prerequisites, and it doesn't clarify how this differs from project_status_post. The schema covers parameters, but the behavioral and routing context needed to call this correctly is entirely absent.

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 the baseline is 3. The description adds no parameter insight beyond the generic word 'metadata,' and all meaningful field-level meaning (name, agent, color, default_view, initiative_id, description_md) is already captured in the schema. The description neither compensates for nor detracts from the schema's coverage.

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 ('Update') and resource ('project'), which clearly distinguishes it from project_create, project_get, project_list, and project_archive among siblings. However, 'metadata' is vague — it doesn't enumerate what fields are updatable or that it's a partial-update operation. The schema compensates, but the description alone leaves the exact scope of 'metadata' imprecise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no exclusions, and no mention of alternatives. An agent must infer from the tool name alone that this is for modifying project settings, and nothing distinguishes it from project_status_post for status-specific updates or project_section_add for structure changes. The description provides zero routing information.

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

request_gated_approvalRequest Gated ApprovalAInspect

Create an item_type=approval child and block the parent.

Does not send, publish, spend, delete, or grant. Human or manager marks the child done, then performs the gated action. Agent seats must call this with gate=publish instead of file_publish / storage_publish, or gate=destructive instead of memory_forget.

ParametersJSON Schema
NameRequiredDescriptionDefault
gateYesNamed gate: external_send, spend, destructive, taste, publish. Does not perform the action.
agentNoOverride agent identity
titleYesApproval child title
parent_idYesParent work item UUID to block
description_mdYesProposed action + draft pointer (handoff packet)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/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 of behavioral disclosure, and it delivers richly: it states side effects (creating a child item, blocking the parent), negative behaviors (does not send/publish/spend/delete/grant), and the downstream workflow ('Human or manager marks the child done, then performs the gated action'). This prevents the critical mistake of assuming an approval-gating tool performs the action itself.

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?

Three sentences with zero filler: core action front-loaded in sentence one, non-actions and workflow in sentence two, routing decisions in sentence three. Every sentence earns its place, and the most decision-relevant constraint (non-performance) comes early.

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?

Complete for a moderate-complexity tool (5 params, 4 required, output schema present). Purpose, side effects, non-behaviors, approval workflow, and sibling routing are all covered. Return values need no explanation since an output schema exists, and the negative list preempts the main misuse case.

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. The description adds genuine value to the gate parameter by mapping specific gate values to superseded sibling tools (gate=publish replaces file_publish/storage_publish; gate=destructive replaces memory_forget), directly informing correct parameter selection beyond what the schema's named-gate list provides.

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 opens with a specific verb+resource statement: 'Create an item_type=approval child and block the parent.' It explicitly names the sibling tools it replaces (file_publish, storage_publish, memory_forget) and lists non-actions ('Does not send, publish, spend, delete, or grant'), making it clearly distinguishable from the large sibling set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing guidance is provided: 'Agent seats must call this with gate=publish instead of file_publish / storage_publish, or gate=destructive instead of memory_forget.' The 'Does not...' sentence further clarifies when this tool merely requests rather than performs an action, giving the agent clear when-to-use and when-not-to-use signals.

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

storage_attachStorage AttachAInspect

Attach an existing Storage object to a work item and/or project.

Idempotent on (org, work|project, drive_object). Does not copy bytes or create a shared file. Transcripts stay on file_*. Pass at least one of work_id / project_id. drive_attach is a deprecated alias of this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
file_idYesStorage object UUID to attach
work_idNoWork item UUID to attach to (kind=artifact)
project_idNoProject UUID to attach to (kind=artifact)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/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 it discloses idempotency on (org, work|project, drive_object), the fact that it does not copy bytes or create a shared file, and that transcripts remain on file_*. This is strong transparent context for a mutation, though it omits permission requirements or failure behavior.

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?

Four compact sentences, each carrying distinct information: purpose, idempotency/side-effects, required arguments, and alias note. Front-loaded with purpose and no filler.

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?

The output schema covers return values, and the description covers the core behavioral side effects and constraints. It remains slightly incomplete as a standalone spec because it never explains what 'attach' concretely changes or what the file_* / work|project notation fully means, but for an agent selecting and invoking the tool it is sufficient.

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 already describes all 4 parameters (100% coverage), so the baseline is 3. The description adds a meaningful cross-parameter constraint ('Pass at least one of work_id / project_id') and clarifies the idempotency key, which is genuinely additional semantic value.

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 first sentence uses a specific verb-resource pairing ('Attach an existing Storage object to a work item and/or project') and the last sentence disambiguates from the deprecated drive_attach alias. This clearly distinguishes the tool from storage_publish and storage_unlink while stating its core function.

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?

The description states the required call shape ('Pass at least one of work_id / project_id') and notes that drive_attach is a deprecated alias, telling the agent to prefer this tool. It does not, however, compare this to storage_publish or storage_unlink with explicit when-to-use/when-not-to-use conditions, so it stops 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.

storage_folder_createStorage Folder CreateAInspect

Create a Storage folder (metadata only; no bucket bytes).

Folders are drive_objects rows with kind=folder. Root is parent_id IS NULL. Archive refuses a folder that still has active children — empty it first. drive_folder_create is a deprecated alias.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
titleYesFolder name
parent_idNoParent folder UUID (omit or empty = org root)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and discloses key behavior: no bucket bytes are touched, folders are drive_objects rows with kind=folder, and parent_id NULL means root. It stops short of side effects like permission requirements or duplicate handling, but the core behavior is clear.

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?

A compact, front-loaded definition: purpose first, then relevant data-model and lifecycle details. Every sentence earns its place, and the deprecated alias note prevents confusion.

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 lightweight create operation with an output schema, the essentials are present: purpose, data model, root semantics, and a key constraint on child folders. Missing details such as authorization or invalid-parent behavior are minor given the tool's simplicity.

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. The description adds meaning to parent_id by equating root with parent_id IS NULL, and clarifies that title is metadata-only. This goes beyond the schema's field descriptions.

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 specific action and resource: creates a Storage folder. 'metadata only; no bucket bytes' distinguishes it from upload/move siblings, and it explicitly flags drive_folder_create as a deprecated alias, so an agent can select this tool correctly.

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 clear scope and constraints: metadata-only creation, root when parent_id is NULL, and even notes the archive precondition about emptying folders first. It does not explicitly enumerate sibling alternatives beyond the deprecated alias, leaving some when-not-to-use routing to inference.

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

storage_getStorage GetAInspect

Fetch Storage metadata and a download pointer (not the blob body).

Returns download_url for an authenticated GET of the bytes. When published and the bucket publisher is configured, also includes a fresh signed_url (presigned bucket GET; primary for agents) plus signed_url_expires_in / signed_url_expires_at. Durable share_url / public_url still point at /d/{share_token} (Storage's public raw-bytes route; distinct from shared-file /s/{slug}). Includes work_ids / project_ids for current attachments. drive_get is a deprecated alias.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesStorage object UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly. It discloses return fields, conditional signed_url generation based on publish state and publisher config, URL route distinctions, and the deprecated alias, while making the read-only nature clear through 'Fetch'.

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 dense but every clause earns its place: it clarifies scope, conditional fields, URL semantics, attachment associations, and deprecation status. The main purpose is front-loaded in the first sentence.

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 single-parameter metadata-and-download-pointer tool with an output schema present, the description is complete. It covers return value semantics, conditional behavior, URL types, and the deprecated alias, leaving no critical gap for an agent to invoke it correctly.

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 only parameter, file_id, is already described as 'Storage object UUID'. The description adds no additional parameter-level meaning, so the baseline of 3 is appropriate.

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: 'Fetch Storage metadata and a download pointer', and explicitly clarifies 'not the blob body'. It also names 'drive_get' as a deprecated alias, distinguishing it from related siblings.

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?

Provides clear contextual guidance around when signed_url appears, notes that signed_url is primary for agents, and identifies drive_get as a deprecated alias. It does not explicitly state when to prefer storage_get over storage_list or other storage tools, so it stops short of full exclusion guidance.

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

storage_listStorage ListAInspect

List active Storage objects in the caller's org, newest first.

Each row is metadata plus download_url (bearer GET /v1/drive/{id}/content). Published objects also include a fresh signed_url (presigned bucket GET, primary for agents) plus signed_url_expires_in / signed_url_expires_at, and durable share_url / public_url (/d/{share_token}, console/human fallback). /d/{token} is Storage's public raw-bytes route. Pass work_id or project_id to list attachments (project_id wins if both are set; folder filters are ignored on those joins). Pass parent_id / folder_id to list one folder (root = org root). Omit both to list every active object. Folders sort first. Archived objects stay joined but are omitted. Does not list shared-file documents — use file_list for those. drive_list is a deprecated alias of this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNoOptional case-insensitive title substring
work_idNoOnly Storage objects attached to this work item UUID
folder_idNoAlias of parent_id
parent_idNoFolder UUID to list, or 'root' / empty for the org root. Omit to list everything.
project_idNoOnly Storage objects attached to this project UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden, and it does so thoroughly. It discloses active-only filtering, newest-first ordering, folder sorting, archived-object omission, URL semantics for published vs unpublished objects, and parameter precedence rules like 'project_id wins if both are set; folder filters are ignored on those joins.'

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 dense but well-organized: a one-line summary, then row-field semantics, filtering modes, exclusions, and alias note. Every sentence earns its place, and the most important scope statement is front-loaded.

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?

Given the tool's six optional parameters and an output schema, the description covers the important call decisions, edge cases, deprecated alias, and sibling routing. The output schema handles return-value structure, so the description does not need to restate it. No significant behavioral gaps remain.

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 description coverage is high at 83%, but the description still adds meaningful parameter behavior beyond the schema: it explains precedence between project_id and work_id, that folder filters are ignored on attachment joins, that folder_id is an alias for parent_id, that 'root' means org root, and that omitting both folder params lists everything. It does not elaborate on limit or query, but the schema already documents those adequately.

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 opens with a specific verb and resource: 'List active Storage objects in the caller's org, newest first.' It clearly distinguishes itself from relevant siblings by noting that drive_list is a deprecated alias and that shared-file documents should use file_list instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance for different parameter combinations: pass work_id or project_id for attachments, pass parent_id/folder_id for folders, or omit both to list everything. It also states exclusions like 'Does not list shared-file documents — use file_list for those' and identifies drive_list as deprecated, so an agent can route correctly.

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

storage_moveStorage MoveAInspect

Move a Storage file or folder into another folder (or to root).

Refuses cycles (a folder cannot become its own descendant) and non-folder destinations. drive_move is a deprecated alias.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
file_idYesStorage object or folder UUID to move
parent_idNoDestination folder UUID, or empty / 'root' for the org root

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose two important failure behaviors: refusing cycles and refusing non-folder destinations. However, for a mutating operation, it does not mention permissions, side effects on existing references/links, or whether moves are recursive, leaving meaningful behavioral gaps.

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 and well-structured: it front-loads the core action, then lists key constraints, then notes the deprecated alias. Every sentence contributes useful information without repeating schema details.

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 3-parameter move tool with no annotations and a present output schema, the description is nearly complete. It defines the operation, root behavior, and validation rejections, and the output schema covers return values. The main remaining gap is side-effect/permission context, but the description still provides enough for an agent to call the tool correctly in most cases.

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?

The input schema already documents all three parameters with 100% coverage, so the baseline is 3. The description adds value by clarifying the destination can be root and by explaining the cycle/non-folder constraints, which enriches the semantics of file_id and parent_id. The agent parameter needs no additional explanation since its schema description is sufficient.

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 opens with a specific verb and resource: 'Move a Storage file or folder into another folder (or to root).' This clearly establishes what the tool does and distinguishes it from storage_get, storage_list, storage_upload_request, and similar siblings. Explicitly noting that drive_move is a deprecated alias further reinforces the tool's identity.

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?

The description flags drive_move as a deprecated alias, implicitly directing agents to use storage_move instead. It also states refusal conditions for cycles and non-folder destinations, which serve as practical when-not-to-call guidance. It does not provide broader scenario comparisons, but the move-specific scope is clear enough for correct tool selection.

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

storage_publishStorage PublishAInspect

Publish a Storage object and return a presigned bucket GET URL.

Idempotent: returns the existing token if already published. Does not re-upload bytes (they already live in the bucket). Agents should use signed_url (TTL TEAMSHARED_STORAGE_SIGNED_URL_TTL_SECONDS, default 3600s) plus signed_url_expires_in / signed_url_expires_at. share_url / public_url remain the durable /d/{share_token} fallback for console/humans — not /s/{slug} (shared-file HTML). Fails closed if the object-storage bucket is unconfigured (cannot mint a signed URL).

Agent seats (org tsk_ / agent_run) are refused — call request_gated_approval(gate="publish") instead. Console humans (ts_session) still publish. After the approval child is done, a human seat calls this tool (same completion path as file_publish). drive_publish is a deprecated alias of this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesStorage object UUID to publish

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/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 delivers: idempotency, no re-upload of bytes, returning the existing token when already published, failing closed when the bucket is unconfigured, and refusing agent seats. This is rich behavioral disclosure beyond the name and 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 front-loaded with the core outcome and then adds dense but relevant operational details. Each sentence earns its place: idempotency, URL semantics, failure mode, seat restrictions, and the deprecated alias. No filler or redundant restatement of the tool name.

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?

Given the one-parameter schema, no annotations, and an output schema that already covers return values, the description is remarkably complete. It covers authentication/seat constraints, failure behavior, URL semantics, idempotency, and sibling routing. An agent has enough context to call this tool correctly in the right circumstances.

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 file_id property is already described as 'Storage object UUID to publish.' The tool description does not add meaningful parameter-level detail beyond that, so the baseline score of 3 is appropriate given the strong schema coverage.

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 opens with a specific verb and resource: 'Publish a Storage object and return a presigned bucket GET URL.' It clearly distinguishes this from related tools by noting the deprecated drive_publish alias and by clarifying that this is not the /s/{slug} shared-file path. An agent can understand exactly what this tool does and how it differs from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit routing guidance: agent seats should call request_gated_approval(gate="publish") instead, console humans may publish directly, and drive_publish is a deprecated alias. It also explains which URL fields to prefer and which fallback to use, leaving little ambiguity about when and how to invoke the tool.

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

storage_unpublishStorage UnpublishAInspect

Revoke public access to a Storage object (visibility back to private).

The share token is retained for audit; GET /d/{share_token} returns 404. Bucket bytes stay (they are the private store, not a CDN mirror). drive_unpublish is a deprecated alias of this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesStorage object UUID to unpublish

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 well. It discloses that the share token is retained for audit, that GET /d/{share_token} returns 404, that bucket bytes are not deleted, and that drive_unpublish is a deprecated alias. This is rich behavioral context beyond the basic action.

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 and front-loaded with the core action. Each subsequent sentence adds a distinct useful fact: token behavior, byte retention, and the deprecated alias. There is no filler or redundancy.

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 single-required-parameter tool with an output schema present, the description covers the action, the post-condition, non-destructive behavior, and the deprecated alias. An agent has enough information to invoke the tool correctly and understand the likely outcome.

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 coverage is 100%, so the schema already documents file_id as the Storage object UUID. The description adds no significant new parameter-level meaning beyond restating "Storage object," so the baseline score of 3 is appropriate.

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 opens with a specific verb and resource: "Revoke public access to a Storage object," and clarifies the resulting state (visibility back to private). It also explicitly addresses the deprecated drive_unpublish alias, which helps an agent distinguish it from similarly named siblings.

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?

The description makes the intended use clear: call this when public access to a Storage object should be revoked while retaining the underlying bytes. It does not explicitly name alternatives like storage_unlink or file_unpublish, but the resource type and side-effect notes give enough context for selection.

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

storage_upload_requestStorage Upload RequestAInspect

Mint a one-time uploader script for a private Storage blob (any file type).

Storage is the org's binary store: bytes go to the Railway bucket, metadata to drive_objects. Objects stay private until a human seat calls storage_publish (agent seats must request_gated_approval(gate=publish)). HTML/Markdown/diagram documents still use file_upload_request. Pass work_id and/or project_id to attach after ingest (kind=artifact; transcripts stay on shared files). Pass parent_id to place the file in a folder. Batch uploads are multiple grants (one file each) — console multi-select uses sequential ingest, not a multi-file grant. Returns upload_url, upload_token, max_bytes, and a self-deleting Python script. Token is single-use and expires in ~10 min. drive_upload_request is a deprecated alias of this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
titleYesStorage object title
work_idNoAttach the uploaded Storage object to this work item UUID
filenameNoOptional local filename (script default path + MIME sniff)
parent_idNoFolder UUID to land the file in (omit or empty = org root). One grant per file.
project_idNoAttach the uploaded Storage object to this project UUID (kind=artifact)
content_typeNoOptional MIME type hint stored on the grant
upload_base_urlNoOptional server origin (e.g. https://teamshared.com). Defaults to settings.public_url.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/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 objects stay private until storage_publish, that agent seats require request_gated_approval for publish, that the token is single-use and expires in ~10 minutes, and that the generated Python script is self-deleting. It also states the returned fields.

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 given the amount of routing, lifecycle, and parameter context it provides. The single-sentence purpose is front-loaded, and each subsequent sentence adds distinct useful information without 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 no annotations and 8 parameters, the description is unusually complete: purpose, sibling distinction, storage visibility model, approval flow, return values, token expiry, self-deleting script, attachment parameters, and batch behavior are all covered. An output schema exists for return shape, so the remaining detail burden is satisfied.

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 schema already documents each parameter. The description adds useful behavior beyond the schema, such as attaching work_id/project_id after ingest with kind=artifact, clarifying parent_id folder placement, and explaining that batch uploads are one-file-per-grant rather than a multi-file grant.

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 opens with a specific verb and resource: 'Mint a one-time uploader script for a private Storage blob (any file type).' It explicitly contrasts with file_upload_request for documents and names drive_upload_request as a deprecated alias, so an agent can disambiguate from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit routing guidance: use file_upload_request for HTML/Markdown/diagram documents, use this tool for binary Storage objects, and be aware that drive_upload_request is deprecated. It also explains the publish/approval workflow and batch semantics, which tells an agent when and how to invoke this tool versus alternatives.

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

versionVersionAInspect

Report server + memory-rule version and whether the rule needs updating.

Returns {server_version, rule_version, installed_rule_version, rule_path, update_available}. When update_available is true (the installed rule is missing or behind the canonical one), the response also includes rule_markdown — write it verbatim to your rule file (Cursor: ~/.cursor/rules/teamshared.mdc) to update the user, then tell them the memory rule was updated. See the rule's "Staying current".

ParametersJSON Schema
NameRequiredDescriptionDefault
installed_rule_versionNoThe `version` from your installed teamshared rule's frontmatter (e.g. the value in ~/.cursor/rules/teamshared.mdc). Omit if your rule has no version marker.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/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 well: it discloses the return tuple, the condition that changes the response, and the exact follow-up action required when update_available is true. It also defines what update_available means.

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?

The definition is front-loaded with the purpose and keeps only high-value content: return fields, the conditional update flow, and the target file path. The final reference to the rule's 'Staying current' is slightly terse but not wasteful.

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 single-optional-parameter version check, the description is complete: it names all returned fields, specifies the conditional response, and gives the agent a concrete update procedure. Nothing critical is missing for correct invocation and handling of the main outcome.

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?

The schema already documents installed_rule_version at 100% coverage, so a baseline of 3 applies. The description adds meaning by connecting this value to the update_available logic: the installed rule being 'missing or behind the canonical one' is what triggers the update payload.

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 opens with a specific verb 'Report' and a clear resource: server plus memory-rule version, including the key decision it supports: whether the rule needs updating. This distinguishes the tool from file-version and memory-action siblings.

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 the usage context: check installed vs canonical rule versions, and if an update is available, write the provided markdown verbatim to the rule file and inform the user. However, it does not explicitly say when to prefer this tool over alternatives or when not to call it.

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

work_add_to_projectWork Add To ProjectAInspect

Add a task to a project (tasks can belong to multiple projects).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
work_idYesWork item UUID
project_idYesProject UUID
section_idNoOptional section UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the multi-project property, which is useful, but does not state whether existing project memberships are preserved, whether duplicate adds are prevented, or what side effects occur. This is a meaningful gap for a relational mutation tool.

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?

A single sentence with a useful parenthetical; no filler. The key action and scope are front-loaded.

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 4-parameter tool with an output schema, the description is mostly sufficient: it states the action and the key semantic (multi-project). It falls short only in not explicitly routing to alternatives and not disclosing relation-preservation behavior, hence not a 5.

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 coverage is 100%, so all parameters (work_id, project_id, section_id, agent) are documented in the schema. The description adds no additional parameter semantics, so the baseline of 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?

The description uses a specific verb ('Add') and resource ('task'/'project'), and the parenthetical clarifies that this is an associative operation (tasks can belong to multiple projects). This clearly distinguishes it from sibling tools like work_remove_from_project and work_move.

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 parenthetical implies the use case (adding a task to an additional project), but it does not explicitly name alternatives such as work_move or work_remove_from_project, nor state when not to use it. Usage is inferable but not explicit.

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

work_closeWork CloseBInspect

Mark a work item done or cancelled.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
work_idYesWork item UUID
work_statusNodone or cancelleddone

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the status change but does not mention whether closing is reversible, what side effects occur, or permission requirements, leaving significant behavioral context unknown.

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 a single front-loaded sentence with no filler, redundancy, or repetition. Every word contributes to the core meaning.

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

Completeness3/5

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

The schema and output schema cover parameters and return values, and the description captures the essential operation. However, it lacks usage guidance relative to overlapping work_* tools and behavioral side-effect disclosure, so it is adequate but not fully complete.

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 work_id, work_status, and agent are already documented in the schema. The description adds no parameter-level detail, which matches the baseline for complete schema coverage.

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?

The description clearly identifies the action ('Mark') and resource ('a work item'), and narrows the meaning of 'close' to the two terminal statuses: done or cancelled. It does not explicitly contrast itself with work_update, which could also alter work status, so it misses full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use work_close versus work_update or other work_* tools, and no exclusions or prerequisites are mentioned. The terminal-status wording only implies its intended scope without stating it.

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

work_comment_addWork Comment AddBInspect

Add a comment to a work item.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesComment text (markdown ok)
agentNoOverride agent identity
work_idYesWork item UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the core add behavior but does not disclose side effects, prerequisites (e.g., work item must exist), permission requirements, or whether the action notifies followers or modifies related state. The agent override parameter hints at identity behavior, but the description does not explain it.

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 a single clear, front-loaded sentence with no wasted words. It efficiently conveys the essential operation without redundancy.

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

Completeness3/5

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

Given the simple three-parameter schema, an output schema, and clear parameter descriptions, the description is minimally adequate. However, it lacks usage guidance and behavioral context, especially around side effects and when to choose this tool over comment-list/update alternatives. More context would make it robust for autonomous selection.

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 parameter descriptions already explain work_id, body, and agent clearly. The tool description adds no additional parameter meaning beyond the schema, so the baseline score of 3 is appropriate.

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 clearly identifies the action ('Add') and the resource ('a comment to a work item'), making it unambiguous. It also inherently distinguishes itself from siblings like work_comment_list, which reads comments rather than creating them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance about when to use this tool versus alternatives such as work_comment_list or work_update. Usage must be inferred entirely from the tool name and sibling names, with no stated conditions or exclusions.

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

work_comment_listWork Comment ListBInspect

List comments on a work item (oldest first).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
work_idYesWork item UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It does disclose the ordering behavior (oldest first), which is useful. It does not mention pagination, read-only nature, or edge cases, though for a list operation these are less critical.

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?

A single, front-loaded sentence with no filler. It communicates resource, action, and ordering efficiently.

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 simple list operation with an output schema, the description covers the essential resource and ordering behavior. The main omissions are explicit sibling differentiation and pagination/limit guidance, but an agent can still invoke the tool correctly with the provided schema.

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

Parameters2/5

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

Schema description coverage is 50%: work_id is described but limit is not. The description adds no meaning beyond the schema and does not mention or explain the limit parameter, so it fails to compensate for the schema gap.

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?

Clearly identifies the operation (list) and resource (comments on a work item), and adds useful ordering context (oldest first). However, it does not explicitly distinguish itself from work_comment_add or other work-related tools, so it falls just short of a 5.

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 verb and resource imply that this is the tool for retrieving comments on a work item, but the description gives no explicit when-to-use guidance, alternatives, or exclusions. The sibling work_comment_add makes the contrast inferable, but it is not stated.

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

work_createWork CreateBInspect

Create a work item. Created active immediately for humans and agents (no approval queue).

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoOptional workspace slug tag
tagsNoOptional tags
agentNoOverride agent identity
titleYesShort task title
due_atNoOptional due datetime
githubNoOptional owner/repo tag
part_ofNoOntology entity this beat belongs to (campaign Project name)
priorityNourgent, high, normal, lownormal
start_atNoOptional start datetime
item_typeNotask, milestone, or approvaltask
parent_idNoParent task UUID (makes this a subtask)
project_idNoAdd the task to this project UUID
section_idNoPlace in this project section UUID
assignee_idNoAssignee UUID
descriptionNoAlias for description_md
work_statusNoInitial workflow statustodo
assignee_typeNoAssignee type (user)
initiative_idNoOptional strategic initiative UUID
playbook_slugNoNamed playbook to inject when agent_run_start(work_id=) spawns (e.g. teamshared-manager). Unset = no inject
assignee_emailNoAssign to org member by email
description_mdNoOptional markdown body
assigned_to_entityNoOntology Person or Agent name (graph assigned_to; not assignee_email)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose one genuinely useful trait — items become active immediately with no approval queue — which matters for an agent deciding whether created items will take effect right away. It does not disclose other side effects of mutation, such as visibility persistence or whether creation is reversible, but the immediate-activation note is meaningful.

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?

Two sentences with no filler, and the core action is front-loaded. The phrase 'Created active immediately' is slightly awkward grammatically, but the size is appropriate and every clause earns its place.

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

Completeness3/5

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

The output schema relieves the description of explaining return values, and the activation behavior is covered. However, for a 22-param mutation tool with zero annotations, the description is thin: it doesn't hint at the breadth of configuration options (parenting, projects, playbooks, initiative linking) or any side effects beyond immediate activation. Adequate but not rich.

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 coverage is 100%, so every parameter is already documented in the schema and the baseline of 3 applies. The description adds no parameter-level meaning beyond what the schema provides; it does not, for example, clarify which options interplay with the activation behavior.

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?

The description states a specific verb and resource — 'Create a work item' — which clearly distinguishes this from sibling work_* tools like work_update, work_get, and work_close. It doesn't elaborate that a work item encompasses tasks, milestones, and approvals (that's left to the item_type parameter), but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. Among 22 siblings in the work_* family there is no mention of when to choose work_create over work_add_to_project or work_update, and no prerequisites are stated. The activation note is behavioral, not usage guidance.

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

work_dependencies_listWork Dependencies ListAInspect

List what a task is blocked by and what it blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_idYesWork item UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. The verb 'List' clearly indicates a read-only, non-mutating operation, and the phrase 'blocked by and what it blocks' explicitly defines the bidirectional dependency scope. While it does not detail the return format or mention edge cases like empty results, the presence of an output schema covers much of that gap.

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 a single, front-loaded sentence with no filler words. Every word earns its place, and the core action and scope are immediately clear.

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 simple one-parameter list tool with an output schema, the description is complete. It states what is listed (blocked-by and blocks reliationships), which is enough for an agent to select and invoke the tool correctly with work_id. No additional context about return values or complex behavior is necessary.

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?

The schema already documents the single parameter 'work_id' with the description 'Work item UUID' and marks it as required, so schema_description_coverage is 100%. The description adds no additional meaning beyond the schema, which is acceptable per the baseline, but it also does not clarify how the parameter maps to 'task' beyond the obvious connection.

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 uses the specific verb 'List' and clearly identifies the resource ('a task') plus the exact scope: what blocks it and what it blocks. This distinguishes it from sibling tools like work_dependency_add and work_dependency_remove, which perform mutations, and from work_get, which retrieves task details rather than dependency relationships.

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 usage is implied: an agent needing to inspect a task's dependencies would select this tool. However, the description does not explicitly state when to use it over alternatives, such as 'use this before adding or removing dependencies' or 'see work_dependency_add to modify dependencies.' There are no exclusions or alternative tool mentions.

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

work_dependency_addWork Dependency AddAInspect

Add a dependency: blocker must finish before blocked can proceed.

Pass blocker_id + blocked_id, or equivalently work_id (blocked) + depends_on_id (blocker).

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
work_idNoAlias for blocked_id (the task that waits)
blocked_idNoTask that is blocked
blocker_idNoTask that must finish first
depends_on_idNoAlias for blocker_id (the task it waits on)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description itself must disclose behavior. It clearly explains the semantic effect of adding a dependency and the direction of the blocking relationship. It does not cover edge cases like duplicate dependencies or cycle validation, but the core behavior is transparent.

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 and front-loaded: it states the core semantic first, then gives the two equivalent parameter forms. Every sentence earns its place and there is no redundant filler.

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?

Given the tool's low-to-moderate complexity, an output schema, and full parameter schema coverage, the description is largely complete. It could optionally mention what happens if both parameter pairs are supplied, but the 'or equivalently' phrasing already signals these are alternative forms.

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%, giving the baseline of 3, but the description adds important meaning by explicitly pairing blocker_id/blocked_id with their aliases work_id/depends_on_id. This alias-equivalence information is not obvious from the schema alone and helps agents construct valid calls.

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 uses a specific verb and resource: 'Add a dependency' and then defines the dependency direction precisely (blocker must finish before blocked can proceed). It is clearly distinguishable from the sibling tools work_dependency_remove and work_dependencies_list.

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 when to use the tool by defining what a dependency means, but it does not explicitly state when to prefer this over the sibling remove/list tools or mention any prerequisites. Usage context is evident from the tool name and siblings, not stated directly.

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

work_dependency_removeWork Dependency RemoveCInspect

Remove a task dependency.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_idNoAlias for blocked_id (the task that waits)
blocked_idNoBlocked task UUID
blocker_idNoBlocker task UUID
depends_on_idNoAlias for blocker_id (the task it waits on)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. It only says 'remove', implying mutation, but does not state idempotency, failure behavior if the dependency does not exist, side effects on scheduling, or whether the operation is reversible.

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?

A single clear sentence with no filler, front-loaded with the action and target. It is efficient, though so terse that it adds little beyond the tool title.

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

Completeness3/5

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

The tool has four optional-looking aliased parameters and no required fields, and the description does not clarify whether blocked_id and blocker_id must both be supplied. The schema descriptions and output schema mitigate this, making the tool minimally usable, but the description does not fully orient an agent to a correct invocation.

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?

The description adds no parameter-level meaning, but the input schema provides 100% coverage with descriptions for all four parameters, including alias relationships such as work_id being an alias for blocked_id. The schema carries the load, so a baseline 3 is appropriate.

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?

The description 'Remove a task dependency' uses a specific verb and resource, clearly identifying the operation. It is distinguishable from the sibling tools work_dependency_add and work_dependencies_list in meaning, though it does not explicitly name or contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool rather than work_dependency_add or work_dependencies_list. There is also no mention of checking existing dependencies first or which parameter combinations are required for a valid removal.

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

work_follower_addWork Follower AddAInspect

Add a follower/collaborator to a task by member email.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
work_idYesWork item UUID
follower_emailNoMember email to add

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden. It does disclose that this is a mutating add operation, but it omits important details: required permissions, duplicate-follower behavior, whether the member email must already exist, and what happens when follower_email is omitted since the schema marks it optional/nullable.

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?

A single, front-loaded sentence with no filler. It communicates the verb, resource, and key identifier efficiently.

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

Completeness3/5

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

The tool is simple and has an output schema plus complete schema coverage, so this is minimally viable. However, the missing usage guidance and ambiguous optional follower_email behavior leave gaps that could lead an agent to invoke it incorrectly.

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 the baseline is 3. The description adds little beyond the schema—'member email' merely restates the follower_email field description. It does not clarify the optional/nullable follower_email behavior or how it interacts with the agent override parameter.

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 clearly states the specific action—'Add a follower/collaborator to a task by member email'—and identifies the resource (task) and the method of identification (member email). It is distinct from sibling tools like work_follower_remove and work_followers_list.

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 the use case—adding a follower—but provides no explicit guidance on when to use this tool versus alternatives, no prerequisites, and no mention of when not to use it. Sibling names hint at the distinction, but the description itself does not articulate it.

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

work_follower_removeWork Follower RemoveBInspect

Remove a follower from a task by member email.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_idYesWork item UUID
follower_emailNoMember email to remove

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the mutation but does not explain consequences, reversibility, permission requirements, or how the optional/null follower_email behaves.

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?

A single, front-loaded sentence states the action and target without any filler. Every word contributes to understanding the tool's purpose.

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

Completeness3/5

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

The tool is simple and has an output schema, so not much context is required. However, the description does not clarify how to handle the optional/null follower_email, which is a meaningful gap for correct invocation.

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 the schema already documents both parameters. The phrase 'by member email' aligns with follower_email, but the description adds little beyond the structured 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 uses a specific verb and resource: it removes a follower from a task, keyed by member email. This clearly distinguishes it from the sibling tools work_follower_add and work_followers_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool's use case but provides no explicit guidance on when to choose it over work_follower_add, nor any prerequisites or exclusions. An agent is left to infer when removal is appropriate.

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

work_followers_listWork Followers ListBInspect

List followers/collaborators on a task.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_idYesWork item UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. 'List' does signal a read-only operation scoped to a task, which is the most important behavioral trait. But the description adds no further context such as whether 'collaborators' are a distinct set from 'followers', whether the result is paginated, or whether any authorization is implied.

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 a single front-loaded sentence with no filler or redundant content. Every word contributes to identifying the operation and its target resource, which is the ideal size for a simple list tool.

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

Completeness3/5

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

For a one-parameter read-only tool with a documented schema and an output schema present, the description is minimally sufficient for invoking the tool. It is less complete across the wider sibling ecosystem because it does not clarify the relationship to work_get or the follower-management tools, and the 'task' vs 'work item' terminology is not reconciled.

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 work_id is already documented as 'Work item UUID'. The tool description adds only the contextual phrase 'on a task', which might actually create slight ambiguity by using 'task' instead of 'work item'. The description does not add meaningful semantics beyond the schema.

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?

The description states a specific verb ('List') and a clear resource ('followers/collaborators on a task'), so an agent can understand the basic function. It also implicitly contrasts with the mutating sibling tools (work_follower_add/remove) because it is a listing operation. However, it does not explicitly distinguish itself from work_get or mention what is excluded from the output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus work_get, work_follower_add, or work_follower_remove. The description only states what it does; it does not provide selection criteria, exclusions, or mention any alternative tool. An agent must infer usage entirely from the tool name.

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

work_getWork GetAInspect

Fetch one work item by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_idYesWork item UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations are absent, so the term 'fetch' carries the read-only, non-destructive behavior. It also clarifies scope (one item, not a list). No side effects are implied, and the output schema covers return details.

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?

One short sentence, no filler, and the core behavior is front-loaded. Every word earns its place.

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 one-parameter read tool with an output schema, the description is complete enough. An agent knows what to provide, what action happens, and what to expect in return.

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 coverage is 100%: work_id is documented as 'Work item UUID'. The description only restates the 'by id' relationship, adding little beyond the schema. Baseline 3 is appropriate.

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?

Description says 'Fetch one work item by id' — a specific verb, direct object, and selection criterion. This clearly distinguishes work_get from work_list (many items) and work_update/close (mutations).

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?

The phrase 'by id' conveys the precondition: use this when you already have a work item UUID and need a single record. It does not explicitly name alternatives, but the context is clear for such a simple getter tool.

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

work_listWork ListAInspect

List org work items (shared task queue for humans and agents).

ParametersJSON Schema
NameRequiredDescriptionDefault
mineNoOnly items assigned to the caller (human or agent)
sortNoSort keyupdated_at
limitNo
offsetNoPagination offset
assigneeNoFilter by agent name or user email
sort_dirNoasc or descdesc
work_statusNoFilter by workflow status
initiative_idNoFilter to tasks linked to a strategic initiative UUID
exclude_closedNoOmit done/cancelled items (default true)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only adds scope context ('shared task queue for humans and agents'). It does not disclose that the list omits done/cancelled items by default (exclude_closed=true), the default sorting/pagination behavior, or that this is a safe read-only operation.

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?

A single nine-word sentence that leads with the verb and resource and appends a scoping parenthetical. Every word earns its place, with no filler or repetition of schema details.

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

Completeness3/5

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

The rich input schema (89% coverage, defaults, enums) and presence of an output schema cover parameter semantics and return values. The description is adequate for a straightforward list operation but leaves gaps in usage guidance and behavioral disclosure that an agent navigating 70+ siblings would benefit from.

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 89% (all params except limit have descriptions), so the schema does the heavy lifting and the baseline is 3. The description adds little parameter-level meaning, though 'shared task queue for humans and agents' hints at the org-wide scope behind the 'mine' and 'assignee' filters. It does not compensate for the undocumented 'limit' param, but min/max constraints make it self-explanatory.

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: 'List org work items', and the parenthetical 'shared task queue for humans and agents' clarifies the org-wide scope. This distinguishes it from task-specific siblings like work_subtasks_list, work_comment_list, and work_followers_list, and from agent_run_list, so an agent can select it without opening the schema.

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?

Usage is implied: an agent would call this when it needs to enumerate org work items. However, there is no explicit when-to-use/when-not-to-use guidance or named alternatives, despite many list-capable siblings (work_get for single items, work_subtasks_list for nested tasks, agent_run_list for agent runs).

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

work_moveWork MoveBInspect

Move a task to a section and/or reorder it within a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoOverride agent identity
work_idYesWork item UUID
project_idYesProject UUID
section_idNoTarget section UUID
sort_orderNoFractional rank within section

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It honestly conveys that this is a mutating operation affecting section membership and ordering, but it omits side-effect context an agent would want before invoking it: whether the task is removed from its previous section, what happens when section_id is null, or whether reordering shifts other tasks' sort_order.

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?

A single tightly worded sentence front-loads the verb and covers both supported operations ('to a section and/or reorder') with zero filler. Every word earns its place, and the structure is easy to parse at a glance.

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

Completeness3/5

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

The description plus a fully documented schema and an output schema cover the 'what' and 'how' of the operation adequately. However, for a mutating tool with no annotations, the definition is missing usage routing against sibling tools and side-effect disclosure, which an agent would benefit from before calling it.

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 every parameter (work_id, project_id, section_id, sort_order, agent) already carries a meaningful description. The tool description adds no parameter-level detail beyond the schema, which fits the baseline-3 case where the schema does the heavy lifting.

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?

The description uses a specific verb ('Move') and names distinct resources ('task', 'section', 'project'), clearly communicating the core operation. It differentiates from siblings like work_add_to_project and work_remove_from_project by scoping the action to repositioning within a project, though it doesn't explicitly name those alternatives.

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 the use case — relocating a task to a section or reordering it within a project — which hints at when it applies. However, it provides no explicit routing guidance, exclusions, or comparisons to closely related siblings such as work_add_to_project, work_update, or project_section_add, leaving the agent to infer the boundary.

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

work_remove_from_projectWork Remove From ProjectAInspect

Remove a task from a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_idYesWork item UUID
project_idYesProject UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'Remove a task from a project' and does not clarify whether the task is deleted entirely, merely unlinked from the project, or whether the operation is reversible. For a mutation tool, this is a meaningful safety gap.

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 a single, front-loaded sentence with no filler, redundancy, or irrelevant detail. Every word earns its place.

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

Completeness3/5

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

For a two-parameter operation with a complete input schema and an output schema, the invocation mechanics are adequately covered. However, the missing side-effect clarification and lack of sibling guidance leave the description minimally viable rather than complete.

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 explains both parameters as UUIDs. The description adds no further semantic detail beyond implying that work_id refers to a task, so the baseline score of 3 is appropriate.

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 uses a specific verb, 'Remove', and a specific resource, 'a task from a project', so the core action is unmistakable. It also distinguishes this from sibling operations like work_add_to_project and work_move without requiring the agent to open the input schema.

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 sentence makes the operation clear, but it provides no guidance about when to choose this tool over work_add_to_project, work_move, or work_close. The intended usage is implied by the name and description rather than explicitly stated with conditions or alternatives.

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

work_subtasks_listWork Subtasks ListAInspect

List subtasks of a work item. Create subtasks via work_create with parent_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_idYesParent work item UUID

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. 'List' clearly signals a read-only operation, but the description does not mention whether subtasks are returned recursively or as direct children, what ordering is used, or any other behavioral traits. The output schema supplies the return shape, but the description itself adds only minimal behavior context.

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?

Two short sentences with no filler. The primary action is front-loaded, and the routing note about work_create is concise and directly useful. Every sentence earns its place.

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 single-parameter read tool with an output schema, the description is mostly sufficient: it states the action, the scope, and the creation alternative. The only notable gap is the lack of any statement about the depth or shape of the returned subtask list (direct vs. recursive), which is left entirely to the output schema and introduces mild uncertainty.

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% – the work_id parameter already has a clear description ('Parent work item UUID') in the input schema. The tool description references 'parent_id' only in the context of work_create, which does not add meaning for this tool's own parameter. The schema handles the parameter semantics effectively.

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 opens with a specific verb and resource: 'List subtasks of a work item.' This clearly distinguishes it from sibling tools like work_list (which lists work items) and work_comment_list. The additional note about using work_create for creation further confirms that this tool is strictly for reading subtasks.

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?

The description explicitly redirects creation actions to work_create with parent_id, providing a clear when-not-to-use directive. However, it does not discuss when to prefer this tool over other work-item read tools such as work_get or work_list, so the guidance is useful but not exhaustive.

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

work_updateWork UpdateCInspect

Update a work item (status, assignee, priority, parent, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoWorkspace slug tag
tagsNoReplace tags
agentNoOverride agent identity
titleNoNew title
due_atNoDue datetime
githubNoowner/repo tag
work_idYesWork item UUID
priorityNourgent, high, normal, low
parent_idNoParent task UUID (reparent as subtask)
assignee_idNoAssignee UUID
work_statusNoWorkflow status
assignee_typeNoAssignee type (user)
initiative_idNoStrategic initiative UUID
playbook_slugNoNamed playbook injected on agent_run_start(work_id=). Empty string clears. Omit to leave unchanged
assignee_emailNoAssign to user by email
blocked_reasonNoWhy blocked (when status=blocked)
description_mdNoNew markdown body

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, but it only restates the operation. It does not disclose patch semantics (whether passing null clears a field vs. leaves it unchanged), side effects, permission requirements, or reversibility. Notably, the schema itself contains behavioral hints the description omits, such as 'Empty string clears. Omit to leave unchanged' for playbook_slug and 'Replace tags' for tags.

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?

The description is a single efficient sentence with no wasted words, and the verb+resource is front-loaded. However, it is so terse that it borders on under-specification, and the 'etc.' is a placeholder that substitutes for enumerating the tool's actual scope of supported fields.

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

Completeness2/5

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

For a mutation tool with 17 parameters, one required field, and no annotations, a one-sentence description is inadequate. The output schema covers return values, but the description should explain when this general updater is preferred over specialized siblings, how multi-field partial updates behave, and which parameter combinations are meaningful — none of which is addressed.

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 the baseline of 3 applies. The description's field list ('status, assignee, priority, parent') merely restates schema properties and adds no extra meaning. It fails to clarify the most important semantic — that invoking with only work_id performs a partial update of provided fields — which is only implicitly conveyed by the schema's defaults.

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?

The description uses a specific verb ('Update') with a clear resource ('work item') and lists representative updatable fields ('status, assignee, priority, parent'), making the general purpose evident among the many work_* siblings. It does not explicitly contrast with specialized mutation siblings like work_move or work_close, and the trailing 'etc.' is vague, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as work_close, work_move, work_dependency_add, or work_add_to_project. There are no exclusions, preconditions, or conditional triggers. An agent must infer routing purely from tool names and the schema.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updates
    • Addeddrive_folder_create
    • Changeddrive_list2 fields changed
      • addedInput schema / properties / folder_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Alias of parent_id"
        +}
      • addedInput schema / properties / parent_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Folder UUID to list, or 'root' / empty for the org root. Omit to list everything."
        +}
    • Addeddrive_move
    • Changeddrive_upload_request1 field changed
      • addedInput schema / properties / parent_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Folder UUID to land the file in (omit or empty = org root). One grant per file."
        +}
    • Addedstorage_folder_create
    • Changedstorage_list2 fields changed
      • addedInput schema / properties / folder_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Alias of parent_id"
        +}
      • addedInput schema / properties / parent_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Folder UUID to list, or 'root' / empty for the org root. Omit to list everything."
        +}
    • Addedstorage_move
    • Changedstorage_upload_request1 field changed
      • addedInput schema / properties / parent_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Folder UUID to land the file in (omit or empty = org root). One grant per file."
        +}
  2. 14 tool updates
    • Addeddrive_attach
    • Changeddrive_get1 field changed
      • changedInput schema / properties / file_id / description
        Previous value: -"Drive object UUID"New value: +"Storage object UUID"
    • Changeddrive_list2 fields changed
      • addedInput schema / properties / project_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Only Storage objects attached to this project UUID"
        +}
      • addedInput schema / properties / work_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Only Storage objects attached to this work item UUID"
        +}
    • Changeddrive_publish1 field changed
      • changedInput schema / properties / file_id / description
        Previous value: -"Drive object UUID to publish"New value: +"Storage object UUID to publish"
    • Addeddrive_unlink
    • Changeddrive_unpublish1 field changed
      • changedInput schema / properties / file_id / description
        Previous value: -"Drive object UUID to unpublish"New value: +"Storage object UUID to unpublish"
    • Changeddrive_upload_request3 fields changed
      • addedInput schema / properties / project_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Attach the uploaded Storage object to this project UUID (kind=artifact)"
        +}
      • changedInput schema / properties / title / description
        Previous value: -"Drive object title"New value: +"Storage object title"
      • addedInput schema / properties / work_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Attach the uploaded Storage object to this work item UUID"
        +}
    • Addedstorage_attach
    • Addedstorage_get
    • Addedstorage_list
    • Addedstorage_publish
    • Addedstorage_unlink
    • Addedstorage_unpublish
    • Addedstorage_upload_request
  3. 5 tool updates
    • Addeddrive_get
    • Addeddrive_list
    • Addeddrive_publish
    • Addeddrive_unpublish
    • Addeddrive_upload_request
  4. 4 tool updates
    • Changedfile_create3 fields changed
      • changedInput schema / properties / content / description
        Previous value: -"File body (markdown or raw HTML)"New value: +"File body: markdown, raw HTML, or a teamshared.diagram/v1 JSON/YAML document when content_format='diagram'"
      • changedInput schema / properties / content_format / description
        Previous value: -"'markdown' (rendered through the allowlist sanitizer) or 'html' (sanitized raw HTML)"New value: +"'markdown' (allowlist sanitizer), 'html' (sanitized raw HTML), or 'diagram' (teamshared.diagram/v1 JSON/YAML; Mermaid on /s/...)"
      • addedInput schema / properties / project_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Attach the new file to this project UUID (kind=artifact)"
        +}
    • Changedfile_list1 field changed
      • addedInput schema / properties / project_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Only files attached to this project UUID"
        +}
    • Changedfile_update2 fields changed
      • changedInput schema / properties / content / description
        Previous value: -"New file body (markdown or raw HTML)"New value: +"New file body (markdown, raw HTML, or teamshared.diagram/v1 JSON/YAML)"
      • changedInput schema / properties / content_format / description
        Previous value: -"Override content format ('markdown' or 'html'); defaults to the file's current format"New value: +"Override content format ('markdown', 'html', or 'diagram'); defaults to the file's current format"
    • Changedfile_upload_request2 fields changed
      • changedInput schema / properties / content_format / description
        Previous value: -"'html', 'markdown', or 'auto' (sniff from the file extension)"New value: +"'html', 'markdown', 'diagram' (teamshared.diagram/v1 JSON/YAML), or 'auto' (sniff from the file extension; *.diagram.yaml/json)"
      • addedInput schema / properties / project_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Attach the uploaded file to this project UUID (kind=artifact)"
        +}
  5. 1 tool update
    • Changedmemory_session_ensure2 fields changed
      • addedInput schema / properties / playbook_slug
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Named playbook to attach (wins over the work item's slug). Unset/missing/cross-org omits playbook — never dumps the catalog."
        +}
      • addedInput schema / properties / work_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Work item UUID. When set and playbook_slug is omitted, that item's playbook_slug is injected on the ensure payload."
        +}
  6. 1 tool update
    • Changedmemory_forget1 field changed
      • addedInput schema / properties / parent_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Work parent UUID when this forget belongs to a beat"
        +}
  7. 2 tool updates
    • Changedwork_create1 field changed
      • addedInput schema / properties / playbook_slug
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Named playbook to inject when agent_run_start(work_id=) spawns (e.g. teamshared-manager). Unset = no inject"
        +}
    • Changedwork_update1 field changed
      • addedInput schema / properties / playbook_slug
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Named playbook injected on agent_run_start(work_id=). Empty string clears. Omit to leave unchanged"
        +}
  8. 1 tool update
    • Addedrequest_gated_approval
  9. 1 tool update
    • Addedaccount_brief
  10. 1 tool update
    • Changedmemory_recall1 field changed
      • addedInput schema / properties / filters
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Optional AND filter. Keys (all optional): kind (fact|preference|event|note|outreach|skill|procedure), pillar (semantic|episodic|procedural|skill|strategic|work), subject (exact, case-insensitive), tags (list; record must include every tag), since / until (ISO datetimes). Example: {\"kind\": \"fact\", \"subject\": \"HolderBrief\", \"tags\": [\"decision\"]}. Nested AND/OR/NOT is not supported — omit a key instead. Empty result retries once without the filter (filter_relaxed=true on the result). Not for named playbook/skill/entity — use get-by-name tools."
        +}
  11. 1 tool update
    • Addedattention_snapshot
  12. 12 tool updates
    • Addedagent_run_cancel
    • Addedagent_run_followup
    • Addedagent_run_list
    • Addedagent_run_start
    • Addedagent_run_status
    • Changedfile_create1 field changed
      • addedInput schema / properties / work_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Attach the new file to this work item UUID"
        +}
    • Changedfile_list1 field changed
      • addedInput schema / properties / work_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Only files attached to this work item UUID"
        +}
    • Changedfile_upload_request1 field changed
      • addedInput schema / properties / work_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Attach the uploaded file to this work item UUID"
        +}
    • Addedmemory_agent_ensure
    • Addedmemory_agent_get
    • Addedmemory_agent_list
    • Addedmemory_agent_set
  13. 3 tool updates
    • Changedcontext_commit1 field changed
      • changedInput schema / properties / facts / description
        Previous value: -"Durable memories to write in the same call: [{\"content\": \"...\", \"kind\": \"fact|preference|event|note\", \"subject\": \"...\", \"tags\": [...]}]. Only include things still true next week."New value: +"Durable memories to write in the same call: [{\"content\": \"...\", \"kind\": \"fact|preference|event|note|outreach\", \"subject\": \"...\", \"tags\": [...]}]. Only include things still true next week."
    • Changedmemory_remember2 fields changed
      • changedInput schema / properties / kind / description
        Previous value: -"fact, preference, event, or note (not procedure/skill)"New value: +"fact, preference, event, note, or outreach (not procedure/skill)"
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "fact",
        -  "preference",
        -  "event",
        -  "note",
        -  "procedure",
        -  "skill"
        -]New value: +[
        +  "fact",
        +  "preference",
        +  "event",
        +  "note",
        +  "procedure",
        +  "skill",
        +  "outreach"
        +]
    • Changedwork_create2 fields changed
      • addedInput schema / properties / assigned_to_entity
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Ontology Person or Agent name (graph assigned_to; not assignee_email)"
        +}
      • addedInput schema / properties / part_of
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Ontology entity this beat belongs to (campaign Project name)"
        +}
  14. 7 tool updates
    • Addedmemory_dream_status
    • Changedmemory_playbook_set2 fields changed
      • addedInput schema / properties / owner_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Org member UUID. Omit inherits last owner or the writer."
        +}
      • addedInput schema / properties / verification_days
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Verification window: 30, 90, or 180 days; 0 for none. Omit inherits the last window."
        +}
    • Changedmemory_procedure_set2 fields changed
      • addedInput schema / properties / owner_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Org member UUID. Omit inherits last owner or the writer."
        +}
      • addedInput schema / properties / verification_days
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Verification window: 30, 90, or 180 days; 0 for none. Omit inherits the last window."
        +}
    • Changedmemory_recall1 field changed
      • addedInput schema / properties / include_superseded
        Added value: +{
        +  "default": false,
        +  "description": "When true, also return superseded/merged history. Default is current truth only.",
        +  "type": "boolean"
        +}
    • Addedmemory_skill_feedback
    • Changedmemory_skill_set2 fields changed
      • addedInput schema / properties / owner_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Org member UUID. Omit inherits last owner or the writer."
        +}
      • addedInput schema / properties / verification_days
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Verification window: 30, 90, or 180 days; 0 for none. Omit inherits the last window."
        +}
    • Changedmemory_think1 field changed
      • addedInput schema / properties / include_superseded
        Added value: +{
        +  "default": false,
        +  "description": "When true, synthesize from current truth plus superseded/merged history. Default is current truth only.",
        +  "type": "boolean"
        +}
  15. 4 tool updates
    • Removedintegration_list
    • Removedintegration_read
    • Removedintegration_search
    • Removedintegration_send
  16. 94 tool updates
    • First observedcontext_commit
    • First observedcontext_compress
    • First observedcontext_normalize
    • First observedcontext_prepare
    • First observedcontext_retrieve
    • First observedfile_archive
    • First observedfile_create
    • First observedfile_get
    • First observedfile_list
    • First observedfile_publish
    • First observedfile_unpublish
    • First observedfile_update
    • First observedfile_upload_request
    • First observedfile_version_delete
    • First observedhealth
    • First observedintegration_list
    • First observedintegration_read
    • First observedintegration_search
    • First observedintegration_send
    • First observedmcp_auth
    • First observedmemory_action_apply
    • First observedmemory_action_log_list
    • First observedmemory_assemble_context
    • First observedmemory_entity_view
    • First observedmemory_episodes_list
    • First observedmemory_forget
    • First observedmemory_forget_procedure
    • First observedmemory_forget_skill
    • First observedmemory_graph_relate
    • First observedmemory_graph_related
    • First observedmemory_ontology_link_type_set
    • First observedmemory_ontology_list
    • First observedmemory_ontology_merge_entities
    • First observedmemory_ontology_object_kind_set
    • First observedmemory_ontology_propose_entity
    • First observedmemory_ontology_rekind_entity
    • First observedmemory_playbook_get
    • First observedmemory_playbook_set
    • First observedmemory_playbooks_list
    • First observedmemory_procedure_get
    • First observedmemory_procedure_set
    • First observedmemory_procedures_list
    • First observedmemory_recall
    • First observedmemory_remember
    • First observedmemory_session_append
    • First observedmemory_session_close
    • First observedmemory_session_ensure
    • First observedmemory_session_get
    • First observedmemory_session_open
    • First observedmemory_skill_get
    • First observedmemory_skill_resolve
    • First observedmemory_skill_set
    • First observedmemory_skills_list
    • First observedmemory_soul_get
    • First observedmemory_soul_set
    • First observedmemory_state_get
    • First observedmemory_state_set
    • First observedmemory_strategic_entity_get
    • First observedmemory_strategic_initiative_set
    • First observedmemory_strategic_key_result_set
    • First observedmemory_strategic_objective_set
    • First observedmemory_strategic_plan_get
    • First observedmemory_strategic_plan_list
    • First observedmemory_strategic_plan_set
    • First observedmemory_strategic_statement_get
    • First observedmemory_strategic_statement_set
    • First observedmemory_think
    • First observedmemory_tools_catalog
    • First observedproject_archive
    • First observedproject_create
    • First observedproject_get
    • First observedproject_list
    • First observedproject_section_add
    • First observedproject_section_list
    • First observedproject_status_post
    • First observedproject_update
    • First observedversion
    • First observedwork_add_to_project
    • First observedwork_close
    • First observedwork_comment_add
    • First observedwork_comment_list
    • First observedwork_create
    • First observedwork_dependencies_list
    • First observedwork_dependency_add
    • First observedwork_dependency_remove
    • First observedwork_follower_add
    • First observedwork_follower_remove
    • First observedwork_followers_list
    • First observedwork_get
    • First observedwork_list
    • First observedwork_move
    • First observedwork_remove_from_project
    • First observedwork_subtasks_list
    • First observedwork_update

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Persistent shared memory for AI coding agents that turns a folder of markdown files into searchable memory across sessions, repos, and machines.
    12
    Functional Source , Version 1.1, MIT Future
  • A
    license
    A
    quality
    A
    maintenance
    Persistent shared memory for AI coding agents. Stores facts as entity/key/value triples with hybrid semantic search, task checkpoints, and conflict resolution — shared across Claude Code, Codex CLI, and GitHub Copilot.
    16
    235
    5
    AGPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation4/5

With 104 tools across many domains (memory, work, projects, files, agents, context, strategic, ontology), the use of clear prefixes (memory_, work_, project_, file_, agent_run_, context_) makes most tools distinct. However, there are some potential confusions between memory_session_* vs memory_state_*, and memory_recall vs memory_think vs memory_assemble_context, though descriptions clarify their specific purposes. Aliases like memory_playbook_get for memory_procedure_get are explicit and reduce ambiguity.

Naming Consistency5/5

Tool names follow a highly consistent pattern: prefix_domain_action (e.g., file_create, work_update, memory_recall, agent_run_start). All use snake_case, with verbs consistently placed after the domain prefix. Even less common tools like account_brief and attention_snapshot fit the overall naming scheme, making the set predictable and easy to navigate.

Tool Count3/5

At 104 tools, this is an exceptionally large surface area, far exceeding the 25+ threshold that feels heavy. However, the server covers an extensive domain (organizational memory, work management, project tracking, file sharing, agent orchestration, and strategic planning), which justifies a large count. Still, the sheer number may overwhelm agents, and some tools could be consolidated (e.g., many memory_session_* and memory_state_* variants).

Completeness4/5

The tool surface is remarkably complete for its stated purpose, covering CRUD operations for files, work items, projects, and memory, plus lifecycle management for agents, sessions, and strategic plans. Minor gaps exist (e.g., no direct memory_item_get by ID, no section removal in projects), but agents can work around these using existing tools like memory_recall or work_create with parent_id. Overall, the set minimizes dead ends.