Guides Claude on using Jujutsu (jj) version control system. Use when working with jj repositories, making commits, syncing changes, or managing version control workflows.
/plugin marketplace add HotThoughts/jj-skills/plugin install hotthoughts-jj@HotThoughts/jj-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Jujutsu is a modern version control system that provides a simpler mental model than Git while remaining Git-compatible. This skill covers the core concepts and workflow commands.
kkmpptxz). Changes can be modified.@) is always a change that can be modified freely.@ and represents your current state.@- refers to the parent of the working copy.CRITICAL: Jujutsu commands require GPG signing and SSH/GitHub authentication. Always request elevated permissions when running jj or gh commands:
required_permissions: ["all"]
Never run jj commands in the default sandbox—they will fail due to authentication requirements.
jj status # Show working copy status
jj log # View commit history
jj diff # Show uncommitted changes
jj show @ # Show current change details
jj new # Create a new empty change on top of @
jj describe -m "feat: message" # Set commit message for current change
jj new -m "feat: message" # Create new change with message
jj tug # Fetch updates and rebase current change onto latest remote
jj git fetch # Fetch from remote without rebasing
jj git push # Push current changes to remote
jj squash # Squash current change into parent
jj squash --into @- # Explicitly squash into parent
jj split <file> -m "msg" # Split specific files into their own commit
jj edit <change-id> # Edit an existing change
jj branch create <name> # Create a branch pointing to @
jj branch set <name> # Move branch to current change
jj branch list # List all branches
Use Conventional Commits format:
feat: — New featurefix: — Bug fixrefactor: — Code change that neither fixes a bug nor adds a featureperf: — Performance improvementdocs: — Documentation changeschore: — Maintenance taskstest: — Adding or updating testsExamples:
jj describe -m "feat: add user authentication"
jj describe -m "fix: resolve null pointer in parser"
jj describe -m "refactor: extract validation logic"
jj tug # Sync with remote
jj new -m "feat: new feature" # Start new change
# ... make changes ...
jj new # Finalize and start next
Simply make changes—they're automatically included in @. Use jj describe to update the message if needed.
jj tug # Fetches and rebases in one command
jj log -r 'remote_branches()..@' # Changes not yet on remote
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.