Skip to main content
Glama

arno.check

Run repository validation on demand and get a pass/fail verdict. Waits for build, typecheck, or tests, and names each command it runs.

Instructions

Run a validation command on demand and wait for the verdict: kind build (default), typecheck or tests. Uses the repository's own Makefile target, npm script or cargo command when present. Waits by default and returns pass/fail directly. Every result names the command that ran; dryRun names it without running anything. In a repository with several projects, pass target to check one; with no command at the root, the answer lists the projects.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNobuild (default), typecheck, tests, lint or codegen. lint and codegen run the declared commands of that kind; lint with none declared runs typecheck.
waitNoWait for the result (default true). False returns a job ID to poll.
dryRunNoName the command that would run, without running it.
targetNoProject directory inside the workspace to check, e.g. services/api. Omit for the workspace root.
timeoutSecondsNoBound on the wait (default 90, max 300).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.0.12

TDQS

A3.9/5.0
Behavior4/5

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

With only destructiveHint=false in annotations, the description carries most of the behavioral load and does so well: it waits by default, returns pass/fail directly, names the command that ran, and dryRun avoids execution. It also explains the no-command-at-root behavior. It stops short of describing the wait=false job-ID flow and lint/codegen behavior, 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.

Conciseness5/5

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

Five compact sentences, each contributing a distinct fact: purpose/default kind, command discovery, wait behavior, result/dryRun behavior, and target/no-root behavior. Nothing is redundant and the most important information is front-loaded.

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 5-parameter tool with no output schema and a single sparse annotation, the description covers purpose, default behavior, return shape, and multi-project target handling. The remaining gap is sibling differentiation; otherwise an agent has enough to invoke it correctly.

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; the description adds real value beyond the schema by explaining target use in multi-project repos, the no-root fallback, and how dryRun reports the command without running it.

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?

It gives concrete operational guidance: wait by default, pass target for multi-project repos, and the no-root-command fallback lists projects. However, it never says when to prefer arno.check over alternatives like arno.run_tests or arno.run_command, nor what would make this tool the wrong choice.

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

Usage Guidelines3/5

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

It gives concrete operational guidance: wait by default, pass target for multi-project repos, and the no-root-command fallback lists projects. However, it never says when to prefer arno.check over alternatives like arno.run_tests or arno.run_command, nor what would make this tool the wrong choice.

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