Stream Chain
ruvnet/agentic-flow
Stream-JSON chaining for multi-agent pipelines, data transformation, and sequential workflows
A skill your agent uses when verifying Tau agentstart, message, or agentwatch coordination, including routing, validation, interruption, notification formatting, watch lifecycle, and deduplication.
$ npx skills add dpc/tau --skill tau-tool-verification-agent-coordination -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dpc/tau tau-tool-verification-agent-coordination --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/dpc/tau.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/tau-tool-verification-agent-coordination .claude/skills/tau-tool-verification-agent-coordination && rm -rf skills-srcUse ~/.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/
Install the "tau-tool-verification-agent-coordination" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-agent-coordination into .claude/skills/tau-tool-verification-agent-coordination/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-agent-coordination", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-agent-coordinationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add dpc/tau --skill tau-tool-verification-agent-coordination -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dpc/tau tau-tool-verification-agent-coordination --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dpc/tau.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/tau-tool-verification-agent-coordination .agents/skills/tau-tool-verification-agent-coordination && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tau-tool-verification-agent-coordination" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-agent-coordination into .agents/skills/tau-tool-verification-agent-coordination/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-agent-coordination", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dpc/tau --skill tau-tool-verification-agent-coordination -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dpc/tau tau-tool-verification-agent-coordination --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dpc/tau.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/tau-tool-verification-agent-coordination .cursor/skills/tau-tool-verification-agent-coordination && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tau-tool-verification-agent-coordination" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-agent-coordination into .cursor/skills/tau-tool-verification-agent-coordination/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-agent-coordination", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/dpc/tau.git --path .agents/skills/tau-tool-verification-agent-coordination--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add dpc/tau --skill tau-tool-verification-agent-coordination -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dpc/tau tau-tool-verification-agent-coordination --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dpc/tau.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/tau-tool-verification-agent-coordination .gemini/skills/tau-tool-verification-agent-coordination && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tau-tool-verification-agent-coordination" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-agent-coordination into .gemini/skills/tau-tool-verification-agent-coordination/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-agent-coordination", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install dpc/tau tau-tool-verification-agent-coordinationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add dpc/tau --skill tau-tool-verification-agent-coordination -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dpc/tau.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/tau-tool-verification-agent-coordination .github/skills/tau-tool-verification-agent-coordination && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tau-tool-verification-agent-coordination" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-agent-coordination into .github/skills/tau-tool-verification-agent-coordination/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-agent-coordination", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dpc/tau --skill tau-tool-verification-agent-coordination -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dpc/tau tau-tool-verification-agent-coordination --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dpc/tau.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/tau-tool-verification-agent-coordination .opencode/skills/tau-tool-verification-agent-coordination && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tau-tool-verification-agent-coordination" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-agent-coordination into .opencode/skills/tau-tool-verification-agent-coordination/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-agent-coordination", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tau-tool-verification-agent-coordinationA skill your agent uses when verifying Tau agentstart, message, or agentwatch coordination, including routing, validation, interruption, notification formatting, watch lifecycle, and deduplication.
Tau Tool Verification Agent Coordination is an agent skill from dpc/tau. Use this skill when verifying Tau agentstart, message, or agentwatch coordination, including routing, validation, interruption, notification formatting, watch lifecycle, and deduplication.
Its SKILL.md is about 6.3k 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, covering Multi-agent orchestration and Data cleaning. The repository describes itself as: Tau Coding Agent - like Pi, but twice as much. The licence is MPL-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d2e1955. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tau Tool Verification Agent Coordination loads about 6.3k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 2,559 words of instructions outside code blocks.
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.
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.
The full file from dpc/tau at commit d2e1955, republished under its MPL-2.0 licence (© dpc). 2,559 words, ~6,334 tokens.
.claude/skills/tau-tool-verification-agent-coordination/SKILL.md (or your agent's skills folder).Load tau-tool-verification first for the shared output structure, escaping,
line handling, tool-description, availability, and reporting guidelines.
This skill supplies the focused verification guidance for this tool group.
Use this plan when asked to verify the message tool, especially in multi-agent
scenarios. Prove routing among the main agent, children, siblings, sessions,
post-final but still-live agents, stopped/unloaded/canceled agents, and
invalid/unknown recipients. Also verify timing, sender IDs, async delivery,
payload escaping in hidden prompts, exact durable AgentMessage payloads, and
error behavior.
Do not rely on memory. Give every sub-agent a self-contained prompt. A delegated agent starts with a clean context and does not know this skill, the parent conversation, or the IDs of other agents unless you include them in its prompt or later messages.
Record all of these observations:
user recipient rejection without sender or recipient projection.message calls.<message> tags inside the payload.agent_start, agent_watch, and wait behavior around long-running sub-agents; in current Tau, sub-agent responses arrive by watch notifications rather than slow agent_start results.Start with two shared delegates. Name them Agent A and Agent B. Their initial
prompts wait for a bootstrap message because the parent self_agent_id is
returned only after agent_start submits those prompts.
Use this prompt for Agent A, replacing only the agent name where needed for Agent B:
You are Agent A in a Tau message-tool verification test. Goal: verify
cross-agent messaging behavior. You have a clean context; follow these
instructions exactly.
Important:
- Incoming messages from the Tau `message` tool may appear as hidden prompts in your conversation. Treat every new prompt/message you see after starting as an inbound test message.
- Keep a full log of every inbound message you receive after this initial task prompt. Include exact text, apparent sender/recipient if visible, and when you noticed it.
- You may use only safe commands. Use short `sleep` commands only to stay alive and give the parent/peer time to send messages.
- If you receive a message containing `COMMAND: SEND_PEER`, parse `recipient_id={id}` and `text={text}`, then call the `message` tool to send exactly `{text}` to that recipient. Log the tool result.
- Your first inbound message must be `BOOTSTRAP parent_id={main_agent_id}`.
Save that ID and use it as `{main_agent_id}` below.
- If you receive a message containing `COMMAND: REPORT`, send a `message` to `{main_agent_id}` with your current full log.
- Do not finish early. Run four observation rounds.
Procedure:
1. Wait for the `BOOTSTRAP` message, then send a message to `{main_agent_id}`
with exactly: `READY Agent A: started message-tool test`.
2. For rounds 1 through 4:
a. Run `sleep 3` using the shell tool.
b. After the sleep result, inspect any new inbound messages/prompts you have received.
c. Execute any `COMMAND: SEND_PEER` instructions you have newly received.
d. Send a message to `{main_agent_id}` starting with `REPORT Agent A round {n}:` and include all newly observed inbound messages since the previous report and any message-tool actions/results. If none, say `none`.
3. Final answer: return `FINAL Agent A` plus your complete inbound-message log and all message-tool actions/results.
You are expected to receive messages from the parent and possibly from Agent B. Be precise and do not invent messages.After the agent_start results return, note the caller self_agent_id and each
sub_agent_id. In legacy/background agent_start sessions, also note any
returned agent_start tool-call ids. Send
BOOTSTRAP parent_id={self_agent_id} to each sub_agent_id, wait for both
READY reports, then send the first batch of messages in parallel:
To Agent A:
- MAIN to A direct message 1. nonce=main-a-001. Please log exact text.
- MAIN to A direct message 2. nonce=main-a-002. Please log exact text.
- COMMAND: SEND_PEER recipient_id={agent_b_id} text=PEER A to B message from Agent A. nonce=peer-a-b-001. Please log exact text.
- COMMAND: REPORT from main to Agent A after initial sends. nonce=report-a-001.
To Agent B:
- MAIN to B direct message 1. nonce=main-b-001. Please log exact text.
- MAIN to B direct message 2. nonce=main-b-002. Please log exact text.
- COMMAND: SEND_PEER recipient_id={agent_a_id} text=PEER B to A message from Agent B. nonce=peer-b-a-001. Please log exact text.
- COMMAND: REPORT from main to Agent B after initial sends. nonce=report-b-001.Sleep for about four seconds in the main agent, then send a delayed batch in parallel:
To Agent A:
- MAIN to A delayed direct message 3. nonce=main-a-003. Please log exact text.
- COMMAND: SEND_PEER recipient_id={agent_b_id} text=PEER A to B delayed message from Agent A. nonce=peer-a-b-002. Please log exact text.
- COMMAND: REPORT from main to Agent A after delayed sends. nonce=report-a-002.
To Agent B:
- MAIN to B delayed direct message 3. nonce=main-b-003. Please log exact text.
- COMMAND: SEND_PEER recipient_id={agent_a_id} text=PEER B to A delayed message from Agent B. nonce=peer-b-a-002. Please log exact text.
- COMMAND: REPORT from main to Agent B after delayed sends. nonce=report-b-002.Also send one message to a clearly invalid recipient such as engineer_does_not_exist_message_validation; expect a tool error with the unknown recipient ID and echoed message fields.
Send one message to exact recipient user; expect an unsupported-recipient
tool error and, when event logs are available, confirm that it creates neither
a sender nor recipient projection.
Wait for both delegates. In their final logs, verify that:
self_agent_id and sub_agent_id without redundant aliases.COMMAND: SEND_PEER caused exactly one peer message call with result beginning Message committed: msg- and ending response not guaranteed.self_agent_id from the agent_start result. Save that sender ID; it is the main agent recipient ID for the next phase.After both delegates emit final responses, send a follow-up message to each old
sub_agent_id. A final response ends a turn but does not stop a still-loaded
agent, so expect a committed message and potentially a new response turn.
Separately test a genuinely unloaded, canceled, or explicitly stopped agent and
expect stopped message recipient; a never-known ID must remain unknown message recipient.
When a controlled cold-restart fixture is available, start a durable child,
stop the harness while its delegation route is not resumable, restore the
session, and message the restored child ID before starting a replacement. Expect
exactly restored message recipient cannot resume its pre-restart delegation: \<id>`; start a replacement` and no sent/received projection. If the live
session cannot create this restart cut, mark the restored-unavailable category
conditional/unavailable rather than inferring it.
Start one shared sub-agent with agent_start whose job is to create the message-delivery edge case where the sub-agent has a long backgrounded tool still actually running and a second not-yet-started tool queued behind it.
Use this prompt:
You are a Tau message-tool verification sub-agent for queued-tool preemption. Goal: prove parent messages are delivered even when your next tool call would otherwise be queued behind a long backgrounded tool.
Procedure:
1. Start a long shell command: `sleep 30`.
2. After Tau returns the background placeholder for that shell call, immediately request another shell command: `sleep 5`.
3. If you receive any inbound `[tau-internal]` message from the parent, respond to `{main_agent_id}` exactly: `QUEUED-TOOL MESSAGE RECEIVED nonce=queued-tool-message-001` plus the exact inbound message text and visible sender id.
4. After sending the parent message, final answer exactly: `FINAL queued-tool message probe reported to parent`.
5. If no inbound message arrives, final answer exactly: `UNEXPECTED queued-tool message missing`.
Do not invent messages. Do not finish before checking for the parent message.After the agent_start result returns, wait until the delegate has had enough time for the first sleep 30 to background and for the second sleep 5 request to be queued. In normal UI output this often looks like delegate progress with a running/backgrounded shell call and no response from the second shell yet.
Send a message to the delegate sub_agent_id:
Parent queued-tool delivery probe. nonce=queued-tool-message-001. Reply via message to `{main_agent_id}` when received.Expected behavior:
Message committed: <message-id>; recipient was live; response not guaranteed.QUEUED-TOOL MESSAGE RECEIVED nonce=queued-tool-message-001 instead of remaining stuck behind the queued sleep 5.AgentMessage was recorded, the not-yet-started queued tool call was terminalized with ToolCancelled, and a new AgentPromptCreated was emitted for the delegate message prompt.sleep 30 may still complete later in the delegate conversation. Its completion should not be delivered to the parent conversation or block the message response.This scenario specifically protects the code path where agent.message delivery preempts queued-but-not-started tool calls behind an already-backgrounded exclusive tool. Without that behavior, the message can be received by the harness but never become a model-visible prompt for the sub-agent.
Use the main agent recipient ID returned by agent_start in Phase 1. Spawn two fresh shared sub-agents with agent_start, Agent C and Agent D. These agents should report back to the main agent recipient ID, not to user. This proves that parent-directed messages are delivered as model-visible [tau-internal] inbound messages to the main agent.
Use this prompt for Agent C, replacing only the agent name where needed for Agent D and filling {main_agent_id} with the ID returned in Phase 1:
You are Agent C in a second Tau message-tool verification test. Parent/main agent recipient_id is `{main_agent_id}`. Goal: verify messages among parent, Agent C, and Agent D.
Rules:
- Incoming `message` tool messages may appear as hidden prompts. Log every inbound message you receive after this initial task prompt, with exact text and visible sender id.
- For every report, use the `message` tool to send to `recipient_id={main_agent_id}` (the parent/main agent), not `user`, unless the parent message fails. If it fails, log the failure and continue.
- If an inbound message contains `COMMAND: SEND_PEER recipient_id={id} text={text}`, send exactly `{text}` to `{id}` using the `message` tool and log the result.
- If an inbound message contains `COMMAND: REPORT_PARENT`, immediately message your current log to `{main_agent_id}`.
- Stay alive for three observation rounds using `sleep 2` each round. Do not finish early.
Procedure:
1. Send to `{main_agent_id}`: `READY Agent C to parent. nonce=ready-c-parent-001`.
2. Repeat three rounds: sleep 2 seconds; inspect new inbound messages; execute any SEND_PEER commands; message the parent with `REPORT Agent C round {n}:` plus new inbound messages and actions since previous report, or `none`.
3. Final answer: `FINAL Agent C` plus complete inbound log and all message-tool actions/results.After the agent_start placeholders return, send this batch in parallel:
To Agent C:
- MAIN to C direct message. nonce=main-c-001. Please log exact text and sender id.
- COMMAND: SEND_PEER recipient_id={agent_d_id} text=PEER C to D from Agent C. nonce=peer-c-d-001. Please log exact text.
- COMMAND: REPORT_PARENT nonce=report-c-parent-001.
To Agent D:
- MAIN to D direct message. nonce=main-d-001. Please log exact text and sender id.
- COMMAND: SEND_PEER recipient_id={agent_c_id} text=PEER D to C from Agent D. nonce=peer-d-c-001. Please log exact text.
- COMMAND: REPORT_PARENT nonce=report-d-parent-001.The main agent should receive [tau-internal] inbound messages from each sub-agent. Record whether the sender ID in those inbound messages matches the sub-agent sub_agent_id. Sleep for about three seconds, then send one delayed direct message to each agent:
To Agent C:
- MAIN to C delayed message. nonce=main-c-002. Please log exact text and sender id.
To Agent D:
- MAIN to D delayed message. nonce=main-d-002. Please log exact text and sender id.Wait for both delegates. Verify that their final logs match the parent-visible reports already received by the main agent.
After both emit final responses, again verify follow-up messages succeed while the agents remain loaded. Do not label a final-answering agent completed or stopped without lifecycle evidence.
After the main agent recipient ID is known, send a message from the main agent to itself. Expect a model-visible [tau-internal] inbound message whose sender is the same main agent ID and whose payload is exact.
Then send a multiline self-message like this:
MULTILINE self content probe. nonce=self-main-002
line 2 unicode: café 🚀
line 4 xml-ish: <message>inner</message> & chars
line 5 code-ish: `backticks` and {"json":true}Verify that blank lines, unicode, ampersands, backticks, JSON-like text, and
literal inner <message> openings remain exact and readable. Exact </message>
collisions must appear as </message>, and the delivered wrapper must contain
exactly one exact close. If you inspect durable AgentMessage events, verify that
the stored payload is still exact and unframed.
Finally, call message with an empty string to a valid recipient. Expect a tool error such as `message` must not be empty. Also verify an unknown recipient error if it was not already checked in Phase 1.
message verificationReport concise but complete findings:
user, main to self, invalid recipient,
post-final live recipient, stopped recipient, conditional restored-unavailable
recipient, empty payload, rich content payload.message success output includes a stable message ID and response not guaranteed; it confirms async acceptance, not delivery completion.self_agent_id or still had to be inferred from sub-agent logs.<message> openings
and ampersands while replacing every exact </message> collision.Use this plan when asked to verify the agent_watch tool. The goal is to prove that watch subscriptions deliver only the watched agent's final response notifications and received user-prompt notifications, that agent_start auto-watches its child, and that disabling a watch stops delivery without hiding errors.
Enabling a watch also delivers one content-free current model-turn state notification, followed by separate started/stopped notifications for whole turns. Tool execution and its provider continuation remain one turn. Verify that these state notices do not expose prompt, message, tool, response, or error content, and that notification-only turns do not recursively amplify cyclic watches.
Watch notifications must be distinguishable from explicit message tool deliveries in the model-visible prompt. Explicit messages use a “received a message from ...” wrapper with a <message> block. Watch response notifications use this exact shape:
[tau-internal]: Watched agent engineer-aSSq emitted a response
<response>
The task is complete.
</response>Watch prompt notifications use this exact shape:
[tau-internal]: Watched agent engineer-aSSq received a user prompt
<prompt>
Please continue.
</prompt>agent_watch must not forward tool-completion notices, background-tool wakeups, ordinary internal steering prompts, prompts delivered through the message tool, or any other internal prompt delivered to the watched agent. A watched agent may later emit a final response after processing such an input; the final response is the watchable event, not the internal input itself. A completed agent_start result is also a watchable final response of that started agent to the delegating watcher, even if the delegating watcher is itself a side agent.
If the watching agent repeats the same notification text in a commentary/final response, that is the agent echoing the notification, not a second watch delivery. When checking for duplicate delivery, count actual message events/results, not streamed echoes of text the model chose to repeat.
A watch notification that arrives while the watcher is blocked in wait may interrupt the wait with a tau_internal: true result saying new input is queued. Treat that as expected: it is the same active-wait interruption behavior used for ordinary agent messages.
Calls with exact recipient user must fail as unsupported and create no message projection. Use the parent agent ID or a watched response/final answer when proving that the parent observed a notification.
Record all of these observations:
agent_start automatically watches the returned sub_agent_id for the starting agent.<id> emitted a response” with a <response> block, not as “received a message” with a <message> block.<id> received a user prompt” with a <prompt> block.agent_start result from a watched child is reported as the child agent's final response to the watcher.agent_start final tool result contains metadata such as self_agent_id and sub_agent_id, but does not duplicate the sub-agent response text as output.agent_watch({"agent_id": id, "enable": false}) disables notifications for that watcher.enable: true restores notifications for later responses.agent_id values fail clearly. A stopped known agent
may be idempotently unwatched, but enabling a watch for it must fail.message tool do not produce watch-prompt notifications; they remain ordinary explicit-message deliveries to the watched agent.agent_start sessions where the agent_start call itself is cancellable, cancellation should still report a useful error.agent_start whose prompt final-answers a nonce, for example WATCH auto final nonce=watch-auto-001. Do not ask the sub-agent to also message the parent with the same nonce in this phase.[tau-internal] response notification from the sub_agent_id containing that nonce, using a “Watched agent <id> emitted a response” wrapper and a <response> block. It must not use the explicit-message “received a message from ...” wrapper or a <message> block. Avoid echoing the full notification text in commentary; summarize it when reporting.agent_start result exposes self_agent_id and sub_agent_id without returning the nonce as duplicated tool output.agent_watch({"agent_id":"<sub_agent_id>","enable":false}), then cause or wait for a later response. Confirm no watch message is delivered to the starter for that response.<id> received a user prompt” wrapper with a <prompt> block.[tau-internal] Tool call ... completed. Its result is queued; use wait to consume it. or similar internal/steering text. If the watched agent later responds after processing that internal prompt, record that later response as a separate final-response notification.agent_start cancellation is available, cancel a watched long-running agent_start and confirm cancellation still reports a useful error; if watch delivery reached the starter, generic watch-delivered wording is acceptable, otherwise the original Tool call canceled must be preserved.agent_watch verificationReport concise but complete findings:
agent_start output.message tool delivery.agent_watch duplicate. If the watching agent repeats a received [tau-internal] notification in its own commentary/final response, record that as model echo unless event logs show multiple received deliveries. If a watched child produces a later response after an unfinished background tool completes, record it as a later child turn unless the same response event was delivered more than once.wait was interrupted by a watch notification while waiting; this is expected if it reports that new input is queued.self_agent_id and sub_agent_id made the watcher and watched IDs clear enough.© dpc, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/tau-tool-verification-agent-coordination of dpc/tau.
Open the folder on GitHubat commit d2e1955
Tau Tool Verification Agent Coordination 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tau Tool Verification Agent Coordination this skilldpc/tau | 105 | — | ~6.3k | Automated safety check: Pass | MPL-2.0 | |
| Stream Chainruvnet/agentic-flow | 819 | 5 repos | ~3.2k | Automated safety check: Pass | None | |
| Scholar Code Reviewjoshzyj/open-scholar-skill | 168 | — | ~8.8k | Automated safety check: Pass | Custom licence | |
| Orca CLIstablyai/orca | 88k | 2 repos | ~593 | Automated safety check: Pass | MIT | |
| Paseo Advisor Second Opiniongetpaseo/paseo | 20k | 1 repos | ~756 | Automated safety check: Pass | Custom licence | |
| O2 Review Loopopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 |
ruvnet/agentic-flow
Stream-JSON chaining for multi-agent pipelines, data transformation, and sequential workflows
joshzyj/open-scholar-skill
Systematic multi-agent code review of all analysis scripts produced in a project.
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
getpaseo/paseo
Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
getpaseo/paseo
Forms a two-agent committee with contrasting profiles to analyze a stuck problem in parallel, reconcile their views and return a consensus plan without editing files.
dpc/tau
A skill your agent uses when selfci, Nix CI, coverage, cargo-crap, CRAP-score, crapAbsolute, or crapReport checks fail in Tau, or before changing the cargo-crap gates, thresholds, or flagged complex…
dpc/tau
A skill your agent uses when asked to "triage papercuts", review clanker-reported problems, or analyze and clear tau dev papercut reports.
dpc/tau
A skill your agent uses when asked to verify Tau harness tools or tool output behavior, especially read, edit, shell/shellcommand, line-oriented output, truncation, metadata headers, UTF-8 handling…
A skill your agent uses when verifying Tau file and command tools: read, edit, replace, applypatch, shell, or shellcommand, including ranges, UTF-8, truncation, diffs, timeouts, mutation safety, and…
dpc/tau
A skill your agent uses when changing or reviewing Tau's static site under site/ and needing visual verification of layout, spacing, colors, alignment, desktop rendering, mobile rendering, or…
dpc/tau
A skill your agent uses when tracing or auditing Tau agent execution, including provider and cache cost, tool/background/wait latency, outer turns, compaction, delegated workflows, or performance…
Categories
A skill your agent uses when verifying Tau agentstart, message, or agentwatch coordination, including routing, validation, interruption, notification formatting, watch lifecycle, and deduplication. Tau Tool Verification Agent Coordination is an agent skill from dpc/tau. Use this skill when verifying Tau agentstart, message, or agentwatch coordination, including routing, validation, interruption, notification formatting, watch lifecycle, and deduplication.
Tau Tool Verification Agent Coordination fits situations like: verifying Tau agentstart; agentwatch coordination; including routing; notification formatting.
Run `npx skills add dpc/tau --skill tau-tool-verification-agent-coordination -a claude-code`. Or copy the skill folder (.agents/skills/tau-tool-verification-agent-coordination in dpc/tau) into .claude/skills/tau-tool-verification-agent-coordination in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dpc/tau --skill tau-tool-verification-agent-coordination -a codex`. Or copy the skill folder (.agents/skills/tau-tool-verification-agent-coordination in dpc/tau) into .agents/skills/tau-tool-verification-agent-coordination in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dpc/tau --skill tau-tool-verification-agent-coordination -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tau-tool-verification-agent-coordination, .gemini/skills/tau-tool-verification-agent-coordination, .github/skills/tau-tool-verification-agent-coordination and .opencode/skills/tau-tool-verification-agent-coordination in your project.
SKILL.md names no scripts, command-line tools or credentials: Tau Tool Verification Agent Coordination is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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.
Tau Tool Verification Agent Coordination is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.3k tokens (SKILL.md is roughly 25k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Tau Tool Verification Agent Coordination: Stream Chain (ruvnet/agentic-flow, 819 stars), Scholar Code Review (joshzyj/open-scholar-skill, 168 stars), Orca CLI (stablyai/orca, 88k stars) and Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dpc (a GitHub user) maintains it in dpc/tau, which has 105 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 5, 2026.
Source: dpc/tau on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.