From jj-commands
Handles Jujutsu (jj) version control: describe changes as commits, push bookmarks, create PRs, resolve conflicts, revsets, stacked changes, undo in JJ workspaces.
npx claudepluginhub george-rd/claude-next-level --plugin jj-commandsThis skill uses the workspace's default tool permissions.
In JJ, the working copy is always a live commit (`@`). There is no staging area and no explicit commit step — every file change automatically amends `@` on the next `jj` command. The only actions needed are **describe** (label your work) and **push** (send to remote).
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
In JJ, the working copy is always a live commit (@). There is no staging area and no explicit commit step — every file change automatically amends @ on the next jj command. The only actions needed are describe (label your work) and push (send to remote).
Before any VC operation, verify you're in a JJ workspace with:
jj root >/dev/null 2>&1. If that succeeds, use only jj commands — never bare git.
In JJ, "committing" means describing the current change and moving on:
jj status, jj diff, jj log --limit 10jj describe -m "<message>" && jj newThat's it. No git add, no staging. The jj new creates a fresh change on top so future edits don't amend the described work.
jj bookmark list and jj log -r '@-'jj bookmark set <name> -r @-jj git push --bookmark <name> --allow-new
--allow-new flag is required the first time a bookmark is pushed. Omitting it causes the push to fail. Subsequent pushes don't need it.jj log --limit 5 to confirm the push landed@ has changes: jj describe -m "<message>" && jj newjj bookmark set <name> -r @-jj git push --bookmark <name> --allow-newjj log -r 'trunk()..@-'gh pr create --head "<name>" --title "<title>" --body "<summary + test plan>"Conflicts in JJ don't block work — you can keep working elsewhere and resolve later. To resolve:
jj log -r 'conflicts()'jj edit <change-id>jj resolve, or jj resolve --tool=:oursSafety: jj undo reverses any operation. jj op restore <id> jumps to any past state.
git commands in a JJ repo — only jj git ... subcommands--allow-new is required on first push of any bookmarkjj commit -m "msg" is shorthand for jj describe -m "msg" && jj newThe actions above cover the common workflows. Only read these for specific questions:
references/git-to-jj.md — ONLY when user asks "what's the jj equivalent of git X?"references/revsets.md — ONLY when building complex revset queries beyond the basics abovereferences/workflows.md — ONLY for stacked PRs with per-change bookmarks, Gerrit, workspaces, or colocated repo setup