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.
Installs into .claude/skills of the current project.
Are you the author of Libra Eval?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-libra-eval)
---
name: libra-eval
description: 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.
metadata:
skill_kind: dataset_eval
source_arxiv: 2412.18551
bibtex_key: [REDACTED]
confidence: medium
---
# 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