Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
schpet avatar

Jj

  • 5 installs
  • 5 repo stars
  • Updated June 1, 2026
  • schpet/toolbox

Helps with ai & agent building tasks.

About

jj is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • jj
  • AI & Agent Building
  • AI-coding skill

Jj by the numbers

  • 5 all-time installs (skills.sh)
  • Ranked #13,046 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Jul 27, 2026 (Skillselion catalog sync)
npx skills add https://github.com/schpet/toolbox --skill jj

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs5
repo stars5
Last updatedJune 1, 2026
Repositoryschpet/toolbox

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

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:

CommandProblemSolution
jj describeOpens editorAlways use -m "message"
jj commitOpens editorAlways use -m "message"
jj splitOpens diff editor + may open editor for descriptionProvide filesets to select files; use -m for description
jj squashMay open editor for combined descriptionUse -m "message" or -u (use destination message)

Commands to avoid entirely (no non-interactive mode):

  • jj diffedit — use jj restore or edit files directly instead
  • jj config edit — use jj config set <key> <value> instead
  • jj sparse edit — use jj sparse set --add <path> or --remove <path> instead
  • jj 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

CommandDescription
jj statusShow working copy status
jj logShow commit history
jj newCreate a new change
jj describe -m "msg"Set commit message
jj squashSquash into parent
jj diffShow changes
jj git pushPush to remote
jj git fetchFetch from remote
jj bookmark create nameCreate a bookmark

Topics

In-depth guides on jj concepts and syntax.

  • Bookmarks
  • Config
  • Filesets
  • Glossary
  • Revsets
  • Templates
  • Tutorial

Command Reference

Documentation generated from jj manpages. For details on any command, read the corresponding reference file.

Bisect

  • jj-bisect-run

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

  • jj-config-edit
  • jj-config-get
  • jj-config-list
  • jj-config-path
  • jj-config-set
  • jj-config-unset

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

  • jj-gerrit-upload

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

  • jj-simplify-parents

Sparse

  • jj-sparse-edit
  • jj-sparse-list
  • jj-sparse-reset
  • jj-sparse-set

Tag

  • jj-tag-delete
  • jj-tag-list
  • jj-tag-set

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.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.