双手互搏
Two hands spar over every change. Only real decisions reach you.
Zhou Botong is one of wuxia's great eccentrics: a legendary martial artist with the temperament of a mischievous child. When ordinary practice becomes too ordinary, he invents something delightfully absurd — the Technique of Ambidexterity (双手互搏).
He teaches each hand to act independently. One hand attacks; the other answers. Each uses a different martial art. The same person becomes both opponents, and the sparring continues until neither hand can surprise the other.
It sounds like a party trick. It is actually a discipline: split creation from criticism, give both sides room to think, and let disagreement expose what either side would miss alone.
Hubo puts that little duel inside your coding agent.
The name comes from 互搏 (hùbó): to spar with each other. Not two agents politely taking turns, and not a reviewer saying “looks good” from the doorway. Two hands spar over every change. Only real decisions reach you. They exchange evidence until the code — not either agent's ego — wins.
Without Hubo, an agent implements the feature, runs a test, reviews its own reasoning, and hands the result to you. The author, tester, and reviewer all share the same blind spots.
With Hubo:
your task
↓
work agent ── implementation + evidence ──▶ review agent
▲ │
└──── fix or reasoned pushback ◀───────┘
repeat
↓
reconciled result — or you
You see the work only after every concrete finding is resolved, unless the remaining question genuinely requires your judgment.
Hubo has two explicit modes:
| Mode | Two hands | Result |
|---|---|---|
/hubo |
Implementer ↔ reviewer | Tested code with every finding reconciled. |
/hubo:hubo-review |
Main reviewer ↔ critical reviewer | A targeted review with false positives challenged and missed risks checked. |
Both modes keep two persistent roles in the same conversation and use the same shape: produce, challenge, revise or defend, repeat.
The default mode keeps these roles:
| Hand | Role |
|---|---|
| Work agent | Understands the task, changes the code, tests it, and answers every review finding with a fix or evidence-based pushback. |
| Review agent | Stays independent and read-only, inspects the actual diff and verification evidence, and returns numbered, actionable findings. |
| Coordinator | Carries messages between them, preserves unresolved findings across rounds, and stops only at a real exit condition. |
The loop ends when:
- the reviewer clears the work and every finding is reconciled; or
- the agents identify a product, requirement, or technical-direction decision that only you can make.
The reviewer may spawn specialists. The worker may delegate implementation. But at the top level the shape remains the same: one hand makes, one hand tests the making.
Both modes require explicit invocation in their trigger instructions; ordinary coding prompts remain ordinary. Codex also enforces this through plugin policy.
Run these as two separate prompts:
/plugin marketplace add h0ngcha0/hubo
/plugin install hubo@hubo
Then run /reload-plugins or start a new conversation.
codex plugin marketplace add h0ngcha0/hubo
codex plugin add hubo@huboRestart Codex and start a new conversation so the skill is discovered.
copilot plugin marketplace add h0ngcha0/hubo
copilot plugin install hubo@huboStart a new Copilot CLI session after installing.
openclaw plugins install hubo --marketplace h0ngcha0/huboRestart the OpenClaw gateway after installing.
npx skills add h0ngcha0/hubo --skill hubo hubo-review --agent opencode -g -yStart a new OpenCode session after installing.
Install both Hubo skills directly into any supported host:
npx skills add h0ngcha0/hubo --skill hubo hubo-review -g- Claude Code:
/hubo(or/hubo:hubo) and/hubo:hubo-review. - Codex CLI:
$hubo:huboand$hubo:hubo-review. - ChatGPT or Codex desktop: type
@, then select Hubo or Hubo Review. - GitHub Copilot CLI:
/hubo:huboand/hubo:hubo-review. - OpenClaw:
/skill huboand/skill hubo-review.
- Claude Code or GitHub Copilot CLI:
/huboand/hubo-review. - Codex:
$huboand$hubo-review. - OpenCode:
/huboand/hubo-review; use/skillsto open the skill picker. - OpenClaw:
/skill huboand/skill hubo-review.
For example:
/hubo implement optimistic updates for the cart
/hubo:hubo-review review the authentication changes on this branch
MIT © 2026 h0ngcha0