---
name: elianiva-jj
description: "Uses the jj (Jujutsu) version control system. Use when asked about jj commands, git push/fetch workflow, or rebasing onto main for non git repo"
disable-model-invocation: true
metadata:
  decimalai-skill-id: "5724f29d-9399-4160-aa04-0f073c7dc695"
  decimalai-version-id: "5abe0da6-9c0a-4c42-8195-24ebeb608425"
  decimalai-version: "1"
  decimalai-body-sha256: "2261e8cd98d448375aa25c23568511295bfbaaedca027ed39a2a7ec6d5068932"
  decimalai-name: "elianiva/jj"
  decimalai-format: "1"
  decimalai-invocation: "user"
  decimalai-category: "devops"
  decimalai-source: "https://app.decimal.ai/s/elianiva-jj@1/SKILL.md"
---
# jj (Jujutsu) Workflow

Jujutsu is a Git-compatible VCS. This documents the user's workflow.

## Aliases
- jj tug: Move closest bookmark to @- (Advances bookmark to parent of working copy)
- jj retrunk: Rebase onto trunk() (Rebases current branch onto latest main/master)
- jj lg: Log recent 10 (Shows all revisions, limit 10)
- jj compare: Compare working copy with parent (Shows changes between working copy and parent)

## Key Concepts
- `@` refers to the working copy commit
- `@-` refers to the parent of working copy
- `trunk()` finds the most recent main/master/trunk on remote
- `closest_bookmark(@-)` finds the nearest bookmark ancestor

## Conflict Resolution
When conflicts occur after `jj retrunk`:
1. `jj status` shows conflicted files
2. Edit files to resolve conflicts
3. `jj squash` or continue working - jj auto-tracks changes
