herdrlisted
Install: claude install-skill stewartcelani/skills
# Herdr
Herdr organizes terminals into workspaces, tabs, and panes, recognizes coding agents running inside panes, and exposes the session through the `herdr` CLI.
## Inside and outside are both valid
**Use the CLI whenever it can talk to the session.** You do not need to be running inside a Herdr-managed pane.
Supported control paths include:
- An agent already inside a Herdr pane
- A shell or agent on the same machine that has `herdr` in `PATH` and can reach the session socket
- Remote clients over SSH (home PC, Claude Desktop, Cursor, ChatGPT, etc.) driving Herdr on the server
External control is intentional: it is how remote agents manage workspaces, servers, and sibling agents without falling back to raw tmux. **Never refuse Herdr work because you are "outside" Herdr or because `HERDR_ENV` is unset.**
The `herdr` binary talks to the reachable session. Use it to inspect neighboring work, create terminal layout, start agents and commands, read output, and wait for state changes.
Only report that Herdr is unavailable if the CLI itself fails to reach a session (connection refused, no server, socket missing). Empty env or an external client is not a failure.
## Caller context env vars (optional convenience)
When a process *is* inside a managed pane, Herdr *may* inject:
```bash
printf '%s\n' "${HERDR_ENV:-}" "$HERDR_WORKSPACE_ID" "$HERDR_TAB_ID" "$HERDR_PANE_ID"
```
- `HERDR_ENV=1` means this process was launched inside a Herdr-managed pane (when injection worked).