What problem does it solve?
Resolving merge conflicts across a stack of Jujutsu (jj) changes is tedious and error-prone, especially when fixing an ancestor conflict can cascade and resolve descendant conflicts. This Skill automates the detection, resolution, and build verification of conflicts across a revset.
Core Features & Use Cases
- Conflict Detection: Finds all conflicted changes in a target revset using
jj log -r '(<revset>) & conflicts()', ordered oldest to newest.
- Bottom-Up Resolution: Creates fix changes with
jj new -A, resolves jj-style conflict markers, and handles autogenerated Rust headers via make generate-rust-headers.
- Build Verification: Runs
./build.sh FORCE RUN_RUST_TESTS or RUN_UNIT_TESTS after each fix, formats Rust code with cargo fmt, and optionally squashes fixes into their parent changes.
- Use Case: After rebasing a branch in a jj repository, multiple changes show conflicts. Invoke this Skill to walk through each conflicted change from oldest to newest, resolve the markers, verify the build, and squash the fixes.
Quick Start
Ask the AI to fix all conflicts in the current jj branch using the jj-fix-conflicts skill with default arguments.