hugging-face-evaluation
Skill14 starsChanged 10 months agoApache-2.0View on GitHub
Add evaluation results to Hugging Face model repositories using the .eval_results/ format. Uses HF CLI for PR management and manual YAML creation.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- Yog-Sotho/claude-skillstheir own version, first seen Mar 21, 2026
- eugenepyvovarov/mcpbundler-agent-skills-marketplacetheir own version, first seen Feb 15, 2026
- tayyabexe/skillstheir own version, first seen Jan 9, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- eugenepyvovarov/mcpbundler-agent-skills-marketplace★ 12same name
- tayyabexe/skills★ 4same name
- Yog-Sotho/claude-skills★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 47
No tools = No notes field: - Default assumption is "without tools"
- Distinctive: line 48
With tools = Add notes: - Only add when tools ARE used
- Very specific: line 49
Standardized format: - Always use notes: "With tools" (capital W)
- Distinctive: line 96
If PRs exist, update them instead of creating new ones.
- Very specific: line 231
Use hle_with_tools.yaml as filename
- Distinctive: line 233
Look for terms: "search agent", "agentic", "orchestrator", "code-interpreter"
- Distinctive: line 258
Always check for existing PRs: before creating new ones
- Very specific: line 261
Standardized format: - Use "With tools" exactly (capital W)
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Overview
This skill adds structured evaluation results to HuggingFace model repositories using the .eval_results/ format.
What This Enables:
- Results appear on model pages with benchmark links
- Scores are aggregated into benchmark dataset leaderboards
- Community contributions via Pull Requests
Important
Evaluation PRs can only be opened on the Hugging Face Hub. They cannot be opened on the GitHub repository.
Version
3.0.0
Workflow Overview
The actual workflow uses:
- HF CLI (
hf upload,hf download) for PR operations - Manual YAML creation in
/tmp/pr-reviews/ check_prs.pyscript to check for existing PRs- curl to fetch model cards and leaderboard data
See references/hf_cli_for_prs.md for detailed CLI instructions.
CRITICAL: Multiple Scores for One Benchmark
Models can have multiple scores for the same benchmark (with/without tools). Each variant MUST be in a separate file.
File Naming Convention
| Condition | File Name | Notes Field |
| Default (no tools) | hle.yaml | None (omit notes) |
| With tools | hle_with_tools.yaml | notes: "With tools" |
Notes Field Rules
- No tools = No notes field - Default assumption is "without tools"
- With tools = Add notes - Only add when tools ARE used
- Standardized format - Always use
notes: "With tools"(capital W)
CORRECT:
# hle.yaml (no tools - DEFAULT)
- dataset:
id: cais/hle
task_id: hle
value: 22.1
source:
url: https://huggingface.co/org/model
name: Model Card
user: username# hle_with_tools.yaml (with tools)
- dataset:
id: cais/hle
task_id: hle
value: 44.9
source:
url: https://huggingface.co/org/model
name: Model Card
user: username
notes: "With tools"INCORRECT:
notes: "Without tools" # Don't add notes for default
notes: "w/ tools" # Use standardized format
notes: "with tools" # Capital W requiredCore Workflow
Step 1: Check for Existing PRs
ALWAYS check before creating new PRs:
uv run scripts/check_prs.py --repo-id "org/model-name"If PRs exist, update them instead of creating new ones.
Step 2: Fetch Model Card and Extract Scores
# Get model README
curl -s "https://huggingface.co/org/model-name/raw/main/README.md" | grep -i -A10 "HLE\|GPQA\|MMLU"Or use MCP tools:
mcp__hf-mcp-server__hub_repo_details
repo_ids: ["org/model-name"]
include_readme: trueStep 3: Create YAML File
mkdir -p /tmp/pr-reviews/new-prs
cd /tmp/pr-reviews/new-prs
cat > hle.yaml << 'EOF'
- dataset:
id: cais/hle
task_id: hle
value: 22.1
date: '2026-02-03'
source:
url: https://huggingface.co/org/model-name
name: Model Card
user: burtenshaw
EOFStep 4: Create PR
hf upload org/model-name hle.yaml .eval_results/hle.yaml \
--repo-type model --create-pr \
--commit-message "Add HLE evaluation result"Step 5: Get PR Number
uv run scripts/check_prs.py --repo-id "org/model-name"Updating Existing PRs
# Download PR contents
hf download org/model-name --repo-type model \
--revision refs/pr/<PR_NUMBER> \
--include ".eval_results/*" \
--local-dir /tmp/pr-reviews/model-pr<PR_NUMBER>
# Edit the YAML file, then upload
hf upload org/model-name /tmp/pr-reviews/updated.yaml .eval_results/hle.yaml \
--repo-type model \
--revision refs/pr/<PR_NUMBER> \
--commit-message "Update evaluation result"Deleting Files from PRs
Use Python API:
uv run --with huggingface_hub python3 << 'EOF'
from huggingface_hub import HfApi
api = HfApi()
api.delete_file(
path_in_repo=".eval_results/old_file.yaml",
repo_id="org/model-name",
repo_type="model",
revision="refs/pr/<PR_NUMBER>",
commit_message="Remove file"
)
EOFFetching Leaderboard Data
# HLE leaderboard (requires auth for private datasets)
curl -s "https://huggingface.co/api/datasets/cais/hle/leaderboard" \
-H "Authorization: Bearer $HF_TOKEN"
# MMLU-Pro leaderboard (public)
curl -s "https://huggingface.co/api/datasets/TIGER-Lab/MMLU-Pro/leaderboard"
# Model eval results
curl -s "https://huggingface.co/api/models/org/model?expand[]=evalResults".eval_results/ Format
# .eval_results/hle.yaml
- dataset:
id: cais/hle # Required: Hub Benchmark dataset ID
task_id: hle # Required: task id from dataset's eval.yaml
value: 22.2 # Required: metric value
date: "2026-01-14" # Optional: ISO-8601 date
source: # Optional: attribution
url: https://huggingface.co/org/model
name: Model Card
user: usernameSupported Benchmarks
| Benchmark | Hub Dataset ID | Task ID |
| HLE | cais/hle | hle |
| GPQA | Idavidrein/gpqa | diamond |
| MMLU-Pro | TIGER-Lab/MMLU-Pro | mmlu_pro |
Tool-Using Agent Models
Models like MiroThinker, Nemotron-Orchestrator are inherently tool-using agents. For these:
- Use
hle_with_tools.yamlas filename - Add
notes: "With tools" - Look for terms: "search agent", "agentic", "orchestrator", "code-interpreter"
Environment Setup
export HF_TOKEN="your-huggingface-token"Scripts Reference
# Check for existing PRs (ALWAYS do this first)
uv run scripts/check_prs.py --repo-id "org/model-name"See references/hf_cli_for_prs.md for complete HF CLI workflow documentation.
Best Practices
- Always check for existing PRs before creating new ones
- Separate files for variants -
hle.yamlfor default,hle_with_tools.yamlfor tools - Notes only for non-default - Omit notes for standard evaluations
- Standardized format - Use
"With tools"exactly (capital W) - Verify scores - Compare YAML against model card before submitting
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

