rewardkit

rewardkit is a skill for Claude Code, Codex from harbor-framework/harbor. It costs 46 tokens per session (3,169 once invoked), scanned A, original, Apache-2.0.

A Python toolkit for writing task verifiers that turn program checks and optional language-model judges into reward scores. A verifier is a test that evaluates whether an agent completed a task correctly.

In plain words
What is it for?
Use it to add checks or judge files to a Harbor task, run them from a test script, pass required environment variables, and choose whether grading runs in the agent environment or a separate clean environment.
Why use it?
It organizes grading rules and produces a standard reward result, making automated task evaluation easier to run and inspect.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to add checks or judge files to a Harbor task, run them from a test script, pass required environment variables, and choose whether grading runs in the agent environment or a separate clean environment.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/harbor-framework/harbor/rewardkit
About the project

Harbor is a framework for evaluating and improving AI agents and language models across reusable benchmarks and execution environments. Developers and researchers use it to run agent evaluations, create benchmarks, perform parallel experiments, and generate rollouts for reinforcement-learning optimization, with the catalogue offering skills, instructions, and an MCP integration for the framework.

harbor-framework/harbor · 6,185 stars · on GitHub · harborframework.com

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.

Any agent
npx skills add harbor-framework/harbor --skill rewardkit
Clone the repo
git clone --depth 1 https://github.com/harbor-framework/harbor

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 rewardkit

README.md
[![agentmods](https://agentmods.dev/badge/skills/harbor-framework/harbor/rewardkit/github.svg)](https://agentmods.dev/skills/harbor-framework/harbor/rewardkit)
Your own site
<a href="https://agentmods.dev/skills/harbor-framework/harbor/rewardkit"><img src="https://agentmods.dev/badge/skills/harbor-framework/harbor/rewardkit/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.

agentmods 80×15 button for rewardkit

Your own site · 80×15
<a href="https://agentmods.dev/skills/harbor-framework/harbor/rewardkit"><img src="https://agentmods.dev/badge/skills/harbor-framework/harbor/rewardkit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,169 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Socket pass 10 Oct 2026
  • Snyk pass 10 Oct 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.1 $0.00046 $0.03169
Opus 5.5 $0.00018 $0.01268
Sonnet 5.5 $0.00009 $0.00634
Haiku 4.5 $0.00005 $0.00317

Measured 7d ago against content hash 0c34dc358a11, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

rewardkit 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 7d 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.

Origin

Copies of this mod

2 near-identical copies found in the catalogue:

  • rewardkit — 91% identical, 137 lines differ
  • rewardkit — 91% identical, 104 lines differ
skills/rewardkit/SKILL.md · 352 lines

How it starts

The opening of the file, as written. The whole thing — 352 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Help the user write task verifiers with Reward Kit. Reward Kit is a lightweight Python package that turns a directory of criteria files into a reward score. Each criterion is a Python function call or a TOML judge file; folders become separate rewards.

Setup in a Harbor task

Put criteria alongside test.sh in the task's tests/ directory:

tests/
├── test.sh
├── checks.py         # programmatic criteria
└── judge.toml        # optional LLM/agent judge

tests/test.sh:

#!/bin/bash
uvx --from 'harbor-rewardkit==0.2.*' rewardkit /tests

This runs all criteria in /tests/ against the workspace at /app and writes /logs/verifier/reward.json. Defaults match Harbor's conventions — no extra config needed.

If judge criteria need API keys, pass them through task.toml:

[verifier.env]
ANTHROPIC_API_KEY = "${ANTHROPIC_API_KEY}"

Ask whether Reward Kit should run in the agent's shared environment or in a separate verifier environment. Prefer a separate verifier environment when judge prompts, grading dependencies, API keys, or clean-room checks should not be available to the agent:

[environment]
network_mode = "no-network"   # Agent env baseline — offline during agent.run()

[verifier]
environment_mode = "separate"

[verifier.environment]
network_mode = "public"     # Verifier env baseline — LLM judge API calls
docker_image = "python:3.12-slim"

In shared mode, the verifier runs in the agent container and inherits [environment].network_mode. Put [verifier].network_mode only when verify() needs different network access than the agent phase (a phase override, not a baseline). If agent and verifier need different baselines without runtime switching, use environment_mode = "separate" and set [verifier.environment].network_mode.

Judge criteria that call external APIs need a public baseline or allowlist on the verifier environment. Programmatic checks that only read local files can use no-network.

In separate mode, tests/ is the verifier image build context and must provide /tests/test.sh at runtime; Harbor does not upload tests/ into the running verifier container.

Read the full file on GitHub · 352 lines

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. 7d ago Changed · +2 lines 0c34dc358a11
  2. 10d ago Changed 8d05570fc432
  3. 17d ago Changed · +6 lines 2cf00738cca7
  4. 25d ago Changed · +26 lines 2959cfc47c7c
  5. 1mo ago Changed · +5 lines 77c7fd1fd679
  6. 1mo ago Changed 21db13ff6f68
  7. 1mo ago First seen · 313 lines · 46 tokens per session scan A 22d9ec44ca74

Subscribe to this mod's changes

rewardkit is a skill published in the GitHub repository harbor-framework/harbor (6,185 stars, last pushed today), licensed Apache-2.0. It adds 46 tokens to every session and 3,169 once invoked, about $0.0002 per session on Opus 5.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

agent-eval

Use when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual recall) or agent trajectories (tool correctness, completion), or picking an eval framework. NOT building the agent loop, tools or RAG…

ericrisco/rsc-harness · 79 tokens

evaluate-skill

Run, read, and diagnose a skill's Caliper eval — its success rate over k attempts, whether it fires, and whether it beats the agent without it. Use when the user wants to run, validate, interpret, or compare a skill's eval, or write an .eval.yaml spec whose tasks they have already decided.

edonadei/caliper · 70 tokens

writing-skills

Use when creating a new skill, editing an existing skill, or verifying skills work before deployment.

tikalk/adlc-team-skills · 22 tokens

evals-clarify

Use when draft eval criteria need refining, clustering, and acceptance into the published goldset with an isolated holdout split (goldset.md + goldset.json).

tikalk/adlc-team-skills · 38 tokens

evals-implement

Use when a published goldset is ready to become executable graders and configs — Python graders and metrics with auto-run unit tests verifying grader correctness.

tikalk/adlc-team-skills · 33 tokens

evals-init

Use when standing up evals/{system}/ for the first time — scaffolds the EDD directory structure, picks PromptFoo or DeepEval by tech stack, and generates a security baseline.

tikalk/adlc-team-skills · 42 tokens