hub-run — Claude Code skill: what it does, how to install
Automates the entire AgentHub workflow in one pass: records baselines, coordinates parallel agents, ranks the output, and prompts to merge the winner.
/plugin marketplace add alirezarezvani/claude-skills
/plugin install agenthub@claude-code-skillsWhat hub-run does
The skill executes the full AgentHub lifecycle in strict sequence. It sets up a session via hub_init.py and dispatches parallel worker agents in a single tool call. If any step fails, execution halts immediately.
Evaluation runs via metric scripts or coordinator diff analysis. By default, three agents compete. The skill never merges code automatically. It displays the ranked scoreboard and waits for explicit user confirmation before applying branch changes.
What it helps with
- run latency benchmarks across competing code variants
- refactor target modules using competing parallel agents
- increase pytest coverage with automated baseline comparisons
- evaluate generated variants using coordinator diff inspection
Example prompts for the agent
- /hub:hub-run --task "Reduce p50 latency" --agents 3 --eval "pytest bench.py --json" --metric p50_ms --direction lower --template optimizer
- /hub:hub-run --task "Refactor auth module" --agents 2 --template refactorer
- /hub:hub-run --task "Cover untested utils" --agents 3 --eval "pytest --cov=utils --cov-report=json" --metric coverage_pct --direction higher --template test-writer
How to install hub-run
1Plugin marketplace
/plugin marketplace add alirezarezvani/claude-skills/plugin install agenthub@claude-code-skillsThis installs the whole agenthub plugin with all its skills
2Skills CLI (Vercel)
npx skills add alirezarezvani/claude-skills --skill hub-run -a claude-code3Manually: put the files in place
~/.claude/skills/hub-run/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/hub-run/
Manually: put the files in place
.agents/skills/hub-run/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/hub-run/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install alirezarezvani/claude-skills hub-run2Manually: put the files in place
.github/skills/hub-run/SKILL.mdPlatform CLI
gemini skills install https://github.com/alirezarezvani/claude-skills --path engineering/agenthub/skills/hub-runManually: put the files in place
.devin/skills/hub-run/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about hub-run
How to install hub-run in Claude Code?
Add the marketplace by running /plugin marketplace add alirezarezvani/claude-skills, then install the package with /plugin install agenthub@claude-code-skills.
What does hub-run do?
It chains session initialization, baseline measurement, parallel agent spawning, result evaluation, and branch merging into a single command invocation.
Does hub-run merge branches automatically?
No. The process halts after ranking and requires your confirmation before any changes are merged into the main branch.
Source text
SKILL.md · MIT
---
name: "hub-run"
description: "One-shot lifecycle command that chains init → baseline → spawn → eval → merge in a single invocation. Use when the user runs /hub:hub-run or asks to execute a full AgentHub competition end-to-end."
metadata:
command: /hub:hub-run
---
# /hub:hub-run — One-Shot Lifecycle
Run the full AgentHub lifecycle in one command: initialize, capture baseline, spawn agents, evaluate results, and merge the winner.
## Usage
```
/hub:hub-run --task "Reduce p50 latency" --agents 3 \
--eval "pytest bench.py --json" --metric p50_ms --direction lower \
--template optimizer
/hub:hub-run --task "Refactor auth module" --agents 2 --template refactorer
/hub:hub-run --task "Cover untested utils" --agents 3 \
--eval "pytest --cov=utils --cov-report=json" --metric coverage_pct --direction higher \
--template test-writer
/hub:hub-run --task "Write 3 email subject lines for spring sale campaign" --agents 3 --judge
```
## Parameters
| Parameter | Required | Description |
|-----------|----------|-------------|
| `--task` | Yes | Task description for agents |
| `--agents` | No | Number of parallel agents (default: 3) |
| `--eval` | No | Eval command to measure results (skip for LLM judge mode) |
| `--metric` | No | Metric name to extract from eval output (required if `--eval` given) |
| `--direction` | No | `lower` or `higher` — which direction is better (required if `--metric` given) |
| `--template` | No | Agent template: `optimizer`, `refactorer`, `test-writer`, `bug-fixer` |
## What It Does
Execute these steps sequentially:
### Step 1: Initialize
Run `/hub:hub-init` with the provided arguments:
```bash
python {skill_path}/scripts/hub_init.py \
--task "{task}" --agents {N} \
[--eval "{eval_cmd}"] [--metric {metric}] [--direction {direction}]
```
Display the session ID to the user.
### Step 2: Capture Baseline
If `--eval` was provided:
1. Run the eval command in the current working directory
2. Extract the metric value from stdout
3. Display: `Baseline captured: {metric} = {value}`
4. Append `baseline: {value}` to `.agenthub/sessions/{session-id}/config.yaml`
If no `--eval` was provided, skip this step.
### Step 3: Spawn Agents
Run `/hub:spawn` with the session ID.
If `--template` was provided, use the template dispatch prompt from `../agenthub/references/agent-templates.md` instead of the default dispatch prompt. Pass the eval command, metric, and baseline to the template variables.
Launch all agents in a single message with multiple Agent tool calls (true parallelism).
### Step 4: Wait and Monitor
After spawning, inform the user that agents are running. When all agents complete (Agent tool returns results):
1. Display a brief summary of each agent's work
2. Proceed to evaluation
### Step 5: Evaluate
Run `/hub:eval` with the session ID:
- If `--eval` was provided: metric-based ranking with `result_ranker.py`
- If no `--eval`: LLM judge mode (coordinator reads diffs and ranks)
If baseline was captured, pass `--baseline {value}` to `result_ranker.py` so deltas are shown.
Display the ranked results table.
### Step 6: Confirm and Merge
Present the results to the user and ask for confirmation:
```
Agent-2 is the winner (128ms, -52ms from baseline).
Merge agent-2's branch? [Y/n]
```
If confirmed, run `/hub:merge`. If declined, inform the user they can:
- `/hub:merge --agent agent-{N}` to pick a different winner
- `/hub:eval --judge` to re-evaluate with LLM judge
- Inspect branches manually
## Critical Rules
- **Sequential execution** — each step depends on the previous
- **Stop on failure** — if any step fails, report the error and stop
- **User confirms merge** — never auto-merge without asking
- **Template is optional** — without `--template`, agents use the default dispatch prompt from `/hub:spawn`
© Alireza Rezvani · MIT · alirezarezvani/claude-skills