using-jj

Installation
SKILL.md

jj Workflow

For daily-command tables, git equivalents, troubleshooting, parallel-experiment patterns, immutable-heads disable/restore commands, recommended config, and the full revset cheatsheet, see REFERENCE.md.

Philosophy

  1. Commits are cheap, descriptions are mandatory. The working copy is always a commit. Never leave it as "(no description set)".
  2. Experiment freely, the oplog is your safety net. jj undo and jj op restore make anything reversible.
  3. Conflicts are state, not emergencies. jj records conflicts in commits as structured data; rebase still succeeds.
  4. Change IDs are your handle on work. Commit hashes change on rewrite; change IDs don't.
  5. Bookmarks exist for GitHub, not for you. Work with anonymous changes; add bookmarks only when pushing.
  6. Keep the stack shallow. Squash early.
  7. Use absorb over manual squash routing. Let jj distribute hunks to the right ancestor.
  8. Colocated = invisible to the team. Teammates see standard git.

CRITICAL: AI-specific rules

Always pass -m — unset opens an editor and blocks the agent:

Installs
65
GitHub Stars
8
First Seen
Mar 17, 2026
using-jj — trevors/dot-claude