Skip to content
Back to skills

Casefacts Eval

ASecurity

Evaluates LLMs and retrieval models on verifying colloquial legal claims against U.S. Supreme Court precedents, measuring both verdict prediction accuracy and the quality of retrieved supporting case evidence. Use when the user wants to benchmark on CaseFacts, or asks about evaluating this task. Reports Verdict Score.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 11, 2026
researchpythonrustgogitperformance

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill casefacts-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Casefacts Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Casefacts Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-casefacts-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-casefacts-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: casefacts-eval
description: Evaluates LLMs and retrieval models on verifying colloquial legal claims against U.S. Supreme Court precedents, measuring both verdict prediction accuracy and the quality of retrieved supporting case evidence. Use when the user wants to benchmark on CaseFacts, or asks about evaluating this task. Reports Verdict Score.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2601.17230
  bibtex_key: [REDACTED]
  confidence: high
---

# casefacts-eval

> CaseFacts: A Benchmark for Legal Fact-Checking and Precedent Retrieval — Putta et al. (2026) (arXiv:2601.17230, 2026)

## What this evaluates

Evaluates LLMs and retrieval models on verifying colloquial legal claims against U.S. Supreme Court precedents, measuring both verdict prediction accuracy and the quality of retrieved supporting case evidence.

## Datasets

- **CaseFacts** — total 6294; splits: train (-1), test (-1); repo https://github.com/idirlab/supreme-court-dataset

## Metrics

- `Verdict Score` **(primary)** — range: [0, 1]
  - Composite metric combining verdict accuracy and evidence score to measure joint evidence-weighted verdict performance.
- `Evidence Score` — range: [0, 1]
  - Case recall metric measuring the overlap between predicted citing cases and gold supporting cases.
- `Verdict Accuracy` — range: [0, 1]
  - Accuracy of predicting the correct verdict (Supported, Refuted, or Overruled).
- `Recall@1` — range: [0, 1]
  - Standard recall@1 metric measuring whether the ground truth case appears in the top-1 retrieved result.
- `Recall@5` — range: [0, 1]
  - Standard recall@5 metric measuring whether the ground truth case appears in the top-5 retrieved results.
- `Recall@10` — range: [0, 1]
  - Standard recall@10 metric measuring whether the ground truth case appears in the top-10 retrieved results.

## Input / output format

**Input**: A colloquial legal claim and a constrained list of 3,299 valid U.S. Supreme Court case names.

**Output**: A predicted verdict (Supported, Refuted, or Overruled), and a ranked list of citing Supreme Court cases from the provided list.

## Scoring recipe

```python
def compute_metrics(preds, golds):
    verdict_correct = [p['verdict'] == g['verdict'] for p, g in zip(preds, golds)]
    verdict_accuracy = sum(verdict_correct) / len(preds)
    
    evidence_overlap = [len(set(p['cases']) & set(g['cases'])) / len(g['cases']) for p, g in zip(preds, golds)]
    evidence_score = sum(evidence_overlap) / len(preds)
    
    verdict_score = verdict_accuracy * evidence_score
    
    recall_k = {}
    for k in [1, 5, 10]:
        hits = [1 if g['case_id'] in [c['id'] for c in p['cases'][:k]] else 0 for p, g in zip(preds, golds)]
        recall_k[f'Recall@{k}'] = sum(hits) / len(preds)
    return verdict_accuracy, evidence_score, verdict_score, recall_k
```

## Common pitfalls

- Unrestricted web search degrades performance by retrieving noisy or non-authoritative cases outside the constrained 3,299-case gold list, lowering evidence overlap.
- LLMs frequently fail to output in the requested format when evidence is withheld, causing high error rates in naive factuality checks without retrieval.
- High verdict accuracy masks poor evidence retrieval, making the composite verdict score necessary for reliable fact-checking evaluation.

## Evidence (verbatim from paper)

> From Table[5], it is evident that the major challenge for this benchmark dataset is gathering evidence, as the evidence score (case recall metric) is much lower than the verdict accuracy. This points to the verdicts being easier to predict by the LLM, as both search baselines perform similarly on the verdict prediction. However, for a fact-checking application, the quality of the evidence retrieved is quite important for users’ trustworthiness, hence why we use the composite metric of “verdict score” as our primary metric for this dataset.

## Citation

```bibtex
@misc{putta2026casefacts,
  title={CaseFacts: A Benchmark for Legal Fact-Checking and Precedent Retrieval},
  author={Putta et al. (2026)},
  year={2026},
  note={arXiv:2601.17230}
}
```

- arXiv: 2601.17230

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.