Agent skill

Tau Qodq

by dpc in dpc/tau

Extract and chart canonical provider quota observations and terminal token usage as offline, privacy-aware CSV, SVG, and summary artifacts.

MPL-2.0Auto-check passedDocuments & Office

Install Tau Qodq

skills CLI
$ npx skills add dpc/tau --skill tau-qodq -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dpc/tau tau-qodq --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dpc/tau.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/tau-qodq .claude/skills/tau-qodq && rm -rf skills-src

Use ~/.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/

Facts

Skill name
tau-qodq
GitHub stars
105
Token cost
~2.5k tokens
SKILL.md length
1,187 words
Files
3
Skills in repo
15
Repo updated
First seen
Licence
MPL-2.0

At a glance

Extract and chart canonical provider quota observations and terminal token usage as offline, privacy-aware CSV, SVG, and summary artifacts.

  • Tasks that involve CSV and tabular files
  • SKILL.md covers Run, Inputs and privacy boundary, Chart and CSV semantics and Summary and interpretation
  • Runs Rust scripts from its folder; calls nix

What it does

Tau Qodq is an agent skill from dpc/tau. Extract and chart canonical provider quota observations and terminal token usage as offline, privacy-aware CSV, SVG, and summary artifacts.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files.

It sits in Documents & Office, covering CSV and tabular files. The repository describes itself as: Tau Coding Agent - like Pi, but twice as much. The licence is MPL-2.0.

When your agent uses it

  • Tasks that involve CSV and tabular files

Example prompts

  • “/tau-qodq”

What it can do on your machine

Read from SKILL.md and the folder at commit d2e1955. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships script files (Rust), which the agent can run.

    Shell commands in SKILL.md call:

    • nix

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Tau Qodq loads about 2.5k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 1,187 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~37
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from dpc/tau at commit d2e1955, republished under its MPL-2.0 licence (© dpc). 1,187 words, ~2,465 tokens.

Download SKILL.mdSave it as .claude/skills/tau-qodq/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
tau-qodq
description
Extract and chart canonical provider quota observations and terminal token usage as offline, privacy-aware CSV, SVG, and summary artifacts.

Tau QODQ: offline quota and token-usage diagnostics

Use extract_quota.rs for bounded historical diagnostics from canonical Tau events. This native Cargo single-file script writes redacted CSV, gnuplot SVG/PNG, summary, artifact README, and reproducible .gnuplot programs. The Nix runner supplies the nightly toolchain already pinned through Flakebox/Fenix in flake.lock, gnuplot, and a linker, without changing the workspace toolchain. First use can download/build these tools and script dependencies. It is an offline aid, not a Tau command; do not change provider, journal, or runtime semantics for it.

Run

Select each configured subscription explicitly. LABEL is presentation-only; PROVIDER exactly selects canonical quota payload.provider and the PROVIDER/ prefix of canonical token-usage usage.model. This checked-in extractor invocation is the generator template. By default it includes the current day through the UTC instant captured once when generation starts.

bash
cd "$(jj workspace root)"
skill_dir=.agents/skills/tau-qodq
nix shell .#diagnostics -c tau-diagnostics-cargo "$skill_dir/extract_quota.rs" \
  --sessions-root "$HOME/.local/state/tau/sessions" \
  --profile chatgpt=chatgpt \
  --profile chatgpt-fedi=chatgpt-fedi \
  --out tmp/tau-qodq-chatgpt-chatgpt-fedi

The exact range is [since, until) in UTC, with millisecond precision. The default is the trailing fourteen days ending at the current UTC instant, not the previous midnight. “Last two weeks” includes today's partial day and current partial bucket; do not round the endpoint down to midnight. The tau-agent-performance workflow follows the same current-moment convention. The endpoint is fixed before scanning, so a long scan does not move it. For reproducible bounded historical diagnostics, pass explicit --since and --until RFC3339 instants; neither needs to be a day boundary. An omitted --since means fourteen days before the selected endpoint. Token buckets remain UTC-aligned at 00:00/06:00/12:00/18:00 and both charts guide every UTC midnight in range, including when the endpoints fall within a day. Ranges over 366 days are rejected. The compatibility --provider NAME selection remains equivalent to --profile NAME=NAME; prefer repeatable --profile.

Keep the generated README.md, summary.txt, quota.csv, quota.svg, tokens.csv, tokens.svg, both PNG previews, and both .gnuplot programs together. Programs contain aggregate chart evidence only; re-render them with gnuplot quota.gnuplot and gnuplot tokens.gnuplot in the artifact directory. New artifact directories are owner-only. Inspect PNGs before sharing. Do not commit artifacts or session data. The extractor scans selected events.jsonl files without an index, so time bounds constrain output but may not reduce bytes scanned. Cargo build outputs and script lockfiles live in $XDG_CACHE_HOME/tau-diagnostics/target (default $HOME/.cache/tau-diagnostics/target), not in the source tree. Direct dependencies are exact-version pinned in the embedded manifest; transitive resolution persists in Cargo's cached script lockfile, not the repository. This pins the toolchain, not a fully vendored/offline script build. From the repository root, the executable .rs shebang uses the same Nix runner. Do not use unrelated third-party cargo-script or rust-script tools.

