Skip to main content
Glama

create_feature_branch

Forks a feature version into a new branch for separate design work, with optional naming, parent lineage, and base version. Requires Kiln Pro.

Instructions

Fork a branch from a feature version.

Needs Kiln Pro.

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": {
      "feature_id": "<feature_id>"
    },
    "name": "create_feature_branch"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoThe new branch's name, when the person said one. Must not match a non-retired branch of the same feature (``FEATURE_BRANCH_EXISTS``). Omit it to let Kiln name the branch.
annotationNoWhat the branch is trying, in the person's own words. 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.
feature_idYesId of the feature the branch belongs to. Must not be empty.
parent_branch_idNoId of the branch this one forks from, recorded for lineage. A retired or unknown parent is refused. Omit it for a branch with no parent.
base_feature_version_idNoFeature version id the branch starts from; it becomes the branch's head. Omit it to create a branch with no versions yet.

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.  Stored on the branch; names it when ``name`` is omitted. Default: \"\"."
    • addedInput schema / properties / base_feature_version_id / description
      Added value: +"Feature version id the branch starts from; it becomes the branch's head.  Omit it to create a 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 / feature_id / description
      Added value: +"Id of the feature the branch belongs to.  Must not be empty."
    • addedInput schema / properties / name / description
      Added value: +"The new branch's name, when the person said one. Must not match a non-retired branch of the same feature (``FEATURE_BRANCH_EXISTS``).  Omit it to let Kiln name the branch."
    • addedInput schema / properties / parent_branch_id / description
      Added value: +"Id of the branch this one forks from, recorded for lineage.  A retired or unknown parent is refused.  Omit it for a branch with no parent."
    • changedInput schema / required
      Previous value: -[
      -  "feature_id",
      -  "name"
      -]New value: +[
      +  "feature_id"
      +]
  2. Addedv1.5.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description's added value is the "Needs Kiln Pro" entitlement requirement, which is genuinely extra context not in the structured fields. However, it does not say what the created branch looks like, that naming collisions fail with FEATURE_BRANCH_EXISTS, or that omitting base_feature_version_id yields a branch with no versions — all of which live only in the schema.

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?

Two short sentences with the action front-loaded and the prerequisite separated out; nothing is padded. The second line is terse to the point of being cryptic (a billing tier? an entitlement check?), which keeps it just below a top score.

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?

For a six-parameter fork/versioning operation the description is thin, but the schema carries the full parameter semantics and there is no output schema to explain. What's missing is the operation's place in the workflow — how it relates to list_feature_branches, rebase_feature_branch, or merging — leaving the agent to infer it.

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 six parameters including the optional name/annotation/parent lineage fields are documented in the schema itself. The description adds only the phrase "from a feature version," which hints that feature_id and optionally base_feature_version_id are expected, so baseline 3 applies.

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?

Specific verb plus resource: "Fork a branch from a feature version" makes clear this creates a feature branch from a version, which distinguishes it in spirit from create_design_branch or create_decoration_preset_branch. It never names those siblings, so the differentiation is only implicit and requires the reader to already know the domain's branch taxonomy.

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?

"Needs Kiln Pro" is a plan prerequisite, not usage guidance; it does tell the agent a gating condition, which is more than nothing. But the description gives no when-to-use context relative to alternatives such as create_design_branch or the list_feature_* discovery tools, and nothing on whether to look up feature versions first.

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