.fyi
SkillsMCPPluginsSubagents

Browse by category

DevOps & CI/CD SkillsProductivity & Workflow SkillsOther SkillsProduct & Project Management SkillsDocumentation & Knowledge SkillsCode Review & Refactor SkillsBackend & APIs SkillsAgent Meta & Communication SkillsResearch SkillsSecurity SkillsUX UI & Design SkillsTesting & QA SkillsSee all →

Every Claude Code skill, MCP server, plugin and subagent in one directory. Searchable, comparable, and one command from installed. Live stats from GitHub, npm and PyPI.

We're on Product HuntYour agent's app storeCheck it out →
Agent SkillsMCP ServersPluginsSubagentsCoding Agents
CollectionsOfficial publishersGlossaryFAQBlogSearchSavedFeedback
PrivacyTermsllms.txtSitemap

made with ♥ · © 2026 aaaa.fyi

Independent project · real data from public registries

…/ogulcancelik/herdr
home/skills/ogulcancelik/herdr
ogulcancelik avatar

herdr

byogulcancelik· 5 skills

Installs

15k

Stars

22k

Forks

1.5k

Category

Productivity & Workflow

View on GitHub

TL;DR

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.

How to install herdr?

ogulcancelik/herdr
$npx -y skills add ogulcancelik/herdr --skill herdr

Installs into the current project.

›Prefer a prompt? Paste this to your agent

Use this skill

