Skip to main content
Glama
dha-aa
by dha-aa

Replace Source

replace_source
DestructiveIdempotent

Swap a layer's footage, precomp, solid, or null source with another project item while keeping its timing, keyframes, masks, and effects; optionally update expressions.

Instructions

Swap the footage, comp or solid a layer shows for another project item (like Alt/Option-dragging onto it), keeping the layer's timing, keyframes, masks and effects. fix_expressions (default true) updates expressions that referred to the old source. Works on footage, precomp, solid and null layers.

Input Schema

NameRequiredDescriptionDefault
item_idYes
layer_idYes
fix_expressionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.22.0

TDQS

A4.2/5.0
Behavior4/5

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

With destructiveHint=true and idempotentHint=true already declared, the description adds real value by disclosing what is preserved ('keeping the layer's timing, keyframes, masks and effects') and the side effect of fix_expressions. It does not spell out what is lost when the source is swapped or any failure/error conditions, leaving a modest gap.

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?

Three tight sentences, front-loaded with the core action, then the fix_expressions behavior, then supported layer types. Every sentence conveys distinct, useful information with no filler.

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 moderate-complexity mutation with no output schema, the description covers purpose, preservation behavior, parameter semantics, and scope. It omits return value and any preconditions (e.g., type-compatibility between the new item and layer), but is otherwise sufficient to invoke correctly.

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 0%, so the description must carry parameter meaning. It explains fix_expressions well ('default true, updates expressions that referred to the old source') and implies item_id is the replacement source, but layer_id and item_id are never explicitly defined as target-layer vs new-item, so it only partially compensates.

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 ('Swap the footage, comp or solid a layer shows for another project item') and reinforces it with a concrete analogy ('like Alt/Option-dragging onto it'). This clearly separates it from sibling mutators like set_layer, duplicate_layer, or set_item, so an agent can pick it without opening other schemas.

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?

Provides clear usage context via the drag-and-drop analogy and scopes applicability ('Works on footage, precomp, solid and null layers'), which tells the agent when the tool is valid. However, it names no alternative tool and gives no explicit when-not guidance, so it stops just short of full routing help.

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