Skip to main content
Glama

edit_plan

Destructive

Rename, forget, undo, or restore a saved Satisfactory plan by creating a new version from a base revision; changes never re-solve the factory.

Instructions

Rename, forget, undo or restore a saved plan; each edit is a new version and needs base_rev. Nothing is re-solved.

rename keeps key, siting and notes; forget deletes it (undoing that version brings it back); undo writes the inverse of version=; restore makes the head equal version= again.

Input Schema

NameRequiredDescriptionDefault
toNorename: the new name
nameYes
saveNo
as_ofNopin to one save: the sav:… token an earlier answer printed
worldNo
actionYesrename | forget | undo | restore
versionNoundo: the version to reverse; restore: to return to
base_revNothe plan version you read; needed to change an existing plan

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and non-idempotent, and the description adds real value on top: every edit creates a new version, base_rev is required to change an existing plan, forget is reversible via undo, and plans are never re-solved. It omits what happens on a stale base_rev (conflict behavior) and any 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.

Conciseness4/5

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

Two sentences plus a compact four-action definition list; the versioning/base_rev constraint is front-loaded before the per-action detail. No filler, though the multi-line action glossary is slightly denser than it needs to be.

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 destructive, versioned mutation with annotations present and no output schema, the description covers the semantics an agent needs to call it safely: versioning model, base_rev requirement, reversibility of forget, and no re-solve side effects. Minor incompleteness remains around the unexplained optional selectors (save/as_of/world).

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 63% and the description reinforces the meaning of version= (inverse for undo, target for restore) and the base_rev concurrency requirement. However, save, as_of, world and the required name parameter get no explanation in either place, so it only partially compensates for the coverage 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?

Names a specific verb set (rename, forget, undo, restore) and the resource (a saved plan), and adds the crucial scope statement 'Nothing is re-solved,' which separates it from re-solving siblings like site_plan or plan_factory. It stops short of naming an explicit sibling alternative, so a 4 rather than 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 Guidelines4/5

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

Gives per-action semantics — rename keeps key/siting/notes, forget deletes (recoverable by undoing that version), undo inverts version=, restore sets head to version= — which is effectively when-to-use guidance for each mode. It does not say when not to use it or point at siblings such as diff_vs_save for inspection.

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