Inputs and privacy boundary

Select only these exact nested canonical published events:

  • harness.provider_quota_changed provides accepted full quota snapshots. Do not substitute provider _reported quota events.
  • provider.response_finished provides accepted terminal usage.model, prompt_sent_tokens, prompt_cached_tokens, and response_received_tokens.

The extractor reads no provider capture files and never exports credentials, prompts, response/output items, routes beyond the quota snapshot's normalized route metadata, or raw event records. A canonical response terminal can contain output items, but the extractor deliberately reads only the listed identity, time, model-selection, and usage fields.

provider.response_finished does not carry a quota profile epoch. Token rows therefore identify the selected configured provider/model prefix and human label, not an account or credential. Quota rows retain profile_epoch, which is opaque process-lifetime evidence, not an account identity. Never infer that selected names, profile epochs, or separate sessions prove a shared or different account.

The extractor structurally skips unselected JSON values before decoding any terminal fields. In particular, it does not materialize output_items, error details, prompts, or provider content while selecting terminal usage.

Show full SKILL.md (612 more words)Show less

Chart and CSV semantics

quota.svg shows one line for each selected subscription. It explicitly selects the canonical default codex/primary series: the Codex adapter maps an official nameless rate-limit observation to the canonical default codex pool, and primary is the provider-normalized primary window. It retains the maximum actual remaining_percent observation per subscription and UTC hour, breaking the line for every missing hour. This display-only reduction never averages, interpolates, predicts, or alters CSV evidence. Ties retain the latest (observation time, sequence, profile epoch). quota.csv still retains every pool, window, and process epoch. The SVG legend contains only the supplied subscription labels; it exposes no pool/window or epoch IDs. Its values are remaining_percent = 100 - used_basis_points / 100. It guides and labels every UTC day boundary.

tokens.csv retains selected canonical terminals in UTC-aligned half-open one-hour rows [HH:00, HH+1:00), selected by the terminal's recorded_at_micros. tokens.svg reduces those rows to UTC-aligned six-hour buckets starting at 00:00, 06:00, 12:00, and 18:00, with connected lines only across consecutive buckets. It renders all three six-hour measurements on one shared logarithmic log1p Y axis:

text
Cache hits    = Σ prompt_cached_tokens / 21,600 tokens/s
Cache misses  = Σ (prompt_sent_tokens - prompt_cached_tokens) / 21,600 tokens/s
Output tokens = Σ response_received_tokens / 21,600 tokens/s

Those denominators apply to full buckets. At either range boundary, hourly CSV and six-hour display rates divide by the seconds in the bucket's intersection with [since, until), not by a full hour/six hours or the span between observations. CSV interval_start, interval_end, elapsed_seconds, and partial_bucket label partial hourly rows; the SVG labels boundary normalization and the exact range, and summary.txt counts partial hourly/six-hour rows. Bucket points use the clipped interval midpoint, so current partial buckets stay within the axis. The axis reaches the selected endpoint; the charts do not fabricate observations there, extend evidence to it, or connect across missing evidence.

Subscription color identifies the selected profile; line style identifies the metric. The chart contains exactly those six profile/metric lines. Its zero-preserving transform is log(1 + six-hour tokens/s) / log(1 + largest displayed six-hour tokens/s): an observed zero remains at the baseline, rather than being dropped or replaced with a positive value. Y ticks label actual tokens/s values, not transformed coordinates.

The SVG never invents a six-hour bucket for absent evidence and never connects across a missing UTC six-hour bucket. Missing hourly rows are unknown/missing evidence, not zero use. An absent usage record is unavailable usage. An old canonical record lacking the serialized prompt_cached_tokens field is also unavailable for this chart: the extractor does not reinterpret it as Cache hits zero, and excludes that terminal's three categories. A present zero is used because the current canonical schema serializes the field as a non-optional count.

For token replay/catch-up deduplication, one terminal identity is (selected profile label, agent_id, agent_prompt_id, provider_attempt). Repeated identities retain the earliest (recorded_at_micros, selected file path, line number) record before the time filter; a replay inside a range does not turn an original terminal outside it into new consumption. Conflicting complete-usage counts are reported once per terminal identity, not summed. If the retained earliest copy lacks prompt_cached_tokens, later explicit-zero replays cannot replace it and that terminal remains omitted. This is intentionally separate from quota plotting: quota is snapshot evidence, not additive consumption.

Summary and interpretation

summary.txt reports selected profiles/files/bytes, candidate and validated canonical events, malformed data, missing usage/cache fields, out-of-range and unselected-model terminals, duplicate/conflicting token identities, retained quota rows, omitted unchanged quota rows, hourly token rows, rendered values, and elapsed time. Report these exact values, the exact selection/range, and the artifact paths with any conclusion.

Remember:

  • A quota plateau is repeated observed state, not continuous metering.
  • A rise in remaining quota or reset shift can be reset/reconciliation, not negative consumption.
  • Gaps, empty snapshots, missing terminal usage, and absent hourly rows are unknown, not zero.
  • Token timestamps are canonical log-admission/accepted-terminal times, not provider metering instants.

