onevcat-jj

Replace git commands with jj equivalents for local version control operations.

Updated Mar 28, 2026
One-click install
npx skills add https://github.com/MisLink/agentry --skill onevcat-jj
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: onevcat-jj
Source: https://github.com/MisLink/agentry/tree/main/agents/.agents/skills/onevcat-jj
Command: npx skills add https://github.com/MisLink/agentry --skill onevcat-jj

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Many repositories are managed locally with jj instead of git, and using git commands in those contexts causes confusion, lost time, and incorrect workflows. This Skill clarifies when to prefer jj, how jj's change-centric model differs from git, and how to perform common version-control tasks safely in jj-managed projects.

Core Features & Use Cases

  • Change-first workflow: Explains jj's model where the working copy is a change, there is no staging area, and every file edit belongs to the current change.
  • Common operations: Covers inspecting state, describing and switching changes, splitting and rebasing changes, creating bookmarks for remote pushes, and recovery via undo and operation restore.
  • Agent patterns: Provides agent-friendly patterns such as starting the next task with jj new, interrupting and resuming work with jj edit/jj new, and skeleton planning with sequential changes.
  • Real-world example: Use jj in a colocated repository to implement a multi-step refactor by creating skeleton changes, editing each change in order, and publishing only the necessary bookmarks to remote.

Quick Start

Start a fresh task by running jj new and then set the change description with jj describe -m "feat: short summary" before implementing your changes.

Frequently Asked Questions about onevcat-jj

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

FAQPage Schema
How do I manage local version control in a jj repository instead of using git?

The jj model uses change-centric version control where the working copy is a change and there is no staging area. Every file edit belongs to the current change, eliminating the need for staging operations.

How do I push my local jj changes to a remote repository?

To push local jj changes to a remote, you create bookmarks that map to remote branches. You then publish only the necessary bookmarks to the remote repository using jj's remote mapping features.

Can I use jj in a colocated git repository?

Yes, jj works in colocated repositories where a .jj directory and a .git directory exist together. This allows you to perform multi-step refactors using jj commands while maintaining the existing git remote setup.

What is the best way to start a new task using jj?

The best way to start a fresh task in jj is running jj new to create a new change. You then set the change description with jj describe -m "feat: short summary" before implementing your file changes.

How do I undo or recover from incorrect version control operations in jj?

You can recover from incorrect operations in jj using the undo and op restore features. These recovery functions allow you to safely restructure your work and revert unintended changes or operations.