terminus2_skills harness runs Terminus-2 with on-demand skill loading for SkillsBench and Terminal-Bench-style tasks in a prepared terminal environment.
On top of the terminus2 terminal agent, it builds an index from the skill directories in the container and injects relevant skill content into the context on demand, then collects the trajectory. Model credentials come from the CLI --model-* and support openai-chat and openai-responses.
How it works
- Terminal session. Runs Terminus-2 in a tmux pane (
tmux_pane_width×tmux_pane_height);parser_name(json/xml) parses model responses, andinterleaved_thinkingenables interleaved thinking for compatible models. - On-demand skills. Builds a skill index from the directories in
skill_dirs(capped atmax_skill_index_chars);skill_format(json/xml) sets the skill tool-call format, and matched skill content is injected after being truncated tomax_skill_content_chars. - Timeouts and summarization.
agent_setup_timeout_secbounds setup,verifier_timeout_multiplier/execute_timeout_multiplierscale timeouts, andmax_turnscaps turns;enable_summarizeturns on context summarization, andproactive_summarization_thresholdis the token threshold that triggers proactive summarization. - Collect results.
record_terminal_sessioncan record the terminal; aRunResultis returned at the end.
Parameters
Pass a JSON object via--harness-params '{...}', or a harness.params block in the file given to --config; the CLI wins on shared keys (deep-merge). See the Harnesses overview for merge precedence.
Parameter reference
| Parameter | Type | Default | Choices / values | Description |
|---|---|---|---|---|
parser_name | string | json | json / xml | Response parser. |
skill_format | string | json | json / xml | Skill tool-call format. |
max_turns | int / null | null | ≥ 1 | Maximum agent turns. |
agent_setup_timeout_sec | float | 360 | > 0 | Agent setup timeout in seconds. |
verifier_timeout_multiplier | float | 1.0 | > 0 | Multiplier for benchmark verifier timeouts. |
execute_timeout_multiplier | float | 1.0 | > 0 | Multiplier for agent command execution timeouts. |
enable_summarize | bool | true | true / false | Whether to enable proactive and context-length summarization. |
proactive_summarization_threshold | int | 8000 | ≥ 1 | Token threshold that triggers proactive summarization. |
tmux_pane_width | int | 160 | ≥ 1 | Terminal agent tmux pane width. |
tmux_pane_height | int | 40 | ≥ 1 | Terminal agent tmux pane height. |
record_terminal_session | bool | false | true / false | Whether to record the terminal session. |
interleaved_thinking | bool | false | true / false | Whether to enable interleaved thinking for compatible models. |
skill_dirs | list | [“/root/.claude/skills”, “/root/.terminus/skills”] | — | Skill directory list inside the container. |
max_skill_index_chars | int | 16000 | ≥ 1 | Maximum characters in the skill index. |
max_skill_content_chars | int | 4000 | ≥ 1 | Maximum characters loaded from one skill. |
Run examples
- Default
- Custom params
Run on docker with default skill directories and format.
Output
The harness returns aRunResult per task: the normalized trajectory, final answer, and execution status. Per-task details and aggregate metrics are written by the benchmark under results/<benchmark>/<model>/<run>/ (see Results).