kdeps-commands-judges
v2.0.0kdeps command: judges
set commands / shelf agent
PurposeShow the configured judge panel (reviews each turn's final output)
LLM context: none - kdeps uses it without sending it to the model
Where it runs
Part of the commands set, used in workflow and agent mode. Slash commands: the help and completion of the built-in ones, and declared commands that run other commands and prompts.
- you type /name in kdeps
- the command runs: built in, or its declared stepscommands/judges
- prompts go to the model; the output is shown
Loaded by: kdeps (agent loop), /update, kdeps run
In the code: kdeps (agent loop)agent.(*REPL).Runagent.declaredCommand
Install
A kdeps asset: installed with the first-run profile that includes its set, or the first time a command needs it, and updated without a new release.
Also installs what it requires, when missing or older: tools/session_ops.
Pin a version with kdeps install commands/judges@<version>.
Contents
- order
- 250
/judgesShow the configured judge panel (reviews each turn's final output)/judges add <name> <criteria>Add a judge to the explicit roster/judges remove <name>Remove a judge from the explicit roster/judges auto [on|off]Show or toggle a per-turn auto-generated roster; on unless turned off/judges grade <name> <kind> <pattern>Attach a grader (exact, contains, not_contains, regex, json, expr) to a judge. It runs before that judge's model review/judges offDisable the judge panel and store auto_judges false/judges clearDisable the judge panel entirely/judges- 1
Calls a kdeps API tool
session_opsoperation: judgesprints
{{if and (not .judges) (not .auto)}}no judge panel configured - outputs are not reviewed{{else if not .judges}}{{if .last}}**Last auto-generated panel:** {{range .last}} - {{.name}}: {{.criteria}}{{end}}{{else}}auto-judges enabled - a roster is generated per turn{{end}}{{else}}**Configured judges:** {{range .judges}} - {{.name}}{{if .criteria}}: {{.criteria}}{{end}}{{range .graders}} - {{.kind}}{{if .pattern}} {{.pattern}}{{end}}{{end}}{{end}} {{if .auto}} (auto-judges also enabled, but the explicit roster takes priority){{end}} `/judges add <name> <criteria>` adds · `/judges remove <name>` drops · `/judges clear` disables{{end}}
/judges list- 1
Calls a kdeps API tool
session_opsoperation: judgesprints
{{if and (not .judges) (not .auto)}}no judge panel configured - outputs are not reviewed{{else if not .judges}}{{if .last}}**Last auto-generated panel:** {{range .last}} - {{.name}}: {{.criteria}}{{end}}{{else}}auto-judges enabled - a roster is generated per turn{{end}}{{else}}**Configured judges:** {{range .judges}} - {{.name}}{{if .criteria}}: {{.criteria}}{{end}}{{range .graders}} - {{.kind}}{{if .pattern}} {{.pattern}}{{end}}{{end}}{{end}} {{if .auto}} (auto-judges also enabled, but the explicit roster takes priority){{end}} `/judges add <name> <criteria>` adds · `/judges remove <name>` drops · `/judges clear` disables{{end}}
/judges add- 1
Calls a kdeps API tool
session_opsoperation: judge_add name: $1 criteria: ${@:2}prints
added judge {{printf "%q" .name}}
/judges remove- 1
Calls a kdeps API tool
session_opsoperation: judge_remove name: $1prints
{{if .removed}}removed judge {{printf "%q" .name}}{{else}}no judge named {{printf "%q" .name}}{{end}}
/judges grade- 1
Calls a kdeps API tool
session_opsoperation: judge_grade name: $1 kind: $2 pattern: ${@:3}prints
grader {{.kind}} on {{printf "%q" .name}}
/judges autoShows or sets the session setting auto-judges to one of onoff. What it prints is the setting block below.
/judges clear- 1
Calls a kdeps API tool
session_opsoperation: judges_clearprints
judge panel disabled
/judges off- 1
Calls a kdeps API tool
session_opsoperation: judges_clearprints
judge panel disabled
requires:
tools/session_ops: ""
version: 2.0.0
# kdeps update installs these with this command: what its run steps use
requires:
tools/session_ops: ""
name: judges
order: 250
usage:
- args: ""
help: "Show the configured judge panel (reviews each turn's final output)"
- args: "add <name> <criteria>"
help: Add a judge to the explicit roster
- args: "remove <name>"
help: Remove a judge from the explicit roster
- args: "auto [on|off]"
help: Show or toggle a per-turn auto-generated roster; on unless turned off
- args: "grade <name> <kind> <pattern>"
help: "Attach a grader (exact, contains, not_contains, regex, json, expr) to a judge. It runs before that judge's model review"
- args: "off"
help: Disable the judge panel and store auto_judges false
- args: clear
help: Disable the judge panel entirely
subcommands:
"": &status
run:
- tool: session_ops
args: {operation: judges}
print: |-
{{if and (not .judges) (not .auto)}}no judge panel configured - outputs are not reviewed{{else if not .judges}}{{if .last}}**Last auto-generated panel:**
{{range .last}}
- {{.name}}: {{.criteria}}{{end}}{{else}}auto-judges enabled - a roster is generated per turn{{end}}{{else}}**Configured judges:**
{{range .judges}}
- {{.name}}{{if .criteria}}: {{.criteria}}{{end}}{{range .graders}}
- {{.kind}}{{if .pattern}} {{.pattern}}{{end}}{{end}}{{end}}
{{if .auto}}
(auto-judges also enabled, but the explicit roster takes priority){{end}}
`/judges add <name> <criteria>` adds · `/judges remove <name>` drops · `/judges clear` disables{{end}}
list: *status
add:
run:
- tool: session_ops
args: {operation: judge_add, name: "$1", criteria: "${@:2}"}
print: 'added judge {{printf "%q" .name}}'
remove:
run:
- tool: session_ops
args: {operation: judge_remove, name: "$1"}
print: '{{if .removed}}removed judge {{printf "%q" .name}}{{else}}no judge named {{printf "%q" .name}}{{end}}'
grade:
run:
- tool: session_ops
args: {operation: judge_grade, name: "$1", kind: "$2", pattern: "${@:3}"}
print: 'grader {{.kind}} on {{printf "%q" .name}}'
auto:
setting:
key: auto-judges
values: [on, off]
show: "auto-judges: {{.value}}"
set: "auto-judges {{if eq .value \"on\"}}enabled{{else}}disabled{{end}}"
invalid: "Usage: /judges auto [on|off]"
clear: &clear
run:
- tool: session_ops
args: {operation: judges_clear}
print: judge panel disabled
"off": *clear
Versions
| Version | Published | Status |
|---|---|---|
| 2.0.0 | 10/24/2026 | active |
| 1.1.1 | 10/21/2026 | active |
| 1.1.0 | 10/17/2026 | active |
| 1.0.0 | 10/12/2026 | active |
Details
- Author
- kdeps
- License
- Apache-2.0
- Latest Version
- 2.0.0
- Published
- 10/12/2026