AgentClash Challenge Pack LLM Judges
SkillAI & modelsUse when configuring AgentClash LLM-as-judge scoring, judge prompts, rubrics, assertion/reference/n-wise modes, evidence inputs, scorecard dimensions, abstention behavior, and judge result interpretation.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the AgentClash Challenge Pack LLM Judges skill
What this skill tells your AI
The instructions your AI receives, as published by agentclash/agentclash in cli/internal/skills/snapshot/agentclash-challenge-pack-llm-judges/SKILL.md and read by ahel’s review.
Purpose
Add LLM-as-judge scoring only where deterministic validators cannot capture the whole evaluation. Judges should complement objective checks, not replace them.
Use this skill after deterministic validators and evidence sources are known. A good judge is narrow, evidence-bound, budget-aware, and wired to one scorecard dimension through source: llm_judge.
Use When
- Quality depends on reasoning, helpfulness, style, relevance, faithfulness, or nuanced task completion.
- A deterministic validator would be brittle or incomplete.
- A pack needs rubric, assertion, reference, or n-wise cross-agent ranking.
- The scorecard needs judge rationale, confidence, variance, sample count, and model count in replay/scorecard evidence.
Do Not Use When
- The behavior can be scored with deterministic validators.
- Evidence sources are not stable yet; use input-sets, artifacts, and scoring validators first.
- The run cannot afford extra model calls.
- The judge would need secrets in prompt text or private data that should not leave the workspace.
Environment
Use hosted production for CLI examples unless the user intentionally targets a local or self-hosted backend.
export AGENTCLASH_API_URL="https://api.agentclash.dev"
agentclash challenge-pack validate calls the hosted API and requires auth plus a workspace. Use agentclash link, --workspace, AGENTCLASH_WORKSPACE, or .agentclash.yaml before validating.
Validation Commands
Validate after changing judge_mode, llm_judges, judge evidence, scorecard judge dimensions, consensus, or judge limits.
agentclash challenge-pack validate path/to/pack.yaml
agentclash challenge-pack validate path/to/pack.yaml --json
Human output prints Challenge pack is valid or Challenge pack has errors. Use --json for structured valid and errors fields.
Minimal Hybrid Shape
Current evaluation specs still require at least one deterministic validator. Use judge_mode: hybrid when judges are paired with validators.
version:
evaluation_spec:
name: support-quality
version_number: 1
judge_mode: hybrid
validators:
- key: mentions_policy
type: contains
target: final_output
expected_from: literal:refund policy
llm_judges:
- mode: rubric
key: helpfulness
model: gpt-4o
samples: 3
context_from:
- challenge_input
- final_output
rubric: |
Score 1-5 for whether the answer is correct, complete, and easy for a support agent to use.
scorecard:
strategy: weighted
dimensions:
- key: correctness
source: validators
validators:
- mentions_policy
weight: 0.5
- key: helpfulness
source: llm_judge
judge_key: helpfulness
weight: 0.5
Mode coherence rules:
judge_mode: deterministic:llm_judgesmust be empty.judge_mode: llm_judge:llm_judgesmust contain at least one judge.judge_mode: hybrid:llm_judgesmust contain at least one judge, and validators are still required by the current scoring validator.
Judge Fields
Every llm_judges[] entry uses this source-backed shape:
llm_judges:
- mode: rubric
key: stable_judge_key
model: gpt-4o
context_from:
- final_output
rubric: Rate the output 1-5.
Fields:
mode: required; one ofrubric,assertion,reference, orn_wise.key: required, unique, and must not collide with validator or metric keys.model: one model identifier.models: list of model identifiers. Set exactly one ofmodelormodels.samples: optional integer from0to10;0means default samples, currently3.context_from: optional list of supported evidence references.output_schema: optional JSON Schema draft-07 or 2020-12. Validation checks the schema; current judge message builders still instruct the built-in JSON response shape.score_scale: optional{min, max}forrubricandreference;minmust be strictly less thanmax, default is1..5.rubric: required forrubricandreference.assertion: required forassertion.expect: optional boolean forassertion; when false, it flips the pass polarity.prompt: required forn_wise.position_debiasing: optional boolean forn_wise; rotates candidate order across samples.reference_from: required forreference; must be a supported evidence reference.consensus: required whenmodelshas more than one entry; invalid otherwise.anti_gaming_clauses: optional extra prompt clauses appended after the built-in judge instructions.timeout_ms: optional integer greater than0; default judge timeout is 60 seconds.
Supported Evidence
Judge context_from and reference_from entries must use supported evidence references:
final_outputrun.final_outputchallenge_inputcase.payloadcase.payload.<field>case.inputs.<input_key>case.expectations.<expectation_key>artifact.<artifact_key>[.<field>]file:<post_execution_check_key>literal:<value>
Each context_from entry is injected into the judge prompt as <reference>:\n<resolved value>. Reference judges also inject reference_answer from reference_from.
If any required judge context or reference evidence is unavailable, the judge result becomes unavailable with a reason; it does not produce a normalized_score.
Rubric Mode
Use mode: rubric for subjective numeric scoring against a written rubric.
llm_judges:
- mode: rubric
key: persuasiveness
model: claude-sonnet-4-6
samples: 3
context_from:
- challenge_input
- final_output
score_scale:
min: 1
max: 5
rubric: |
Score 1-5.
1: Incorrect, incomplete, or unsupported.
3: Mostly correct but misses important nuance.
5: Correct, concise, evidence-bound, and directly useful.
scorecard:
dimensions:
- key: persuasiveness
source: llm_judge
judge_key: persuasiveness
The judge is instructed to return JSON shaped like:
{"score": 4, "confidence": "low|medium|high", "reasoning": "brief rationale"}
Rubric and reference scores are clamped to the configured score_scale and normalized to 0..1 for the scorecard dimension.
Assertion Mode
Use mode: assertion for yes/no claims such as safety, groundedness, or policy compliance.
llm_judges:
- mode: assertion
key: no_hallucination
model: claude-haiku-4-5-20251001
context_from:
- case.payload.source_excerpt
- final_output
assertion: The response contains only information supported by the source excerpt.
expect: true
scorecard:
strategy: hybrid
dimensions:
- key: no_hallucination
source: llm_judge
judge_key: no_hallucination
gate: true
pass_threshold: 1.0
The judge is instructed to return JSON shaped like:
{"pass": true, "confidence": "low|medium|high", "reasoning": "brief rationale"}
The parser also accepts verdict values such as pass, true, yes, fail, false, or no. Assertion samples aggregate by majority and normalize to 1 or 0.
Reference Mode
Use mode: reference when a gold answer or expected artifact exists.
llm_judges:
- mode: reference
key: summary_quality
model: gpt-4o
context_from:
- final_output
reference_from: case.expectations.reference_summary
rubric: |
Compare the response to the reference summary for coverage, faithfulness, and concision.
Penalize unsupported additions.
scorecard:
dimensions:
- key: summary_quality
source: llm_judge
judge_key: summary_quality
reference_from must resolve to available evidence. If it does not, the judge is unavailable.
N-Wise Mode
Use mode: n_wise to rank all run agents in the same run against one another.
llm_judges:
- mode: n_wise
key: overall_quality
model: claude-sonnet-4-6
samples: 3
position_debiasing: true
context_from:
- final_output
prompt: Rank the candidate outputs from best to worst on correctness, completeness, and clarity.
scorecard:
dimensions:
- key: overall
source: llm_judge
judge_key: overall_quality
The judge is instructed to return JSON shaped like:
{"ranking": ["<run_agent_id>", "..."], "confidence": "low|medium|high", "reasoning": "brief rationale"}
The parser also accepts ranked_ids. Every candidate must appear exactly once. n_wise requires at least two run agents in the run. The current run agent receives a normalized Borda-style score from its rank.
Multi-Model Consensus
Use models only when you need cross-model agreement. Multiple models require consensus.
llm_judges:
- mode: rubric
key: quality
models:
- claude-sonnet-4-6
- gpt-4o
consensus:
aggregation: median
min_agreement_threshold: 0.6
flag_on_disagreement: true
rubric: Rate overall quality 1-5.
Consensus rules:
aggregation:median,mean,majority_vote, orunanimous.medianandmeanare valid only for numeric modes:rubric,reference, andn_wise.majority_voteis valid only forassertion.unanimousis valid for numeric and assertion modes.min_agreement_thresholdmust be between0and1.flag_on_disagreementis optional boolean.
Single-model judges must not include consensus.
Judge Limits
Judge limits live under scorecard.judge_limits.
scorecard:
judge_limits:
max_samples_per_judge: 3
max_calls_usd: 2.50
max_tokens: 50000
Validation rules:
max_samples_per_judge:0..10;0means use each judge's ownsamplesdefaulting behavior.max_calls_usd: greater than or equal to0.max_tokens: greater than or equal to0.
Current pack validation range-checks these budget knobs. Still keep each judge's samples and models small: every judge times every sample times every model can create one LLM call.
Scorecard Wiring
Each judge-backed dimension must point at exactly one judge key.
scorecard:
strategy: hybrid
dimensions:
- key: deterministic_correctness
source: validators
validators:
- mentions_policy
weight: 0.5
- key: groundedness
source: llm_judge
judge_key: no_hallucination
better_direction: higher
gate: true
pass_threshold: 1.0
- key: helpfulness
source: llm_judge
judge_key: helpfulness
weight: 0.5
Rules:
source: llm_judgerequiresjudge_key.judge_keymust reference an existingllm_judges[].key.judge_keymust be empty for non-llm_judgedimensions.better_direction, when present forllm_judge, must behigher.- All current judge modes produce numeric normalized scores that can feed dimensions.
strategy: hybridrequires at least one gated dimension.
Abstention And Unavailable Results
There is no abstention_rule, abstain, or unable_to_judge field in the YAML authoring surface.
Judges become unavailable when:
context_fromevidence cannot resolve.reference_fromevidence cannot resolve.- an
n_wiserun has fewer than two run agents. - all model calls fail or return unparsable output.
- no provider client or credential path is configured for the judge model.
An unavailable judge result has no normalized_score; it keeps a reason and payload details such as failed calls or unable_to_judge_count. A source: llm_judge dimension with no normalized score becomes unavailable.
Result Shape
Judge-backed scorecards and replay surfaces can include llm_judge_results with:
judge_keymodenormalized_scorepayloadconfidencevariancesample_countmodel_countreason
payload includes call records, model scores, aggregated score, warnings, and n-wise candidates when applicable.
Security And Anti-Gaming
- Do not put raw secrets in
rubric,assertion,prompt,anti_gaming_clauses,context_from,reference_from, orliteral:values. - Validation rejects
${secrets.*}references inrubric,assertion, andprompt; avoid them everywhere else too. anti_gaming_clausesare additive. The evaluator still injects built-in judge instructions and default anti-gaming behavior.- Keep evidence narrow. Judges receive resolved context text in provider requests.
- Prefer deterministic validators for hard safety, schema, file, and policy constraints; judges should score nuance.
Common Validation Failures
judge_mode: deterministicincludesllm_judges.judge_mode: llm_judgeorhybridhas nollm_judges.- A judge
keyis empty, duplicated, or collides with a validator/metric key. modeis notrubric,assertion,reference, orn_wise.rubricmode omitsrubric.referencemode omitsrubricorreference_from.assertionmode omitsassertion.n_wisemode omitsprompt.- Both
modelandmodelsare set, or neither is set. samplesis negative or greater than10.modelshas more than one model but noconsensus.consensusappears on a single-model judge.context_fromorreference_fromis not a supported evidence reference.score_scale.min >= score_scale.max.timeout_ms <= 0.scorecard.judge_limitsvalues are out of range.source: llm_judgedimension omitsjudge_keyor references an unknown judge.
Authoring Procedure
- Keep deterministic validators for hard checks.
- Choose the judge mode:
rubric,assertion,reference, orn_wise. - Pick the smallest useful
context_fromevidence set. - Write rubric/assertion/prompt text that tells the judge how to use only that evidence.
- Select one
model, or usemodelsplusconsensusonly when cross-model agreement matters. - Keep
sampleslow; usescorecard.judge_limitsfor budget guardrails. - Wire each judge to one
source: llm_judgescorecard dimension withjudge_key. - Pair hard gates with deterministic validators or assertion judges.
- Validate with
agentclash challenge-pack validate path/to/pack.yaml --json. - Report judge keys, modes, evidence refs, model fan-out, budget settings, and any unavailable-evidence risks.
Report Back Format
Judge mode:
Judges:
- key:
mode:
model/models:
samples:
context_from:
reference_from:
consensus:
score_scale:
anti_gaming_clauses:
Scorecard dimensions:
Validator pairings:
Judge limits:
Unavailable-evidence risks:
Security review:
Validation command:
Validation result:
Open issues:
Related Skills
agentclash-challenge-pack-scoring-validatorsagentclash-challenge-pack-artifactsagentclash-challenge-pack-input-setsagentclash-challenge-pack-validation-publishagentclash-eval-runneragentclash-scorecard-reader
Signals
- GitHub stars
- 30
- Forks
- 2
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
agentclash-challenge-pack-llm-judges- Source
- github.com/agentclash/agentclash