jujutsu

Automates jj workflows for creating atomic describe-first commits with squash, split, absorb, and git colocation validation via jj st.

66|12|Updated Jan 13, 2026
One-click install
npx skills add https://github.com/danverbraganza/jujutsu-skill --skill jujutsu-danverbraganza
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jujutsu
Source: https://github.com/danverbraganza/jujutsu-skill/tree/main/jujutsu
Command: npx skills add https://github.com/danverbraganza/jujutsu-skill --skill jujutsu-danverbraganza

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you safely manage Jujutsu (jj) VCS by providing a clear, structured workflow for creating atomic, high-quality commits without relying on an editor-based workflow in non-interactive environments.

Core Features & Use Cases

  • Describe-first commits: Proactively define commit messages before changes to ensure clarity.
  • Atomic & mutable commits: Build commits in small, focused units and refine them as needed.
  • Git integration guidance: Seamlessly work with colocated git repos and switch between jj and git when required.
  • Use Case: A typical feature work session uses describe-first commits, followed by squashes and absorbs to maintain a clean history.

Quick Start

Use jj desc -m "Add feature X" before implementing the change, then use jj new and jj squash to finalize.

Frequently Asked Questions about jujutsu

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

FAQPage Schema
How do I use jj to create atomic commits with describe-first workflow?

Describe-first workflow in jj means writing your commit message before implementing changes. Use jj desc -m "Your message" to set the commit description upfront, then implement your changes. This ensures clarity and lets you build focused, atomic commits incrementally using jj new and jj squash to refine history.

Can I use jujutsu with git repositories?

Yes. Jujutsu works with colocated git repositories, letting you switch between jj and git workflows as needed. The Skill guides seamless integration with git repos and helps maintain clean history across both version control systems.

What's the best way to refine and clean up jj commit history?

Use jj squash and jj absorb to refine mutable commits and maintain a clean history. After mutations, validate results with jj st to ensure your changes are correct. This approach keeps your commit graph organized without relying on editor-based workflows.

How do I avoid editor prompts when working with jj in non-interactive environments?

Enforce inline commit messages using the -m flag with jj commands. This bypasses editor prompts entirely and works reliably in non-interactive environments or CI/CD pipelines while maintaining describe-first discipline.

When should I use atomic commits in jj instead of larger commits?

Atomic commits isolate focused changes and simplify history refinement. Use them during typical development sessions when building features incrementally—each commit represents a single logical unit that can be tested, reviewed, or squashed independently.