Agent skill

Herdr

by davidondrej in davidondrej/skills

Operate and coordinate AI agents in Herdr workspaces in Ghostty.

MITAuto-check passedAgent Workflows

Install Herdr

skills CLI
$ npx skills add davidondrej/skills --skill herdr -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davidondrej/skills herdr --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davidondrej/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/agent-orchestration/herdr .claude/skills/herdr && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
herdr
GitHub stars
4.1k
Token cost
~2.1k tokens
SKILL.md length
973 words
Files
1
Skills in repo
51
Repo updated
First seen
Licence
MIT

At a glance

Operate and coordinate AI agents in Herdr workspaces in Ghostty.

  • The user mentions Herdr
  • SKILL.md covers Preconditions, Inspect, message, wait, read, Operational details and Launch agents only when the…, plus 1 more section
  • Calls npx, codex and claude; needs CURSOR_API_KEY
  • Asks to inspect

What it does

Herdr is an agent skill from davidondrej/skills. Operate and coordinate AI agents in Herdr workspaces in Ghostty. Use when the user mentions Herdr or asks to inspect, message, wait for, or coordinate its agents. Excludes cmux and ordinary terminal sessions.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. It works with tmux. The repository describes itself as: access to david ondrej's personal agent skills. The licence is MIT.

When your agent uses it

  • The user mentions Herdr
  • Asks to inspect
  • Coordinate its agents

Example prompts

  • “/herdr”

Requirements

  • Node.js
  • A credential in CURSOR_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 7874889. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • codex
    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CURSOR_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Herdr loads about 2.1k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 973 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from davidondrej/skills at commit 7874889, republished under its MIT licence (© davidondrej). 973 words, ~2,134 tokens.

