Borrowing it
Nothing to install: this file belongs to harbor-framework/terminal-bench-science. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/harbor-framework/terminal-bench-science/main/.claude/skills/convert-separate-verifier/SKILL.mdgit clone --depth 1 https://github.com/harbor-framework/terminal-bench-scienceWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/harbor-framework/terminal-bench-science/convert-separate-verifier)<a href="https://agentmods.dev/skills/harbor-framework/terminal-bench-science/convert-separate-verifier"><img src="https://agentmods.dev/badge/skills/harbor-framework/terminal-bench-science/convert-separate-verifier/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/harbor-framework/terminal-bench-science/convert-separate-verifier"><img src="https://agentmods.dev/badge/skills/harbor-framework/terminal-bench-science/convert-separate-verifier.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00063 | $0.04468 |
| Opus 5 | $0.00032 | $0.02234 |
| Sonnet 5 | $0.00013 | $0.00894 |
| Haiku 4.5 | $0.00006 | $0.00447 |
Grade A, and why
convert-separate-verifier scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You convert a single Harbor benchmark task from shared verifier mode (verifier runs in the agent's container after the agent finishes) to separate verifier mode (verifier runs in its own fresh container, sees only declared artifacts + connections to surviving sidecars).
Reference docs: https://www.harborframework.com/docs/tasks#verifier-environment-shared-vs-separate
Before you start — always make a new worktree
Do the conversion in a fresh git worktree on a new branch (e.g., convert-<task-name>), not the user's main checkout. Do all edits from the worktree.
Mechanics you must know before editing
These are gotchas confirmed against Harbor 0.7.1 source by running an actual oracle through the converted hello-world. The docs are thin; do not invent assumptions beyond these.
- The TOML key is
environment_mode = "separate"under[verifier]. artifacts = [...]lives at the TOP LEVEL oftask.toml, not under[verifier]. TOML scoping: anything written after a[section]header belongs to that section. Placeartifactsabove the first[section](typically right afterschema_version). Putting it under[verifier]silently drops it from the resolved task config and the verifier sees no artifacts.- The verifier image's build context is
tasks/<name>/tests/—tests/Dockerfilebuilds withtests/as the context. Hardcoded in Harbor. - In separate mode, Harbor does NOT upload
tests/into the verifier container (skip_tests_upload=True). The verifier image must own/tests/*itself. Sotests/DockerfilemustCOPY . /tests/(or otherwise place test.sh and any supporting files at/tests/). Forgetting this manifests asRewardFileNotFoundErrorbecause test.sh never runs. - Artifacts declared in
artifacts = ["/app/...", ...]land at the same absolute path in the verifier container. No translation: if you declared/app/hello.txt, read it at/app/hello.txt. BUT — the parent directory must exist in the verifier image, or the upload fails withCould not find the file /app in container. AddRUN mkdir -p /app(or the appropriate parent) totests/Dockerfile. - The agent container is stopped BEFORE the verifier container starts. Declared artifacts are downloaded to a host-side dir between phases, then re-uploaded into the fresh verifier container. Sidecars (declared in
docker-compose.yaml) persist across the handoff./logs/verifier/is bind-mounted between host and the verifier container for its lifetime, which is howreward.txtreaches the host the same way it always did. - If
[verifier.environment]is omitted, Harbor uses a fresh copy of the top-level[environment]as the verifier env — buttests/Dockerfileis still the image source. Omit[verifier.environment]unless you genuinely need different resource limits or a different OS than the agent env. - Bake external dependencies into the verifier image (uv, language toolchains, system libs, downloaded oracle models, etc.). Don't rely on
test.shtoapt-get install,curl ... | sh,pip install, or otherwise reach out at verify time. Runtime installs are flaky (intermittent network, rate limits, upstream version churn) and slow down every trial; baking them intotests/Dockerfileis more reliable and faster.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 178 lines · 63 tokens per session scan F 37654824d9d3
convert-separate-verifier is a skill published in the GitHub repository harbor-framework/terminal-bench-science (548 stars, last pushed today), licensed Apache-2.0. It adds 63 tokens to every session and 4,468 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
distill-concept-books
A workflow for turning books about concepts, theories, or analysis methods into reusable task instructions. It scans document images, links claims to evidence, and checks the result through human review.
pixi-environment-builder
Use when creating, migrating, or debugging pixi environments, especially for scientific Python, bioinformatics, single-cell analysis, CUDA/PyTorch, Jupyter/VS Code kernels, conda-to-pixi migration, or conda + PyPI mixed dependency issues.
word-zotero-citations
Build, audit, authorize, recover, or finalize dynamic Zotero citations and bibliographies in Microsoft Word DOCX files with a protected-source, digest-bound workflow. Use for Word–Zotero citation conversion, static OOXML citation audits, mocked/offline validation, Refresh authorization/report review, UI-evidence…
figure-style
Correctness and legibility checklist for publication figures, plus a matplotlib sidecar. Load before plotting anything and call applyfigurestyle() (role-mapped font ladder, outward ticks, frameless legends, 300-dpi saves, CJK-safe fonts). Covers data fidelity, label budgets, axis/colour/type rules, chart choice by…
journal-club-ppt
Instructions for turning a scientific paper PDF into a journal-club presentation or literature report. They require reconstructing the paper's scientific logic before creating the slides.
bear-map
A research skill that builds a knowledge map around a concept using real paper abstracts. It also creates a Mermaid diagram, a standalone HTML map, and beginner reading suggestions.