Round-2 sweep after re-auditing all 15 reported issues against the merged dev: - #885 generalized: the original fix only renamed self-improving-agent's status/review, but three more plugins shipped skills whose bare names shadow Claude Code built-ins. Renamed with the same convention: playwright-pro init/review -> pw-init/pw-review, agenthub init/status -> hub-init/hub-status, autoresearch-agent status/resume -> ar-status/ ar-resume. All command references (/pw: /hub: /ar:), docs, audit records, harness manifests, and mirror trees/indexes updated; the flat mirror namespace no longer collides on 'status'. New scripts/check_skill_names.py gate (wired into ci-quality-gate.yml as blocking) fails CI on any future bare reserved name; rule added to SKILL-AUTHORING-STANDARD.md. - #969 follow-through: five more scripts print box-drawing characters that cannot exist in cp1252 (api_scorecard, api_linter, breaking_change_detector, humanizer_scorer, content_scorer) — same guarded UTF-8 reconfigure applied; all smoke-tested under a forced legacy encoding. Verified: check_skill_names (incl. negative test), check_plugin_json, check_paths, derive_counters, check_dual_publish, smoke_scripts (634/634), 0 broken mirror symlinks. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qgc6RYXWJPr5oW9DHU7zR4
4.4 KiB
| title | description |
|---|---|
| /hub:run — One-Shot Lifecycle — Agent Skill for Codex & OpenClaw | One-shot lifecycle command that chains init → baseline → spawn → eval → merge in a single invocation. Use when the user runs /hub:run or asks to. Agent skill for Claude Code, Codex CLI, Gemini CLI, OpenClaw. |
/hub:run — One-Shot Lifecycle
claude /plugin install engineering-advanced-skills
Run the full AgentHub lifecycle in one command: initialize, capture baseline, spawn agents, evaluate results, and merge the winner.
Usage
/hub:run --task "Reduce p50 latency" --agents 3 \
--eval "pytest bench.py --json" --metric p50_ms --direction lower \
--template optimizer
/hub:run --task "Refactor auth module" --agents 2 --template refactorer
/hub:run --task "Cover untested utils" --agents 3 \
--eval "pytest --cov=utils --cov-report=json" --metric coverage_pct --direction higher \
--template test-writer
/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:
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:
- Run the eval command in the current working directory
- Extract the metric value from stdout
- Display:
Baseline captured: {metric} = {value} - 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 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):
- Display a brief summary of each agent's work
- Proceed to evaluation
Step 5: Evaluate
Run /hub:eval with the session ID:
- If
--evalwas provided: metric-based ranking withresult_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 --judgeto 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