AgentClash Scorecard Reader
SkillAI & modelsUse when interpreting AgentClash rankings, scorecards, replay timelines, artifacts, LLM judge results, or failure-review evidence into source-backed findings and next actions.
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 Scorecard Reader skill
What this skill tells your AI
The instructions your AI receives, as published by agentclash/agentclash in web/content/agent-skills/agentclash-scorecard-reader/SKILL.md and read by ahel’s review.
Purpose
Turn completed or inspectable AgentClash run evidence into an engineering readout: who won, why, which claims are backed by scorecard/replay/artifact evidence, and what the next command or fix should be.
Use When
- A user asks why an AgentClash run passed, failed, regressed, drifted, or picked a winner.
- You have a run ID and need to inspect rankings, run agents, scorecards, replay steps, failure-review items, or artifacts.
- A reviewer needs evidence-first findings instead of raw JSON dumps.
- A follow-up skill needs a grounded summary before promoting regressions or changing a challenge pack.
Do Not Use When
- The user needs to start a new eval run; use
agentclash-eval-runner. - The user needs to author, validate, or publish the challenge pack first; use the challenge-pack skills.
- The user is ready to promote failures into regression suites; use
agentclash-regression-flywheelafter this skill identifies the useful failures.
Inputs Needed
- Workspace ID or configured workspace context.
- Run ID.
- Optional run agent ID or agent label for a specific scorecard or replay.
- Optional baseline expectation, expected winner, or release-gate decision to compare against.
- Optional artifact IDs from failure evidence, scorecards, or workspace artifact list.
Environment
Use hosted production by default unless the user intentionally targets local or self-hosted infrastructure:
export AGENTCLASH_API_URL="https://api.agentclash.dev"
agentclash auth status
agentclash workspace use <WORKSPACE_ID>
Workspace resolution follows the CLI setup rules: --workspace, AGENTCLASH_WORKSPACE, saved config, or .agentclash.yaml. run failures, artifact list, and eval scorecard require a workspace. artifact download uses an artifact ID directly.
Procedure
- Confirm the run exists and get its agent IDs.
- Read the ranking to identify the winner, sort mode, gaps, unavailable scores, and evidence warnings.
- Read the relevant scorecard. Use
eval scorecardfor run-first analysis and baseline comparison; userun scorecardwhen you already have a run agent ID. - Read failure-review items for concrete failed checks, replay refs, artifact refs, judge refs, metric refs, severity, and promotability.
- Pull replay steps around referenced sequences, or page through replay when no refs exist.
- Inspect artifacts only when a scorecard, failure item, or user request points to them.
- Report claims as evidence-first findings: claim, evidence pointer, impact, next action.
Commands
Start with run-level shape:
agentclash run get <RUN_ID> --json
agentclash run agents <RUN_ID> --json
agentclash run ranking <RUN_ID> --json
agentclash run ranking <RUN_ID> --sort-by composite --json
agentclash run ranking <RUN_ID> --sort-by correctness --json
Scorecard commands:
agentclash eval scorecard <RUN_ID> --agent <RUN_AGENT_ID_OR_LABEL> --json
agentclash eval scorecard --agent <RUN_AGENT_ID_OR_LABEL> --json
agentclash run scorecard <RUN_AGENT_ID> --json
Replay and failure-review commands:
agentclash run failures <RUN_ID> --json
agentclash run failures <RUN_ID> --agent <RUN_AGENT_ID> --severity blocking --json
agentclash run failures <RUN_ID> --class policy_violation --evidence-tier hosted_structured --json
agentclash run failures <RUN_ID> --cluster <FAILURE_CLUSTER_KEY> --limit 50 --json
agentclash replay get <RUN_AGENT_ID> --limit 50 --json
agentclash replay get <RUN_AGENT_ID> --cursor 50 --limit 50 --json
Artifact commands:
agentclash artifact list --json
agentclash artifact download <ARTIFACT_ID> --output <PATH>
Important exact CLI shapes:
run scorecardtakes one argument:<RUN_AGENT_ID>. It does not accept<RUN_ID> <RUN_AGENT_ID>.replay gettakes one argument:<RUN_AGENT_ID>. It does not accept<RUN_ID> <RUN_AGENT_ID>.artifact listis workspace-wide. It does not have a--runfilter today; useartifact_refs,run_id, orrun_agent_idfields from JSON output to choose what to download.run ranking --sort-bycommonly usescomposite,correctness,reliability,latency, orcost. The backend also accepts a custom dimension key when that key exists in the scorecard dimensions; unknown keys returninvalid_sort_by.run failures --limitdefaults to 50 when omitted and is capped at 200 by the API.
Ranking JSON
agentclash run ranking <RUN_ID> --json returns a stateful response:
{
"state": "ready",
"ranking": {
"run_id": "<RUN_ID>",
"evaluation_spec_id": "<EVALUATION_SPEC_ID>",
"sort": {
"field": "correctness_then_reliability",
"direction": "desc",
"default_order": true
},
"winner": {
"run_agent_id": "<RUN_AGENT_ID>",
"strategy": "<strategy>",
"status": "<status>",
"reason_code": "<reason_code>"
},
"evidence_quality": {
"missing_fields": [],
"warnings": []
},
"items": [
{
"rank": 1,
"run_agent_id": "<RUN_AGENT_ID>",
"lane_index": 0,
"label": "<agent label>",
"status": "completed",
"has_scorecard": true,
"evaluation_status": "complete",
"sort_value": 0.92,
"delta_from_top": 0,
"sort_state": "available",
"strategy": "<strategy>",
"passed": true,
"overall_reason": "<reason>",
"composite_score": 0.91,
"overall_score": 0.91,
"correctness_score": 0.95,
"reliability_score": 0.9,
"latency_score": 0.8,
"cost_score": 0.7,
"dimensions": {
"correctness": {
"state": "available",
"score": 0.95,
"better_direction": "higher"
}
}
}
]
}
}
Read evidence_quality.warnings before declaring a winner as conclusive. A low sort_value, missing rank, sort_state: "unavailable", has_scorecard: false, or missing score fields means the ranking may be partial even if the run itself completed.
Scorecard JSON
Use agentclash run scorecard <RUN_AGENT_ID> --json when you already know the agent ID. The top level mirrors /v1/scorecards/{runAgentID}:
{
"state": "ready",
"run_agent_status": "completed",
"id": "<SCORECARD_ID>",
"run_agent_id": "<RUN_AGENT_ID>",
"run_id": "<RUN_ID>",
"evaluation_spec_id": "<EVALUATION_SPEC_ID>",
"overall_score": 0.91,
"correctness_score": 0.95,
"reliability_score": 0.9,
"latency_score": 0.8,
"cost_score": 0.7,
"behavioral_score": 0.85,
"llm_judge_results": [
{
"id": "<JUDGE_RESULT_ID>",
"judge_key": "<judge_key>",
"mode": "<mode>",
"normalized_score": 0.8,
"confidence": "medium",
"variance": 0.02,
"sample_count": 3,
"model_count": 1,
"payload": {},
"created_at": "<timestamp>",
"updated_at": "<timestamp>"
}
],
"scorecard": {
"run_agent_id": "<RUN_AGENT_ID>",
"evaluation_spec_id": "<EVALUATION_SPEC_ID>",
"status": "complete",
"strategy": "<strategy>",
"overall_score": 0.91,
"passed": true,
"overall_reason": "<reason>",
"warnings": [],
"dimensions": {
"correctness": {
"state": "available",
"score": 0.95,
"reason": "<reason>",
"weight": 1,
"gate": true,
"pass_threshold": 0.8,
"contribution": 0.95,
"gate_passed": true
}
},
"validator_summary": {},
"validator_details": [
{
"key": "<validator_key>",
"type": "<validator_type>",
"verdict": "pass",
"state": "complete",
"reason": "<reason>",
"normalized_score": 1,
"source": {
"kind": "final_output",
"sequence": 12,
"event_type": "<event type>",
"field_path": "<field path>"
}
}
],
"metric_summary": {},
"metric_details": [
{
"key": "<metric_key>",
"collector": "<collector>",
"state": "available",
"numeric_value": 123
}
]
},
"created_at": "<timestamp>",
"updated_at": "<timestamp>"
}
Read the nested scorecard.dimensions first, then inspect validator_details, metric_details, and llm_judge_results for supporting evidence. Treat llm_judge_results.payload as judge-specific raw data; do not invent a stable schema inside it.
Eval Scorecard Envelope
agentclash eval scorecard [RUN_ID] --agent <RUN_AGENT_ID_OR_LABEL> --json is run-first. If RUN_ID is omitted, the CLI selects the latest run in the workspace. If the run has multiple agents in non-interactive mode, pass --agent.
Structured output is an envelope:
{
"candidate": {
"workspace_id": "<WORKSPACE_ID>",
"run_id": "<RUN_ID>",
"run_name": "<name>",
"run_status": "completed",
"run_agent_id": "<RUN_AGENT_ID>",
"run_agent_label": "<label>",
"official_pack_mode": "full"
},
"baseline": null,
"scorecard": {},
"comparison": null,
"release_gate": null
}
When a baseline bookmark exists, the CLI also fetches /v1/compare and /v1/release-gates/evaluate, then fills baseline, comparison, and release_gate. Use this envelope for regression-style summaries; use run scorecard for the raw per-agent scorecard only.
Replay JSON
agentclash replay get <RUN_AGENT_ID> --json returns replay state, optional replay metadata, steps, and pagination:
{
"state": "ready",
"run_agent_id": "<RUN_AGENT_ID>",
"run_id": "<RUN_ID>",
"run_agent_status": "completed",
"replay": {
"id": "<REPLAY_ID>",
"artifact_id": "<ARTIFACT_ID>",
"summary": {},
"latest_sequence_number": 12,
"event_count": 42,
"created_at": "<timestamp>",
"updated_at": "<timestamp>"
},
"steps": [
{
"sequence_number": 12,
"step_type": "<step type>",
"summary": "<summary>"
}
],
"pagination": {
"next_cursor": "50",
"limit": 50,
"total_steps": 120,
"has_more": true
}
}
Use replay to verify whether scorecard and judge claims match observable behavior. Prefer referenced sequence_number values from failure items or validator sources before paging through the whole replay.
Failure Review JSON
agentclash run failures <RUN_ID> --json returns:
{
"items": [
{
"run_id": "<RUN_ID>",
"run_agent_id": "<RUN_AGENT_ID>",
"challenge_identity_id": "<CHALLENGE_ID>",
"challenge_key": "<challenge_key>",
"case_key": "<case_key>",
"item_key": "<item_key>",
"failure_fingerprint": "frf_...",
"failure_cluster_key": "frc_...",
"failure_state": "failed",
"failed_dimensions": ["correctness"],
"failed_checks": ["<validator_or_judge_key>"],
"failure_class": "policy_violation",
"headline": "<headline>",
"detail": "<detail>",
"recommended_action": "<recommended action>",
"promotable": true,
"promotion_mode_available": ["full_executable", "output_only"],
"replay_step_refs": [
{
"sequence_number": 12,
"event_type": "<event type>",
"kind": "<kind>"
}
],
"artifact_refs": [
{
"key": "<artifact key>",
"kind": "<kind>",
"path": "<path>",
"media_type": "<media type>"
}
],
"judge_refs": [
{
"key": "<judge key>",
"kind": "llm_judge",
"state": "fail",
"normalized_score": 0.2,
"reason": "<reason>",
"sequence_number": 12,
"event_type": "<event type>"
}
],
"metric_refs": [
{
"key": "<metric key>",
"metric_type": "<type>",
"state": "available",
"numeric_value": 123
}
],
"evidence_tier": "hosted_structured",
"severity": "blocking"
}
],
"clusters": [
{
"failure_cluster_key": "frc_...",
"representative_failure_fingerprint": "frf_...",
"count": 2,
"promotable_count": 1,
"severity": "blocking",
"failure_state": "failed",
"failure_class": "policy_violation",
"evidence_tier": "hosted_structured",
"challenge_keys": ["<challenge_key>"],
"case_keys": ["<case_key>"],
"run_agent_ids": ["<RUN_AGENT_ID>"],
"headline": "<headline>",
"recommended_action": "<recommended action>"
}
],
"next_cursor": "<cursor>"
}
Filters supported by the CLI:
--agent <RUN_AGENT_ID>--severity info|warning|blocking--class <failure_class>--evidence-tier none|native_structured|hosted_structured|hosted_black_box|derived_summary--cluster <FAILURE_CLUSTER_KEY>--cursor <NEXT_CURSOR>--limit <COUNT>
Failure classes currently accepted by the API are incorrect_final_output, tool_selection_error, tool_argument_error, retrieval_grounding_failure, policy_violation, timeout_or_budget_exhaustion, sandbox_failure, dependency_resolution_failure, malformed_output, flaky_non_deterministic, insufficient_evidence, and other.
Stateful Reads and Exit Codes
Ranking, scorecard, and replay reads can be ready, pending, or errored.
- Pending responses use HTTP 202 and include
state: "pending"plusmessage. The CLI prints the raw payload in structured mode and exits successfully. - Errored responses use HTTP 409 and include
state: "errored"plusmessage. The CLI prints the raw payload in structured mode and exits with code 1. - Common messages include
ranking is not ready yet,scorecard generation is pending,scorecard generation failed or scorecard data is unavailable, andreplay generation is pending.
When a read is pending, do not infer pass/fail. Re-check later or inspect run get, run agents, and run events. When a read is errored, report the state and switch to available run, failure, event, and artifact evidence.
Evidence-First Interpretation
Use this ordering when writing findings:
- Ranking: winner, sort field, score gap, evidence warnings, unavailable scores.
- Scorecard dimensions: failed gates, low scores, unavailable/error dimensions,
overall_reason, warnings. - Validator and metric details: exact failed checks, source refs, numeric values, reasons.
- LLM judge results: judge key, mode, normalized score, confidence, variance, sample/model counts, concise rationale if present in payload.
- Failure review:
failure_state,failure_class,severity,evidence_tier, refs,recommended_action, promotability. - Replay: sequence refs and behavior observed around final output, tool calls, sandbox failures, or malformed outputs.
- Artifacts: downloaded only when needed to verify file output or user-visible content.
Do not say "the judge proved" something. Say "the scorecard/judge reports X, and replay/artifact evidence Y supports or contradicts it."
Expected Output
- A winner or status summary that names the run and agent IDs.
- A short list of findings with evidence pointers to scorecard fields, failure fingerprints or clusters, replay sequence numbers, and artifact IDs or paths.
- A distinction between confirmed evidence, judge rationale, unavailable data, and pending/errored reads.
- Follow-up commands a reviewer can run exactly.
Failure Modes
- Missing workspace: run
agentclash link,agentclash workspace use <id>, pass--workspace, or setAGENTCLASH_WORKSPACE. - Multiple run agents for
eval scorecard: pass--agent <RUN_AGENT_ID_OR_LABEL>. - Ranking pending: wait for scoring or inspect
run get,run agents, andrun events. - Scorecard pending: wait for scorecard generation; do not report pass/fail yet.
- Scorecard errored: the run agent may have failed, or scorecard data may be unavailable. Use failures, replay, events, and artifacts instead.
- Replay pending or noisy: use failure
replay_step_refsor validatorsource.sequencebefore paging broadly. artifact list --runfails: the command does not exist. Use workspace-wideartifact list --jsonor artifact refs from failure/scorecard evidence.- Unknown
--sort-by: use a built-in sort field or a dimension key that exists in the scorecard.
Safety Notes
- Do not paste secrets, private artifact contents, raw provider keys, customer data, or long logs into chat.
- Do not overstate LLM judge rationale as ground truth.
- Download artifacts only when needed, and prefer targeted artifact IDs from evidence refs.
- Scorecards and failures can contain model outputs and tool traces. Quote only the minimum needed to support the finding.
- Read commands are safe, but follow-up mutation commands such as failure promotion belong to
agentclash-regression-flywheeland should be intentional.
Report Back Format
Outcome: <winner/status/pending/errored>
Run: <RUN_ID>
Agent(s): <RUN_AGENT_ID or labels>
Evidence:
- <claim> | scorecard=<field/path> | replay=<sequence or none> | artifact=<id/path or none>
Findings:
- <impact> -> <next action>
Uncertainties:
- <pending/errored/unavailable evidence, or none>
Follow-up commands:
- agentclash run ranking <RUN_ID> --json
- agentclash run failures <RUN_ID> --json
- agentclash run scorecard <RUN_AGENT_ID> --json
- agentclash replay get <RUN_AGENT_ID> --limit 50 --json
Next skill: <agentclash-regression-flywheel | challenge-pack skill | none>
Related Skills
agentclash-hubagentclash-cli-setupagentclash-eval-runneragentclash-compare-and-triageagentclash-regression-flywheelagentclash-ci-release-gate
Related Docs
/docs-md/concepts/replay-and-scorecards/docs-md/concepts/runs-and-evals/docs-md/concepts/artifacts/docs-md/reference/cli
Signals
- GitHub stars
- 30
- Forks
- 2
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
agentclash-scorecard-reader- Source
- github.com/agentclash/agentclash