Run `npx skills use "https://github.com/ogulcancelik/herdr" --skill "ogulcancelik/herdr"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.

Use the whole pack

Use the skills in "https://github.com/ogulcancelik/herdr" that are relevant to the current task. Run `npx skills add "https://github.com/ogulcancelik/herdr"` and select the relevant skills, then follow their instructions.

Files · 1

View on GitHub
SKILL.md
1# Herdr
2 
3Herdr organizes terminals into workspaces, tabs, and panes, recognizes coding agents running inside panes, and exposes the current session through the `herdr` CLI.
4 
5Before issuing any control command, verify that this agent is running inside a Herdr-managed pane:
6 
7```bash
8test "${HERDR_ENV:-}" = 1
9```
10 
11If 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.
12 
13When 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.
14 
15## Learn the current CLI
16 
17The installed binary is the authority for command syntax. Start with:
18 
19```bash
20herdr --help
21```
22 
23Then print the relevant command group by running the group without a subcommand:
24 
25```bash
26herdr agent
27herdr pane
28herdr workspace
29herdr tab
30herdr worktree
31herdr terminal
32herdr notification
33herdr integration
34herdr session
35```
36 
37Do 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.
38 
39Most control commands return JSON. Read identifiers and state from those responses instead of predicting them.
40 
41## Understand layout, panes, and agents
42 
43Choose the primitive that matches the job:
44 
45- Workspace, tab, and pane topology organize terminal locations.
46- Pane commands control raw terminals, shells, tests, servers, input, and output.
47- Agent commands control the recognized coding agent currently occupying a pane.
48 
49A 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.
50 
51Agent 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.
52 
53`idle` means the agent is ready for input and its tab has been seen in the focused Herdr UI. `done` is the same underlying idle state after unseen background work finishes. Focusing the tab or targeting the pane or agent with a focus command marks it seen. CLI reads do not mark it seen. `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.
54 
55## Use IDs and caller context
56 
57Public IDs are opaque stable handles:
58 
59- workspace: `w1`
60- tab: `w1:t1`
61- pane: `w1:p1`
62 
63Closed 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.
64 
65Herdr injects the caller's context into each managed pane:
66 
67```bash
68printf '%s\n' "$HERDR_WORKSPACE_ID" "$HERDR_TAB_ID" "$HERDR_PANE_ID"
69```
70 
71Prefer `--current` when a pane command should target the calling pane. Omitting a target may use the UI-focused pane, which can belong to the user or another client.
72 
73Discover live state with:
74 
75```bash
76herdr workspace list
77herdr tab list --workspace "$HERDR_WORKSPACE_ID"
78herdr pane current --current
79herdr pane list --workspace "$HERDR_WORKSPACE_ID"
80herdr agent list
81```
82 
83Creation 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`.
84 
85## Start and coordinate an agent
86 
87Default 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.
88 
89Honor a direction requested by the user. Otherwise inspect the caller pane:
90 
91```bash
92herdr pane layout --pane "$HERDR_PANE_ID"
93```
94 
95Split 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:
96 
97```bash
98herdr pane split --current --direction right --cwd "$PWD" --no-focus
99```
100 
101Replace `right` with `down` when appropriate. Read the new pane ID from `.result.pane.pane_id`.
102 
103An available shell pane must be at its interactive prompt, with the shell itself in the foreground and no foreground command, editor, or agent running. Start a supported agent in that pane with a useful unique name:
104 
105```bash
106herdr agent start reviewer --kind codex --pane <returned-pane-id>
107```
108 
109Use the kind requested by the user. Run `herdr agent` to inspect the installed kind list and options. Pass native agent arguments only after `--`:
110 
111```bash
112herdr agent start reviewer --kind codex --pane <returned-pane-id> -- <agent-args...>
113```
114 
115`agent start` returns only after Herdr detects the expected agent in the same pane and considers it ready for interactive input. It defaults to a 30-second startup timeout.
116 
117Submit work through the agent surface:
118 
119```bash
120herdr agent prompt reviewer "Review the current diff and report only actionable findings." --wait --timeout 120000
121```
122 
123`agent prompt` atomically submits text and encoded Enter while honoring the pane's live bracketed-paste mode. For normal agent work, `--wait` is enough: it waits for the first settled `idle`, `done`, or `blocked` state. Do not repeat those defaults with `--until`.
124 
125A prompt sent from a non-working state must produce an observed lifecycle change within five seconds. Otherwise Herdr returns `agent_prompt_stalled` instead of waiting indefinitely. This wait tracks lifecycle state, not an individual turn; if the agent is already working, completion of the active turn may satisfy it.
126 
127Use `--until` only for a state-specific workflow, such as waiting for an already-running agent to request input:
128 
129```bash
130herdr agent wait reviewer --until blocked --timeout 120000
131```
132 
133Without `--until`, standalone `agent wait` uses the same settled-state defaults as `agent prompt --wait`.
134 
135Use logical keys for interactive agent UI controls:
136 
137```bash
138herdr agent send-keys reviewer esc
139herdr agent send-keys reviewer ctrl+c
140```
141 
142Herdr validates all keys before writing any bytes. Read the result through the resolved agent:
143 
144```bash
145herdr agent get reviewer
146herdr agent read reviewer --source recent-unwrapped --lines 120
147```
148 
149If a wait fails or returns `blocked`, inspect `agent get` and `agent read` before deciding what input to send. Use the pane surface only when raw terminal control is intentional.
150 
151## Run an ordinary command in another pane
152 
153Create a sibling pane with the same geometry rule, preserve the caller's working directory, and keep user focus unchanged:
154 
155```bash
156herdr pane split --current --direction right --cwd "$PWD" --no-focus
157```
158 
159Read the new pane ID from `.result.pane.pane_id`, then run and inspect the command:
160 
161```bash
162herdr pane run <returned-pane-id> "just test"
163herdr pane wait-output <returned-pane-id> --match "test result" --timeout 120000
164herdr pane read <returned-pane-id> --source recent-unwrapped --lines 120
165```
166 
167`pane run` atomically sends command text and Enter. `pane wait-output` searches the selected snapshot immediately, so output that already exists can match. Use `--match <text>` for a literal substring or `--regex <pattern>` for a Rust regular expression. Omitting `--timeout` allows an indefinite wait.
168 
169Use the read source that matches the task:
170 
171- `visible`: the currently rendered viewport.
172- `recent`: recent rendered output, including soft wraps.
173- `recent-unwrapped`: recent output with soft wraps joined; prefer it for logs and transcripts.
174- `detection`: the plain-text bottom-buffer snapshot used for agent detection.
175 
176Use `--format ansi` when colors and terminal styling are evidence. Otherwise use text.
177 
178`--lines` asks Herdr for more rows from the pane's available screen and host scrollback. If increasing it does not reveal more of a completed response, the pane is probably running the agent on the terminal's alternate screen. Rows that leave the alternate screen do not enter Herdr's host scrollback, so a larger line count cannot recover them.
179 
180After that failed read, ask the agent to write its complete response as Markdown in a temporary directory and reply only with the file path, then read the file directly. Use this only as a fallback; do not request file output in the initial prompt.
181 
182## Safety and coordination rules
183 
184- Use `--no-focus` for background work unless the user asked to switch context.
185- Use `--current`, an explicit pane ID, or a unique agent name. Do not rely on another client's focused pane.
186- Parse IDs from JSON responses. Do not derive them from sidebar order or examples.
187- Do not close workspaces, tabs, panes, or sessions you did not create unless the user explicitly asked.
188- Never run `herdr server stop` from an active session unless the user explicitly intends to stop the server and its pane processes.
189- Never kill the main Herdr process. Use named test sessions for experiments that need an isolated server.
190- CLI server errors are JSON on stderr with exit status 1. CLI syntax errors exit with status 2.

Preview

ogulcancelik/herdrogulcancelik/herdr

$ npx -y skills add ogulcancelik/herdr --skill herdr

▸ installing to .claude/skills…

✓ herdr ready

Repoogulcancelik/herdr
TypeSkills
CategoryProductivity & Workflow
ForDeveloper
UpdatedJul 2026
License—
First seenJul 27, 2026

Tags

Skill

Related

6 picks
Type
  1. juliusbrussee avatarcavemanUltra-compressed communication mode. Cuts output tokens 65% (measured) by speaking like caveman while keeping full technical accuracy.SkillsJul 2026391k93k
  2. larksuite avatarlark-im飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive…SkillsJul 2026390k16k
  3. larksuite avatarlark-calendar飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-vc)、待办任务(走 lark-task)。SkillsJul 2026388k16k
  4. larksuite avatarlark-contact飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名。当用户提到某人姓名要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生…SkillsJul 2026387k16k
  5. larksuite avatarlark-workflow-meeting-summary会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。SkillsJul 2026386k16k
  6. larksuite avatarlark-workflow-standup-report日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks,生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。SkillsJul 2026386k16k