/hub:eval — Evaluate Agent Results

Evaluate and rank agent results by metric or LLM judge for an AgentHub session.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/eval, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit alirezarezvani/claude-skills/engineering/agenthub/skills/eval#main ~/.claude/skills/eval

For one project only, change the path to .claude/skills/eval. This skill also uses -result.md — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of /hub:eval — Evaluate Agent Results

Show the full text81 lines
namedescriptioncommand
evalEvaluate and rank agent results by metric or LLM judge for an AgentHub session. Use when the user runs /hub:eval or asks to score, compare, or pick a winner among completed AgentHub agents./hub:eval

/hub:eval — Evaluate Agent Results

Rank all agent results for a session. Supports metric-based evaluation (run a command), LLM judge (compare diffs), or hybrid.

Usage

/hub:eval                           # Eval latest session using configured criteria
/hub:eval 20260317-143022           # Eval specific session
/hub:eval --judge                   # Force LLM judge mode (ignore metric config)

What It Does

Metric Mode (eval command configured)

Run the evaluation command in each agent's worktree:

python {skill_path}/scripts/result_ranker.py \
  --session {session-id} \
  --eval-cmd "{eval_cmd}" \
  --metric {metric} --direction {direction}

Output:

RANK  AGENT       METRIC      DELTA      FILES
1     agent-2     142ms       -38ms      2
2     agent-1     165ms       -15ms      3
3     agent-3     190ms       +10ms      1

Winner: agent-2 (142ms)
LLM Judge Mode (no eval command, or --judge flag)

For each agent:

  1. Get the diff: git diff {base_branch}...{agent_branch}
  2. Read the agent's result post from .agenthub/board/results/agent-{i}-result.md
  3. Compare all diffs and rank by:
    • Correctness — Does it solve the task?
    • Simplicity — Fewer lines changed is better (when equal correctness)
    • Quality — Clean execution, good structure, no regressions

Present rankings with justification.

Example LLM judge output for a content task:

RANK  AGENT    VERDICT                               WORD COUNT
1     agent-1  Strong narrative, clear CTA            1480
2     agent-3  Good data points, weak intro           1520
3     agent-2  Generic tone, no differentiation       1350

Winner: agent-1 (strongest narrative arc and call-to-action)
Hybrid Mode
  1. Run metric evaluation first
  2. If top agents are within 10% of each other, use LLM judge to break ties
  3. Present both metric and qualitative rankings

After Eval

  1. Update session state:
python {skill_path}/scripts/session_manager.py --update {session-id} --state evaluating
  1. Tell the user:
    • Ranked results with winner highlighted
    • Next step: /hub:merge to merge the winner
    • Or /hub:merge {session-id} --agent {winner} to be explicit
1---
2name: "eval"
3description: "Evaluate and rank agent results by metric or LLM judge for an AgentHub session. Use when the user runs /hub:eval or asks to score, compare, or pick a winner among completed AgentHub agents."
4command: /hub:eval
5---
6 
7# /hub:eval — Evaluate Agent Results
8 
9Rank all agent results for a session. Supports metric-based evaluation (run a command), LLM judge (compare diffs), or hybrid.
10 
11## Usage
12 
13```
14/hub:eval # Eval latest session using configured criteria
15/hub:eval 20260317-143022 # Eval specific session
16/hub:eval --judge # Force LLM judge mode (ignore metric config)
17```
18 
19## What It Does
20 
21### Metric Mode (eval command configured)
22 
23Run the evaluation command in each agent's worktree:
24 
25```bash
26python {skill_path}/scripts/result_ranker.py \
27 --session {session-id} \
28 --eval-cmd "{eval_cmd}" \
29 --metric {metric} --direction {direction}
30```
31 
32Output:
33```
34RANK AGENT METRIC DELTA FILES
351 agent-2 142ms -38ms 2
362 agent-1 165ms -15ms 3
373 agent-3 190ms +10ms 1
38 
39Winner: agent-2 (142ms)
40```
41 
42### LLM Judge Mode (no eval command, or --judge flag)
43 
44For each agent:
451. Get the diff: `git diff {base_branch}...{agent_branch}`
462. Read the agent's result post from `.agenthub/board/results/agent-{i}-result.md`
473. Compare all diffs and rank by:
48 - **Correctness** — Does it solve the task?
49 - **Simplicity** — Fewer lines changed is better (when equal correctness)
50 - **Quality** — Clean execution, good structure, no regressions
51 
52Present rankings with justification.
53 
54Example LLM judge output for a content task:
55```
56RANK AGENT VERDICT WORD COUNT
571 agent-1 Strong narrative, clear CTA 1480
582 agent-3 Good data points, weak intro 1520
593 agent-2 Generic tone, no differentiation 1350
60 
61Winner: agent-1 (strongest narrative arc and call-to-action)
62```
63 
64### Hybrid Mode
65 
661. Run metric evaluation first
672. If top agents are within 10% of each other, use LLM judge to break ties
683. Present both metric and qualitative rankings
69 
70## After Eval
71 
721. Update session state:
73```bash
74python {skill_path}/scripts/session_manager.py --update {session-id} --state evaluating
75```
76 
772. Tell the user:
78 - Ranked results with winner highlighted
79 - Next step: `/hub:merge` to merge the winner
80 - Or `/hub:merge {session-id} --agent {winner}` to be explicit
81 

Discussion