Skip to main content
Glama

update_goal

Change a goal's status, dates, target, or cadence, add plans, obstacles, or reasons, and log a note to keep progress tracking accurate.

Instructions

Change a goal: status (pausing needs resume_date), dates, target, cadence; add plans, obstacles or reasons; optionally log a note. Only change status when the user says so.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "goal": "<goal>"
    },
    "name": "update_goal"
  }
}

Input Schema

NameRequiredDescriptionDefault
goalYes
noteNo
statusNo
targetNo
add_whyNo
add_planNo
descriptionNo
resume_dateNoYYYY-MM-DD (defaults to today)
target_dateNoYYYY-MM-DD (defaults to today)
add_obstacleNo
checkin_every_daysNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish non-read-only, non-destructive, closed-world behavior, and the description adds meaningful update semantics: partial mutation, the status→resume_date dependency, append-style fields ('add_*'), and an explicit consent gate before mutation. It doesn't state whether changes are reversible or whether 'add' appends versus replaces.

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 dense sentence packs the mutable surface plus a critical constraint, with no filler. Semicolon-separated clauses are packed but each carries distinct information; a bulleted grouping would read slightly better for 11 parameters.

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 an 11-parameter mutation tool with no output schema and sparse schema descriptions, the description covers most fields but omits what `goal` looks like, how append fields interact with existing values, and what the tool returns. Adequate but leaves real gaps an agent would hit at call time.

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 only 18%, so the description must compensate, and it largely does: it maps status, dates, target, cadence, add_plan, add_obstacle, add_why and note to plain-language concepts, plus the resume_date dependency. Still silent on the format/semantics of the required `goal` identifier and on `description`.

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?

Opens with a specific verb+resource ('Change a goal') and then enumerates exactly which attributes are mutable: status, dates, target, cadence, plans/obstacles/reasons, and an optional note. An agent can distinguish this from create_goal without opening the schema, though the sibling is never named.

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

Usage Guidelines4/5

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

Gives a real operating constraint ('Only change status when the user says so') and a conditional prerequisite ('pausing needs resume_date'). It stops short of explicitly contrasting with create_goal or listing when not to use it, so it is clear context without full alternative routing.

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