Understand and work with Jujutsu (jj) version control system. Use when the user mentions commits, changes, version control, or working with jj repositories. Helps with stack-based commit workflows, change curation, and jj best practices.
Limited to specific tools
Additional assets for this skill
This skill is limited to using the following tools:
Jujutsu (jj) - Git-compatible VCS with:
jj op log, use jj op restore to time travelvs Git: No staging area, edit any commit (jj edit), conflicts stored in commits
@)Current commit is always @:
jj log -r @ - Current commitjj log -r @- - Parent commitjj log -r 'ancestors(@, 5)' - Recent stackState:
jj new@ (new files tracked automatically via /jj:commit)jj describe -m "message" or /jj:commitjj newWhy stack: Individual review, easy reordering, incremental shipping, clean history
/jj:commitTodoWrite: One commit per major todo, jj new between todos
Every jj command auto-snapshots. Use jj op log, jj undo, or jj op restore <id> for time travel.
Viewing state: jj status, jj log, jj show, jj diff
Creating commits:
/jj:commit (not jj describe directly)Organizing commits:
/jj:split <pattern> when mixing concerns (tests+code)/jj:squash for multiple WIP commitsUndoing: jj undo, jj op restore, jj abandon
/jj:commit [message] - Stack commit with message generation/jj:split <pattern> - Split by pattern (test, docs, config)/jj:squash [revision] - Merge commits/jj:cleanup - Remove empty workspacesRepository blocks git write commands via hook. Prefer jj equivalents:
git status → jj statusgit commit → /jj:commitgit log → jj loggit checkout → jj newDo: Stack commits, describe clearly (what/why), use plan-driven workflow, leverage jj op log, split mixed concerns
Don't: Mix git/jj, leave work undescribed, create monolithic commits, forget everything is undoable