← ClaudeAtlas

jujutsu-workflowlisted

Use when a coding agent works in a repository where Jujutsu (jj) is available (a `.jj/` directory) — running jj commands, making speculative edits, splitting changes, recovering with the operation log (jj undo / jj op restore), handing off a PR to Git/GitHub/GitLab, updating a PR after review, or coordinating parallel agents. Uses jj as the local change-management layer while keeping Git as the canonical remote, PR, CI, and audit interface. Also use to avoid jj's agent footguns (pager/editor hangs, commit absorption, colocated git/jj desync) or to replace fragile git reset/checkout/stash/rebase recovery with reversible jj operations.
netresearch/jujutsu-workflow-skill · ★ 6 · AI & Automation · score 69
Install: claude install-skill netresearch/jujutsu-workflow-skill
# Jujutsu Workflow **Prefer `jj` (Jujutsu) over raw `git`** whenever a `.jj/` repo is present. Git stays the canonical remote/PR/CI/audit interface: mutate with `jj`, verify with read-only Git. ## 1. Detect & gate first Run `${CLAUDE_SKILL_DIR}/scripts/detect_jj_state.sh`, or check manually: - `.jj/` present → jj repo: use `jj`, never **mutating** raw `git`. - `.jj/` **and** `.git/` → colocated: mutate with `jj`, read with git, never touch the git index/staging. - only `.git/` → plain Git repo: do not introduce `jj` unless asked. - in a git worktree, `jj root` ≠ `git rev-parse --show-toplevel` → **shadowed** (exit 3): jj answers for the parent repo. Run no `jj`; use git, then ask. See [references/git-interop.md](references/git-interop.md). ## 2. Agent-safety rules (non-negotiable) - Always `--no-pager` on commands that print. Do **not** write `ui.paginate` into the user's config — `--user` outlives the session and takes paging away from their interactive `jj` too. - Always `-m`. **Never** run editor/TUI forms — bare `jj describe|commit|squash`, `jj split` (interactive), `jj squash -i`, `jj resolve`, `jj diffedit` — they hang agents. - `jj` snapshots the working copy only when a jj command runs, **not** on every file write. See [references/agent-safety.md](references/agent-safety.md). ## 3. Edit loop ```bash jj --no-pager status # edit files (snapshotted on the next jj command) jj --no-pager diff jj describe -m "<project-conventional message>" jj new -m "<next unit>"