jjlisted
Install: claude install-skill Divyxnk44x/jjtask
<objective>
Provide expert guidance for JJ version control operations. Help users understand JJ's mental model (immutable change IDs, auto-snapshots, conflicts don't block) and execute commands correctly.
</objective>
<quick_start>
```bash
jj log -r <revset> [-p] # View history (-p: diffs)
jj show -r <rev> # Revision details
jj new [-A] <base> # Create revision (-A: insert after)
jj edit <rev> # Switch to revision
jj desc -r <rev> -m "text" # Set description
jj diff # Changes in @
jj restore <fileset> # Discard changes
jj rebase -s <src> -o <dest> # Rebase onto dest
jj undo # Undo last operation
```
</quick_start>
<success_criteria>
- JJ operation completed without error
- Working copy (@) in expected state
- Revision graph reflects intended structure
- For rebases/splits: no unintended conflicts introduced
</success_criteria>
<core_principles>
- Change IDs (immutable) vs Commit IDs (content-hash, changes on edit)
- Operations log: every operation can be undone (progressive `jj undo`, `jj redo` reverses)
- No staging area: working copy auto-snapshots
- Conflicts don't block: resolve later
- Commits are lightweight: edit freely
- Colocated by default: Git repos have both `.jj` and `.git` (since v0.34)
- Three DSLs:
- revsets: select revisions (a change ID is a valid singleton revset)
- filesets: s