Basic Memory Setup for Tau
basicmachines-co/basic-memory
Walks a user through installing and configuring the Basic Memory extension for Tau: inspect first, ask one decision at a time, choose where memory goes and verify the connection.
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…
$ npx skills add dpc/tau --skill tau-tool-verification -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dpc/tau tau-tool-verification --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 .claude/skills/tau-tool-verification && 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 skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification into .claude/skills/tau-tool-verification/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification", 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-verificationType 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 -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dpc/tau tau-tool-verification --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 .agents/skills/tau-tool-verification && 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 skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification into .agents/skills/tau-tool-verification/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification", 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 -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dpc/tau tau-tool-verification --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 .cursor/skills/tau-tool-verification && 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 skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification into .cursor/skills/tau-tool-verification/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification", 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--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 -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dpc/tau tau-tool-verification --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 .gemini/skills/tau-tool-verification && 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 skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification into .gemini/skills/tau-tool-verification/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification", 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-verificationInstalls 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 -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 .github/skills/tau-tool-verification && 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 skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification into .github/skills/tau-tool-verification/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification", 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 -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 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 .opencode/skills/tau-tool-verification && 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 skill from https://github.com/dpc/tau/tree/master/.agents/skills/tau-tool-verification into .opencode/skills/tau-tool-verification/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tau-tool-verification", 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-verificationA 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…
Tau Tool Verification is an agent skill from dpc/tau. Use this skill 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, diffs, timeouts, or skill/tool conformance.
Its SKILL.md is about 4.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.
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.
Shell commands in SKILL.md call:
python3From 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 these keys or tokens, usually read from environment variables:
FULL_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tau Tool Verification loads about 4.8k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 2,425 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,425 words, ~4,752 tokens.
.claude/skills/tau-tool-verification/SKILL.md (or your agent's skills folder).Use when asked to verify Tau tool behavior or Tau tool-verification skills.
Tau exposes different tool sets depending on configuration, provider/model capabilities, and extension setup. Common sets include:
read, export, import, edit, and shell tools, plus related
tools such as dir_lock, and std-utils' artifact-backed read_image;
read_image appears only on explicitly
image-capable provider routes;apply_patch and shell_command.If not explicitly stated, start from the tools that are actually exposed in the
current session. For older/full ext-shell sessions, the default core set is
read, edit, and shell. For ordinary models, edit uses the exact-text
internal replace implementation; its provider definition, model calls, and
canonical results remain edit, while ext-shell started/result lifecycle
events use replace. The shell:tool-style:edit selector instead exposes the
legacy line-coordinate implementation as edit; ChatGPT/Codex uses
apply_patch. For provider/native sessions, map the same checks to
shell_command and apply_patch where possible, and explicitly report any
tool-specific checks that cannot be run because the corresponding tool is not
available.
When export and import are exposed, verify a small original round trip:
export a local regular file, confirm its artifact and size output headers,
import the returned <tau-artifact:FULL_KEY> reference, confirm the import's
path and size output headers, compare the imported local file byte-for-byte,
and confirm its private non-executable permissions. Carry returned filename
and mime_type hints to import and verify a sanitized useful filename/suffix;
also verify key-only import stays generic (hints are not stored by digest).
Explicit export MIME is a declaration, not verified media. Check a PNG clipboard
artifact inserts its reference with mime_type: image/png, never an invented filename.
For an image original, pass
the complete artifact reference directly to
read_image; import is needed only for filesystem tools.
Do not inspect harness State paths or treat the digest as provenance or safety.
Your goal is to verify if basic Tau harness tools still work as expected, and conform to our standards and guidelines.
When workdir is exposed, distinguish the top-level persistent setter from
shell_command.workdir, which applies only to one invocation. In disposable
project directories, verify that a successful persistent setter makes the new
project AGENTS/skill catalog available before a dependent turn; a getter and
call-local override must not change discovery. A same-path setter must rescan
edited or deleted project files. Do not run dependent calls as sibling tools.
Verify unavailable-project failure reports the actual committed cwd and degraded
discovery rather than claiming rollback or retaining stale project instructions.
User and unrelated shell/agent contributions must remain intact. For automated
background/cancellation probes, discovery readiness must outlive the setter and
selected-agent :skill expansion must wait for the installed replacement.
Restore the original workdir with a separate setter when the probe finishes.
All tools should return a normalized HTTP-protocol-like structure:
header-1: value-1
header-2: value-2
...
header-n: value-n
multi-line-payloadThe canonical form is zero or more headers followed by an optional body. When headers and a body are both present, one empty line separates them. A compact body-only scalar response is valid and must not gain a leading empty line or redundant status header.
multi-line-payload can be arbitrary, but line-oriented output typically uses
<prefix>(optional-per-line-flags) <line-content> structure. If that's the case
the tool description should mention it.
Tool outputs with non-trivial fields encoded into line-oriented
payloads should include a format header describing field order and names.
For example, an email listing can use:
format: uid date from flags access attachments subject...
6212 2016-04-23T17:32:52Z builds@travis-ci.org seen,redacted preview 0 Hi there, from usThe ... suffix on the last field in the format is used to indicate it is a multi-word field that extends to the end of the line.
Tool implementation must take care ensuring newlines and special characters are stripped from field values, and empty values use some placeholders (e.g. -) to avoid breaking the meaning of each line.
Many headers are optional, and skipped for their default most natural values for token efficiency. Keep tool output compact: include only non-default, non-redundant values that help the agent decide what to do next. Do not emit aliases or duplicate fields that carry the same information.
Every completed shell process result is an exception: it carries an explicit
termination_reason, including exit with status: 0, so downstream
consumers never infer normal termination from an exit status alone.
Do not include headers that are straight copies of tool invocation arguments. The calling agent already knows the arguments it sent, so echoing them wastes context and makes the meaningful result harder to scan. Only report a requested path, query, command, or similar argument when the tool has transformed it into new information, such as a canonicalized path that differs from the input.
Harness-owned background-wait interruption is a successful control result, not
an ordinary completion. It uses closed tau_internal: true,
wait_outcome: interrupted, wait_reason: activating_input, and
wait_mode: exact or any_background headers. It does not echo a target ID or
consume the target result.
Tools must semantically escape untrusted metadata fields before composing model-visible text. This includes paths, filenames, identifiers, owner names, queries, commands when shown as metadata, and any other field whose bytes come from the workspace, filesystem, user config, or an extension peer. Escaping is local to the tool because the tool knows which substrings are metadata and which substrings are user/file payload that should remain literal.
Line-oriented outputs must never let metadata inject extra records, headers, or
status lines. Escape at least \\, newlines, carriage returns, tabs, and other
control characters in metadata fields; use explicit flags such as escaped or
invalid-utf8 when that helps the caller understand that displayed text is not
byte-exact. Do not over-escape file contents or command output just because they
are untrusted; those payloads have separate line-prefix, truncation, and UTF-8
handling rules.
Central provider-visible rendering should still apply a last-resort safety invariant when structured tool responses are rendered into model input, but that is defense-in-depth. It is not a substitute for tool-local semantic escaping, because a central renderer cannot reliably know whether an arbitrary string is a path, a header value, a status label, or content.
Terminal/UI sanitization is a separate layer. UI code must protect terminal state and layout from control sequences, but UI escaping does not make provider/model-visible text safe, and provider-visible escaping does not replace terminal sanitization.
read range operations use inclusive start_line and end_line fields. edit range operations use half-open start_line and end_line_exclusive fields.
Newlines are assumed to be \n, but other styles are supported
and displayed as crlf (\r\n), cr (\r) or no_nl (missing trailing newline).
This applies to both read line-number prefixes and shell stdout/stderr prefixes.
Lines containing invalid UTF-8 bytes should show Unicode replacement characters and an invalid-utf8 flag,
so useful surrounding content remains visible while the agent knows the bytes were not exact.
Lines which are too long show a truncated flag and have content skipped.
Total outputs that are too long are truncated; truncated: true,
total_lines: {lines} and total_bytes: {bytes} headers are added.
These total headers are omitted when output is not truncated, except read may report total_lines: 0 and total_bytes: 0 for an empty file.
For shell output, total_bytes and saved artifacts count the complete rendered
UTF-8 shell form, including out / err prefixes, line-ending and UTF-8
markers, and inserted record separators. They are not raw stdout/stderr byte
counts.
When output is truncated due to line number limit, first and last 1000 lines
should be shown with ... line separating them, instead of usual line prefix.
If a single line would exceed the native byte budget for ext-shell read,
search/list/edit recovery, or user shell output (10 KiB), or model shell /
shell_command native output body (15 KiB), show only the native prefix plus
(truncated) rather than partial content. Small model-shell result metadata and
provider rendering are outside the 15 KiB body budget.
Native-budget-truncated ext-shell output, including read, grep, find, ls, edit
recovery, model shell, and user shell surfaces, must preserve native rendering
and include complete
total_lines and total_bytes, a compact warning to prefer narrower commands
or filters, and normally an exact temporary artifact path. Artifacts up to the 16 MiB
saved cap use full_output_path. Output beyond the saved cap must instead use
saved_output_path, saved_output_truncated: true, and saved_output_bytes;
it must never call that partial artifact full output. Verify the exact file is
readable while its random parent directory is private and not listable. Verify
privacy/filesystem failures instead emit saved_output_unavailable: true, then
verify ordinary cleanup only after both 32 later relevant calls and roughly 15
minutes, plus independent graceful shutdown and safe crash cleanup.
Caller-requested result limits and grep'"'"'s per-line shortening retain their
native limit metadata and do not by themselves imply a saved artifact.
For find, verify the exact notice-only overflow boundary: 101 matches with a
limit of 100 and 101-byte rendered names select 10,199 native bytes. The final
body must stay within 10 KiB, preserve each visible pathname as a whole record
or an explicit truncation marker, include both result-limit and visible-limit
notices, report exact native totals, and save exactly the selected 100-record
native rendering (not the sentinel or notices). Also verify the neighboring
no-sentinel, already-over-budget, and multibyte-path cases.
For complete terminal-frame budgeting, verify an oversized read_image result
fails as typed content without base64/text fallback. For an oversized
edit/apply_patch structured diff, verify only the optional UI diff becomes
an explicit truncation marker while success or partial failure and changed-file
evidence remain truthful. Verify apply_patch headers name the first changed
path instead of repeating the tool name, append ,… when other distinct paths
changed, and show the NF file count before aggregate +N/-M diff totals.
grep searches in-process without requiring rg; cancellation during traversal,
buffered reads, and callbacks is cooperative and does not interrupt a blocked
filesystem operation or executing matcher. Normal status is 0 for matches (including
limit-reached results), 1 for no matches. grep renders matches heading-grouped: each file's path appears once as a
heading line, followed by LINE:CONTENT for match lines and LINE-CONTENT
for context lines. Over-long path headings are truncated to the same
GREP_MAX_LINE_LENGTH (500 chars) as match body lines, with an ellipsis and
the "Some lines truncated to 500 chars" notice, so every rendered line stays
within the 500-char budget.
Tool description should be short but informative. They should mention the line prefix meaning, if used in the tool. They should mention line and byte limits.
Load the focused skill for every tool group in scope. The index contains shared output rules; the focused skills contain the detailed tool-specific plans.
tau-tool-verification-file-shell — read, both edit implementations
(including the internal exact-text replace lifecycle name), apply_patch,
shell, and shell_command, including ranges, UTF-8, truncation, diffs,
timeouts, mutation safety, and shell lock coverage.tau-tool-verification-background-cancel — background tool completion,
wait, cancel, and the required background/active-wait agent_start
interruption probes, including consumption races, prompt suppression,
delegate interruption, isolation, and event-log checks.tau-tool-verification-directory-locks — dir_lock conflict behavior,
automatic lock scopes, lock wait metadata, cancellation, force unlock, and
lifecycle cleanup. When an automatic mutation mixes covered and uncovered
targets for the same owner, its diagnostic must distinguish the uncovered
requested canonical directory from the manual directory already held.tau-tool-verification-agent-coordination — message, agent_start, and
agent_watch, including routing, validation, queued and active-wait
interruption, notification formatting, and deduplication. Always pair it
with tau-tool-verification-background-cancel when verifying agent_start.tau-tool-verification-status — status transitions, validation, Working
acknowledgement persistence, and activation steering around routine tool
rounds and watched-agent events.If a request spans groups, load all applicable focused skills. Apply the shared guidelines in this index to every group, and explicitly report unavailable or version-specific tools rather than silently skipping their checks.
Create a scratch directory in /tmp for your experiments and always avoid dangerous or disruptive actions during testing.
Test parallel tool calling through the actual provider and harness, rather than
inferring support from a capability flag. In one assistant message, emit
four sibling calls to the available shell tool (shell or shell_command).
Do not use a batching/parallel-wrapper tool, and do not launch any of the four
calls from a later assistant turn: either would bypass the provider behavior
this probe is intended to test.
Use these four commands as the respective call arguments:
python3 -c 'import time; ident="parallel-1"; start=time.time_ns(); time.sleep(3); end=time.time_ns(); print(f"id={ident} start_ns={start} end_ns={end} elapsed_ms={(end-start)/1_000_000:.3f}")'
python3 -c 'import time; ident="parallel-2"; start=time.time_ns(); time.sleep(3); end=time.time_ns(); print(f"id={ident} start_ns={start} end_ns={end} elapsed_ms={(end-start)/1_000_000:.3f}")'
python3 -c 'import time; ident="parallel-3"; start=time.time_ns(); time.sleep(3); end=time.time_ns(); print(f"id={ident} start_ns={start} end_ns={end} elapsed_ms={(end-start)/1_000_000:.3f}")'
python3 -c 'import time; ident="parallel-4"; start=time.time_ns(); time.sleep(3); end=time.time_ns(); print(f"id={ident} start_ns={start} end_ns={end} elapsed_ms={(end-start)/1_000_000:.3f}")'Before the probe, resolve the required interpreter in the effective execution environment. Do this before changing persistent workdir, or use a verified absolute executable path. If it is unavailable, report the probe unavailable rather than treating command-not-found as a concurrency failure.
Confirm from the canonical provider.response_finished aggregate or an exact
provider capture that all four call IDs occurred in one provider terminal.
Visual adjacency in the UI or one apparent assistant message is insufficient:
calls emitted by separate provider responses do not test sibling scheduling.
Interpret the model-visible results by call identity, not by result-delivery
order. For each interval use [start_ns, end_ns], and compute the overall
makespan as max(end_ns) - min(start_ns). Normal process startup and scheduler
jitter mean starts and ends need not be exactly equal.
max(start_ns) < min(end_ns)), and the makespan is normally about three to
five seconds (use six seconds as a conservative upper bound).When all four calls were visibly emitted in one assistant message but their recorded execution intervals serialize, provider emission succeeded and the evidence points to harness/extension scheduling. If the provider never emits the four sibling calls, execution-layer concurrency was not tested. Report the classification, four identity-tagged intervals and elapsed times, makespan, overlap observation, and which layer the available evidence implicates.
For every tool thoroughly consider all corner cases, including ones which are not covered in this document.
Negative probes intentionally produce tool failures, so do not run enough of them consecutively to trip Tau's loop guard and then report the pivot as a tool defect. Three identical failures or four consecutive distinct failures can trigger the guard; one successful terminal resets the streak. Isolate negative groups in short-lived delegates or insert a harmless successful tool call between groups. A pivot below threshold, after a successful reset, or with incorrect argument-sensitive grouping remains a discrepancy.
Report back:
© 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 of dpc/tau.
Open the folder on GitHubat commit d2e1955
Tau Tool Verification 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 this skilldpc/tau | 104 | — | ~4.8k | Automated safety check: Pass | MPL-2.0 | |
| Basic Memory Setup for Taubasicmachines-co/basic-memory | 4.1k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 | |
| First Order Model Fittingbenchflow-ai/skillsbench | 1.8k | — | ~652 | Automated safety check: Pass | Apache-2.0 | |
| Celltype Specificity ProfilerClawBio/ClawBio | 1.2k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Tau Releasedpc/tau | 104 | — | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| Tau Papercut Triagedpc/tau | 104 | — | ~2.4k | Automated safety check: Pass | MPL-2.0 |
basicmachines-co/basic-memory
Walks a user through installing and configuring the Basic Memory extension for Tau: inspect first, ask one decision at a time, choose where memory goes and verify the connection.
benchflow-ai/skillsbench
Fit first-order dynamic models to experimental step response data and extract K (gain) and tau (time constant) parameters.
ClawBio/ClawBio
Given a gene and a single-cell atlas, compute how cell-type-specific its expression is — the tau specificity index, Sarle's expression bimodality coefficient, and the cell types that drive the…
dpc/tau
A skill your agent uses when preparing or carrying out an explicitly authorized Tau application release; not for SDK-only releases.
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 tracing or auditing Tau agent execution, including provider and cache cost, tool/background/wait latency, outer turns, compaction, delegated workflows, or performance…
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…
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…
A skill your agent uses when verifying Tau agentstart, message, or agentwatch coordination, including routing, validation, interruption, notification formatting, watch lifecycle, and deduplication.
A skill your agent uses when verifying Tau background tool execution, wait, cancel, or agentstart interruption, including result consumption, completion prompt suppression, races, delegate…
dpc/tau
Generate routine trailing-two-week provider/model latency and output-throughput CSV and SVG charts from content-free durable agent traces.
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…. Tau Tool Verification is an agent skill from dpc/tau. Use this skill 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, diffs, timeouts, or skill/tool conformance.
Tau Tool Verification fits situations like: asked to verify Tau harness tools; tool output behavior; especially read; shell/shellcommand.
Run `npx skills add dpc/tau --skill tau-tool-verification -a claude-code`. Or copy the skill folder (.agents/skills/tau-tool-verification in dpc/tau) into .claude/skills/tau-tool-verification in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dpc/tau --skill tau-tool-verification -a codex`. Or copy the skill folder (.agents/skills/tau-tool-verification in dpc/tau) into .agents/skills/tau-tool-verification 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 -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, .gemini/skills/tau-tool-verification, .github/skills/tau-tool-verification and .opencode/skills/tau-tool-verification in your project.
Going by SKILL.md and its folder, Tau Tool Verification needs the command-line tools its instructions call (python3) and credentials named FULL_KEY. Our summary lists: A credential in FULL_KEY.
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 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 4.8k tokens (SKILL.md is roughly 19k 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: Basic Memory Setup for Tau (basicmachines-co/basic-memory, 4.1k stars), First Order Model Fitting (benchflow-ai/skillsbench, 1.8k stars), Celltype Specificity Profiler (ClawBio/ClawBio, 1.2k stars) and Tau Release (dpc/tau, 104 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 104 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.