# Libra Eval

> Evaluates the safety and capability of large language models across a broad set of safety tasks, measuring how well models handle direct risky prompts, adversarial attacks, and benign prompts without over-refusal or unsafe generation. Use when the user wants to benchmark on Libra-Eval, or asks about evaluating this task. Reports task_score.

- Skill: `qhjqhj00/libra-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/libra-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/libra-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/libra-eval

---


# libra-eval

> Libra-Leaderboard: Towards Responsible AI through a Balanced Leaderboard of Safety and Capability — Li et al. (2024) (arXiv:2412.18551, 2024)

## What this evaluates

Evaluates the safety and capability of large language models across a broad set of safety tasks, measuring how well models handle direct risky prompts, adversarial attacks, and benign prompts without over-refusal or unsafe generation.

## Datasets

- **Libra-Eval** — total 57; splits: test (-1)

## Metrics

- `task_score` **(primary)** — range: [0, 1]
  - Normalized score per safety task, aggregated into Row_Avg (task difficulty) and Col_Avg (model performance). Scores range from 0 to 1.

## Input / output format

**Input**: Safety-related prompts including direct risky prompts, adversarial attacks, and benign prompts.

**Output**: Model-generated text responses evaluated for safety compliance.

## Scoring recipe

```python
def compute_metrics(predictions, gold):
    task_scores = [evaluate_safety(pred, task) for task in gold]
    row_avg = sum(task_scores) / len(task_scores)
    col_avg = sum(task_scores) / len(task_scores)
    return {'task_score': task_scores, 'row_avg': row_avg, 'col_avg': col_avg}
```

## Common pitfalls

- High average task scores (>0.9) may indicate tasks are too easy or lack discriminative power rather than indicating strong model safety.
- Correlation between models from the same organization reflects shared training data rather than inherent architectural safety advantages.
- Over-sensitivity to benign prompts can be misinterpreted as poor capability rather than excessive safety filtering.

## Evidence (verbatim from paper)

> Average task scores (rightmost column of Figure 4), which may indicate the difficulty of tasks, vary significantly, with average scores ranging from 0.31 to 0.99. The 'Row_Avg' column aggregates task-specific performances, highlighting overall task difficulty or model adaptability, while the 'Col_Avg' row summarizes each model's aggregate performance across tasks, identifying strengths and weaknesses.

## Citation

```bibtex
@misc{li2024libraleaderboard,
  title={Libra-Leaderboard: Towards Responsible AI through a Balanced Leaderboard of Safety and Capability},
  author={Li et al. (2024)},
  year={2024},
  note={arXiv:2412.18551}
}
```

- arXiv: 2412.18551

