using-jj

Manage Jujutsu repository operations and answer usage questions for version control workflows.

Updated Jul 9, 2020
One-click install
npx skills add https://github.com/feosuna1/dotfiles --skill using-jj-feosuna1
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: using-jj
Source: https://github.com/feosuna1/dotfiles/tree/main/files/claude/skills/using-jj
Command: npx skills add https://github.com/feosuna1/dotfiles --skill using-jj-feosuna1

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps users perform version control operations and answer usage questions in Jujutsu (jj) repositories by teaching jj's mental model and the commands, revsets, filesets, and workflows needed to operate safely and efficiently.

Core Features & Use Cases

  • Mental model guidance: explains the working copy as a commit, stable change IDs versus mutable commit IDs, automatic rebasing of descendants, conflicts stored as data, explicit bookmark movement, and universal undo.
  • Command and workflow reference: covers creating and editing changes, commit description, squashing, splitting, rebasing, absorbing, duplicating, abandoning, status/log/diff inspection, bookmark management, Git integration, conflict resolution, and recovery using operations history.
  • Revsets and filesets: describes symbols, operators, functions, string patterns, and common revset/fileset recipes for selecting commits and file subsets.
  • Use Case: ideal for developers onboarding to jj or for anyone needing to rewrite history, distribute hunks to ancestors, resolve conflicts, or push bookmarks to remotes while avoiding common pitfalls.

Quick Start

Show me how to create and describe a new change, push it to a remote bookmark, and recover if a rewrite causes unintended history changes.

Frequently Asked Questions about using-jj

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

FAQPage Schema
How does the jujutsu version control model handle the working copy?

In jujutsu version control, the working copy is treated as a commit, automatically tracking edits. This model eliminates staging, allowing direct modification and description of changes before finalizing history.

How do I resolve conflicts in jj when rewriting repository history?

Jujutsu handles conflicts by storing them as data within files. Inspect conflict state using revsets and filesets, then edit files directly to resolve markers before completing history rewrites.

What are revsets and how do I use them to inspect jj repository state?

Revsets are query expressions in jujutsu used to select commits and file subsets. Apply symbols, operators, and functions to filter history, enabling precise state inspection during version control workflows.

Can I integrate jujutsu with existing Git repositories?

Yes, jujutsu integrates directly with Git repositories. Manage jj repositories with full Git interoperability, including pushing local bookmarks to remotes, maintaining compatibility with existing Git workflows.

Why does jj automatically rebase descendants and how do I recover from unintended changes?

Jujutsu automatically rebases descendants to maintain history continuity after edits. Recover from unintended changes using universal undo and operations history to safely revert the repository state.

What is the best way to distribute hunks to ancestor commits in jujutsu?

Distribute hunks to ancestors in jujutsu using the absorb workflow. This automatically moves specific file changes to originating commits, streamlining history rewriting without manual rebase operations.