PR Babysitter
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
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.
$ npx skills add uw-syfi/TraceLab --skill tracelab-public-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install uw-syfi/TraceLab tracelab-public-release --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/.codex/skills/tracelab-public-release .claude/skills/tracelab-public-release && 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 "tracelab-public-release" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/.codex/skills/tracelab-public-release into .claude/skills/tracelab-public-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tracelab-public-release", 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/.codex/skills/tracelab-public-releaseType 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 tracelab-public-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install uw-syfi/TraceLab tracelab-public-release --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/.codex/skills/tracelab-public-release .agents/skills/tracelab-public-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tracelab-public-release" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/.codex/skills/tracelab-public-release into .agents/skills/tracelab-public-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tracelab-public-release", 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 tracelab-public-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install uw-syfi/TraceLab tracelab-public-release --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/.codex/skills/tracelab-public-release .cursor/skills/tracelab-public-release && 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 "tracelab-public-release" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/.codex/skills/tracelab-public-release into .cursor/skills/tracelab-public-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tracelab-public-release", 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 .codex/skills/tracelab-public-release--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 tracelab-public-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install uw-syfi/TraceLab tracelab-public-release --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/.codex/skills/tracelab-public-release .gemini/skills/tracelab-public-release && 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 "tracelab-public-release" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/.codex/skills/tracelab-public-release into .gemini/skills/tracelab-public-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tracelab-public-release", 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 tracelab-public-releaseInstalls 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 tracelab-public-release -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/.codex/skills/tracelab-public-release .github/skills/tracelab-public-release && 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 "tracelab-public-release" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/.codex/skills/tracelab-public-release into .github/skills/tracelab-public-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tracelab-public-release", 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 tracelab-public-release -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 tracelab-public-release --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/.codex/skills/tracelab-public-release .opencode/skills/tracelab-public-release && 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 "tracelab-public-release" agent skill from https://github.com/uw-syfi/TraceLab/tree/main/.codex/skills/tracelab-public-release into .opencode/skills/tracelab-public-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tracelab-public-release", 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.
tracelab-public-releasePublish 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.
Tracelab Public Release is an agent skill from 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. Use when refreshing the public site/artifacts, drafting a public release PR, reconciling a diverged public branch, or creating GitHub releases with syficodingtrace.jsonl.gz and syficodingtrace.duckdb assets after the PR is merged.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Development, covering Pull requests. It works with GitHub and DuckDB. 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.
7 steps, taken from the step headings 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:
gitghrgFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tracelab Public Release loads about 2.7k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 970 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 uw-syfi/TraceLab at commit 11b8b14, republished under its Apache-2.0 licence (© uw-syfi). 970 words, ~2,713 tokens.
.claude/skills/tracelab-public-release/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Publish curated TraceLab snapshots from the internal repository to the public repository:
https://github.com/uw-syfi/TraceLab.gitas incremental, mergeable pull requests that preserve git ancestry, so every release shows
only its true net diff and can be merged without conflicts. Do not push snapshots directly to the
public main; open a (draft) PR for review.
The public repo must always be reachable as an ancestor of the branch you open the PR from. When that holds, GitHub's PR diff (merge-base...head) equals the real net change and the PR merges cleanly. When it does not, git falls back to an ancient common ancestor and reports phantom conflicts — add/add on every new file and content conflicts on every edited file — even though the branch is a clean superset of what the public repo already has.
This is exactly what the old "export to a temp dir, wipe a clean clone of public, copy the export,
commit one snapshot" method caused: each release landed in public as a detached snapshot commit
with no shared history with the source branch. The next fork→public PR then diffed against the last
truly shared commit (e.g. an early Merge PR #1), surfacing hundreds of files that were never
actually in conflict. Do not publish by wipe-and-snapshot anymore. Publish from a persistent
mirror whose history stays linked to public.
| Remote | URL | Role |
|---|---|---|
origin | internal source of truth (private) | Internal development. Never the PR target. |
public | https://github.com/uw-syfi/TraceLab.git | PR target. Never push to its main directly. |
fork | https://github.com/serendipity-zk/TraceLab.git | The public mirror. Push the release branch here; open the PR from it. |
The mirror branch (the fork's main; commonly checked out locally as fork-main) is the
public-safe history. Keep it linked to public/main.
origin as the internal/source-of-truth remote unless the user says otherwise.main. Push only to the fork mirror (its main or a release branch)
and open a PR into public:main.public/main an ancestor of the branch you open the PR from. Reconcile first (below)
whenever it is not — never open a PR that GitHub reports as conflicting.trace/*.jsonl*, trace/*.duckdb, trace.tar.gz, generated
artifact outputs, and server runtime data out of the public tree.SyFI Trace Atlas unless the user explicitly asks to rename it.git fetch public
git fetch fork
git status --short --branch
git remote -vAdd the public/fork remotes if missing:
git remote add public https://github.com/uw-syfi/TraceLab.git
git remote add fork https://github.com/serendipity-zk/TraceLab.gitCheck out the mirror branch (e.g. fork-main) and make sure every change you intend to publish is
committed there. Do not try to snapshot a dirty worktree — commit the intentional source/doc changes
first, and leave ignored trace data and generated outputs uncommitted.
Make public/main an ancestor of the mirror by merging it in:
git merge --no-ff public/mainIf public/main is already an ancestor, this is a no-op or fast-forward — skip to step 4.
If it conflicts, the conflicts are almost certainly phantom (public holds an older copy of the same lineage from a prior snapshot release). Confirm the mirror is the newer superset and resolve every conflict to the mirror, then verify nothing real was dropped:
# see why each side diverged — public's version should be a subset of the mirror's
git diff <merge-base> public/main -- <file> # what the public snapshot changed
git diff <merge-base> fork-main -- <file> # what the mirror changed (should subsume it)
# resolve all conflicts to the mirror
for f in $(git diff --name-only --diff-filter=U); do git checkout --ours -- "$f" && git add -- "$f"; done
# SAFETY: no files exist only in public, and no non-export public commits are being skipped
comm -23 <(git ls-tree -r --name-only public/main | sort) <(git ls-tree -r --name-only fork-main | sort)
git log --oneline <merge-base>..public/main # every entry should be an export/snapshot, not a community PRIf a real public-only file or community commit exists, stop and merge it into the mirror properly instead of discarding it. Otherwise commit the reconciling merge:
git commit --no-editVerify ancestry is now linked and the PR will be clean:
git merge-base --is-ancestor public/main fork-main && echo linked
git diff --name-only public/main...fork-main | wc -l # three-dot (what GitHub shows)
git diff --name-only public/main fork-main | wc -l # two-dot (true delta) — must matchReview the entire net diff before naming the branch/PR — this is what you are publishing. Do not summarize only your own recent edits.
git diff --name-status public/main fork-main
git diff --stat public/main fork-mainRead enough changed files to understand the release scope, by area:
README.md, artifacts/README.md, config/services.json, .gitignore)replay/, web/AI infrastructure)web/app/src and helper scripts under web/scripts / web/toolsfind trace -maxdepth 2 -type f 2>/dev/null | sort
find . -maxdepth 4 \( -name '*.duckdb' -o -name '*.jsonl.gz' -o -name '*.jsonl' \)
rg -n '/m-coriander|coding_trace_refactor|serendipity-zk|coding-trace-collect|API_KEY=' . -g '!web/app/dist/**' -g '!.codex/**'
git diff --checkBenign matches (documentation naming environment variables, this skill referencing the scan patterns) are fine. Internal absolute paths, private remotes, secrets, trace data, or generated runtime data must be removed or explicitly justified before continuing. Scan the net diff added lines specifically:
git diff public/main fork-main | grep -E '^\+' | rg '/m-coriander|coding_trace_refactor|serendipity-zk|API_KEY='Push the mirror branch to the fork (its main, or a dedicated release branch if you prefer not to
move the mirror's main until merge):
git push fork fork-main:main
# or a topic branch off the mirror:
# git push fork fork-main:refresh-meaningful-topicChoose a descriptive topic from the actual diff (not "public-snapshot", no dates). Open a draft
PR into the public main:
gh pr create \
--repo uw-syfi/TraceLab \
--base main \
--head serendipity-zk:main \
--draft \
--title "Refresh artifact analyses, detail UI, and Chinese docs" \
--body-file /tmp/tracelab-public-pr-body.mdSuggested PR body structure:
## What this changes
One paragraph describing the actual release theme.
## Main updates
- Artifacts / analyses: ...
- Web UI: ...
- Tooling / docs: ...
## Public-release safety
- public/main is an ancestor of this branch; the diff is the true net change and merges cleanly.
- No trace release data files are committed to Git.
- Internal absolute paths, private remotes, and secrets were scanned.
- Release assets will be uploaded only after review and merge.How the public PR is merged decides whether the next release is clean:
public/main reachable
from the mirror, so the next release needs no reconciliation.After merge, fast-forward the mirror so it tracks the merged public state:
git fetch public
git merge --ff-only public/main # or merge --no-ff if it cannot fast-forward
git push fork fork-main:mainUpload both assets when creating a public data release (only after the PR is merged):
trace/syfi_coding_trace.jsonl.gz
trace/syfi_coding_trace.duckdbBefore upload, verify:
gzip -t trace/syfi_coding_trace.jsonl.gz
sha256sum trace/syfi_coding_trace.jsonl.gz trace/syfi_coding_trace.duckdbCreate the release:
gh release create vYYYY-MM-DD-syfi-trace \
trace/syfi_coding_trace.jsonl.gz \
trace/syfi_coding_trace.duckdb \
--repo uw-syfi/TraceLab \
--target main \
--title "TraceLab public trace snapshot YYYY-MM-DD" \
--notes "Public sanitized trace release. Assets include the compressed JSONL rows and a DuckDB database."If the release already exists, use gh release upload --clobber.
After drafting the PR:
gh pr view --repo uw-syfi/TraceLab --web
gh pr view --repo uw-syfi/TraceLab --json mergeable,mergeStateStatus # expect MERGEABLE / clean
git ls-remote fork refs/heads/mainAfter merge and release:
gh release view vYYYY-MM-DD-syfi-trace --repo uw-syfi/TraceLabCheck that release download URLs in README.md point to uw-syfi/TraceLab, and that the public
commit carries no internal remote URLs except intentional historical references.
© 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 .codex/skills/tracelab-public-release of uw-syfi/TraceLab.
Open the folder on GitHubat commit 11b8b14
Tracelab Public Release 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 |
|---|---|---|---|---|---|---|
| Tracelab Public Release this skilluw-syfi/TraceLab | 142 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Check PRonyx-dot-app/onyx | 32k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Create Pull Requestcline/cline | 70k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Pull Request Title and Body Writeropeninterpreter/openinterpreter | 69k | 2 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 |
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
onyx-dot-app/onyx
Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
cline/cline
Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.
openinterpreter/openinterpreter
Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
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
Sanitize normalized coding-trace JSONL rows for public sharing.
Categories
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. Tracelab Public Release is an agent skill from 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.
Tracelab Public Release fits situations like: refreshing the public site/artifacts; drafting a public release PR; reconciling a diverged public branch; creating GitHub releases with syficodingtrace.jsonl.gz and syficodingtrace.duckdb assets after the PR is merged.
Run `npx skills add uw-syfi/TraceLab --skill tracelab-public-release -a claude-code`. Or copy the skill folder (.codex/skills/tracelab-public-release in uw-syfi/TraceLab) into .claude/skills/tracelab-public-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add uw-syfi/TraceLab --skill tracelab-public-release -a codex`. Or copy the skill folder (.codex/skills/tracelab-public-release in uw-syfi/TraceLab) into .agents/skills/tracelab-public-release 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 tracelab-public-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tracelab-public-release, .gemini/skills/tracelab-public-release, .github/skills/tracelab-public-release and .opencode/skills/tracelab-public-release in your project.
Going by SKILL.md and its folder, Tracelab Public Release needs the command-line tools its instructions call (git, gh and rg) and credentials named API_KEY. Our summary lists: A credential in API_KEY.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. 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.
Tracelab Public Release 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 2.7k tokens (SKILL.md is roughly 11k 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 Tracelab Public Release: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Create Pull Request (cline/cline, 70k 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 142 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.