skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
knoopx/pi126 installs

jujutsu

Manages version control with Jujutsu (jj), including rebasing, conflict resolution, and Git interop. Use when tracking changes, navigating history, squashing/splitting commits, or pushing to Git remotes.

How do I install this agent skill?

npx skills add https://github.com/knoopx/pi --skill jujutsu
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill provides comprehensive instructions for using the Jujutsu (jj) version control system, including syntax guides, workflow examples, and Git interoperability tips. No security risks were identified.

  • Socketpass

    No alerts

  • Snykwarn

    Risk: MEDIUM · 1 issue

  • Runlayerwarn

    1/1 file flagged

  • ZeroLeakspass

    Score: 93/100 · 2 sections analyzed

What does this agent skill do?

Jujutsu

Git-compatible VCS with a different data model — no staging area, changes are immediate. Every file is tracked in the working copy as "changes" (like commits without parents).

⚠️ Never use git for mutations in a jj repo — it corrupts history. Allowed: git log, git diff, git show, git blame, git grep.

Basic Workflow

Create a change, describe it, view history:

jj new                   # Start a new change (like working on a commit)
jj desc -m "feat: add login"  # Write the message
jj log                   # View history — this is your main view command
jj diff                  # See what changed in working copy

Edit an existing change:

jj edit <change-id>      # Switch to a specific change
# Make changes to files...
jj squash                # Move new edits into the parent change

Time Travel & Navigation

Jump to any point in history:

jj edit @-               # Go to parent
jj next --edit           # Go to child
jj edit <change-id>      # Jump to specific change
jj new --before @        # Insert a new change before current

Squash & Split Changes

Combine changes into one:

# Merge two changes together
jj squash -m "combined message"

# Split working copy into separate commits
jj split                 # Interactive — pick hunks to commit separately

Auto-move changes to relevant commits in a stack:

jj absorb                # Smart squashing across mutable revisions

Rebasing & Merging

Rebase changes onto another:

jj rebase -s @- -d main  # Rebase current change onto main
jj rebase -d main -s ::@ # Rebase all descendants of @ onto main

Merge two changes:

jj new x yz -m "merge"   # Create merge of x and yz

Conflicts

Resolve interactively:

# Edit conflicted files, then continue
jj resolve

Pushing to Git

Bookmarks are like branches. Track and push them:

jj bookmark create main -r @   # Create a bookmark at current change
jj git push --bookmark main    # Push that bookmark
jj git fetch                   # Fetch from remote
jj bookmark track main@origin  # Track a remote bookmark

Useful Patterns

Undo an operation: jj undo — reverses the last jj command.

Get git commit hash from jj change:

jj log -T 'commit_id\n' -r @           # Full hash
jj log -T 'commit_id.short()\n' -r @   # Short hash
git rev-parse @                        # Also works in colocated repos

Operation history: jj op log — see all jj operations.

Common Pitfalls

  • ❌ Use @~1 → ✅ Use @- (parent)
  • ❌ Use a,b,c for union → ✅ Use a | b | c (pipe, not comma)
  • ❌ Use jj changes → ✅ Use jj log or jj diff

Related Skills

  • conventional-commits: Commit message format
  • sem: Semantic analysis before writing commit messages

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/knoopx/pi/jujutsu">View jujutsu on skillZs</a>