Skip to main content
Glama

runrunit_format_commit_message

Formats a Git commit subject as [number] - [type] - [description] for Runrun.it tasks, deriving the task number from the current task branch when omitted. Does not commit.

Instructions

Formats one commit subject as [numero] - [tipo] - [descrição]. Does not commit. Types: feat, fix, docs, refactor, test, chore, perf. If task_id is omitted, the number comes from the current task_[número] branch. If includes_commit is true and called_from is not commit-per-file, next_tool is runrunit_commit_per_file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYesCommit type.
task_idNoTask number, or task_[número]. Used in branch names and commit subjects.
called_fromNoSet to commit-per-file to avoid calling that tool back.
descriptionYesImperative description in Portuguese.
project_rootNoAbsolute path of the git repository. Required for tools that read or write that repo.
includes_commitNoWhen true, points next_tool at runrunit_commit_per_file without committing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the load and does well: it discloses that no commit occurs, that task_id omission triggers branch-name derivation, and that next_tool behavior depends on includes_commit and called_from. It omits any return-value shape, but this is a pure formatting helper so the behavioral surface is largely covered.

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?

Front-loaded with the output format, then rules in short sentences. Every clause earns its place, though the chained next_tool sentence is dense and could be marginally tightened.

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 no-output-schema formatter with 100% schema coverage, the description supplies the missing operational context: the exact template, the enum values, and the tool-chaining conditions. Nothing essential to calling it correctly appears absent.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes further by explaining cross-parameter behavior: task_id falls back to the current task_[número] branch when omitted, includes_commit controls next_tool, and called_from suppresses the callback. This meaning is not derivable from the field descriptions alone.

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 (formats a commit subject) plus the exact output template '[numero] - [tipo] - [descrição]' and immediately clarifies 'Does not commit', distinguishing it from the similarly named sibling runrunit_commit_per_file.

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?

Explicitly contrasts itself against committing ('Does not commit') and explains the routing condition under which runrunit_commit_per_file is chained instead. It doesn't give a fully general when-to-use rule, but the key boundary and the alternative tool are named.

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