Skip to content
Testing
Skill

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

From plugin
lhtb
5695 skills

Claude Code

$ npx -y skills add zli12321/LHTB --skill publish --agent claude-code

SKILL.md

publish.SKILL.md
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.

Prerequisites

1. **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`.

2. **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

Publishing a task

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>"

Publishing a dataset

1. Initialize the dataset manifest (if no `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.

2. Add additional tasks and files (optional)

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

3. Sync digests (if tasks/metrics changed since last publish)

uvx harbor sync
uvx harbor sync --upgrade   # also upgrade remote tasks to latest

4. Publish the dataset

uvx harbor publish "<path/to/dataset>"

`uvx harbor publish` automatically refreshes digests of local tasks in the dataset directory.

Publish options (tasks and datasets)

  • `-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

After publishing

  • Visibility can be changed later with `uvx harbor task visibility` / `uvx harbor dataset visibility` or on https://hub.harborframework.com/.
  • Run a published dataset with:
  uvx harbor run -d "<org>/<dataset>@v1.0" -a "<agent>" -m "<model>"
Read more
@zli12321
Ships withlhtb

Long-Horizon Terminal-Bench is a benchmark for measuring how well LLM agents sustain useful work in a containerized terminal over hundreds of steps. LHTB 2.0 has 77 tasks: the 46 original tasks in tasks/ and 31 new tasks in tasks-2.0/.

Stars on GitHub

Momentum

stars in total
569
Star history of zli12321/LHTB on GitHub, a chart by star-history.com

Other skills on lhtb.

create-adapter

create-adapter

Scaffold a new Harbor benchmark adapter by running `harbor adapter init` and then guide implementation using the Adapters Agent…

@zli12321@zli12321Install Skill
create-task

create-task

Create a new Harbor task for evaluating agents. Use when the user wants to

@zli12321@zli12321Install Skill
rewardkit

rewardkit

Write Harbor task verifiers using Reward Kit. Use when creating or editing a

@zli12321@zli12321Install Skill
upload-parity-experiments

upload-parity-experime…

Create or reuse Hugging Face dataset PRs for `harborframework/parity-experiments` and upload Harbor parity/oracle result folders…

@zli12321@zli12321Install Skill

More skills from other plugins.

api-review

api-review

Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…

@microsoft@microsoftInstall Skill
add-e2e-selectors

add-e2e-selectors

Add reliable @grafana/e2e-selectors to interactive elements and key containers in the Grafana frontend. Use when adding e2e…

grafana1d78k
@grafana@grafanaInstall Skill
promptfoo-evals

promptfoo-evals

Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…

@promptfoo@promptfooInstall Skill
deepeval

deepeval

DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…

@confident-ai@confident-aiInstall Skill

Questions about publish.

Which coding agents can use publish?
publish installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.