Download SKILL.mdSave it as .claude/skills/herdr/SKILL.md (or your agent's skills folder).
name
herdr
description
Operate and coordinate AI agents in Herdr workspaces in Ghostty. Use when the user mentions Herdr or asks to inspect, message, wait for, or coordinate its agents. Excludes cmux and ordinary terminal sessions.

Herdr

Herdr's CLI controls terminal panes through a local socket; it provides neither native agent-to-agent communication nor shared memory. It works with Pi, Codex, Claude Code, Cursor CLI, and other terminal agents. Native integrations improve detection, status accuracy, and session restoration.

Preconditions

Run the controlling agent inside Herdr in Ghostty. Verify access and workspace scope:

bash
test "${HERDR_ENV:-}" = "1"
test -n "${HERDR_WORKSPACE_ID:-}"

If either fails, tell the user this agent must be launched inside Herdr; do not claim access to other agents.

One-time installation:

bash
npx skills add ogulcancelik/herdr --skill herdr -g

Inspect, message, wait, read

Append --session <name> to every Herdr command. HERDR_SESSION alone can silently select an already-running server. Discover pane IDs; never guess them.

bash
herdr pane list --workspace "$HERDR_WORKSPACE_ID" --session <name>
herdr pane read <pane-id> --source recent-unwrapped --lines 200 --session <name>

# For TUI agent composers, separate text from Enter
herdr pane send-text <pane-id> "Check the failing tests and report back." --session <name>
sleep 1
herdr pane send-keys <pane-id> enter --session <name>

# Confirm submission, then wait for completion (idle if the integration uses it)
herdr agent wait <pane-id> --status working --timeout 120000 --session <name>
herdr agent wait <pane-id> --status done --timeout 120000 --session <name>
herdr pane read <pane-id> --source recent-unwrapped --lines 200 --session <name>

Stay in the current workspace. Read before messaging; send nothing for inspection-only requests. Confirm submission through a native status transition to working/blocked after Enter, never merely changed pane content. Wait for done, idle, or blocked, then read again; do not assume the prompt was acted on. Corroborate idle with pane text as described below.

When coordinating agents, share missing context, prevent duplicate work, and return one combined summary.

Do not close, rename, move, resize, or reconfigure panes you did not create. Create or close panes only when the user explicitly asks. “Use the Herdr skill” means execute the CLI workflow, not merely explain it.

Operational details

Sessions and targeting
  • Use named herdr session stop <name> / herdr session delete <name> for destructive operations. Never use herdr server stop; it targets the ambient server.
  • Targets are <session>:<pane-id>. Pane IDs contain a colon (w1:p2); split on the first colon only.
  • CLI calls do not auto-start a server. Start headless with herdr server --session <name>.
  • Managed processes receive HERDR_ENV=1 and HERDR_PANE_ID. Inside nested tmux, $TMUX wins: treat the pane as tmux.
  • Use an isolated named session, never default, for risky experiments. Re-check herdr session list --json --session <name> immediately before stopping or deleting.
Input
  • pane send-text types without submitting. pane run sends text + Enter and works at shell prompts, but TUI composers (Claude Code, Cursor CLI) may swallow Enter as part of a paste. Use separate send-text, ~1s pause, then send-keys <pane> enter calls for TUIs.
  • C0 control bytes (e.g. ASCII 0x1f) trigger terminal actions and can erase typed text. Use U+2063 INVISIBLE SEPARATOR for invisible text markers.
  • Slash-command autocomplete may consume the first Enter to close the popup or fill an argument placeholder. escape dismisses the popup while preserving text.
Reading and status
  • pane read --lines N returns empty output if N is below viewport height. Request at least 200 lines and at least the viewport height; trim locally with tail -n N.
  • pane get .cwd is fixed at creation; .foreground_cwd is live.
  • Use pane read --format ansi to distinguish placeholder text from human drafts: suggestions are dim (SGR-2) or dark truecolor; typed input renders normally. Plain text cannot reliably distinguish them.
  • herdr agent get <pane> reports native working/idle/done/blocked/unknown status; prefer it to regex guesses. Long-running foreground tools may still report idle; check busy banners such as "esc to interrupt" before treating the pane as free or stale.
  • Native waits: herdr agent wait <pane> --status <s> --timeout MS, herdr wait agent-status <pane> --status <s> --timeout MS, and herdr wait output <pane> --match <text>.
  • Socket protocol >=16 offers pane.agent_status_changed and pane.output_matched events. Prefer events, with polling as a backstop.
  • Scripts can register via pane report-agent and report idle/working/blocked.
Show full SKILL.md (427 more words)Show less
Workspace and tab lifecycle
  • Labels are not unique. Check duplicates yourself; find-by-label adopts the first match. Unlabeled workspaces display their cwd basename, which can collide with an explicit label.
  • workspace create seeds tab 1. Closing the last tab deletes the workspace; closing a tab's only pane closes the tab.
  • Workspace/tab creation respects --no-focus, except the first workspace in an empty session. pane split --no-focus still shrinks the host viewport: focus and geometry are separate.
  • Named-session restarts preserve IDs and labels, but not processes or agent registrations. Restored panes are fresh shells (agent_not_found), not live duplicates; close and replace them only within the pane permissions above.
Other details
  • Do not use tput cols for layout in scripts launched through pane run; it can report a stale default of 80.
  • herdr integration install <harness> (claude, codex, cursor, pi, ...) enables native status detection. herdr notification show <title> displays an alert.

Launch agents only when the user asks

ALWAYS launch agents with auto-approval — an unattended worker can otherwise stall on an unanswered prompt:

  • Cursor CLI: cursor-agent --yolo "task" (alias for --force)
  • Codex CLI: codex --yolo "task"
  • Claude Code: claude --dangerously-skip-permissions "task"

This relies on an agent guardrail deny-list hook being installed across agents. First-run trust dialogs may still appear; inspect the pane after launch. Install each integration once for native status detection.

Verify launch with herdr agent wait <pane> --status working --timeout MS or herdr wait output <pane> --match <text>, then read. Never use sleep N && pane read as launch verification; the short input-submission pause above serves a different purpose.

Cursor CLI

Use cursor-agent in scripts. agent is an alias/new docs name; the user's interactive cur shorthand expands to cursor-agent --yolo, but aliases do not expand in scripts.

Discover available model slugs with cursor-agent --list-models before launching into an existing shell pane:

bash
herdr pane run <pane-id> "cd <worktree> && cursor-agent --model <verified-model-slug> --yolo 'fix the failing tests'" --session <name>
  • Interactive: cursor-agent "task", or no argument for an empty session. Headless: cursor-agent -p "task" --output-format text|json|stream-json.
  • Permissions: --force / --yolo skips per-command approval; --sandbox enabled|disabled controls sandboxing. Script auth: CURSOR_API_KEY.
  • Model: --model <slug> at launch, /model in-session. Slugs vary by version/account; never invent them from memory.
  • Effort: no --effort flag. Use full slugs ending in -low, -medium, -high, or -xhigh (e.g. gpt-5.3-codex-xhigh, claude-opus-4-8-thinking-high). -fast controls speed, not effort. Despite --help, model[effort=high] is unsupported.
  • Some builds silently drop --model reasoning suffixes. Verify with /model after launch; --disable-auto-update preserves a working build.
  • Resume: cursor-agent resume (latest), --resume <chatId>, or cursor-agent ls to list.

Direct shortcuts

Most defaults use Ctrl+B. Direct Ctrl+Alt shortcuts rarely conflict. Add to ~/.config/herdr/config.toml:

toml
[keys]
new_workspace = "ctrl+alt+n"
workspace_picker = "ctrl+alt+w"
goto = "ctrl+alt+g"
new_tab = "ctrl+alt+c"

Apply with:

bash
herdr server reload-config --session <name>

To keep prefixed shortcuts with a different prefix, set prefix = "ctrl+a" under [keys].

© davidondrej, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/agent-orchestration/herdr of davidondrej/skills.

Open the folder on GitHubat commit 7874889

Compare with similar skills

Herdr next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Herdr compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Herdr this skilldavidondrej/skills4.1k—~2.1kAutomated safety check: PassMIT
CodeGraph Agent Evalcolbymchenry/codegraph74k—~950Automated safety check: PassMIT
Agent of Empires Session Manageragent-of-empires/agent-of-empires3.3k—~2.5kAutomated safety check: PassMIT
Agent Deckasheshgoplani/agent-deck1k—~1.7kAutomated safety check: PassMIT
Agent of Empires Session Manageragent-of-empires/agent-of-empires3.3k—~2.1kAutomated safety check: PassMIT
Clawteamwin4r/ClawTeam-OpenClaw1.5k—~3.1kAutomated safety check: PassMIT

Similar skills

  • CodeGraph Agent Eval

    colbymchenry/codegraph

    Benchmarks how much CodeGraph helps a coding agent on a real repository, comparing runs with and without it for a chosen local or published version.

    74k GitHub stars~950 tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Agent of Empires Session Manager

    agent-of-empires/agent-of-empires

    Launches, monitors and organizes AI coding agent sessions such as Claude Code or Codex inside tmux, tracking status, capturing output and managing git worktrees for parallel branches.

    3.3k GitHub stars~2.5k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agent Deck

    asheshgoplani/agent-deck

    agent-deck, the terminal session manager for AI coding agents.

    1k GitHub stars~1.7k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed
  • Agent of Empires Session Manager

    agent-of-empires/agent-of-empires

    Starts, monitors and organizes coding agent sessions that run in tmux through the aoe command, including groups, profiles and worktree-based parallel work.

    3.3k GitHub stars~2.1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Clawteam

    win4r/ClawTeam-OpenClaw

    Multi-agent swarm orchestration. An agent skill from win4r/ClawTeam-OpenClaw.

    1.5k GitHub stars~3.1k tokensUpdated 3 mo ago
    Agent WorkflowsAuto-check passed
  • Fleet Manager for Agent Sessions

    asgeirtj/system_prompts_leaks

    Shows one digest of coding-agent sessions across your connected machines and lets you open, read, steer, approve, stop and close them, over Herdr, tmux or MSP.

    69k GitHub stars~2.5k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from davidondrej/skills

All 51 skills in this repo
  • Nagent

    davidondrej/skills

    Launch a new bb worker thread with the right project, model, worktree, and task brief.

    4.1k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check: notes
  • Browser Harness

    davidondrej/skills

    Direct browser control via CDP. An agent skill from davidondrej/skills.

    4.1k GitHub starsUsed in 2 repos~3k tokens
    Auto-check passed
  • Persistent Localhost

    davidondrej/skills

    Manage persistent dev servers, APIs, and other local processes on a port using macOS LaunchAgents.

    4.1k GitHub stars~618 tokensUpdated yesterday
    Auto-check passed
  • Reset Cursor Acp

    davidondrej/skills

    Reset a stuck Cursor ACP thread in <chat-system and reload its configuration.

    4.1k GitHub stars~728 tokensUpdated yesterday
    Auto-check passed
  • Anti Sleep

    davidondrej/skills

    Keep a Mac awake for a set duration or while a process runs.

    4.1k GitHub stars~640 tokensUpdated yesterday
    Auto-check: warnings
  • Bb CLI

    davidondrej/skills

    Use this when controlling bb. An agent skill from davidondrej/skills.

    4.1k GitHub stars~823 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Herdr

What does Herdr do?

Operate and coordinate AI agents in Herdr workspaces in Ghostty. Herdr is an agent skill from davidondrej/skills. Operate and coordinate AI agents in Herdr workspaces in Ghostty.

When should I use Herdr?

Herdr fits situations like: the user mentions Herdr; asks to inspect; coordinate its agents.

How do I install Herdr in Claude Code?

Run `npx skills add davidondrej/skills --skill herdr -a claude-code`. Or copy the skill folder (skills/agent-orchestration/herdr in davidondrej/skills) into .claude/skills/herdr in your project. Claude Code loads it when a task matches its description.

How do I install Herdr in Codex?

Run `npx skills add davidondrej/skills --skill herdr -a codex`. Or copy the skill folder (skills/agent-orchestration/herdr in davidondrej/skills) into .agents/skills/herdr in your project. Codex loads it when a task matches its description.

Can I use Herdr in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davidondrej/skills --skill herdr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/herdr, .gemini/skills/herdr, .github/skills/herdr and .opencode/skills/herdr in your project.

What does Herdr need to run?

Going by SKILL.md and its folder, Herdr needs the command-line tools its instructions call (npx, codex and claude) and credentials named CURSOR_API_KEY. Our summary lists: Node.js; A credential in CURSOR_API_KEY.

Does Herdr access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Herdr safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Herdr use?

Herdr is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Herdr use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Herdr?

Skills that share tags, products or a category with Herdr: CodeGraph Agent Eval (colbymchenry/codegraph, 74k stars), Agent of Empires Session Manager (agent-of-empires/agent-of-empires, 3.3k stars), Agent Deck (asheshgoplani/agent-deck, 1k stars) and Agent of Empires Session Manager (agent-of-empires/agent-of-empires, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Herdr?

davidondrej (a GitHub user) maintains it in davidondrej/skills, which has 4,112 GitHub stars. The repository holds 51 skills in this directory. The repository was last updated on October 8, 2026.

Source: davidondrej/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.