From herdr
Use when designing, saving, or reproducing a pane/tab arrangement in herdr — 'save/restore my herdr layout', 'set up a reusable pane layout in herdr', 'recreate this workspace layout', 'export a herdr layout tree', 'declarative workspace setup in herdr', or capturing an editor+server+logs+tests arrangement as a shareable, reproducible artifact. Also covers the judgment around resize/swap/move/zoom for legibility. Use this skill to arrange, save, or reproduce panes *now*; for session lifecycle, recovery, and which-container-to-use judgment use herdr-workspace-management. Defers raw command syntax to the vendored herdr skill and the live socket API; defers keybindings to herdr-configuration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/herdr:herdr-layoutsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You design **reusable pane/tab arrangements** for a task, and you treat a layout as a
You design reusable pane/tab arrangements for a task, and you treat a layout as a portable, versionable artifact — export it as a tree, commit it, restore it later or hand it to a teammate. This skill holds the design and persistence judgment. It does not restate per-command syntax.
For exact method names, flags, and JSON shapes, defer to:
herdr agent skill (pane split / tab create / workspace create, pane read/run),WebFetch https://herdr.dev/docs/socket-api/,herdr --help, herdr pane --help, herdr workspace --help.Never hardcode a method, command, or field name from memory — confirm it live before you run it.
Not this skill: detaching/reattaching, server-restart recovery, herdr update → herdr-workspace-management.
Pane-navigation keybindings → herdr-configuration. Spawning/coordinating agents → the multi-agent sibling.
Start from the concerns the task runs in parallel, not from a pretty grid. A typical feature loop has four: edit, run (server/build), observe (logs), verify (tests). Map each concern to the smallest container that isolates it:
Legibility is a hard constraint. More than ~3-4 panes in one tab and none of them are readable — a log pane squeezed to 6 lines tells you nothing. When a tab gets crowded, promote a concern to its own tab instead of splitting again. A good layout is one you can actually read at a glance.
Confirm the exact zoom/resize/swap/move method or flag live — they live under the pane
operations in the socket API / herdr pane --help.
The core capability: herdr can read the current pane/tab arrangement as a tree and you reproduce it by rebuilding the splits (optionally re-running each pane's command), giving you a multi-pane setup with working directories preserved.
What's verified in the CLI (herdr 0.6.10): herdr pane layout [--pane ID|--current] prints
the current layout tree. There is no first-class CLI "export to file / apply from file"
command in this version — so "restore a layout" means scripting the rebuild (a sequence
of pane split + pane run from your saved tree), or using a socket-API apply method if
one exists in your version. Confirm the live surface (herdr pane --help, socket-api docs)
before assuming a one-shot apply; treat any apply/import method name as illustrative until verified.
The one fact that drives all the design judgment: restoring a tree reproduces the structure, pane labels, working directory (cwd), and environment — and, if the tree records them, each pane's launch command (argv). It does NOT revive live terminals, scrollback, or already-running processes. A restored layout is a re-runnable skeleton, not a frozen snapshot.
So the difference between a layout that restores into useful work and one that restores into dead shells is whether the tree captures each pane's command:
npm run dev) in the tree.pane run command.Workflow:
herdr pane layout and record, alongside each
pane, the command it should run on rebuild (the part the raw tree won't infer for you)..herdr/layouts/feature-loop.json or a small setup script) and commit it. Now the layout is
reviewable, diffable, and shareable like any other config.pane split/pane run sequence (or a socket-API
apply if your version exposes one) into a fresh tab or new workspace. Because cwd and recorded
commands come back, the server/logs/tests re-bootstrap themselves instead of leaving you to
re-run everything by hand.This is also the right tool for server-restart recovery of a layout's shape — but the "will my running processes survive?" question belongs to herdr-workspace-management; this skill only owns reproducing the arrangement.
Rather than scripting a sequence of pane split / tab create calls, describe the desired
end state as a tree and let herdr build it in one apply. A tree is nested split nodes
(each with a direction and a ratio) bottoming out in pane nodes (each with cwd, optional
label, optional command). Confirm the exact field names live; see
references/layout-trees.md for an illustrative shape and worked examples.
Prefer the declarative tree over imperative splits when:
Use imperative pane split / tab create (vendored skill) when you're exploring what
arrangement you even want, or making a one-off adjustment to a live tab.
pane split / tab create / workspace create / pane read / pane run syntax → vendored herdr skill + live socket API. Don't restate flags here.herdr --help); treated as illustrative-only in this skill.herdr update recovery, whether processes survive → herdr-workspace-management.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub jbaham2/herdr-plugin --plugin herdr