Skip to main content
Glama

build_check_scripts

Read-only

Compiles project script modules outside the editor using current files and last compiler arguments, returning pass/fail results with structured errors and warnings without changing the project.

Instructions

Compiles the project's script modules (and those of the projects it references) outside the editor, with the compiler arguments Flax.Build last used and the modules' current files, into a scratch folder. Returns passed, failed or unavailable (never built yet: Reason says why) with structured errors and warnings (file, line, column, code) and each module's outcome. Works while the editor is open, also during play mode; changes nothing in the project.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
errorsYes
reasonYes
statusYes
modulesYes
secondsYes
warningsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A4/5.0
Behavior5/5

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

With only readOnlyHint available in annotations, the description carries the burden well: it discloses that output goes to a scratch folder, that nothing in the project is changed (consistent with readOnlyHint), that it can run while the editor is open and during play mode, and that an 'unavailable' result means the module was never built, with Reason explaining why. These are exactly the non-obvious behavioral traits an agent needs before calling a compile tool.

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?

Three sentences, front-loaded with the action verb and scope, with no filler. Some return-value detail (passed/failed/unavailable, structured error fields) duplicates what the output schema already conveys and could be trimmed, but overall it is dense and purposeful.

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 zero-parameter tool with an output schema, this covers what the agent needs: what it does, where output goes, effect on the project, and result semantics. The one real gap is disambiguation from sibling compile tools in a crowded build-* and editor_* family.

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?

The tool takes zero parameters and the schema is empty, so there is nothing the description could add. Baseline of 4 applies; the description implicitly confirms no targeting or argument options exist by saying it reuses the arguments Flax.Build last used.

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?

The description gives a specific verb and resource: it compiles the project's script modules plus those of referenced projects, outside the editor, into a scratch folder. The 'outside the editor' and 'with the compiler arguments Flax.Build last used' qualifiers give it real specificity. However, it never names the closely related siblings build_compile_scripts or editor_compile, so an agent must still infer which of the three compile-family tools to pick.

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?

Usage context is implied rather than stated: it works while the editor is open and during play mode, which suggests a check-without-disruption scenario. But there is no explicit 'use this when... instead of build_compile_scripts/editor_compile' guidance and no exclusions, despite three plausible compile alternatives among the siblings.

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