herdr-dispatchlisted
Install: claude install-skill pivoshenko/pivoshenko.ai
# Herdr Dispatch
Budget -> split -> start -> brief -> collect -> verify -> clean up.
The `Herdr` instruction decides *that* subagents become panes. This decides *how*. Policy lives there; do not restate it here.
## Preconditions
```bash
test "${HERDR_ENV:-}" = 1 # else: not inside Herdr, stop
printf '%s\n' "$HERDR_WORKSPACE_ID" "$HERDR_TAB_ID" "$HERDR_PANE_ID"
```
Not inside Herdr -> say so and fall back to the `Agent` tool. Never control a Herdr session from outside it.
## Pane Budget
Claude Code's TUI is unusable below ~60 columns; budget at 68 so a worker can render a diff rather than merely survive. Splitting a tab N ways divides its width by N.
Workers belong in their own tab - the user's driving pane stays uncluttered and their focus stays where they put it. Create that tab **first**, then measure it:
```bash
herdr tab create --workspace "$HERDR_WORKSPACE_ID" --label "workers" --cwd "$PWD" --no-focus # -> .result.tab, .result.root_pane
herdr pane layout --pane "<root-pane-id>" # -> .result.layout.area.width
```
**`--workspace` is not optional.** Omit it and the tab is created in whatever workspace currently has focus, which is routinely not yours - the user clicks into another project and every worker tab lands there. `--cwd` still points the agents at the right directory, so the work itself comes out correct and the mistake shows up only as panes scattered in someone else's space. Read the id from `$HERDR_W