jujutsu

Guides agents through Jujutsu version control operations with non-interactive command patterns.

3|Updated Sep 18, 2025
One-click install
npx skills add https://github.com/KingMichaelPark/dotfiles --skill jujutsu-kingmichaelpark
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jujutsu
Source: https://github.com/KingMichaelPark/dotfiles/tree/main/ai/.agents/skills/jj
Command: npx skills add https://github.com/KingMichaelPark/dotfiles --skill jujutsu-kingmichaelpark

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI agents working in repositories managed by Jujutsu (jj) often hang on interactive pagers and editor prompts, misuse git commands, or produce messy commit histories. This Skill provides the exact command patterns and safety rules for operating jj correctly in automated environments. ## Core Features & Use Cases - Agent-Safe Command Patterns: Enforces --no-pager and inline -m message flags so commands never block on interactive prompts. - Mutable Commit Workflows: Covers describing, squashing, absorbing, rebasing, splitting, and abandoning commits to keep history atomic and clean. - Bookmarks, Workspaces, and Git Interop: Explains bookmark management, multi-workspace handling, and safe git fetch/push integration in colocated repos. - Use Case: An agent asked to implement a feature uses jj desc -m to set the commit message first, edits files, verifies with jj st, and refines the commit with jj squash or jj absorb before finishing. ## Quick Start Use the jujutsu skill to create a new commit describing my change, then show me the current repository status and recent log.

Frequently Asked Questions about jujutsu

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use Jujutsu jj commands in an automated agent environment?

Always pass --no-pager to output-producing commands like jj log, jj diff, and jj show, and use -m flags for messages instead of editor prompts. Interactive commands like jj squash -i or jj split will hang agents and must be avoided.

What is the difference between jj change IDs and commit IDs?

A change ID is a stable identifier that persists when a commit is rewritten, while a commit ID is a content hash that changes whenever the commit content changes. Prefer change IDs when referencing commits in commands.

Can I use git commands in a jj colocated repository?

In a colocated repository where both .jj and .git directories exist, you should still use only jj commands. Mixing git commands risks corrupting jj state, and in non-colocated repos git commands must never be used.

How do I undo a mistake like an accidental jj abandon or rebase?

Run jj undo to revert the repository to its state before the previous operation. This recovers from mistakes like accidental abandon, squash, or rebase operations.

Why does jj diff output look different from git diff?

The default jj diff uses a side-by-side line number format rather than git's +/- prefix format, which is normal behavior. Use jj diff --git to get the standard unified diff format with plus and minus lines.

How do jj bookmarks differ from git branches?

Bookmarks are jj's equivalent of git branches, but they do not automatically move when you create new commits. You must manually update them with jj bookmark move before pushing with jj git push.