Verify
asgeirtj/system_prompts_leaks
Verify that a code change actually does what it's supposed to by exercising it end-to-end and observing behavior — drive the affected flow, not just tests or typecheck.
A skill your agent uses when verifying Tau background tool execution, wait, cancel, or agentstart interruption, including result consumption, completion prompt suppression, races, delegate…
$ npx skills add dpc/tau --skill tau-tool-verification-background-cancel -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dpc/tau tau-tool-verification-background-cancel --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-background-cancel .claude/skills/tau-tool-verification-background-cancel && 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-background-cancel" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-background-cancel into .claude/skills/tau-tool-verification-background-cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-background-cancel", 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-background-cancelType 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-background-cancel -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dpc/tau tau-tool-verification-background-cancel --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-background-cancel .agents/skills/tau-tool-verification-background-cancel && 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-background-cancel" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-background-cancel into .agents/skills/tau-tool-verification-background-cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-background-cancel", 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-background-cancel -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dpc/tau tau-tool-verification-background-cancel --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-background-cancel .cursor/skills/tau-tool-verification-background-cancel && 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-background-cancel" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-background-cancel into .cursor/skills/tau-tool-verification-background-cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-background-cancel", 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-background-cancel--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-background-cancel -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dpc/tau tau-tool-verification-background-cancel --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-background-cancel .gemini/skills/tau-tool-verification-background-cancel && 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-background-cancel" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-background-cancel into .gemini/skills/tau-tool-verification-background-cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-background-cancel", 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-background-cancelInstalls 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-background-cancel -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-background-cancel .github/skills/tau-tool-verification-background-cancel && 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-background-cancel" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-background-cancel into .github/skills/tau-tool-verification-background-cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-background-cancel", 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-background-cancel -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-background-cancel --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-background-cancel .opencode/skills/tau-tool-verification-background-cancel && 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-background-cancel" agent skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification-background-cancel into .opencode/skills/tau-tool-verification-background-cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification-background-cancel", 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-background-cancelA skill your agent uses when verifying Tau background tool execution, wait, cancel, or agentstart interruption, including result consumption, completion prompt suppression, races, delegate…
Tau Tool Verification Background Cancel is an agent skill from dpc/tau. Use this skill when verifying Tau background tool execution, wait, cancel, or agentstart interruption, including result consumption, completion prompt suppression, races, delegate interruption, cancellation isolation, and event logs.
Its SKILL.md is about 5.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Tau Coding Agent - like Pi, but twice as much. The licence is MPL-2.0.
7 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 Background Cancel loads about 5.8k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 3,045 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). 3,045 words, ~5,753 tokens.
.claude/skills/tau-tool-verification-background-cancel/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.
waitSome tools can run in the background. The agent first receives a synthetic tool result with kind: background_placeholder saying:
tau_internal: true
Tool call `<tool_call_id>` is running in the background.When the real tool finishes, Tau queues an internal, UI-hidden prompt for the owning conversation saying:
[tau-internal] Tool call `<tool_call_id>` completed. Its result is queued; use
`wait` to consume it.This prompt is a notification, not result delivery or consumption. The completed
result remains queued until wait consumes it. The prompt is model-visible only
if it reaches the agent before the completion is consumed by wait. If the
agent is already in a model turn, the prompt may sit in the pending prompt
queue. A later wait can consume the completed result and suppress/remove that
queued prompt before the model ever sees it. This is expected and is not a
delivery failure.
The agent can call wait({"tool_call_id": "..."}) to collect that specific real
result; this is the unambiguous choice when targeting a call. wait({})
consumes the oldest unconsumed completed background result in the current
conversation. Only if none is complete and an owned background call is running
does it wait for the next completion; otherwise it returns an error. The no-arg
form is conversation-scoped: it must not consume completions from parent, child,
or sibling conversations. The tool description shown to agents often says not
to call wait until they know the tool call has completed. This is an
optimization to avoid wasting tokens: for foreground calls, the normal tool
call result will arrive without an extra wait, and for background calls Tau
will wake the agent when the completion prompt is delivered. It is not a
technical requirement. The wait tool must work well when called for tool
calls that are still running, and it must have reasonable semantics in all
cases. If wait is used for a backgrounded call before completion, Tau
suppresses that internal completion prompt while still emitting the real
background result/error event. If wait consumes an already-completed result
before its queued completion prompt is delivered to the model, Tau also
suppresses/removes that prompt. It cannot suppress a notification already
delivered to the model. If wait({}) consumes a completion, it returns an
original_tool_call_id: <tool_call_id> provider-visible header so the agent
knows which background call was collected.
wait({"timeout_minutes": N}) is the separate activating-input form. N must
be a positive integer and is silently clamped to the configured bounds (five
through 1,440 minutes by default). It returns
input_available: true when accepted input wins or timed_out: true when the
monotonic deadline wins, without consuming input or background results. Exact-id
and bare background waits remain unbounded. Registration and expiry stay inside
the running outer turn and must not emit an idle/watch lifecycle edge.
After three consecutive input-wait timeouts without a status report or
substantive tool admission, the third result also carries one advice string
suggesting status(waiting) and event-driven wakeups. Later timeouts in that
no-progress run omit it, and current Waiting suppresses it.
Exact-id and bare waits arbitrate completed results against activating input. A wait may consume its matching completed result before that completion's own queued notification preempts it. A different unsuppressed completion prompt, watch notification, or direct message is ordinary activating input and may interrupt the wait even when the requested result is already complete. The successful interruption result must use exactly these closed headers, with LF line endings and one blank line before any optional concise prose:
tau_internal: true
wait_outcome: interrupted
wait_reason: activating_input
wait_mode: exactBare waits use wait_mode: any_background. The result must not echo a target ID
or copy activating input into a header. Report which activation preempted the
wait; after it drains, retrying the exact wait must still deliver the result
once.
Do not infer an exact-wait result from a delegate's prose. Confirm the actual
tool request contained tool_call_id. A request containing
timeout_minutes instead exercises activating-input wait and correctly returns
input_available: true.
Current background timing: most backgroundable tools background after about 2
seconds, and wait itself never backgrounds. agent_start currently finishes
instantly after creating the sub-agent and returns self_agent_id and
sub_agent_id; the sub-agent's later turns and final answers are delivered to
the starter by agent_watch, which agent_start enables automatically. Older
Tau versions treated agent_start itself as a backgrounded tool call; if you see
that older behavior, report it as version/config-specific rather than assuming
the current watch-based semantics are broken.
Because agent_start now finishes instantly, slow delegate work is normally
observed through watch notifications and the delegate's own background tool
results, not through a slow agent_start result with duration_seconds.
When asked to verify the agent_start tool, also verify delayed message delivery to a live delegated sub-agent whose own tool turn is parked behind a backgrounded tool. This is a delegate-specific regression path, not only a message tool test. Use a delegate prompt that first runs sleep 30, then after the background placeholder requests a second shell command sleep 5, and asks it to report to the parent agent ID if it receives a parent message. After the first shell backgrounds and the second shell request is queued, send message to the delegate sub_agent_id with a nonce. Expected: a stable-ID Message committed result with response not guaranteed, the queued sleep 5 is terminalized internally, and the delegate promptly reports receiving the nonce instead of staying stuck until sleep 30 finishes. If event logs are available, confirm AgentMessage, ToolCancelled for the not-yet-started queued call, and a new AgentPromptCreated for the delegate message prompt. Treat omission of this scenario as incomplete agent_start verification.
Also verify the active-wait variant of the same scenario. Use a delegate prompt that starts a long backgroundable tool, then calls wait on that tool call ID before it completes. While the delegate is blocked in wait, send message to the delegate sub_agent_id with a nonce. Expected: a stable-ID Message committed result with response not guaranteed, the delegate's wait returns promptly with the exact typed tau_internal/wait_outcome/wait_reason/wait_mode: exact interruption headers, and the delegate receives the hidden message prompt without waiting for the original background tool to complete. If event logs are available, confirm the wait ToolResult appears before the message-driven follow-up AgentPromptCreated.
Because agent_start enables a persistent watch, these message-delivery probes can produce later watch notifications if the child leaves an earlier background tool running. For example, after an active-wait interruption, the original sleep may complete later, queue a normal background-completion prompt in the child, and the child may answer something like Received.. That is not a duplicate watch notification by itself; it is a later child turn caused by the delayed inner completion. If the verifier no longer wants notifications from that child after the success nonce, explicitly call agent_watch({"agent_id":"<sub_agent_id>","enable":false}).
A completed background result is consumed by the first successful wait. Later waits for the same id should fail with an already-consumed error. Parallel duplicate waits on the same id race; at most one should receive the result, and the rest should fail. At most one installed no-arg waiter may target the same next completion: with no completed result and one running call, sibling bare waits must produce one registration and one clear duplicate/in-progress error. If two results are already complete, two sibling bare waits may immediately consume the two distinct results in completion order; that does not install duplicate waiters. The exact race error depends on timing, but each result must be consumed at most once.
cancelcancel requires tool_call_id and never backgrounds. It supports running
backgrounded tool calls such as slow shell commands. Older Tau versions also
supported canceling a backgrounded agent_start call; current agent_start
finishes instantly and therefore usually does not expose a cancellable
agent_start tool-call id. A successful cancel request returns Tool cancellation requested, emits a harness notice event containing tool call cancellation request, and targets only the requested tool call. Cancellation is
async and best effort: the success result only means Tau accepted the request,
not that the child process or agent has already stopped. A canceled shell call
should complete through wait, include timing headers if it ran longer than
about 5 seconds, and must not keep running to normal status: 0 completion.
For an admitted ext-shell model call, cancellation processed before the
extension's effect-start transition prevents process spawn or file mutation and
produces one cancelled terminal. If effect start wins first, cancellation keeps
the active process/search behavior and cannot roll back effects already started.
Calling cancel for an unknown, completed, or unsupported tool call should return a tool error. Unknown ids should be distinguished from already-completed ids. Calling it twice for the same target should return a tool error like Tool call already canceled.
When verifying this behavior, check that the synthetic foreground result is visible to the model, the completion notification is delivered to the model when no wait consumes the completion first, and wait returns a completed result once and only once. Completion prompt suppression is expected when a matching wait is already active before the background call finishes, and also when a completion prompt has been queued but not yet delivered to the model before wait consumes the result. If the tool finishes first and Tau already showed [tau-internal] Tool call ... completed. Its result is queued; use wait to consume it. to the model, a later wait can still consume the result and that earlier prompt is not a bug.
Use this plan when asked to verify the cancel tool, especially around
background shell calls, wait, duplicate requests, and any still-supported
background agent_start behavior. Current agent_start normally finishes
instantly, so delegate-cancel phases are conditional: run them only if the live
agent_start result exposes a background tool-call id.
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.
Create a scratch directory in /tmp, such as /tmp/tau-cancel-verification.*, before running shell probes. Keep all sleeps short except where a background transition or leak check requires a longer wait.
Record all of these observations:
agent_start backgrounds in the live session, its placeholder includes tau_internal: true, self_agent_id, sub_agent_id, and the background agent_start tool call ID.agent_start is supported, cancel must be called with the agent_start tool_call_id, not the sub_agent_id.Tool cancellation requested and does not background.harness.notice event containing tool call cancellation request if event logs are available.wait can collect.wait({"tool_call_id": id}) returns the canceled result once and only once.wait({}) can collect a canceled completion and includes original_tool_call_id.Tool call already canceled or another clear duplicate error.sub_agent_id returns a tool error. If legacy/background agent_start is present, a completed agent_start id also returns a clear already-done error.duration_seconds after about 5 seconds. A few seconds of timing overhead is normal and not worth reporting by itself.Run this phase only when agent_start returns a background placeholder with a
tool-call id. In current watch-based agent_start sessions it is not applicable.
Start a shared sub-agent with agent_start with this prompt:
You are a Tau cancel-tool verification sub-agent. Goal: stay alive until the
parent cancels this agent_start call.
Procedure:
1. Wait for an inbound `BOOTSTRAP parent_id={main_agent_id}` message.
2. Send a message to that parent ID exactly: `READY cancel-ready-probe: entering long sleep`.
3. Run `sleep 60` using the shell tool.
4. If you are not canceled, final answer exactly: `UNEXPECTED cancel-ready-probe completed without cancellation`.
Do not do anything else.After the legacy placeholder result returns, record self_agent_id,
sub_agent_id, and the agent_start tool call ID. Send
BOOTSTRAP parent_id={self_agent_id} to sub_agent_id, wait for the READY
report, then call cancel with that
agent_start tool call ID. Expect the foreground result to be exactly:
Tool cancellation requestedThen wait for the same tool call ID. Expect a background tool error like:
error: Tool call canceled
self_agent_id: ...
sub_agent_id: ...Call wait for the same ID again. Expect an already-consumed error. Call cancel for the same ID again. Expect Tool call already canceled.
Run this phase only when agent_start returns a background tool-call id.
Start another long-sleeping sub-agent with agent_start. Cancel it, then call wait({}). Expect the canceled error and an original_tool_call_id header matching the agent_start call ID.
Start a third long-sleeping delegate. Call cancel and wait({"tool_call_id": id}) in parallel or as close together as possible. Expect wait to return the canceled result. The later [tau-internal] Tool call ... completed. Its result is queued; use wait to consume it. prompt for that same call should be suppressed while pending. If the prompt still appears after wait was already active for that call, record it as a discrepancy. If the completion prompt appears before the wait call is active, do not count it as a suppression failure.
Verify each error case independently:
cancel({"tool_call_id": ""}) returns `tool_call_id` must not be empty.Unknown tool call id and echoes tool_call_id.agent_start is present, a completed agent_start ID returns Tool call is already done.sub_agent_id returns Unknown tool call id; this proves the tool wants the agent_start call ID.agent_start is present, two parallel cancel calls for the same live delegate produce one success and one duplicate-cancel error.For the completed-agent_start case, run this only when legacy/background
agent_start ids are exposed. Spawn a sub-agent with agent_start that
immediately returns:
You are a Tau cancel-tool verification sub-agent. Return immediately with exactly: `FINAL cancel-completed-probe normal completion`.Wait until the completion prompt arrives, then try to cancel the legacy
background agent_start id. After that, call wait and verify the normal final
answer is still available once.
Start a shell command long enough to background, such as sleep 20. When the shell placeholder gives a tool call ID, call cancel for that ID. Expect the foreground result to be exactly Tool cancellation requested.
Then call wait for the shell call. Expect a canceled or terminated result, not a normal status: 0 completion. If the command ran longer than about 5 seconds, verify the result includes a duration_seconds header. If cancel rejects the shell call as not cancellable, or if wait later returns normal status: 0, record this as a discrepancy because shell cancellation is expected to work.
Run this phase only when agent_start returns background tool-call ids.
Start two sub-agents with agent_start in parallel. The target should sleep for a long time. The survivor should sleep briefly and return FINAL cancel-survivor unaffected.
Cancel only the target delegate. Then wait for both IDs. Expect:
error: Tool call canceled.Any sibling cancellation, missing survivor result, or cross-talk between IDs is a bug.
Run this phase only when agent_start returns a background tool-call id.
Start a long-sleeping sub-agent with agent_start. Let it run long enough to cross the delegate duration threshold, usually about 6 seconds. Cancel it and wait for the result. Expect the canceled agent_start result to include duration_seconds with an approximate whole-second value.
Do not require an exact duration. Internal overhead and scheduling can add a few seconds of jitter; do not report small delays by themselves.
Run this phase only when delegate cancellation is supported by a background
agent_start tool-call id.
This phase is important. A canceled delegate can have its own foreground or background tool call in flight. Canceling the delegate must not leave an orphaned inner tool completion that later wakes the parent conversation.
Start a shared sub-agent with agent_start with this prompt:
You are a Tau cancel-tool verification sub-agent for inner-tool leak testing. Goal: start an inner tool call, then be canceled by the parent.
Procedure:
1. Run `sleep 12` using the shell tool.
2. If you are not canceled, final answer exactly: `UNEXPECTED cancel-inner-tool-leak completed without cancellation`.
Do not send messages. Do not do anything else.Let the delegate run long enough for the inner shell call to background, usually about 3 seconds. Then cancel the delegate and wait for the agent_start result. Expect error: Tool call canceled.
After the delegate cancel result is consumed, watch for stray completion prompts for any other tool call ID, especially the inner shell call. If a stray [tau-internal] Tool call ... completed. Its result is queued; use wait to consume it. prompt appears, call wait for that ID and record the full result. Treat this as a leak unless there is a clear documented reason it belongs to the parent conversation.
If no stray completion appears before the inner sleep 12 would have finished, record that no leak was observed. This check caught a prior manual discrepancy where a canceled delegate's inner sleep later produced a parent-visible completion.
If you have direct access to harness event logs, verify:
harness.notice with tool call cancellation request.ToolBackgroundError with Tool call canceled.AgentPromptSteered or queued pending prompt remains for canceled nested delegate completions.wait calls.cancel verificationReport concise but complete findings:
sub_agent_id; when legacy/background agent_start ids are available, also report running delegate, no-arg wait, wait suppression, duplicate cancel, completed delegate, sibling isolation, slow delegate duration, and inner-tool leak.cancel success output is only Tool cancellation requested; it is an async, best-effort request, not a delivery receipt for child cleanup.agent_start ids are available, include whether errors distinguish completed delegates from unknown ids.agent_start results make self_agent_id and sub_agent_id clear enough without redundant aliases; when legacy/background agent_start ids are available, also include whether the placeholder made the cancellable target ID clear enough.agent_start ids are available, include whether slow canceled delegates reported duration_seconds.© 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-background-cancel of dpc/tau.
Open the folder on GitHubat commit d2e1955
Tau Tool Verification Background Cancel 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 Background Cancel this skilldpc/tau | 105 | — | ~5.8k | Automated safety check: Pass | MPL-2.0 | |
| Verifyasgeirtj/system_prompts_leaks | 69k | — | ~3k | Automated safety check: Pass | CC0-1.0 | |
| Verify Thiscursor/plugins | 11k | 2 repos | ~693 | Automated safety check: Pass | None | |
| Verify Releaseopenclaw/openclaw | 392k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Backgroundjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Verifycodewhale-hq/Codewhale | 41k | — | ~156 | Automated safety check: Pass | MIT |
asgeirtj/system_prompts_leaks
Verify that a code change actually does what it's supposed to by exercising it end-to-end and observing behavior — drive the affected flow, not just tests or typecheck.
cursor/plugins
Verify a claim with fresh local evidence: restate it falsifiably, capture baseline and treatment, compare artifacts, and return VERIFIED, NOT VERIFIED, or INCONCLUSIVE.
openclaw/openclaw
Verify regular or extended-stable OpenClaw releases against the exact publication surfaces, workflow identities, package provenance, smoke tests, and live Gateway behavior expected for that release…
jeremylongshore/tons-of-skills-marketplace
A skill your agent uses when the user wants to see, inspect, cancel, or prune background agents fired during prior chain runs.
codewhale-hq/Codewhale
Exercise the real app/API/CLI and collect observable evidence; tests alone do not count as end-to-end verification.
Yeachan-Heo/oh-my-claudecode
Has the agent prove that a feature, fix or refactor works, using existing tests first, then narrow commands and manual checks, and report only what was actually verified.
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…
A skill your agent uses when verifying Tau background tool execution, wait, cancel, or agentstart interruption, including result consumption, completion prompt suppression, races, delegate…. Tau Tool Verification Background Cancel is an agent skill from dpc/tau. Use this skill when verifying Tau background tool execution, wait, cancel, or agentstart interruption, including result consumption, completion prompt suppression, races, delegate interruption, cancellation isolation, and event logs.
Tau Tool Verification Background Cancel fits situations like: verifying Tau background tool execution; agentstart interruption; including result consumption; completion prompt suppression.
Run `npx skills add dpc/tau --skill tau-tool-verification-background-cancel -a claude-code`. Or copy the skill folder (.agents/skills/tau-tool-verification-background-cancel in dpc/tau) into .claude/skills/tau-tool-verification-background-cancel in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dpc/tau --skill tau-tool-verification-background-cancel -a codex`. Or copy the skill folder (.agents/skills/tau-tool-verification-background-cancel in dpc/tau) into .agents/skills/tau-tool-verification-background-cancel 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-background-cancel -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-background-cancel, .gemini/skills/tau-tool-verification-background-cancel, .github/skills/tau-tool-verification-background-cancel and .opencode/skills/tau-tool-verification-background-cancel in your project.
SKILL.md names no scripts, command-line tools or credentials: Tau Tool Verification Background Cancel 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 Background Cancel 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 5.8k tokens (SKILL.md is roughly 23k 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 Background Cancel: Verify (asgeirtj/system_prompts_leaks, 69k stars), Verify This (cursor/plugins, 11k stars), Verify Release (openclaw/openclaw, 392k stars) and Background (jeremylongshore/tons-of-skills-marketplace, 2.8k 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.