A guide to using Jujutsu, covering commit management, branching, rebasing, and Git-compatible operations.

Install

mkdir -p .claude/skills/jujutsu && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1688" && unzip -o skill.zip -d .claude/skills/jujutsu && rm skill.zip

Installs to .claude/skills/jujutsu

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Guide to Jujutsu (jj) version control system. Use when working with commits, branches, pull requests, PRs, version control, rebasing, pushing, or when the user mentions jj, git, or version control operations.
208 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Perform version control operations without staging
  • Manage commits as the primary working unit
  • Handle rebasing and pushing via bookmarks
  • Undo recent operations
  • Translate Git commands to Jujutsu syntax

How it works

It treats the working copy as a commit, eliminating the need for an explicit staging area and using bookmarks to track branches.

Inputs & outputs

You give it
Version control command or operation request
You get back
Executed Jujutsu command or workflow guidance

When to use jujutsu

  • Squash commits in Jujutsu
  • Perform a rebase without staging files
  • Push bookmarks to a remote
  • Undo the last operation

About this skill

Jujutsu (jj) Version Control Guide

Jujutsu is a modern, Git-compatible version control system. This project uses jj colocated with git.

Key Differences from Git

ConceptGitJujutsu
Staging areaExplicit git addNone - working copy IS a commit
BranchesNamed refsBookmarks (auto-follow rewrites)
StashSeparate stash stackNot needed - just use commits
Amendgit commit --amendJust edit files, or use jj squash
IdentityCommit ID onlyChange ID (stable) + Commit ID

Essential Commands

TaskCommand
Statusjj status or jj st
Diffjj diff
Logjj log
Commit & continuejj commit -m "message"
Update messagejj describe -m "message"
New empty commitjj new
Squash into parentjj squash
Undo last operationjj undo
Fetch from remotejj git fetch
Push to remotejj git push
Create & push bookmarkjj git push --named name=@
Push existing bookmarkjj git push --bookmark name

Working Copy Model

The working copy (@) is always a commit. File changes are automatically tracked - no staging required.

parent commit
    ↓
@ (working copy) ← your edits go here automatically

Quick Git-to-Jujutsu Translation

GitJujutsu
git statusjj st
git diffjj diff
git logjj log
git add . && git commit -m "msg"jj commit -m "msg"
git pushjj git push
git pulljj git fetch then jj rebase -d main@origin
git checkout -b branchjj new main then jj bookmark set branch
git branchjj bookmark list
git stashjj new (just start new commit)
git blamejj file annotate

Additional References

When not to use it

  • When a project strictly requires standard Git staging workflows

Limitations

  • Requires understanding of the working copy as a commit model

How it compares

It replaces the Git staging area and stash stack with a model where every change is automatically a commit.

Compared to similar skills

jujutsu side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
jujutsu (this skill)57moNo flagsIntermediate
resolve-conflicts818moReviewIntermediate
dependency-upgrade265moReviewIntermediate
openspec-onboard106moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry