Share
ClickHouse/ClickHouse
Share a Claude Code session to pastila.nl and return a viewer link.
Sanitize normalized coding-trace JSONL rows for public sharing.
$ npx skills add uw-syfi/TraceLab --skill coding-trace-sanitize -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install uw-syfi/TraceLab coding-trace-sanitize --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/uw-syfi/TraceLab.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/coding-trace-sanitize .claude/skills/coding-trace-sanitize && 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 "coding-trace-sanitize" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/skills/coding-trace-sanitize into .claude/skills/coding-trace-sanitize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coding-trace-sanitize", 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/uw-syfi/TraceLab/tree/main/skills/coding-trace-sanitizeType 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 uw-syfi/TraceLab --skill coding-trace-sanitize -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install uw-syfi/TraceLab coding-trace-sanitize --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/uw-syfi/TraceLab.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/coding-trace-sanitize .agents/skills/coding-trace-sanitize && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "coding-trace-sanitize" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/skills/coding-trace-sanitize into .agents/skills/coding-trace-sanitize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coding-trace-sanitize", 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 uw-syfi/TraceLab --skill coding-trace-sanitize -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install uw-syfi/TraceLab coding-trace-sanitize --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/uw-syfi/TraceLab.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/coding-trace-sanitize .cursor/skills/coding-trace-sanitize && 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 "coding-trace-sanitize" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/skills/coding-trace-sanitize into .cursor/skills/coding-trace-sanitize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coding-trace-sanitize", 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/uw-syfi/TraceLab.git --path skills/coding-trace-sanitize--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 uw-syfi/TraceLab --skill coding-trace-sanitize -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install uw-syfi/TraceLab coding-trace-sanitize --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/uw-syfi/TraceLab.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/coding-trace-sanitize .gemini/skills/coding-trace-sanitize && 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 "coding-trace-sanitize" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/skills/coding-trace-sanitize into .gemini/skills/coding-trace-sanitize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coding-trace-sanitize", 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 uw-syfi/TraceLab coding-trace-sanitizeInstalls 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 uw-syfi/TraceLab --skill coding-trace-sanitize -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/uw-syfi/TraceLab.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/coding-trace-sanitize .github/skills/coding-trace-sanitize && 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 "coding-trace-sanitize" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/skills/coding-trace-sanitize into .github/skills/coding-trace-sanitize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coding-trace-sanitize", 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 uw-syfi/TraceLab --skill coding-trace-sanitize -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install uw-syfi/TraceLab coding-trace-sanitize --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/uw-syfi/TraceLab.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/coding-trace-sanitize .opencode/skills/coding-trace-sanitize && 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 "coding-trace-sanitize" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/skills/coding-trace-sanitize into .opencode/skills/coding-trace-sanitize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coding-trace-sanitize", 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.
coding-trace-sanitizeSanitize normalized coding-trace JSONL rows for public sharing.
Coding Trace Sanitize is an agent skill from uw-syfi/TraceLab. Sanitize normalized coding-trace JSONL rows for public sharing. Use when preparing trace/llmroundtrace.jsonl outputs for release, removing local paths, pseudonymizing user identifiers, dropping tools[].input, replacing session/round/tool/project identifiers with stable pseudorandom values, choosing deterministic versus random sanitizer seeds, or checking what sensitive fields remain after sanitizeroundtrace.py.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
The repository describes itself as: An open toolkit and public dataset hub for collecting, sanitizing, analyzing, and visualizing coding agent traces. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 11b8b14. 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:
uvrgFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
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.
Coding Trace Sanitize loads about 1.3k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 422 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 noted patterns worth knowing about, such as sudo or a known installer.
The all-user sudo wrapper can sanitize immediately after collection: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 uw-syfi/TraceLab at commit 11b8b14, republished under its Apache-2.0 licence (© uw-syfi). 422 words, ~1,273 tokens.
.claude/skills/coding-trace-sanitize/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Use this skill to prepare normalized round traces for sharing. The sanitizer targets the normalized JSONL schema, not arbitrary raw Claude/Codex logs.
pyproject.toml, README.md, and scripts/sanitize_round_trace.py.trace/llm_round_trace.jsonl, not an expanded raw example.$coding-trace-collect first to produce normalized rows.-o/--output for files. Use deterministic seeds when comparing versions; use --random-seed when producing a one-off public artifact and stable cross-run ids are not needed.Sanitize one timestamped private collection without writing loose files at the trace/ root:
collection_directory="trace/collections/<collection_id>"
uv run python scripts/sanitize_round_trace.py \
"${collection_directory}/merged.private.jsonl" \
-o "${collection_directory}/merged.public.jsonl"Use a named deterministic seed:
uv run python scripts/sanitize_round_trace.py \
"${collection_directory}/merged.private.jsonl" \
-o "${collection_directory}/merged.public.jsonl" \
--seed my-release-v1Use a fresh random seed:
uv run python scripts/sanitize_round_trace.py \
"${collection_directory}/merged.private.jsonl" \
-o "${collection_directory}/merged.public.jsonl" \
--random-seedThe all-user sudo wrapper can sanitize immediately after collection:
scripts/collect_all_users_sudo.sh --sanitizeAfter sanitizing, use the sanitized output for public analysis and validators:
uv run python artifacts/utils/trace_db.py \
trace/collections/current/merged.public.jsonl \
trace/collections/current/merged.public.duckdb
uv run python artifacts/run_all.py \
--db trace/collections/current/merged.public.duckdb
uv run python validators/run_all.py \
--db trace/collections/current/merged.public.duckdbscripts/sanitize_round_trace.py performs these transformations:
project, session_id, turn_id, round_id, tool_call_id, and trace_key with stable pseudorandom alternatives while preserving relationships inside the output.user, user_name, and username values with stable pseudonyms while preserving distinct-user counts and grouping.cwd, home, host, hostname, file_path, filepath, repo_url, repository_url, session_file, and workdir._path, _filepath, or filepath.tools[].input entirely.tools[].input_chars, result_chars, timing, model, provider, token counts, event types, and aggregate structure.timing_events[].tool_call_id consistently with the corresponding tool id.rows=... tools=... output=... seed=... status line to stderr.Do not claim the sanitizer proves a trace is safe for every release context. It does not inspect semantic leakage in model names, visible text summaries, tool names, timing patterns, token counts, or result sizes. It also does not sanitize arbitrary raw provider logs.
If the user wants to share raw examples, inspect or create public raw examples separately using $coding-trace-raw; do not run the normalized sanitizer on expanded raw text and assume it worked.
After sanitizing, run a shape summary:
uv run python artifacts/utils/trace_db.py \
trace/collections/current/merged.public.jsonl \
trace/collections/current/merged.public.duckdb
uv run python artifacts/trace_facts/overview_summary/analyze.py \
--db trace/collections/current/merged.public.duckdb --jsonUse targeted searches for obvious leftovers:
rg -n '"(cwd|home|session_file|workdir)"' "${collection_directory}/merged.public.jsonl"rg -n '"input":' "${collection_directory}/merged.public.jsonl"Empty search output is a useful smoke test, not a complete privacy audit. user fields
are expected to remain, but their values should look like user_<hex>. When reporting
results, state the sanitizer's exact scope and any remaining review risk.
For an end-to-end smoke test, materialize the sanitized file once and run the artifact and validator dispatchers against that DuckDB. The artifact dispatcher derives the local timing-fit CSV from the same database before timing analyses consume it.
© uw-syfi, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/coding-trace-sanitize of uw-syfi/TraceLab.
Open the folder on GitHubat commit 11b8b14
Coding Trace Sanitize 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 |
|---|---|---|---|---|---|---|
| Coding Trace Sanitize this skilluw-syfi/TraceLab | 138 | — | ~1.3k | Automated safety check: Notes | Apache-2.0 | |
| ShareClickHouse/ClickHouse | 50k | — | ~558 | Automated safety check: Notes | Apache-2.0 | |
| Observe Traceruvnet/ruflo | 74k | — | ~522 | Automated safety check: Notes | MIT | |
| SharingBuilderIO/agent-native | 7.1k | — | ~3.4k | Automated safety check: Pass | None | |
| Tracezereight/gitlab-mcp | 2k | 1 repos | ~412 | Automated safety check: Pass | MIT | |
| Deslop Shared Libsgarrytan/gstack | 136k | — | ~3.3k | Automated safety check: Notes | MIT |
ClickHouse/ClickHouse
Share a Claude Code session to pastila.nl and return a viewer link.
ruvnet/ruflo
Trace agent execution by collecting spans and building a trace tree for a task
BuilderIO/agent-native
Framework-level sharing and privacy for user-authored resources (dashboards, documents, forms, decks, etc.).
zereight/gitlab-mcp
Evidence-driven tracing with competing hypotheses in parallel.
garrytan/gstack
Find worthwhile shared-code extractions in recent work. An agent skill from garrytan/gstack.
wshobson/agents
Implement distributed tracing with Jaeger and Tempo to track requests across microservices and identify performance bottlenecks.
uw-syfi/TraceLab
Prepare, publish, refresh, or validate the TraceLab public dataset on Hugging Face under UW-SyFI/TraceLab.
uw-syfi/TraceLab
Run, summarize, plot, validate, and export normalized coding-trace JSONL files.
uw-syfi/TraceLab
Collect, count, and extract Claude Code and Codex CLI local histories into normalized coding-trace JSONL files.
uw-syfi/TraceLab
Explain and work with the normalized coding-trace JSONL row format produced by extractclauderounds.py, extractcodexrounds.py, and collectllmtraces.py.
uw-syfi/TraceLab
Read and explain raw Claude Code and Codex CLI session logs in this coding-trace repo.
uw-syfi/TraceLab
Publish TraceLab snapshots from the internal repo to the public uw-syfi/TraceLab GitHub repo as clean, mergeable, incremental pull requests from a persistent public mirror branch.
Sanitize normalized coding-trace JSONL rows for public sharing. Coding Trace Sanitize is an agent skill from uw-syfi/TraceLab. Sanitize normalized coding-trace JSONL rows for public sharing.
Coding Trace Sanitize fits situations like: preparing trace/llmroundtrace.jsonl outputs for release; removing local paths; pseudonymizing user identifiers; dropping tools[].input.
Run `npx skills add uw-syfi/TraceLab --skill coding-trace-sanitize -a claude-code`. Or copy the skill folder (skills/coding-trace-sanitize in uw-syfi/TraceLab) into .claude/skills/coding-trace-sanitize in your project. Claude Code loads it when a task matches its description.
Run `npx skills add uw-syfi/TraceLab --skill coding-trace-sanitize -a codex`. Or copy the skill folder (skills/coding-trace-sanitize in uw-syfi/TraceLab) into .agents/skills/coding-trace-sanitize 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 uw-syfi/TraceLab --skill coding-trace-sanitize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/coding-trace-sanitize, .gemini/skills/coding-trace-sanitize, .github/skills/coding-trace-sanitize and .opencode/skills/coding-trace-sanitize in your project.
Going by SKILL.md and its folder, Coding Trace Sanitize needs the command-line tools its instructions call (uv and rg). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Coding Trace Sanitize is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.1k 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 Coding Trace Sanitize: Share (ClickHouse/ClickHouse, 50k stars), Observe Trace (ruvnet/ruflo, 74k stars), Sharing (BuilderIO/agent-native, 7.1k stars) and Trace (zereight/gitlab-mcp, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
uw-syfi (a GitHub organization) maintains it in uw-syfi/TraceLab, which has 138 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on August 22, 2026.
Source: uw-syfi/TraceLab on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.