Skip to main content
Glama

save_plan

Save a generated project plan to disk for user review before ingestion. Optionally validates workspace and updates the plan's repo_root to the resolved path.

Instructions

Save a generated project plan to disk. Plan should be JSON matching the schema: { "epics": [ { "summary", "stories": [...] } ] }. Call this after generating a plan so the user can review before ingestion.

workspace is optional. When supplied, it is validated and (WS-11) the model-authored repo_root in plan_json is OVERWRITTEN with the server-validated resolved path (the server overwrites the model-authored value; this tool never resolves or rewrites plan_json itself). When omitted, the plan's own repo_root is trusted, exactly as before. The tool deliberately does NOT fall back to the dashboard's persisted active workspace: the MCP server and the dashboard are separate processes, and silently coupling them through shared durable state is out of scope (that fallback lives only in the dashboard HTTP route).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plan_jsonYes
plan_nameYes
workspaceNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

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 burden and excels. It discloses key behavioral traits: the overwriting of repo_root when workspace is supplied (WS-11), that the tool never resolves or rewrites plan_json itself, and that it deliberately does not fall back to the dashboard's persisted workspace, explaining the separate-process rationale. These details exceed what annotations would typically cover and prevent misleading assumptions.

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 longer than typical but well-structured: purpose, format, then a detailed workspace behavior paragraph. The rationale for the no-fallback decision is valuable and earns its place. It is front-loaded with the core purpose and scoping before diving into edge cases. No wasted sentences.

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 complexity (optional workspace, overwriting, process boundary), the description covers the critical aspects: the JSON schema, the overwriting rule, the fallback decision. An output schema exists to document return values, so that omission is acceptable. It does not address error conditions or interactions with siblings beyond the ingestion hint, but for a save operation the provided details are largely 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 coverage is 0%, so the description must compensate. It provides extensive semantics for workspace (validation, overwriting behavior, fallback rationale) and clarifies plan_json's required schema. However, plan_name is not explicitly described beyond being a required string, though its meaning as a name is likely inferred. The description adds significant value for two of three parameters, nearly fully compensating for the schema 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 clearly states the action: 'Save a generated project plan to disk.' It specifies the expected JSON format and differentiates from ingestion by noting 'so the user can review before ingestion,' distinguishing it from the sibling ingest_plan. The verb, resource, and purpose are all explicit.

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: 'Call this after generating a plan so the user can review before ingestion.' This implies the correct sequence (generate → save → review → ingest) and indicates when to use it. It does not name alternative tools explicitly, but the 'before ingestion' phrase sets the stage, and the workspace behavior explains when to omit or supply it. No explicit exclusions are given, but 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.