Run the focused oracle after changing the generator:

bash
nix shell .#diagnostics -c tau-diagnostics-cargo test \
  --manifest-path .agents/skills/tau-qodq/extract_quota.rs

© 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

Files

SKILL.md and 2 other files in .agents/skills/tau-qodq of dpc/tau.

  • SKILL.md
  • extract_quota.rs
  • extract_quota_tests.rs

Open the folder on GitHubat commit d2e1955

Compare with similar skills

Tau Qodq 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.

Tau Qodq compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tau Qodq this skilldpc/tau105—~2.5kAutomated safety check: PassMPL-2.0
Data Table Managern8n-io/n8n207k—~2.3kAutomated safety check: PassCustom licence
Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences2742 repos~2.7kAutomated safety check: PassApache-2.0
Abuse Hunternexu-io/harness-engineering-guide664—~1.9kAutomated safety check: PassMIT
Markitshift-labs-ai/markit1.3k—~299Automated safety check: PassMIT
Sector Analysttradermonty/claude-trading-skills3k1 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • Official

    Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.

    207k GitHub stars~2.3k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Instrument Data To Allotrope

    aws-samples/amazon-bedrock-agents-healthcare-lifesciences

    Official

    Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.

    274 GitHub starsUsed in 2 repos~2.7k tokens
    Documents & OfficeAuto-check passed
  • Abuse Hunter

    nexu-io/harness-engineering-guide

    Detect and investigate bulk registration abuse on SaaS platforms.

    664 GitHub stars~1.9k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Markit

    shift-labs-ai/markit

    Convert files and URLs to Markdown. An agent skill from shift-labs-ai/markit.

    1.3k GitHub stars~299 tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Sector Analyst

    tradermonty/claude-trading-skills

    This skill should be used when analyzing sector rotation patterns and market cycle positioning.

    3k GitHub starsUsed in 1 repo~2.3k tokens
    Documents & OfficeAuto-check passed
  • Uap Release Analyzer

    ckpxgfnksd-max/uap-release-analyzer

    Inventory, extract, and analyze tranches of declassified UAP/UFO files — including war.gov/UFO/ "PURSUE" releases, FBI Vault, NARA boxes, and AARO publications.

    155 GitHub stars~2.6k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • 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…

    105 GitHub stars~1.2k tokensUpdated 4 days ago
    Auto-check passed
  • A skill your agent uses when asked to "triage papercuts", review clanker-reported problems, or analyze and clear tau dev papercut reports.

    105 GitHub stars~2.4k tokensUpdated 4 days ago
    Auto-check passed
  • 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…

    105 GitHub stars~4.8k tokensUpdated 4 days ago
    Auto-check passed
  • 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…

    105 GitHub stars~4k tokensUpdated 4 days ago
    Auto-check passed
  • 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…

    105 GitHub stars~308 tokensUpdated 4 days ago
    Auto-check passed
  • 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…

    105 GitHub stars~658 tokensUpdated 4 days ago
    Auto-check passed

Questions about Tau Qodq

What does Tau Qodq do?

Extract and chart canonical provider quota observations and terminal token usage as offline, privacy-aware CSV, SVG, and summary artifacts. Tau Qodq is an agent skill from dpc/tau. Extract and chart canonical provider quota observations and terminal token usage as offline, privacy-aware CSV, SVG, and summary artifacts.

When should I use Tau Qodq?

Tau Qodq fits situations like: tasks that involve CSV and tabular files.

How do I install Tau Qodq in Claude Code?

Run `npx skills add dpc/tau --skill tau-qodq -a claude-code`. Or copy the skill folder (.agents/skills/tau-qodq in dpc/tau) into .claude/skills/tau-qodq in your project. Claude Code loads it when a task matches its description.

How do I install Tau Qodq in Codex?

Run `npx skills add dpc/tau --skill tau-qodq -a codex`. Or copy the skill folder (.agents/skills/tau-qodq in dpc/tau) into .agents/skills/tau-qodq in your project. Codex loads it when a task matches its description.

Can I use Tau Qodq in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dpc/tau --skill tau-qodq -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-qodq, .gemini/skills/tau-qodq, .github/skills/tau-qodq and .opencode/skills/tau-qodq in your project.

What does Tau Qodq need to run?

Going by SKILL.md and its folder, Tau Qodq needs Rust for the scripts in its folder and the command-line tools its instructions call (nix).

Does Tau Qodq access the network?

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.

Is Tau Qodq safe to install?

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.

What licence does Tau Qodq use?

Tau Qodq 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.

How many tokens does Tau Qodq use?

About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Tau Qodq?

Skills that share tags, products or a category with Tau Qodq: Data Table Manager (n8n-io/n8n, 207k stars), Instrument Data To Allotrope (aws-samples/amazon-bedrock-agents-healthcare-lifesciences, 274 stars), Abuse Hunter (nexu-io/harness-engineering-guide, 664 stars) and Markit (shift-labs-ai/markit, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tau Qodq?

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.