Skip to main content
Glama

run_standard_setting

Aggregate standard-setting panel ratings into a defensible cut score with standard error, panel agreement, per-panelist flags, and items needing review.

Instructions

Aggregate standard-setting panel judgements into a cut score with its defensibility record.

Methods: "angoff" (ratings are probabilities that a minimally competent candidate answers each item correctly), "yes_no_angoff" (0/1 judgements), "bookmark" (page placements on an Ordered Item Booklet).

Panel ratings may be passed inline as a panelists-by-items array, or read from a CSV via ratings_file (one row per panelist, one column per item, no header). Inline is acceptable here because panel ratings are aggregate expert judgements, not candidate records.

THE CUT SCORE IS NOT THE OUTPUT. The output is the cut plus its standard error, the panel's ICC agreement, per-panelist severity and noise flags, items with no panel consensus, and round-over-round spread. Report the standard error whenever you report the cut: differences smaller than about two standard errors are inside sampling noise, and panels routinely argue over gaps well inside that.

SUPPLY empirical_p_values WHENEVER YOU HAVE THEM. Content experts systematically overestimate how easy items are, because they know the answer. The reality check catches a wholesale miscalibration that would otherwise produce a cut implying an unusable pass rate, and identifies the specific items to re-discuss.

bookmark requires ordered_item_thetas from an IRT calibration; this version of the package does not fit IRT models, and classical item difficulty is not a substitute for them.

REFUSES below 3 panelists (the cut's standard error is not interpretable) and warns below 8. Also refuses ratings outside [0, 1] rather than guessing that they are percentages.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
semNoStandard error of measurement of the form, in raw score points, as returned by `compute_classical_stats`. Enables the conventional cut minus/plus 1 SEM adjustments to be reported. Do not confuse it with the panel standard error also in the result: SEM is uncertainty about measuring a candidate, the panel SE is uncertainty about what a different panel would have recommended. Non-negative: it is used as a distance either side of the cut, so a negative value would swap the two adjustments while leaving both labelled correctly.
methodNo'angoff' -- ratings are probabilities in [0, 1] that a minimally competent candidate answers each item correctly. 'yes_no_angoff' -- ratings are 0/1 judgements of whether such a candidate answers each item correctly. 'bookmark' -- ratings are page placements in an Ordered Item Booklet, and `ordered_item_thetas` is then required.angoff
item_idsNoItem identifiers in rating order, so that per-item output names the items a panel has to re-discuss instead of giving positions. Supply these whenever the result will go back to a panel. Must be exactly one per item: a short list is refused, not padded, because the per-item review list is built by walking this and a short one drops the surplus items from the output silently.
ratings_fileNoPath to a CSV of panel ratings: one row per panelist, one column per item, no header row. An alternative to `panel_ratings`, for panels large enough that inlining them is unwieldy.
rp_criterionNoBookmark method only: the response probability defining mastery of a page, conventionally 0.67. It is an arbitrary convention that moves the cut, so record the value used with the resulting standard. Note this value is RECORDED, not applied -- the RP criterion is already built into `ordered_item_thetas` -- so it must match the RP those thetas were computed at, or the cut carries a standard it was not set against. Strictly between 0 and 1.
panel_ratingsNoPanel judgements as a panelists-by-items array: one inner list per panelist, one entry per item, in a consistent item order. Inline is acceptable here, unlike candidate responses, because these are aggregate expert judgements rather than individual records. Takes precedence over `ratings_file` if both are given. Angoff ratings are probabilities in [0, 1]; values outside that are refused rather than rescaled, because guessing percentages wrong moves the cut by a factor of 100.
bookmark_pagesNoBookmark method only, and required for it: each panelist's page placement in the Ordered Item Booklet, one number per panelist. Note this is a FLAT list, unlike `panel_ratings` -- a panelist places one bookmark for the whole form, not one judgement per item. Angoff ratings cannot be used here; if that is what you have, the method is 'angoff' or 'yes_no_angoff'. Pages are 1-based and must fall within the booklet length.
options_per_itemNoNumber of answer options for each item, in rating order. Used to flag items whose mean rating falls below the chance level (1/options): a panel saying a minimally competent candidate does worse than guessing is a misunderstanding of the rating task, not a low probability. At least 2 per item. For a multiple-response item count the selectable options, not the correct ones.
empirical_p_valuesNoObserved proportion correct for each item, in rating order, from a real administration. SUPPLY THESE WHENEVER THEY EXIST: they enable the reality check that catches the standard failure of Angoff panels, which is systematically overestimating how easy items are because the panel knows the answers. Without them a wholesale miscalibration passes through silently. Proportions, not percentages, and one per item.
score_distributionNoObserved number-correct scores from a real cohort, used to report the pass rate implied by the cut and by each rounding and SEM adjustment. That set of pass rates is shown together on purpose: the adjustments are policy choices, and choosing among them by which pass rate it produces is the thing this output exists to make visible. Scores only -- no identifiers, and not a response matrix. Raw number-correct, so each value is between 0 and the form length; percentages are refused rather than rescaled.
ordered_item_thetasNoBookmark method only, and required for it: the theta at which each Ordered Item Booklet page reaches the response-probability criterion, from an IRT calibration. This package does not fit IRT models, and classical item difficulty is not a substitute -- it is sample-dependent and on a different scale. One per booklet page, in booklet order, and non-decreasing if the booklet is really ordered.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Install Server

TDQS

A4.6/5.0
Behavior5/5

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

There are no annotations, so the description carries the full behavioral burden, and it is exceptionally transparent. It states the cut score is not the output, warns that differences within about two standard errors are sampling noise, and discloses refusal rules (fewer than 3 panelists, ratings outside [0, 1]) and the warning below 8 panelists. It also discloses that RP criterion is recorded but not applied and that the package does not fit IRT models.

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 long but well organized and front-loaded, with the most important operational warning—'THE CUT SCORE IS NOT THE OUTPUT'—placed early. Some points are repeated from the schema descriptions, such as inline acceptability and the rationale for empirical_p_values, but for an 11-parameter tool with conditional requirements the length is largely justified.

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?

For a complex tool with 11 parameters, an output schema, and method-dependent requirements, the description covers the important combinations: rating input options, bookmark prerequisites, the non-substitutability of classical item difficulty, refusal conditions, and the defensibility-record framing. The presence of an output schema means return fields do not need to be enumerated, and the description goes beyond that requirement anyway.

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 an extra point by adding cross-parameter meaning that individual schema descriptions cannot: the relationship between panel_ratings and ratings_file, the conditional requirement of ordered_item_thetas for bookmark, and panel-size rules tied to interpretability of the standard error. It does not need to re-explain every parameter because the schema already does that well.

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 opening sentence gives a specific verb and resource: 'Aggregate standard-setting panel judgements into a cut score with its defensibility record.' The method list (angoff, yes_no_angoff, bookmark) further clarifies the tool's domain and clearly distinguishes it from the sibling psychometrics tools such as compute_classical_stats, flag_dif, and compute_local_dependence.

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 gives strong contextual guidance: when ratings can be inline versus CSV, when bookmark requires IRT-based ordered_item_thetas, when empirical p-values should be supplied, and when the tool refuses to run. It does not explicitly name sibling tools as alternatives or state a 'do not use this for X' rule, so it stops just short of the strictest 5 standard.

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

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/JulieElkinsAWS/psychometrics-mcp'

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