Skip to main content
Glama

create_design_branch

Fork a design from a specific version into a new branch so subsequent saves stay isolated from the original line.

Instructions

Create a branch forked from a specific version. Subsequent saves on this design flow to the new branch.

Free door, tiered answer — Free: Branch · merge · cherry-pick · undo, on the designs you keep · Pro: Branch · merge · cherry-pick · undo, on every design · Business: ✓ · Enterprise: ✓.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "design_id": "<design_id>"
    },
    "name": "create_design_branch"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoBranch name, when the person said one (unique per design; a clash is ``BRANCH_EXISTS``). Omit it to let Kiln name the branch.
design_idYesTarget design.
annotationNoWhat the branch is trying, in the person's own words (``"thicker walls for shipping"``). Stored on the branch; names it when ``name`` is omitted. Default: "".
created_byNoLabel recorded as the branch's creator, stored as given. Omit it to record none.
base_version_idNoVersion id the branch starts from; it becomes the branch's head. Omit it only for a trunk branch with no versions yet.
parent_branch_idNoOptional parent branch for lineage tracking.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv1.5.1
    • changedInput schema / properties / annotation / description
      Previous value: -"Default: \"\"."New value: +"What the branch is trying, in the person's own words (``\"thicker walls for shipping\"``).  Stored on the branch; names it when ``name`` is omitted. Default: \"\"."
    • addedInput schema / properties / base_version_id / description
      Added value: +"Version id the branch starts from; it becomes the branch's head.  Omit it only for a trunk branch with no versions yet."
    • addedInput schema / properties / created_by / description
      Added value: +"Label recorded as the branch's creator, stored as given.  Omit it to record none."
    • addedInput schema / properties / design_id / description
      Added value: +"Target design."
    • addedInput schema / properties / name / description
      Added value: +"Branch name, when the person said one (unique per design; a clash is ``BRANCH_EXISTS``).  Omit it to let Kiln name the branch."
    • addedInput schema / properties / parent_branch_id / description
      Added value: +"Optional parent branch for lineage tracking."
    • changedInput schema / required
      Previous value: -[
      -  "design_id",
      -  "name"
      -]New value: +[
      +  "design_id"
      +]
  2. Addedv1.5.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that subsequent saves on the design are redirected to the new branch — but says nothing about what happens to the existing branch head, whether the operation is idempotent, or error conditions like BRANCH_EXISTS. The tier sentence is opaque ('Free door, tiered answer') and adds ambiguity rather than clarity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first two sentences are tight and front-loaded with the action and its side effect. The trailing pricing sentence is repetitive marketing noise (Free/Pro/Business/Enterprise all list identical operations) that consumes space without informing an agent's decision.

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

Completeness3/5

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

With 6 parameters, full schema coverage, no output schema, and present annotations, the core is adequate: the agent knows what the tool creates and that saves re-route afterward. It still lacks the relationship to sibling branch-creation tools, the returned branch handle, and a clear statement of plan-based restrictions, which matter for a creating/mutating tool in a dense branch-management toolset.

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%, with parameters like base_version_id, name, annotation and parent_branch_id already fully documented including the BRANCH_EXISTS clash and naming fallback. The description's only param-level contribution is implying the fork point ('specific version'), which is baseline-level value when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource ('Create a branch forked from a specific version') plus an important consequence ('Subsequent saves on this design flow to the new branch'). It does not distinguish itself from close siblings such as create_feature_branch, create_decoration_preset_branch, or create_design, so an agent cannot tell from the description alone which branch type applies to which object.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No explicit when-to-use or when-not-to-use guidance, and no mention of preconditions (e.g., that base_version_id is normally required in practice). The tier blurb ('Free: Branch · merge · cherry-pick · undo, on the designs you keep') hints at plan gating but never states what an agent should do if the design is not on a paid tier.

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

Deploy Server

Other Tools