hub-run — скилл для Claude Code: что делает и как установить
Запускает полный цикл работы AgentHub одной командой: от фиксации базовых метрик и параллельного запуска агентов до оценки и слияния кода.
/plugin marketplace add alirezarezvani/claude-skills
/plugin install agenthub@claude-code-skillsЧто делает hub-run
Скилл автоматизирует соревнование субагентов по строгой цепочке. Команда /hub:hub-run создаёт сессию, запускает агентов и сводит результаты в итоговую таблицу. Если тест или скрипт замера завершится ошибкой, процесс остановится сразу.
Внутри задействован скрипт hub_init.py и параллельный запуск агентов через инструмент вызова моделей. Оценивать результаты можно числовым скриптом через --eval либо встроенным LLM-судьёй. По умолчанию запускаются три агента. Автоматического слияния веток без спроса нет: скилл всегда ждёт подтверждения победителя от пользователя.
Какие задачи решает
- провести оптимизацию производительности с замером задержки p50
- запустить рефакторинг модуля силами двух конкурирующих агентов
- поднять тестовое покрытие с замером процентов через pytest
- выбрать лучший вариант текста с помощью оценки LLM-судьи
Примеры запросов агенту
- /hub:hub-run --task "Снизить задержку p50" --agents 3 --eval "pytest
bench.py --json" --metric p50_ms --direction lower --template optimizer - /hub:hub-run --task "Переписать модуль авторизации" --agents 2 --template refactorer
- /hub:hub-run --task "Покрыть тестами утилиты" --agents 3 --eval "pytest --cov=utils --cov-report=json" --metric
coverage_pct --direction higher --template test-writer
Как установить hub-run
1Через маркетплейс плагинов
/plugin marketplace add alirezarezvani/claude-skills/plugin install agenthub@claude-code-skillsКоманда ставит плагин agenthub целиком, со всеми его скиллами
2Через Skills CLI (Vercel)
npx skills add alirezarezvani/claude-skills --skill hub-run -a claude-code3Вручную: положить файлы
~/.claude/skills/hub-run/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/hub-run/
Вручную: положить файлы
.agents/skills/hub-run/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/hub-run/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install alirezarezvani/claude-skills hub-run2Вручную: положить файлы
.github/skills/hub-run/SKILL.mdКомандой платформы
gemini skills install https://github.com/alirezarezvani/claude-skills --path engineering/agenthub/skills/hub-runВручную: положить файлы
.devin/skills/hub-run/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о hub-run
Как установить hub-run в Claude Code?
Сначала добавьте каталог плагинов командой /plugin marketplace add alirezarezvani/claude-skills, затем установите скилл вызовом /plugin install agenthub@claude-code-skills.
Что делает скилл hub-run?
Он связывает этапы инициализации, замера исходных метрик, параллельного запуска субагентов, ранжирования результатов и подтверждения слияния в один непрерывный процесс.
Что происходит при отказе от слияния ветки победителя?
Скилл остановит процесс и предложит выбрать альтернативного агента через /hub:merge --agent agent-{N}, запустить переоценку через /hub:eval --judge или проверить ветки вручную.
Исходный текст
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