In Herdr, hand explicit tasks to a worker and deliver verifiable results to the caller. By default, one task, one worker; the caller is responsible for permissions, division of labor, and final acceptance.
Router Rules
- Only take over explicit Herdr orchestration requests, or delegation from an upper-level skill that has been authorized. Ordinary review goes through the existing review process, and simple pane queries go through the official
herdrguidance or CLI help; researching Herdr documentation does not start a process. - A worker already assigned as a leaf does its own job directly and does not call this entry point again. A new process does not automatically inherit the skills loaded by the caller: put the necessary constraints into the task text.
- In a non-Herdr environment, stop this skill's session operations and explain the limitations; when capabilities are missing, do not secretly switch to another transport.
Compact Workflow
- Read the delegation contract, and obtain the goal, cwd, kind/native argv, input scope, permissions/file ownership, output, and acceptance criteria. If no model is specified, follow the user configuration. Only unauthorized scope changes require a follow-up question.
- Before any Herdr session control, check
HERDR_ENV=1. Use the current CLI help to confirm syntax, obtain the calling pane through caller context; do not substitute the focused pane for the caller. - According to the contract, before creating a sibling and
agent start, choose the surface: if the user explicitly requests an interactive TUI/Agent, then agent; otherwise, if a kind-native non-interactive command can satisfy acceptance, then pane; otherwise agent. By default, create one sibling in the calling tab/cwd, choose right/down according to the layout, and keep--no-focus. Parse the returned ID and confirm the shell is available. - pane surface:
pane runand non-colliding wait; the completion evidence is the output after the command exits, not agent idle/done. Agent surface:agent startspecify the kind, and after confirming the ready identity, send one complete assignment to the worker that is owned by the task and idle, usingagent prompt --waitand a finite timeout. If start or identity fails, check the same pane according to the contract and mark it incomplete; do not resubmit or automatically replace. blocked, unknown, and stale output cannot prove completion. - Collect the complete response according to the contract, and distinguish passive read from history read that may scroll. Recover the read-only worker's truncated response by restating it in small pieces; file fallback requires existing write permission. Verify the actual scope, evidence, and missing items.
- Deliver the following receipt and keep the worker pane. When further independent division of labor or exception recovery is needed, read patterns and recovery. Submission, publication, fixes, trust, integration changes, or expanded cleanup are not authorized by orchestration.
Output Contract
- Return the parsed worker name/kind/pane identity, as well as the resources created by this task and the retention status.
- Record separately the observed lifecycle, actual task/input scope, response received, coverage and completeness, and errors or pending items. Terminal idle/done and task success are two different judgments.
- The caller verifies the results against the input; do not substitute multi-agent consensus for evidence. If the response is still missing, explicitly mark it incomplete and do not compress it into "no issues."
Evidence
For sources and design trade-offs, see research notes, and for the current evaluation and limitations, see delivery notes. This package provides the instruction contract and does not claim that local checks prove the real server, model execution, or new-session loading.