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/corymhall-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
- Instructions
- 211 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.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 corymhall/toolkit, MIT.
More from corymhall/toolkit
- 0.529score
harness-evaluation
corymhall
Evaluate real Pi and Codex sessions against centralized criteria for personal and repo-local skills, identify whether skills helped, were neutral, or made…
SkillBFreshness: BClaude Code +9 - 0.526score
triage-provider-issue
corymhall
Triage Pulumi provider issues from evidence to disposition or next action.
SkillBFreshness: BClaude Code +9 - 0.526score
skill-authoring
corymhall
Create, revise, de-slopify, or review Agent Skills while preserving useful behavior and requiring evidence for added prompt weight.
SkillBFreshness: BClaude Code +9 - 0.526score
go-development
corymhall
Implement and refactor Go where package design, abstractions, ownership, errors, concurrency, or Go-specific test seams require manual judgment.
SkillBFreshness: BClaude Code +9 - 0.524score
capture-decision-context
corymhall
Distill the current conversation into a durable, implementation-light decision note or compact GitHub issue draft that preserves motivation, evidence…
SkillBFreshness: BClaude Code +9 - 0.524score
commit
corymhall
Create a well-formed git commit from current changes using session history for rationale and summary; use only when the user explicitly asks to create or…
SkillBFreshness: BClaude Code +9 - 0.521score
collaborate
corymhall
Establish a pair-programming working agreement for the session.
SkillBFreshness: BClaude Code +9 - 0.519score
aws-documentation-mcp
corymhall
Search, read, and cite official AWS documentation through the AWS Labs Documentation connection in executor.
SkillBFreshness: BClaude Code +9 - 0.479score
stage-pulumi-provider-repro
corymhall
Stage durable Pulumi-side repros for provider issues.
SkillCFreshness: CClaude Code +9 - 0.479score
pulumi-upgrade-provider
corymhall
Automate Pulumi provider repo upgrades with the `upgrade-provider` tool.
SkillCFreshness: CClaude Code +9 - 0.479score
bridge-parity-investigation
corymhall
Investigate established Pulumi-vs-Terraform parity gaps with bridge cross-tests.
SkillCFreshness: CClaude Code +9 - 0.479score
stage-terraform-provider-repro
corymhall
Stage durable Terraform-side repros for bridged-provider issues.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 21, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/corymhall/toolkit
- 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
cormacc
Control Herdr, a terminal multiplexer for coding agents.
SkillAFreshness: A★ 1Claude Code +9 - 0.337score
herdr
liuxie066
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.324score
herdr
sazlin
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.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
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.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
More from corymhall
- 0.529score
harness-evaluation
corymhall
Evaluate real Pi and Codex sessions against centralized criteria for personal and repo-local skills, identify whether skills helped, were neutral, or made…
SkillBFreshness: BClaude Code +9 - 0.526score
triage-provider-issue
corymhall
Triage Pulumi provider issues from evidence to disposition or next action.
SkillBFreshness: BClaude Code +9 - 0.526score
go-development
corymhall
Implement and refactor Go where package design, abstractions, ownership, errors, concurrency, or Go-specific test seams require manual judgment.
SkillBFreshness: BClaude Code +9 - 0.526score
skill-authoring
corymhall
Create, revise, de-slopify, or review Agent Skills while preserving useful behavior and requiring evidence for added prompt weight.
SkillBFreshness: BClaude Code +9 - 0.524score
capture-decision-context
corymhall
Distill the current conversation into a durable, implementation-light decision note or compact GitHub issue draft that preserves motivation, evidence…
SkillBFreshness: BClaude Code +9 - 0.524score
commit
corymhall
Create a well-formed git commit from current changes using session history for rationale and summary; use only when the user explicitly asks to create or…
SkillBFreshness: BClaude Code +9
Cite this page
herdr skill. Agent Mart. https://agentmart.dev/skills/corymhall-herdr (last updated 2026-10-24)