
jj
by schpet
teaching claude new tricks via skills
SKILL.md
name: jj description: Jujutsu (jj) version control workflows and commands. Use this skill when working with jj repositories, managing changes, squashing commits, rebasing, or performing jj-specific operations.
Jujutsu (jj) Version Control
Agent Usage
When reading data from jj, always use --ignore-working-copy to avoid snapshotting the working copy (which is slow and unnecessary for read operations).
Non-interactive Commands (Critical)
Many jj commands spawn $EDITOR or interactive diff tools by default. These will hang indefinitely when run by agents. Always use the non-interactive alternatives:
| Command | Problem | Solution |
|---|---|---|
jj describe | Opens editor | Always use -m "message" |
jj commit | Opens editor | Always use -m "message" |
jj split | Opens diff editor + may open editor for description | Provide filesets to select files; use -m for description |
jj squash | May open editor for combined description | Use -m "message" or -u (use destination message) |
Commands to avoid entirely (no non-interactive mode):
jj diffedit— usejj restoreor edit files directly insteadjj config edit— usejj config set <key> <value>insteadjj sparse edit— usejj sparse set --add <path>or--remove <path>insteadjj resolve— edit conflict markers directly in files, or use--tool :ours/--tool :theirs
Agent-Friendly Output Formats
jj's default diff and conflict formats differ from Git's. For easier parsing, use Git-compatible formats:
Diffs: Use the --git flag for unified diff output:
jj diff --git
jj log -p --git
jj show --git
Conflicts: jj uses diff-based conflict markers by default (%%%%%%%, +++++++). For standard Git-style markers (<<<<<<<, =======, >>>>>>>), pass --config when running commands that may create conflicts:
jj --config ui.conflict-marker-style=git rebase ...
jj --config ui.conflict-marker-style=git new --insert-before ...
The conflict style is applied when conflicts are materialized to the working copy, so the config must be set before the conflict occurs.
JSON: For structured/programmatic output, use the json(self) template:
jj log --ignore-working-copy --no-graph -T 'json(self) ++ "\n"'
Outputs one JSON object per line with commit_id, change_id, description, author, etc. Works with jj log, jj show, and other commands that support -T.
Common Commands
| Command | Description |
|---|---|
jj status | Show working copy status |
jj log | Show commit history |
jj new | Create a new change |
jj describe -m "msg" | Set commit message |
jj squash | Squash into parent |
jj diff | Show changes |
jj git push | Push to remote |
jj git fetch | Fetch from remote |
jj bookmark create name | Create a bookmark |
Topics
In-depth guides on jj concepts and syntax.
Command Reference
Documentation generated from jj manpages. For details on any command, read the corresponding reference file.
Bisect
Bookmark
- jj-bookmark-create
- jj-bookmark-delete
- jj-bookmark-forget
- jj-bookmark-list
- jj-bookmark-move
- jj-bookmark-rename
- jj-bookmark-set
- jj-bookmark-track
- jj-bookmark-untrack
Config
File
- jj-file-annotate
- jj-file-chmod
- jj-file-list
- jj-file-search
- jj-file-show
- jj-file-track
- jj-file-untrack
General
- jj
- jj-abandon
- jj-absorb
- jj-bisect
- jj-bookmark
- jj-commit
- jj-config
- jj-describe
- jj-diff
- jj-diffedit
- jj-duplicate
- jj-edit
- jj-evolog
- jj-file
- jj-fix
- jj-gerrit
- jj-git
- jj-help
- jj-interdiff
- jj-log
- jj-metaedit
- jj-new
- jj-next
- jj-operation
- jj-parallelize
- jj-prev
- jj-rebase
- jj-redo
- jj-resolve
- jj-restore
- jj-revert
- jj-root
- jj-show
- jj-sign
- jj-sparse
- jj-split
- jj-squash
- jj-status
- jj-tag
- jj-undo
- jj-unsign
- jj-util
- jj-version
- jj-workspace
Gerrit
Git
- jj-git-clone
- jj-git-colocation
- jj-git-colocation-disable
- jj-git-colocation-enable
- jj-git-colocation-status
- jj-git-export
- jj-git-fetch
- jj-git-import
- jj-git-init
- jj-git-push
- jj-git-remote
- jj-git-remote-add
- jj-git-remote-list
- jj-git-remote-remove
- jj-git-remote-rename
- jj-git-remote-set-url
- jj-git-root
Operation
- jj-operation-abandon
- jj-operation-diff
- jj-operation-log
- jj-operation-restore
- jj-operation-revert
- jj-operation-show
Simplify
Sparse
Tag
Util
- jj-util-completion
- jj-util-config-schema
- jj-util-exec
- jj-util-gc
- jj-util-install-man-pages
- jj-util-markdown-help
Workspace
- jj-workspace-add
- jj-workspace-forget
- jj-workspace-list
- jj-workspace-rename
- jj-workspace-root
- jj-workspace-update-stale
Generated from jj manpages (jj 0.37.0)
License
The content in the references/ directory is derived from the jj (Jujutsu) project and is licensed under the Apache License 2.0.
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です