Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sazlin-herdr
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
herdr- Description
- Control Herdr, a terminal multiplexer for coding agents. Use only when the user explicitly mentions Herdr or asks to use Herdr to inspect or control panes, tabs, workspaces, commands, or another agent. Do not use merely because a task could benefit from a background terminal, delegation, or parallel work. Requires HERDR_ENV=1.
- License
- MIT
- Metadata
- loadout.sha: 49eb9bd · loadout.source: skills/herdr/SKILL.md · loadout.managed: true
- Instructions
- 211 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- SOURCE.md
SKILL.md (first lines)
# Herdr
Herdr organizes terminals into workspaces, tabs, and panes, recognizes coding agents running inside panes, and exposes the current session through the `herdr` CLI.
Before issuing any control command, verify that this agent is running inside a Herdr-managed pane:
```bash
test "${HERDR_ENV:-}" = 1
```
If the check fails, say that you are not running inside Herdr and stop. Do not inspect or control the focused Herdr session from outside Herdr.
When the check passes, the `herdr` binary in `PATH` talks to the current session. Use it to inspect neighboring work, create terminal layout, start agents and commands, read output, and wait for state changes.
## Learn the current CLI
The installed binary is the authority for command syntax. Start with:
```bash
herdr --help
```
Then print the relevant command group by running the group without a subcommand:
```bash
herdr agent
herdr pane
herdr workspace
herdr tab
herdr worktree
herdr terminal
herdr notification
herdr integration
herdr session
herdr machine
```
Do not run bare `herdr` for discovery; it launches or attaches the TUI. Do not probe a mutating nested command by omitting arguments. Commands such as `herdr workspace create` are valid with defaults and will execute.
Most control commands return JSON. Read identifiers and state from those responses instead of predicting them.
## Understand layout, panes, and agents
Choose the primitive that matches the job:
- Workspace, tab, and pane topology organize terminal locations.
- Pane commands control raw terminals, shells, tests, servers, input, and output.
- Agent commands control the recognized coding agent currently occupying a pane.
A pane exists whether or not it contains an agent. `agent start` requires an existing available shell pane and never creates, splits, or moves layout. Use pane commands for ordinary processes. Use agent commands when Herdr must validate agent identity or interpret `idle`, `working`, `blocked`, `done`, and `unknown` lifecycle states.
Agent commands accept either a unique live agent name or the pane ID currently hosting that agent. They do not accept terminal IDs or bare agent-kind labels. Names must match `[a-z][a-z0-9_-]{0,31}` and be unique among live agents. A name follows the current pane occupant and is cleared when that agent exits, is released, or is replaced.
`idle` and `done` both mean the agent is ready for input. The CLI/API uses the server's seen state to distinguish them; explicit focus commands mark the target seen, while reads do not. Each TUI client tracks viewed completions independently, so its Done badge can differ from the CLI or another client's badge. `blocked` means Herdr recognized an approval or question UI. `unknown` means an agent is present but Herdr cannot classify it confidently; it does not prove completion.
## Use IDs and caller context
Public IDs are opaque stable handles:
- workspace: `w1`
- tab: `w1:t1`
- pane: `w1:p1`
Closed tab and pane IDs are not reused. A pane moved into another workspace receives a new workspace-qualified pane ID. After `pane move`, continue with `.result.move_result.pane.pane_id` or the live agent name. The old value is reported as `.result.move_result.previous_pane_id`; only the moved process's inherited caller context keeps resolving that old ID, so do not use it as a general agent target.
Herdr injects the caller's context into each managed pane:
```bash
printf '%s\n' "$HERDR_WORKSPACE_ID" "$HERDR_TAB_ID" "$HERDR_PANE_ID"
```
Prefer `--current` when a pane command should target the calling pane. An omitted `pane split` target uses the calling pane when `HERDR_PANE_ID` is available, otherwise the focused pane. Other commands may use the UI-focused pane, which can belong to the user or another client.
Discover live state with:
```bash
herdr workspace list
herdr tab list --workspace "$HERDR_WORKSPACE_ID"
herdr pane current --current
herdr pane list --workspace "$HERDR_WORKSPACE_ID"
herdr agent list
```
Creation responses expose the IDs to use next. `workspace create` returns `.result.workspace`, `.result.tab`, and `.result.root_pane`. `tab create` returns `.result.tab` and `.result.root_pane`. `pane split` returns the new pane as `.result.pane`.
IDs and live agent names are scoped to one server. Two saved SSH machines can both have `w1:p1` or an agent named `reviewer`. Selecting a machine in the TUI does not retarget commands running in your pane: without `--machine`, they still use the inherited session and socket context.
To control a saved SSH machine, use the same global prefix for discovery and every later command:
```bash
herdr --machine <label-or-id> agent list
herdr --machine <label-or-id> pane list
herdr --machine <label-or-id> agent prompt <remote-agent-name> "Reply with your current status." --wait --timeout 120000
```
The selector must be an enabled saved profile ID or a unique, case-sensitive label, not an arbitrary SSH hostname. Commands use that profile's remote session without an open TUI. Do not combine `--machine` with `--session` or `--remote`. Discover IDs on that machine; inherited local IDs and `--current` do not identify remote panes.
Both installations must support machine API forwarding, and the remote server must already be running and API-compatible. Forwarding never installs, starts, or restarts a server and never falls back to Local. Local configuration, session management, installation commands, and interactive attachment are not forwarded. Remote worktree paths must be absolute, `~`, or start with `~/`; plugin link paths must be absolute. A connection failure does not prove a mutation was not applied: inspect remote state before retrying.
`herdr machine list` lists saved connection profiles, not a cross-machine pane inventory; add `--json` for scripts. Only add, remove, enable, or disable profiles when the user asks. Removing a profile disconnects the client but does not stop remote sessions. Adding a machine uses the remote default session unless `--remote-session` is explicitly supplied. Setup asks before stopping an incompatible server and defaults to No; do not approve replacement without the user's consent. Experimental handoff is not part of `machine add`.
## Start and coordinate an agent
Default to a sibling pane in the current tab and the current working directory. Do not create a workspace, tab, worktree, or different cwd unless the user explicitly requests that topology or location.
Honor a direction requested by the user. Otherwise inspect the caller pane:
```bash
herdr pane layout --pane "$HERDR_PANE_ID"
```
Split a wide pane to the right and a narrow or tall pane down. Avoid repeated same-direction splits that create unusably narrow columns or short rows. Keep the user's focus in the calling pane and explicitly preserve the caller's working directory:
```bash
herdr pane split --current --direction right --cwd "$PWD" --no-focus
```
Replace `right` with `down` when appropriate. Read the new pane ID from `.result.pane.pane_id`.From sazlin/loadout, MIT.
More from sazlin/loadout
- 0.570score
dedupe-and-write-tasks
sazlin
Dedupe panel or verifier issues and rewrite the hashed tasks file with 1-3 similar issues per task.
SkillAFreshness: AClaude Code +9 - 0.570score
generating-readme
sazlin
Use when generating, rewriting, or refreshing README.md for this loadout repository; when the Available loadouts catalog may be stale after loadout YAML…
SkillAFreshness: AClaude Code +9 - 0.570score
anti-sleep
sazlin
Use when running long local tasks on a Mac or MacBook, waiting on CI, polling other systems, or when the user says /anti-sleep; also when idle sleep, lid…
SkillAFreshness: AClaude Code +9 - 0.570score
log-progress
sazlin
Append one entry to REVIEW_HISTORY.md.
SkillAFreshness: AClaude Code +9 - 0.570score
dispatch-resolve-wave
sazlin
Dispatch file-disjoint issue_resolver worktrees for the next resolve wave.
SkillAFreshness: AClaude Code +9 - 0.565score
github-upload-media-to-pr
sazlin
Use when the user explicitly asked to attach screenshots, images, recordings, or videos to a GitHub pull request — for example "put the screenshot in the PR"…
SkillAFreshness: AClaude Code +9 - 0.565score
dispatch-verifiers
sazlin
Run project VERIFIERS.md claims sequentially as true/false checks via the verifier agent.
SkillAFreshness: AClaude Code +9 - 0.565score
create-implementation-plan
sazlin
Use when implementation_orchestrator starts planning, or when an autonomous factory needs a fresh implementation_planner to write IMPLEMENTATION_PLAN.md from…
SkillAFreshness: AClaude Code +9 - 0.565score
build-implementation-plan
sazlin
Use when implementation_orchestrator starts building, or when an autonomous factory needs a fresh implementation_builder to implement IMPLEMENTATION_PLAN.md.
SkillAFreshness: AClaude Code +9 - 0.565score
decisions
sazlin
Use when the user says /decisions, asks to list, enumerate, or recap decisions made this session, or wants a chronological grok-list of agent choices.
SkillAFreshness: AClaude Code +9 - 0.565score
dispatch-panel-review
sazlin
Dispatch the four dimensional PR reviewers in parallel.
SkillAFreshness: AClaude Code +9 - 0.565score
learn
sazlin
Use only when the user says /learn or asks to capture this session's agent mistakes as project learnings in AGENTS.md.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Oct 2, 2026 (26 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/sazlin/loadout
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.607score
herdr
thrawn01
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: A★ 11Claude Code +9 - 0.337score
herdr
liuxie066
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: A★ 1Claude Code +9 - 0.337score
herdr
cormacc
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: A★ 1Claude Code +9 - 0.324score
herdr
bryan824
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: AClaude Code +9 - 0.321score
herdr
mr04vv
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: AClaude Code +9 - 0.321score
herdr
Quentin-M
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: AClaude Code +9 - 0.321score
herdr
radu-cojocaru
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: AClaude Code +9 - 0.321score
herdr
TudorAndrei
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: AClaude Code +9 - 0.321score
herdr
PhilippOesch
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: AClaude Code +9 - 0.320score
herdr
chaochaoxiaochao
Control herdr, a terminal multiplexer for coding agents.
SkillBFreshness: B★ 2Claude Code +9 - 0.303score
herdr
thimslugga
Control Herdr, a terminal multiplexer for coding agents.
SkillBFreshness: BClaude Code +9 - 0.300score
herdr
Chris-Maskey
Control Herdr, a terminal multiplexer for coding agents.
SkillBFreshness: BClaude Code +9
More from sazlin
- 0.570score
dispatch-resolve-wave
sazlin
Dispatch file-disjoint issue_resolver worktrees for the next resolve wave.
SkillAFreshness: AClaude Code +9 - 0.570score
log-progress
sazlin
Append one entry to REVIEW_HISTORY.md.
SkillAFreshness: AClaude Code +9 - 0.570score
anti-sleep
sazlin
Use when running long local tasks on a Mac or MacBook, waiting on CI, polling other systems, or when the user says /anti-sleep; also when idle sleep, lid…
SkillAFreshness: AClaude Code +9 - 0.570score
dedupe-and-write-tasks
sazlin
Dedupe panel or verifier issues and rewrite the hashed tasks file with 1-3 similar issues per task.
SkillAFreshness: AClaude Code +9 - 0.570score
generating-readme
sazlin
Use when generating, rewriting, or refreshing README.md for this loadout repository; when the Available loadouts catalog may be stale after loadout YAML…
SkillAFreshness: AClaude Code +9 - 0.565score
dispatch-panel-review
sazlin
Dispatch the four dimensional PR reviewers in parallel.
SkillAFreshness: AClaude Code +9
Cite this page
herdr skill. Agent Mart. https://agentmart.dev/skills/sazlin-herdr (last updated 2026-10-24)