Skip to main content
Glama

check_make

Adjudicate a D20 ability check against a DC, applying condition-aware advantages, disadvantages, and penalties to return a clear success or failure verdict.

Instructions

Adjudicate an ability check (a D20 Test) against a DC, condition-aware. Actor conditions: Blinded/Deafened auto-fail a check that requires sight/hearing (supply check_requires, including an explicit empty array for neither); Poisoned/Frightened impose Disadvantage; Exhaustion its flat d20 penalty. Condition-sensitive observations are required rather than defaulted. On a social check where the actor is the target's charmer (target_charmed_by_actor + social), the actor has Advantage. Caller rolls (T6): with d20_result it returns {total, dc, success, roll[, auto_fail]}; without it composes {roll, dc, net_modifier}. Missing required facts return exact paths; malformed inputs or unsupported condition content return their structured recovery class.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dcYesthe Difficulty Class to meet or exceed
socialNotrue if this is a social interaction check
abilityNostr | dex | con | int | wis | cha
modifierNoability + proficiency + situational modifier
d20_resultNothe rolled d20; omit to get the composed mode + net modifier
request_idNo
table_policyNo
asserted_factsNo
check_requiresNorequired for a Blinded or Deafened actor: 'sight', 'hearing', 'neither', or an array of required senses; an empty array means neither
policy_contextNo
table_decisionNo
actor_conditionsNothe checking creature's active conditions
exhaustion_levelNoapplies Exhaustion's flat d20 penalty
target_charmed_by_actorNotrue if the target is Charmed by the actor (grants social Advantage)
frightened_source_in_sightNorequired when the actor is Frightened: can it see the source of its fear?

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
whyYes
dataNo
factsYes
adapterYes
verdictYes
rule_idsYes
citationsYes
exit_codeYes
assumptionsYes
explanationYes
rule_resultYes
checked_scopeYes
coverage_levelYes
state_mutationYes
table_decisionYes
unchecked_scopeYes
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It explicitly details condition behaviors (Blinded/Deafened auto-fail, Poisoned/Frightened Disadvantage, Exhaustion penalty, charmer Advantage), both invocation modes (with/without d20_result) including return shapes, and error behavior ('Missing required facts return exact paths; malformed inputs...return their structured recovery class'). This is exceptional transparency.

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 dense but structured, opening with the core purpose and then enumerating condition effects, modes, and error handling. Each sentence adds necessary information, though the semicolon-heavy condition list could be more readable. Slightly long but appropriately sized for the tool's complexity.

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

Completeness5/5

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

The description covers key behavioral rules, both invocation modes, return value shapes (with/without d20_result), condition interactions, and error handling. Given the complex nested schema and no annotations, the description provides all essential context for correct use.

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 67%, and the description adds meaning beyond the schema: it explains check_requires semantics ('explicit empty array for neither'), ties target_charmed_by_actor to social Advantage, and specifies the two d20_result modes and their outputs. This helps the agent understand parameter interactions.

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 'Adjudicate an ability check (a D20 Test) against a DC, condition-aware,' clearly specifying the verb, resource, and scope. It distinguishes from siblings like save_check via 'ability check' and from roll_compose by framing adjudication with condition effects.

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?

The description clearly states the use case (ability checks vs DC) and condition handling, but never explicitly contrasts with alternatives such as save_check or attack_modifiers. However, the role is unambiguous due to the phrase 'ability check (a D20 Test)' and the detailed condition rules.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chaoz23/srdcheck'

If you have feedback or need assistance with the MCP directory API, please join our Discord server