Skip to main content
Glama

Plan a Workbench clone

plan_clone
Read-onlyIdempotent

Preview a clone without changing the target: compare it to the Workbench profile, list each component as install, present, or manual, and show the commands that would run.

Instructions

Return a read-only plan for a target: compare it against the Workbench profile and list each component as install, present, or manual, with the commands that would run. It still runs a detection probe on the target (same access as inspect_target) but clones nothing and writes nothing. Parameter semantics: components restricts the diff to those ids (default: required+core); workspace sets the expected profile path on the target (default ~/opencode-workbench); profileUrl overrides the git remote. Use it to preview before apply_clone, which performs the changes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dryRunNoReport only; make no changes.
targetYesThe machine to operate on: this host (local) or a remote host over SSH (ssh).
skipRepoNoDo not clone/update the profile repo on the target.
workspaceNoTarget directory for the profile repo.
componentsNoComponent ids to include; defaults to required+core.
profileUrlNoOverride profile git URL.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
stepsYesPer-component plan.
targetYesLabel of the inspected target.
inspectYesFull inspection of the target.
toInstallYesComponent ids that will be installed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.0.1

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, yet the description adds a genuinely useful nuance: it still runs a detection probe on the target (same access as inspect_target) but clones and writes nothing. That clarifies that 'read-only' still implies remote access, which the annotations alone don't convey. It stops short of describing return shape, though an output schema 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?

Front-loaded with the tool's output, followed by the behavioral caveat, parameter notes, and the sibling routing. Every sentence carries distinct information; nothing is redundant with the schema or annotations.

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, return values need no explanation, and the description covers behavior, defaults and the apply_clone relationship. The one omission is that `dryRun` on an already read-only tool is unaddressed, leaving the agent to guess whether it is a no-op.

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 real semantics the schema lacks: the `components` default (required+core), the `workspace` default path, and that `profileUrl` overrides the git remote. It does not explain `skipRepo` or `dryRun`, which is the only 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?

States a specific verb and resource ('Return a read-only plan') plus exactly what the plan contains: a per-component classification of install/present/manual with the commands that would run. This immediately separates it from siblings like inspect_target and apply_clone.

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 names the alternative ('Use it to preview before apply_clone, which performs the changes') and gives the condition that selects it. It also disambiguates against inspect_target by noting the shared probe access, so the agent knows when each applies.

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