SkillsBench#
Overview#
SkillsBench evaluates whether coding agents can discover and apply task-bundled Agent Skills. Each task contains an instruction, an optional skill directory, a Docker environment, an oracle solution, and a verifier. EvalScope builds the task Docker image, runs the selected agent or oracle in that image, then executes the task verifier.
Task Description#
Task Type: Agent skill usage / tool-assisted task completion
Input: The natural-language task prompt from
task.mdOutput: Files or state changes produced inside the task container, scored by the task verifier
Dataset: Local SkillsBench task repository supplied through
extra_params.tasks_dirEnvironment: Per-task Docker image built from
environment/DockerfileSkills: Optional task-bundled skills from
environment/skillsMetric:
scorefrom/logs/verifier/reward.txt;successis 1 whenscore > 0
Key Features#
Builds or reuses a content-hashed Docker image for each selected task.
Runs the task in
no-skillorwith-skillmode without mixing the two conditions in one EvalScope run.Injects task-bundled skills through EvalScope’s agent skill runtime instead of baking runner-specific skill paths into the image.
Supports EvalScope native agents and external agent runners through the shared agent environment interface.
Saves verifier stdout, reward, and optional CTRF artifacts under the run output directory.
Evaluation Notes#
Default
skill_modeisno-skill.Run
no-skillandwith-skillseparately, then compare runs with EvalScope’s run comparison tools.self-genandtasks-extraare not supported by this adapter version.runner='oracle'runs the officialoracle/solve.shfor smoke testing; agent runs requireagent_config.The verifier executes
verifier/test.shand may install dependencies from the network.
Scoring and Comparison#
scoreis the verifier reward parsed from/logs/verifier/reward.txt.successis derived locally as1.0whenscore > 0, otherwise0.0.EvalScope does not automatically compute the no-skill versus with-skill delta; run both modes and compare their reports.
Properties#
Property |
Value |
|---|---|
Benchmark Name |
|
Dataset ID |
|
Paper |
N/A |
Tags |
|
Metrics |
|
Default Shots |
0-shot |
Evaluation Split |
|
Data Statistics#
Statistics not available.
Sample Example#
Sample example not available.
Prompt Template#
Prompt Template:
{question}
Extra Parameters#
Parameter |
Type |
Default |
Description |
|---|---|---|---|
|
|
`` |
Path to the SkillsBench tasks directory. |
|
|
|
Optional list of task ids to run. |
|
|
|
SkillsBench skill mode. Choices: [‘no-skill’, ‘with-skill’] |
|
|
|
Force rebuilding task Docker images. |
|
|
|
Override task agent timeout. |
|
|
|
Override task verifier timeout. |
|
|
|
Use “oracle” to run oracle/solve.sh instead of an agent. Choices: [‘agent’, ‘oracle’] |
Usage#
Using CLI#
evalscope eval \
--model YOUR_MODEL \
--api-url OPENAI_API_COMPAT_URL \
--api-key EMPTY_TOKEN \
--datasets skillsbench \
--limit 10 # Remove this line for formal evaluation
Using Python#
from evalscope import run_task
from evalscope.config import TaskConfig
task_cfg = TaskConfig(
model='YOUR_MODEL',
api_url='OPENAI_API_COMPAT_URL',
api_key='EMPTY_TOKEN',
datasets=['skillsbench'],
dataset_args={
'skillsbench': {
# extra_params: {} # uses default extra parameters
}
},
limit=10, # Remove this line for formal evaluation
)
run_task(task_cfg=task_cfg)