Jujutsu Workflow
Stop coding agents losing work and corrupting branch state in git: use Jujutsu (jj) as the local change layer — reversible op-log undo, conflicts-as-data, non-interactive history surgery — while Git stays the canonical remote/PR/CI interface. Proven with evals to beat pure git for agents.
Install
Choose a supported route below. Package contents, agent registration and runtime dependencies can differ between installers.
-
Claude Code via this marketplace /plugin install jujutsu-workflow@netresearch-claude-code-marketplaceFirst add the marketplace once in Claude Code:
/plugin marketplace add netresearch/claude-code-marketplace. Then install the selected plugin. For setup and installation scopes, seeClaude Code plugin setupA plugin can include several skills and additional components. -
npx interactive skill selection npx skills add https://github.com/netresearch/jujutsu-workflow-skillRequires Node.js 22.20+. Run from the target project, then choose the source skills and agents in the installer. Uses the skills CLI from
skills.shInstalls skill instructions. Extra plugin hooks, commands and external runtime tools are not installed by this route. -
composer require PHP project, as a package composer require netresearch/jujutsu-workflow-skillAllow the Composer skill installer to activate and approve skill registration when prompted. Requires
netresearch/composer-agent-skill-pluginDiscovers trusted skill packages and registers their instructions in AGENTS.md. Runtime tools may need separate setup. -
composer skills:add PHP project, direct source composer skills:add netresearch/jujutsu-workflow-skillInstall and activate netresearch/composer-agent-skill-plugin first; approve the selected source's skill registration. Provided by
netresearch/composer-agent-skill-pluginPins source repositories without a Packagist package and records them incomposer.skills.lock. Runtime dependencies remain separate.
What you can do with it
- A coding agent works in a repository where
jjis installed or allowed. - You use
jj/ Jujutsu, patch stacks, or speculative iterative edits. - You need to recover agent edits with
jj op log/jj undo/jj op restore. - You split agent-generated changes, hand off a PR from
jj, or update a PR after review comments. - You want to replace fragile
git reset/checkout/stash/rebaserecovery with reversiblejjoperations.
What you get back
- A local change described or committed with
jj, with unrelated edits split. - A Git-visible branch/bookmark pushed for PR creation, never targeting a protected branch.
- A final verification block reporting both
jjand Git state plus any tests or lints that were run.
What it expects in your project
- A Git-backed repository (colocated
jj/Git preferred), withjjinstalled locally. - Project governance is respected: branch protection, CODEOWNERS, commit conventions, signed commits, CI gates.
- External access: none beyond the Git remote (GitHub/GitLab) the project already uses.