بنقرة واحدة
publish
// Publish a Harbor task or dataset to the registry. Use when the user wants to upload, publish, or share tasks or datasets/benchmarks on the Harbor registry.
// Publish a Harbor task or dataset to the registry. Use when the user wants to upload, publish, or share tasks or datasets/benchmarks on the Harbor registry.
| name | publish |
| description | Publish a Harbor task or dataset to the registry. Use when the user wants to upload, publish, or share tasks or datasets/benchmarks on the Harbor registry. |
| argument-hint | ["path/to/task-or-dataset"] |
Help the user publish a Harbor task or dataset to the registry. Walk them through each step, checking prerequisites and confirming before running publish commands.
All commands use uvx harbor so the user does not need to install the CLI globally.
Auth: Ensure the user is logged in by running uvx harbor auth status. If not logged in, prompt them to run uvx harbor auth login.
Task identifiers: All tasks must have a [task] section in their task.toml with a name like <org>/<name>. If missing, run:
uvx harbor task update "<path/to/task>" --org "<org>"
To update all tasks in a directory:
uvx harbor task update "<path/to/tasks>" --org "<org>" --scan
uvx harbor publish "<path/to/task>"
Publish multiple tasks or all tasks in a directory:
uvx harbor publish "<path/to/task-a>" "<path/to/task-b>"
uvx harbor publish "<path/to/tasks>"
dataset.toml exists)uvx harbor dataset init "<org>/<dataset>" \
--description "<description>" \
--author "Jane Doe <jane@example.com>"
Add --with-metric if the user needs a custom metric script. If omitted, the dataset uses the default metric (average reward across tasks, with missing values treated as 0).
Auto-add behavior: If dataset init is run in a directory that already contains tasks, those tasks are automatically added to the manifest. After init, ask the user if they want to add additional tasks — either from the Harbor registry or from other local folders.
cd "<path/to/dataset>"
uvx harbor add "<path/to/task-a>" "<path/to/task-b>" # local tasks from elsewhere
uvx harbor add "<path/to/folder>" --scan # all tasks in another folder
uvx harbor add org/task-name # published tasks from registry
uvx harbor add org/dataset-name # all tasks from a published dataset
uvx harbor add metric.py # metric file (same dir as dataset.toml)
uvx harbor remove "<org>/<task-name>" # remove a task
Specific versions: org/task@tag, org/task@revision, or org/task@sha256:<hash>.
uvx harbor sync
uvx harbor sync --upgrade # also upgrade remote tasks to latest
uvx harbor publish "<path/to/dataset>"
uvx harbor publish automatically refreshes digests of local tasks in the dataset directory.
-t / --tag: add tags (repeatable). latest is always included.-c / --concurrency: control upload concurrency.--public: make public (private by default).--no-tasks (datasets only): skip publishing tasks in the dataset directory.Example:
uvx harbor publish "<path>" -t v1.0 --public
uvx harbor task visibility / uvx harbor dataset visibility or on https://hub.harborframework.com/.uvx harbor run -d "<org>/<dataset>@v1.0" -a "<agent>" -m "<model>"
Create a new Harbor task for evaluating agents. Use when the user wants to scaffold, build, or design a new task, benchmark problem, or eval. Guides through instruction writing, environment setup, verifier design (pytest vs Reward Kit vs custom), and solution scripting.
Write Harbor task verifiers using Reward Kit. Use when creating or editing a task's tests/ directory, adding grading criteria, setting up LLM/agent judges, or designing verifiers that produce a reward score.
Existing task skill that should remain after job-level skill injection.
Write the proof file for the Harbor runtime skill injection example.
Scaffold a new Harbor benchmark adapter by running `harbor adapter init` and then guide implementation using the Adapters Agent Guide as the authoritative spec.
Create or reuse Hugging Face dataset PRs for `harborframework/parity-experiments` and upload Harbor parity/oracle result folders efficiently with sparse checkout, raw git pushes, and Git LFS.