Skip to main content
Glama

torch_validate_project

Validates a Torch project pre-build by checking ROM SHA1 hash, parsing config.yml, verifying destination permissions, and testing asset paths to catch errors before packaging.

Instructions

Pre-flight validation for a Torch project: calculates ROM SHA1, parses config.yml, checks hash matches, verifies destination permissions, and validates asset paths.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
srcdirNoPath to source project directory containing config.yml (defaults to current working directory)
destdirNoTarget output destination directory
rom_pathYesAbsolute or relative path to the N64 ROM file (.z64, .n64, .v64)
single_yamlNoOptional single YAML asset file to test path resolution for

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.3/5.0
Behavior3/5

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

The description lists the validation steps (SHA1 calculation, config parsing, permission verification, asset path checks) which provides a good sense of what happens, but it does not disclose whether the operation is read-only, what side effects occur (if any), or how failures are reported (exceptions, error codes, etc.). With no annotations provided, the description carries the full burden and only partially fulfills it.

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?

The description is a single, efficient sentence that front-loads the primary purpose ('Pre-flight validation') and lists the key checks. It avoids fluff and is easy to parse, though it could be organized as a short list for even faster scanning.

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

Completeness2/5

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

The description gives an overview of what the tool does but omits essential runtime context: what the tool returns (e.g., a success/failure report, exit code), how to interpret results, and what happens on validation failure. There is no output schema and no mention of error behavior, so an agent cannot anticipate the tool's outcome beyond the general validation actions. For a validation tool, this is a significant gap.

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?

All four parameters are fully described in the input schema (coverage 100%). The description adds only a high-level overview (e.g., mentions 'calculates ROM SHA1' for rom_path, 'parses config.yml' for srcdir) without providing extra constraints, formats, or interaction details. Since the schema already documents the parameters, the description adds minimal incremental value.

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?

The description clearly identifies the tool as a validation step with a specific verb ('validate') and resource ('Torch project'). It enumerates concrete checks (ROM SHA1, config parsing, hash match, permissions, asset paths), which distinguishes it from siblings like torch_parse_config (which only parses config) and the export tools. An agent can immediately understand its role.

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 guidance is given on when to use this tool versus alternatives. The description does not mention that it should be run before exports or other operations, nor does it contrast with sibling tools. An agent would have to infer its placement from the name and sibling context.

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