Skip to main content
Glama

duplicate_slide

Duplicates a slide with full fidelity—notes, charts, embedded workbooks, and media—while regenerating creation GUIDs to prevent corruption. Optionally place the copy at a chosen position.

Instructions

Deep-copy a slide: notes, charts with their embedded workbooks, and embeddings are cloned and retargeted; layout and media stay shared by design; creation GUIDs are regenerated (duplicates corrupt). slide: 0-based index or {"slide_id": N}. position: 0-based final index for the copy, default right after the original. The design pack adds move and hide: enable_tools(packs=['design']). Saves atomically with two-slot backup; backup=False skips rotation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slideYes
backupNo
positionNo
file_pathYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.2.1
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / slide / title
      Removed value: -"Slide"
  2. First observedv1.0.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the single readOnlyHint=false annotation, the description discloses deeply relevant behavior: cloned vs shared content, GUID regeneration to avoid corruption, atomic saving with two-slot backup, and backup=False skipping rotation. This is exactly the kind of operational context an agent needs.

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 dense but purposeful: copy semantics come first, then parameter details, then the pack prerequisite and save behavior. No filler is present; the design-pack sentence is slightly tangential but still relevant to the tool's capability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex mutation tool with an empty slide schema and minimal annotations, the description covers all non-obvious aspects: deep-copy behavior, parameter formats, destructive-corruption warning, backup behavior, and a capability prerequisite. Given the existing output schema, nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the full burden and succeeds. It explains slide's index/object form, position's 0-based meaning and default, and backup's rotation-skip effect. file_path is not explicitly described, but it is the most self-explanatory parameter.

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 opens with 'Deep-copy a slide', a specific verb and resource, then clarifies the exact scope: notes, charts with embedded workbooks, and embeddings are cloned, while layout/media stay shared and GUIDs are regenerated. This clearly distinguishes the tool from insert_slide, delete_slide, and reorder_slides.

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?

It gives concrete invocation guidance: slide can be a 0-based index or an object, position defaults to right after the original, and the design pack prerequisite for move/hide is stated. It does not explicitly name sibling alternatives or say when not to use this tool, so it stops short of full alternative routing.

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