jj-version-control

Manage JJ version control history with revsets and bookmarks.

Updated Nov 17, 2025
One-click install
npx skills add https://github.com/ci/persops --skill jj-version-control
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jj-version-control
Source: https://github.com/ci/persops/tree/main/modules/ai/skills/jj-version-control
Command: npx skills add https://github.com/ci/persops --skill jj-version-control

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

JJ-based version control is often complex to manage, especially when coordinating commits, rebases, and bookmarks across multiple teammates. This skill provides a structured approach to history management using Jujutsu (jj), enabling auditable changes and smooth collaboration.

Core Features & Use Cases

  • Structured change management with jj new, describe, split, and squash to keep a clean history.
  • Stacked workflows and revsets to coordinate dependent changes and orderly pushes.
  • Conflict resolution and history-wide edits that propagate fixes downstream.

Quick Start

Start by creating a feature from main: jj new -r main -m "feat: initial implementation". Then describe ongoing work: jj describe -m "WIP". When ready to finalize, use jj squash and rebase as needed.

Frequently Asked Questions about jj-version-control

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage stacked changes and bookmarks in jj version control?

Maintain clean history in jj by using jj new to start features, jj describe for messages, and jj squash to combine related changes.

What is the best way to rebase commits and resolve conflicts in jujutsu?

Split commits in jujutsu using jj split to divide a single change into smaller, independent commits, keeping your version-control history structured and auditable.

Can I use revsets to coordinate dependent commits for a reliable push workflow?

Prepare push-ready changes in jj by using jj squash to combine work, jj rebase to reorder commits, and jj bookmark to set remote tracking names.

How does jujutsu handle conflict resolution when editing history across multiple commits?

Jujutsu handles conflict resolution during history-wide edits by propagating fixes downstream, ensuring that downstream commits reflect resolved conflicts automatically.