prompt engineering peaked at "bro, wtf"
Your agent opened a PR.
Who merges it?
Not you. bro drives it β watches the review gate, answers the threads, fixes the findings, merges on green, and sweeps the debt after. Done is a verdict, not a vibe.
$ /plugin marketplace add ThePlenkov/bro$ /plugin install bro@bro
done is a verdict, not a vibe. merged is not done either.
real commands, dramatized agents.
The gate is the product
One read, one verdict: threads=0 ci=0 reviewers=0 sast=0 β that's what "ready to merge" means when bro says it. And merged still isn't done: reviewers' leftovers land in a public ledger instead of rotting in closed tabs. bro sweeps its own merged PRs β the debt ledger is live.
And when one agent isn't enough
- clibro
the mechanics your prompts kept forgetting. one command, one verdict.
- pluginsevery agent
Claude, Codex, Cursor, Devin, OpenCode, Kilo, pi β same bro inside.
- hooksthe lifecycle
rehydrate on start, nudge on prompt, gate the stop. always fail-open.
- skillsthe policy
thin wrappers: when to call bro, never how. the how lives in code.
- connectorsyour systems
tasks, reviews, agents, models, events β beads, GitHub, GitLab, Jira, tmux, Gas City, ACP.
Fine, it orchestrates now. Still no swarm by default, no token bonfire. Your agent keeps its own session β bro hooks into its lifecycle and keeps it honest. When you do want many agents, one facade spawns them β native processes, tmux panes, Gas City, ACP providers β under a fleet cap, and they reach you through a mailbox, not a wait loop. Long waits go to a background shell β bro review act wait, bro review watch β not even a subagent: zero tokens while the gate settles, and your agent keeps working. Gates, not loops.
bro writes bro
Agents claim beads, ship through the act gate, sweep their own review debt, and turn retros into the next beads β a hand-rolled script today is a bro command next week. This site, the CLI, and most of the merged PRs were built that way.
The whole vocabulary β bead, mol, convoy, act, drill, wtf β lives in the glossary, not on a landing page that rots against the CLI.