Skip to main content
Glama
Yan-Vi
by Yan-Vi

copy_steps

Copy a contiguous range of steps from one flow to another, preserving nested containers. Use for reordering or reusing step blocks with a single undo entry.

Instructions

Copies a contiguous run of steps [from, to] (inclusive, 0-based indices within sourceParentPath's own array) from one flow into another flow -- or the same flow, for a reorder-via-copy. Deep-cloned (nested Conditional/Repeat/Iterate bodies come along intact). One undo entry, on the target flow only -- the source is never modified. Splitting a flow into two, or reusing a chunk of steps another flow already has, is one call instead of reading every step and re-adding each one by hand.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
atNoIndex to insert at in the target array -- default appends to the end
toYesLast step index to copy (0-based, inclusive) -- same as `from` to copy a single step
fromYesFirst step index to copy (0-based, inclusive)
projectNoPath to the project root (same folder the side panel connects to). Defaults to the EASYSPEC_PROJECT environment variable if omitted.
sourceFlowIdYes
targetFlowIdYesMay be the same as sourceFlowId
sourceParentPathNoStep path into a Conditional/Repeat/Iterate body to copy from, instead of the flow's top level
targetParentPathNoStep path into a Conditional/Repeat/Iterate body to copy into, instead of the flow's top level

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.4

TDQS

A4.6/5.0
Behavior5/5

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

The description explicitly discloses key side effects and behaviors: it creates a single undo entry on the target flow only, never modifies the source, and deep-clones nested Conditional/Repeat/Iterate bodies. These details go beyond the schema and provide essential transparency given the absence of annotations.

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 concise, consisting of two sentences that first state the primary function and then provide supplementary details. It is well-structured, front-loading the core action and following with relevant nuances, with no redundant or extraneous information.

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 complexity with 8 parameters, the description covers the essential aspects: the operation, the range semantics, deep-copy behavior, and side-effect implications. It does not specify return values or error handling, but with no output schema and typical expectations, the description is sufficiently complete for an agent to understand and invoke the tool 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?

The schema covers 88% of parameters with descriptions, and the tool description adds meaning to the range parameters (from, to) by explaining their 0-based inclusive nature and their scoping to sourceParentPath. It also clarifies the relationship between sourceFlowId and targetFlowId via the description on targetFlowId, though sourceFlowId itself lacks a schema description and is not elaborated in the tool description.

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: copying a contiguous run of steps from one flow into another, including the ability to copy within the same flow. It also specifies the semantic details of the range (inclusive 0-based indices) and the deep-cloning behavior, leaving no ambiguity about what the 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 Guidelines4/5

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

The description provides practical use cases, such as splitting a flow or reusing steps from another flow, and contrasts this with manually reading and re-adding steps. It implicitly guides when to use this tool over a manual alternative, though it does not explicitly name sibling tools for comparison.

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