Skip to main content
Glama

Merge one project into another

merge_projects

Fold a duplicate project into the surviving one, moving its tasks, notes and paths, then removing the duplicate. Ask the human first; the action is not undoable.

Instructions

Fold a duplicate project into the real one, keeping both sides' tasks, entries, notes and paths -- for the same repository registered twice (todox and todox-2). from stops existing; confirm must be its slug. Not undoable: ask the human first, then set repo_url on the survivor.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fromYesThe duplicate. Its tasks, notes and paths move, then it stops existing.
intoYesThe project that survives, keeping its slug.
modelNoYour model id, e.g. 'claude-opus-5'.
confirmYesThe slug of `from`, typed again. Ask the human before calling this: it is not undoable.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.4

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses irreversibility ('Not undoable'), destruction ('`from` stops existing'), the preservation guarantee for both sides' data, and the human-confirmation requirement. It even names a required post-call follow-up (setting repo_url on the survivor).

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 dense sentences, front-loaded with the destructive action and its irreversibility before any follow-up advice. No filler clauses and nothing repeated from the schema verbatim.

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, annotation-free, no-output-schema tool the description covers the essentials: what dies, what survives, irreversibility, and confirmation workflow. It does not address conflict handling (e.g., colliding task names) or what the survivor looks like after the merge beyond repo_url, which leaves a small gap.

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 description coverage is 100%, so all four parameters are already documented, and the description largely restates them (from = duplicate, confirm = slug of from). It adds the procedural requirement that confirm be typed after asking the human, but that is a workflow note rather than new parameter semantics; baseline 3 applies.

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 (fold a duplicate project into the real one) plus the exact data that migrates: tasks, entries, notes and paths. It is immediately distinguishable from siblings like delete_project or update_project.

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 an explicit triggering scenario ('same repository registered twice (`todox` and `todox-2`)') and a required pre-call step ('ask the human first'), which is clear usage context. It stops short of naming an alternative tool (e.g., delete_project) for the case where the duplicate's data should not be kept.

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