harbor

harbor is a skill for Claude Code, Codex from AntigmaLabs/ante. It costs 51 tokens per session (606 once invoked), scanned A, original, Apache-2.0.

An adapter for running the Harbor benchmark, a collection of tasks used to test coding agents, with Ante as the agent. It runs each task in a Docker container.

In plain words
What is it for?
Running Terminal-Bench or another Harbor dataset, selecting the model and provider, forwarding the right API key, choosing an Ante version, and running multiple attempts.
Why use it?
It provides the required setup for evaluating Ante on Harbor tasks or reproducing published evaluation results. This removes the need to assemble the agent adapter and benchmark command manually.

Skill for Claude CodeCodex

About the project

Ante is a self-contained coding agent that runs in a terminal and can be configured with a user-defined profile and system prompt. It is intended for coding assistance across different models and can also serve as a core for custom agent harnesses. The catalogue includes one skill for use with Ante.

AntigmaLabs/ante · 1,929 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/antigmalabs/ante/harbor
Any agent
npx skills add AntigmaLabs/ante --skill harbor
Clone the repo
git clone --depth 1 https://github.com/AntigmaLabs/ante

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for harbor

README.md
[![agentmods](https://agentmods.dev/badge/skills/antigmalabs/ante/harbor.svg)](https://agentmods.dev/skills/antigmalabs/ante/harbor)
Your own site
<a href="https://agentmods.dev/skills/antigmalabs/ante/harbor"><img src="https://agentmods.dev/badge/skills/antigmalabs/ante/harbor.svg" alt="Measured on agentmods" height="20"></a>
Per session 51 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 606 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00051 $0.00606
Opus 5 $0.00026 $0.00303
Sonnet 5 $0.00010 $0.00121
Haiku 4.5 $0.00005 $0.00061

Measured 5d ago against content hash 6cdd93d194f6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

harbor 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 5d 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.

curated/skills/harbor/SKILL.md · 48 lines

What it actually says

Run Harbor with Ante

Run Harbor with Ante as the agent. The adapter (ante_agent.py) lives in the ante-harbor/ directory of the ante repo. Harbor imports it and installs Ante inside each task sandbox from the published install script.

Prerequisites

  • A checkout of AntigmaLabs/ante, for ante-harbor/
  • uv with Python 3.12
  • Docker running: Harbor executes each task in a container
  • The provider API key exported in the shell

Run

Resolve the model and provider from the user's request. From the repo's ante-harbor/ directory (so ante_agent:AnteAgent is importable):

uv run --python 3.12 --with harbor harbor run \
  --agent ante_agent:AnteAgent \
  --model "<model_name>" \
  --ak provider=anthropic \
  --ak install_args= \
  --ae 'ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}' \
  --dataset terminal-bench/terminal-bench-2-1 \
  --n-attempts 1

Adjust for the request:

  • provider selects which key Ante reads inside the sandbox. For openai or gemini, forward OPENAI_API_KEY or GEMINI_API_KEY with --ae instead.
  • install_args picks the Ante build installed in each sandbox: empty for the latest release, or a version to pin.
  • Scope: add -i <task-id> (repeatable) to run specific tasks. Smoke-test one task before a full run unless the user asks otherwise.
  • Throughput: --n-concurrent <n> caps parallel sandboxes. --n-attempts <n> sets attempts per task; published leaderboard runs use 5.
  • Custom endpoint: add --ae 'MODEL_BASE_URL=${MODEL_BASE_URL}' when routing through a proxy.

Read results

Harbor prints a per-task summary and writes a run directory with per-trial output; each trial captures Ante's raw event log from /logs/agent/ante.txt. Task failures do not make harbor exit non-zero, so judge the run by the summary, not the exit code.

Changes

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.

  1. 5d ago First seen · 48 lines · 51 tokens per session scan A 6cdd93d194f6

Subscribe to this mod's changes

harbor is a skill published in the GitHub repository AntigmaLabs/ante (1,929 stars, last pushed today), licensed Apache-2.0. It adds 51 tokens to every session and 606 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.

Related

Other skills, from other repositories

vigilante-issue-implementation-on-rust

Implement a GitHub issue end-to-end when Vigilante dispatches work for a Rust repository with Cargo, Clippy, fmt, and security guidance.

aliengiraffe/vigilante · 41 tokens

tauri2-react-rust

Guides development of cross-platform desktop apps with Tauri 2, TypeScript, React, and Rust. Use when building Tauri apps, implementing IPC, designing Rust backend or TypeScript/React frontend, when researching or cloning a website (open site, snapshot elements), when verifying local dev or built frontend in browser…

tincopper/neeko · 114 tokens

Shell Execution

Keeps explicit shell work legible, bounded, and attached to the current workspace thread.

agentic-in/elephant-agent · 21 tokens

dry-philosophy

Don't Repeat Yourself (DRY) and Never Reinvent the Wheel (NRtW) - core b00t principles. Use existing libraries, leverage Rust via PyO3 instead of duplicating logic in Python, and contribute to upstream projects rather than fork privately.

elasticdotventures/_b00t_ · 61 tokens

b00t-interface-library

Design and implement a Rust interface library in l3dg3rr that acts as a feature-configurable lifecycle manager for b00t processes. The library compliantly implements init → operate → terminate → lifecycle maintenance of miscellaneous process surfaces (MCP servers, daemons, sidecars) with deterministic governance…

elasticdotventures/_b00t_ · 94 tokens

chalk-interner

The Chalk Interner pattern separates a type handle from its open form using a trait. Ty (I::InternedTy) is the handle; TyKind is the open enum with all variants. The Interner trait bridges them with internty() and tydata() — consumers only see Ty and call .data(), never choosing the storage strategy. The embedder…

elasticdotventures/_b00t_ · 0 tokens