Skip to main content
Glama

Check a draft against a lab

check_spec
Read-onlyIdempotent

Run a Slop Curriculum lab’s exact checks on a draft, before handing it in on learn.slopped.site: a tiny game spec, a sound recipe or pack (rendered and measured), a motion shot (rendered frame by frame), a SKILL.md, a tool definition, a verb or juice table, or a plan. The same code the lab judge runs; no model, nothing stored. Use when a learner wants to know whether their JSON or file passes before they submit. Returns each exact row (met or not, with a note) and lists the rows only the lab’s judge marks.

Input Schema

NameRequiredDescriptionDefault
draftYesThe draft exactly as it would be pasted into the lab: JSON, a SKILL.md, or text.
priorNoEarlier labs’ answers in the same pathway, by format, for the rows that compare with them (e.g. a sound must be for an event on your brief).
moduleYesThe module whose lab this draft is for (see list_curriculum), e.g. "ship-a-tiny-game", "a-sound-is-a-recipe", "camera-moves", "skills".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavior: checks are 'the same code the lab judge runs', 'no model, nothing stored', and some drafts are rendered/measured or rendered frame-by-frame — signaling deterministic, server-side execution that may be slow. It also discloses the return shape (per-row met/not-met plus judge-only rows), which matters because there is no output schema; it does not mention latency or whether results are reproducible across edits.

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?

Purpose is front-loaded in the first clause and the when-to-use sentence follows immediately. The middle list of draft formats is long but each item disambiguates a real input type; only slight tightening (e.g. grouping the rendered items) would improve it.

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 three-parameter tool with a nested prior map, full schema coverage and no output schema, the description covers purpose, trigger, execution model, and return values. The remaining gap is minimal: it never links to the sibling that issues the receipt after a pass, leaving the learner's next step to be inferred.

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 earns extra by explaining what `prior` actually does — earlier labs' answers supply rows that cross-compare (the example 'a sound must be for an event on your brief'), which is a relationship the schema's per-key descriptions do not state. `draft` and `module` are not elaborated beyond the schema, which is acceptable given the schema already names the module source (list_curriculum) and example values.

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 opens with a specific verb and resource — 'Run a Slop Curriculum lab's exact checks on a draft' — and then enumerates exactly which draft artifacts qualify (game spec, sound recipe/pack, motion shot, SKILL.md, tool definition, verb/juice table, plan). That enumeration separates it from siblings like validate_cartridge (cartridges) and claim_lab_receipt (which presumably records a pass rather than checking one).

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?

'Use when a learner wants to know whether their JSON or file passes before they submit' gives a clear triggering condition and implicitly the pre-submission timing. It does not explicitly name an alternative or say when-not to call it (e.g. after a receipt is already claimed), so it stops short of full routing guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources