mcpField
H
harbor-exec

harbor-exec

github.com/harbor-frameworkAgent workflows6.6k87 installsUpdated today
Repository

About harbor-exec

harbor-exec is an agent skill for operating Harbor’s `harbor exec` CLI, guiding users through run configuration and execution. It covers map-reduce jobs, artifact handling, and checks for required CLI versions.

Key features

  1. 01Check Harbor CLI version and commands
  2. 02Configure inputs and artifact requirements
  3. 03Run map and reduce phases
  4. 04Manage task and job output settings

Use cases

  1. 01Prepare a Harbor job from input files
  2. 02Specify artifacts for generated results
  3. 03Configure a repeatable map-reduce run

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/harbor-framework/harbor --skill harbor-exec

After installing, type/harbor-execin Claude Code to confirm it loaded.

Bundled filesreferences/examples.md

Details

From the project README

Harbor Exec

Overview

Use this skill to operate Harbor's harbor exec command. Treat harbor exec as agentic map-reduce: it turns loose inputs into Harbor tasks, runs Harbor jobs over those tasks, and optionally aggregates the results.

First Checks

Assume the user is running an installed Harbor CLI. Check the installed command surface before making claims:

harbor --version
harbor exec --help

Require Harbor >=0.17.1 for harbor exec. If harbor --version reports an older version, ask the user to upgrade before continuing.

Use --print-config when debugging config resolution, inferred artifacts, task/job directories, or defaults. Do not treat it as a substitute for showing the final launch command.

If the installed harbor command is not available, ask the user how they installed Harbor before guessing a command path.

Run Parameter Questions

Before running a Harbor Exec job, ask the user to confirm any unspecified run parameters:

  • Inputs: exact paths/globs and whether to --scan or --no-scan.
  • Artifact contract: output file paths the agent must write.
  • Artifact schemas: required JSON or structured schema for each artifact.
  • Environment provider: recommend cloud sandboxing over local docker; suggest modal, daytona, or e2b.
  • Agent and model for the map step.
  • Concurrency count.
  • Whether to include a reduce step, and if so which reduce agent and model to use.
  • Final command: show the exact launch command before running it.

Usage Workflow

Prefer flags for one-off runs and --config for repeatable or map-reduce workflows.

Make artifacts explicit when correctness depends on generated files:

harbor exec -p ./input -i "Write /app/answer.json" -f /app/answer.json

Prefer explicit artifacts over auto-inferred artifacts. Auto-inference only reads inline instructions, not instruction files.

Do not persist compiled tasks by default. Omit --tasks-dir unless the user wants to inspect or reuse compiled tasks; when omitted, compiled tasks are ephemeral and cleaned up after execution.

Leave the job output location unset by default. Use --jobs-dir only when the user wants a specific output path; default is jobs.

Specify --scan or --no-scan when task cardinality matters. Current flags mode scans a single directory or glob by default, but multiple paths are grouped unless --scan is explicit.

Do not combine --config with flags mode options. Build the full ExecConfig in the file instead.

Map And Reduce

Map phase:

  • map.compile defines task synthesis: instructions, copied paths, Docker image/workdir, artifacts, templates, and compile-time verifier generation.
  • map.job defines execution: agent, model, environment provider, retries, attempts, concurrency, metrics, and job directory.

Reduce phase:

  • Requires map.compile.artifacts; the reducer consumes prior map trial artifacts staged under environment/artifacts.
  • Compiles exactly one reducer task.
  • Inherits map job settings unless reducer-specific flags/config override them in flags mode.
  • Should usually define reducer artifacts explicitly, then verify them.

Examples

Read references/examples.md when writing concrete commands, config files, or map-reduce examples.

Comments

Markdown supported