agentsclimarketplace

Herdr

Skill yangyang0507/herdr-skill/herdr

better skill for herdr

Install
npx -y skills add yangyang0507/herdr-skill --skill herdr

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use this skill when running inside Herdr to coordinate workspaces, tabs, panes, sibling agents, server/test/log panes, agent-to-agent messages, or multi-agent delegation. Send a lightweight herdr-msg (reply-to + task), then stop and end the turn. Do not poll siblings and do not block-wait for replies; handle the peer message when it is injected into your pane.

SKILL.md

5.5 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

Herdr

Herdr is a terminal workspace manager for coding agents. Use it to inspect sibling panes, delegate to other agents, run servers or tests beside your current pane, and coordinate work without blocking.

For exact CLI syntax and less common workspace/tab/worktree operations, read references/command-reference.md.

Preconditions

test "${HERDR_ENV:-}" = "1"
command -v herdr

If HERDR_ENV is not 1, do not control live panes unless the user asked you to edit this skill or discuss Herdr. You may still read files and explain commands.

Operating Rules

  • Discover first: herdr agent list, herdr pane list.
  • Treat IDs as live-session handles. Re-read them after layout changes.
  • Prefer HERDR_PANE_ID as your pane handle when set.
  • For agent task handoff use scripts/herdr-msg or herdr pane run (not herdr agent send alone — it does not press Enter).
  • Read a target once before sending, only to avoid interrupting a prompt/approval.
  • After send: stop. Do not poll the target. Do not herdr wait / --wait-reply for normal chat. End your turn. When a reply is injected into your pane, handle that inbound message.
  • Do not use herdr wait agent-status ... --status done for multi-agent coordination.

Default Loop

  1. Discover agents/panes.
  2. Read the target once if needed.
  3. Send a short request with scripts/herdr-msg (header carries reply-to + task).
  4. On state=delivered: end the turn (or do unrelated local work that does not depend on the reply).
  5. When an inbound reply appears in your pane, integrate it.

After herdr-msg (mandatory)

  1. Non-zero exit → send/resolve failed; fix and resend. Do not poll.
  2. state=delivered (exit 0) → stop. Do not read the target in a loop. Do not block-wait.
  3. End your turn. The wake-up is the peer injecting a message into reply-to (your pane).
  4. Polling the target after send is a protocol violation.

Lightweight agent messages

Keep it human and thin. One header line + body:

[herdr-msg reply-to:<your-pane-id> task:<short-label>]
<short actionable message>

Optional fields the helper may add: from:<name>, kind:reply / kind:update (requests omit kind).

FieldRole
reply-toRequired. Where the peer should answer.
taskHuman thread label (not a crypto id).
fromOptional sender label.
kindOptional; default is request.

Not required for normal chat: msg_id, sentinels, ack-of, status codes in the header, waiting recipes.

Send (default)

scripts/herdr-msg codex --task auth-review <<'MSG'
Review src/auth.ts for auth bypasses and missing tests.
Reply to reply-to with DONE or BLOCKED findings.
MSG
# receipt: state=delivered → end turn

Reply

scripts/herdr-msg "$REPLY_TO" --task auth-review --kind reply <<'MSG'
DONE: Checked src/auth.ts. No bypass found. Missing refresh-token expiry test.
MSG

Manual fallback

SELF=$HERDR_PANE_ID
TARGET=$(herdr agent get codex | sed -nE 's/.*"pane_id":"([^"]+)".*/\1/p')
herdr pane run "$TARGET" "[herdr-msg reply-to:$SELF task:auth-review]
Review src/auth.ts. Reply to reply-to with DONE or BLOCKED."

Receipt

Tiny key=value lines: ok, state, target, target_pane, reply_to, task, kind, hint.

Treat state=delivered as success. The hint says to end the turn.

Waiting Policy

Agent chat: do not wait. Send, end turn, handle inbound reply later.

Use herdr wait output only for non-agent processes (dev servers, tests) where you can name a concrete marker such as ready or FAIL:

herdr wait output "$PANE" --match "ready" --timeout 30000
herdr pane read "$PANE" --source recent --lines 40

Only use herdr agent wait / wait agent-status when the user explicitly needs UI status or you are attaching/taking over an agent.

Delegation Pattern

  1. herdr agent list
  2. Read target once.
  3. scripts/herdr-msg <target> --task <label> <<'MSG' ... MSG
  4. On delivered: end turn (or unrelated local work). No poll, no block-wait.
  5. When replies arrive on your pane, integrate; follow up only for gaps.

Server And Test Panes

SELF=${HERDR_PANE_ID:-$(herdr pane list | sed -nE 's/.*\{[^{}]*"focused":true[^{}]*"pane_id":"([^"]+)".*/\1/p')}
PANE=$(herdr pane split "$SELF" --direction right --cwd "$PWD" --no-focus | sed -nE 's/.*"pane_id":"([^"]+)".*/\1/p')
herdr pane run "$PANE" "npm run dev"
herdr wait output "$PANE" --match "ready" --timeout 30000 || true
herdr pane read "$PANE" --source recent --lines 50

For tests, wait for framework markers (passed, failed, FAIL, …) or run tests in your own session.

Gotchas

  • pane run submits with Enter; agent send does not.
  • recent-unwrapped is better than recent when matching command output.
  • Herdr sets HERDR_ENV=1, HERDR_PANE_ID, HERDR_SOCKET_PATH in panes.
  • Long diffs/logs: write a file path into the message; do not paste huge blobs into the peer prompt.
  • Request-to-self is refused by default (--allow-self to override).
  • Keep headers one line; put status and findings in the body (DONE: … / BLOCKED: …).

Gives 0 of the 12 instructions most agent orchestration skills give in ~1.4k tokens

Counted across 742 of the 995 authors here whose files we hold, read 2026-08-06

  • run the full test suite after integrating changesin 53 of 742, across 20 files
  • reference existing artifacts by path or URLin 52 of 742, across 22 files
  • dispatch one agent per independent problem domainin 50 of 742, across 17 files
  • verify fixes do not conflictin 45 of 742, across 13 files
  • include a suggested skills section in the documentin 45 of 742, across 15 files
  • redact sensitive informationin 41 of 742, across 11 files
  • save to the temporary directory of the operating systemin 39 of 742, across 9 files
  • tailor the document to user-provided focus argumentsin 39 of 742, across 9 files
  • spot check agent changes for systematic errorsin 34 of 742, across 7 files
  • write a handoff document summarising the current conversationin 31 of 742, across 6 files
  • assign each agent a specific scopein 23 of 742, across 8 files
  • provide specific scope and clear goalin 23 of 742, across 5 files

Said here and by no other author read

  • discover agents and panes before delegating
  • reread ids after layout changes
  • read the target once before sending
  • send lightweight requests via herdr-msg
  • end the turn after delivery
  • handle the reply when injected into your pane

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.