Kedro Babysit
kedro-org/kedro
Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…
Compare two git branches (usually the current branch vs main) by running every example on each, capturing exit codes, logs, and editor screenshots, then diffing the results.
$ npx skills add elodin-sys/elodin --skill branch-regression -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install elodin-sys/elodin branch-regression --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/elodin-sys/elodin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/branch-regression .claude/skills/branch-regression && 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 "branch-regression" agent skill from https://github.com/elodin-sys/elodin/tree/main/.cursor/skills/branch-regression into .claude/skills/branch-regression/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "branch-regression", 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/elodin-sys/elodin/tree/main/.cursor/skills/branch-regressionType 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 elodin-sys/elodin --skill branch-regression -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install elodin-sys/elodin branch-regression --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elodin-sys/elodin.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/branch-regression .agents/skills/branch-regression && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "branch-regression" agent skill from https://github.com/elodin-sys/elodin/tree/main/.cursor/skills/branch-regression into .agents/skills/branch-regression/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "branch-regression", 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 elodin-sys/elodin --skill branch-regression -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install elodin-sys/elodin branch-regression --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elodin-sys/elodin.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/branch-regression .cursor/skills/branch-regression && 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 "branch-regression" agent skill from https://github.com/elodin-sys/elodin/tree/main/.cursor/skills/branch-regression into .cursor/skills/branch-regression/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "branch-regression", 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/elodin-sys/elodin.git --path .cursor/skills/branch-regression--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 elodin-sys/elodin --skill branch-regression -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install elodin-sys/elodin branch-regression --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elodin-sys/elodin.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/branch-regression .gemini/skills/branch-regression && 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 "branch-regression" agent skill from https://github.com/elodin-sys/elodin/tree/main/.cursor/skills/branch-regression into .gemini/skills/branch-regression/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "branch-regression", 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 elodin-sys/elodin branch-regressionInstalls 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 elodin-sys/elodin --skill branch-regression -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/elodin-sys/elodin.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/branch-regression .github/skills/branch-regression && 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 "branch-regression" agent skill from https://github.com/elodin-sys/elodin/tree/main/.cursor/skills/branch-regression into .github/skills/branch-regression/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "branch-regression", 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 elodin-sys/elodin --skill branch-regression -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install elodin-sys/elodin branch-regression --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elodin-sys/elodin.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/branch-regression .opencode/skills/branch-regression && 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 "branch-regression" agent skill from https://github.com/elodin-sys/elodin/tree/main/.cursor/skills/branch-regression into .opencode/skills/branch-regression/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "branch-regression", 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.
branch-regressionCompare two git branches (usually the current branch vs main) by running every example on each, capturing exit codes, logs, and editor screenshots, then diffing the results.
Branch Regression is an agent skill from elodin-sys/elodin. Compare two git branches (usually the current branch vs main) by running every example on each, capturing exit codes, logs, and editor screenshots, then diffing the results. Use when the user asks to regression-test a branch, compare branches, check a branch for example breakage, or A/B the editor output before merging.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `capture_branch.sh` and `compare_runs.py`).
It sits in Development, covering Git workflow. The repository describes itself as: Elodin simulation and flight software monorepo. The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 784483e. 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.
Ships script files (Shell and Python), which the agent can run.
Shell commands in SKILL.md call:
nixgitjustbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, 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.
Branch Regression loads about 1.6k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 668 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 elodin-sys/elodin at commit 784483e, republished under its Apache-2.0 licence (© elodin-sys). 668 words, ~1,607 tokens.
.claude/skills/branch-regression/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Runs the same example suite on a base branch (usually main) and the current
branch, then compares run results, exit codes, new WARN/ERROR log lines, and
screenshots. Screenshots are not expected to match 100% (sims are
non-deterministic) — they should be close barring an issue.
Requires: Linux host with display + GPU (editor screenshots), nix develop,
repo root as cwd.
- [ ] 0. Preflight: clean tree, record current branch
- [ ] 1. Base pass: checkout base, build, capture
- [ ] 2. Head pass: checkout original branch, build, capture
- [ ] 3. Compare + visually inspect flagged screenshots
- [ ] 4. Report (and confirm you are back on the original branch)git status --porcelain # MUST be empty
HEAD_BRANCH=$(git branch --show-current)
BASE_BRANCH=main # or the branch the user named
OUT=ai-context/branch-regression/$(date +%Y-%m-%d)-$BASE_BRANCH-vs-$HEAD_BRANCH
mkdir -p "$OUT"
if [ -f "$OUT/shell-id.txt" ]; then
ELODIN_SHELL_ID=$(cat "$OUT/shell-id.txt")
else
ELODIN_SHELL_ID="${ELODIN_SHELL_ID:-branch-regression-$(date +%Y%m%d-%H%M%S)}"
printf '%s\n' "$ELODIN_SHELL_ID" > "$OUT/shell-id.txt"
fi
export ELODIN_SHELL_IDIf there is any staged or uncommitted work, STOP and ask the user to commit or stash it themselves. Never stash, commit, or discard on their behalf.
Use the same OUT and ELODIN_SHELL_ID when resuming an interrupted run. Never
create a fresh shell ID for each branch or example. A caller may choose any
path-safe name by exporting ELODIN_SHELL_ID before starting, for example:
export ELODIN_SHELL_ID="branch-regression-$(date +%Y%m%d-%H%M%S)"Named shell directories persist for later passes and resumed sessions. Shells
that start without an explicit ID use a numeric process/session ID and contain
target/shells/$ELODIN_SHELL_ID/garbage-collectable; the Nix shell may remove
those after the process dies.
For each branch (base first, then head):
git switch "$BASE_BRANCH" # then later: git switch "$HEAD_BRANCH"
nix develop --command bash -lc \
'just install && bash .cursor/skills/branch-regression/capture_branch.sh "$1"' \
_ "$OUT/base"
# head pass writes to "$OUT/head"capture_branch.sh writes <example>.png, <example>.log, <example>.exit
per example plus commit.txt. Default example set is the known-good editor
gallery (ball, three-body, drone, rc-jet, apollo-lander, video-stream,
sensor-camera, cube-sat, voyager, geo-frames); pass example names to override.
Headless-only examples (frames, linalg, stablehlo, cube-sat-pysim) are run with
elodin run for logs/exit only — add them explicitly if wanted.
Build and capture must run in the same nix develop invocation. Each Nix shell
has its own virtual environment, so a separate capture shell cannot import the
Python package installed by just install. Both branch passes must also inherit
the same named ELODIN_SHELL_ID, which reuses the virtual environment and bin
directory instead of creating a new session. Still run just install after
switching branches so each pass tests binaries built from its own commit.
Rules baked into the script (do not work around them):
video-stream and voyager before each run.ELODIN_SCREENSHOT_EXIT=1 + watchdog; a missing/empty PNG is a capture
failure, not proof of a regression — retry once before flagging.Always git switch back to $HEAD_BRANCH when done or on any error.
nix develop --command uv run python .cursor/skills/branch-regression/compare_runs.py \
"$OUT/base" "$OUT/head" --rmse-threshold 0.05 --html "$OUT/report.html" \
> "$OUT/report.md"Prints a markdown table (exit codes, new WARN/ERROR count, screenshot RMSE,
verdict), writes report.html, and exits 1 if anything is flagged. The HTML
report must include base/head screenshot thumbnails for every example; each
thumbnail links to the full-size image. Always generate both report formats.
Then, for every flagged example, Read both PNGs and judge visually:
RMSE above threshold with equivalent-looking scenes = note and pass. Missing geometry, blank viewport, dead graphs, or a new panic = regression.
Summarize per example: base vs head exit code, new WARN/ERROR lines (quote
them), RMSE, visual verdict. State the two commits compared (from
commit.txt). Distinguish regressions (head worse than base) from
pre-existing issues (present in both).
compare_runs.py only reports WARN/ERROR lines that are new in head
(timestamps stripped, deduped) — noisy-but-stable warnings on both branches do
not flag. Lines that differ only by a pointer/tick number may still slip
through; use judgment.
target/release/elodin or
Python wheel silently tests the wrong branch. commit.txt in each capture
dir is the audit trail.voyager needs SPICE kernels under examples/voyager/nasa_spice_data/;
video-stream needs the GStreamer plugins from nix develop. If a
prerequisite is missing on both branches, drop the example rather than
flagging it.ELODIN_SCREENSHOT_DELAY); heavy
examples may need 25 s. Same delay on both branches, or RMSE is meaningless.ai-context/; never commit captures.ELODIN_SHELL_ID from shell-id.txt before entering nix develop.© elodin-sys, 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 2 other files in .cursor/skills/branch-regression of elodin-sys/elodin.
Open the folder on GitHubat commit 784483e
Branch Regression 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 |
|---|---|---|---|---|---|---|
| Branch Regression this skillelodin-sys/elodin | 547 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Kedro Babysitkedro-org/kedro | 11k | — | ~4k | Automated safety check: Pass | Custom licence | |
| Fulfill Git Escrowinternet-court/internet-court-skill | 6.5k | 1 repos | ~1.2k | Automated safety check: Notes | MIT | |
| Git Upstream Syncwado-lang/wado | 117 | — | ~855 | Automated safety check: Pass | MIT | |
| Qv SDK PR Statustetherto/qvac | 683 | — | ~638 | Automated safety check: Pass | Apache-2.0 | |
| PR WorkflowChorus-AIDLC/Chorus | 1.2k | — | ~938 | Automated safety check: Notes | AGPL-3.0 |
kedro-org/kedro
Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…
internet-court/internet-court-skill
Fulfill a git escrow bounty by writing a solution or submitting an existing one.
wado-lang/wado
The only way to merge origin/main into a branch, conflicts or not.
tetherto/qvac
Team-wide PR dashboard for the SDK pod. An agent skill from tetherto/qvac.
Chorus-AIDLC/Chorus
Complete workflow for submitting code changes — create branch, commit, open PR, check CI, fix failures, and merge.
nexu-io/open-design
Safely track pull request feedback, resolve review comments or merge conflicts, validate fixes, and use a read-only cross-review before committing or pushing follow-up changes.
elodin-sys/elodin
Work with the Cranelift JIT MLIR backend. An agent skill from elodin-sys/elodin.
elodin-sys/elodin
Work with Elodin-DB, the time-series telemetry database. An agent skill from elodin-sys/elodin.
elodin-sys/elodin
Develop and contribute to the Elodin codebase. An agent skill from elodin-sys/elodin.
elodin-sys/elodin
Contribute to the Elodin Editor, the 3D viewer and graphing tool.
elodin-sys/elodin
Run the Elodin Editor without a physical display in Gamescope, take screenshots, and record video through PipeWire and GStreamer.
elodin-sys/elodin
Develop and calibrate simulations against experimental truth data using elodin monte-carlo.
Categories
Compare two git branches (usually the current branch vs main) by running every example on each, capturing exit codes, logs, and editor screenshots, then diffing the results. Branch Regression is an agent skill from elodin-sys/elodin. Compare two git branches (usually the current branch vs main) by running every example on each, capturing exit codes, logs, and editor screenshots, then diffing the results.
Branch Regression fits situations like: the user asks to regression-test a branch; compare branches; check a branch for example breakage; A/B the editor output before merging.
Run `npx skills add elodin-sys/elodin --skill branch-regression -a claude-code`. Or copy the skill folder (.cursor/skills/branch-regression in elodin-sys/elodin) into .claude/skills/branch-regression in your project. Claude Code loads it when a task matches its description.
Run `npx skills add elodin-sys/elodin --skill branch-regression -a codex`. Or copy the skill folder (.cursor/skills/branch-regression in elodin-sys/elodin) into .agents/skills/branch-regression 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 elodin-sys/elodin --skill branch-regression -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/branch-regression, .gemini/skills/branch-regression, .github/skills/branch-regression and .opencode/skills/branch-regression in your project.
Going by SKILL.md and its folder, Branch Regression needs a shell and Python for the scripts in its folder and the command-line tools its instructions call (nix, git, just and bash). Our summary lists: Python 3; A Bash shell.
SKILL.md contains no URLs. Its commands use git, 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 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.
Branch Regression 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.6k tokens (SKILL.md is roughly 6.4k 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 Branch Regression: Kedro Babysit (kedro-org/kedro, 11k stars), Fulfill Git Escrow (internet-court/internet-court-skill, 6.5k stars), Git Upstream Sync (wado-lang/wado, 117 stars) and Qv SDK PR Status (tetherto/qvac, 683 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
elodin-sys (a GitHub organization) maintains it in elodin-sys/elodin, which has 547 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 9, 2026.
Source: elodin-sys/elodin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.