{"slug": "skill-to-teach-your-agents-how-to-use-jujutsu-vcs", "title": "Skill to teach your agents how to use Jujutsu VCS", "summary": "An Agent Skill published for Claude Code and other compatible AI coding agents teaches them to use the Jujutsu (jj) version control system, tested against jj v0.46.0. In an end-to-end evaluation run with Harbor, the skill let Claude Code complete 36% more tasks than without it: 100% of trials succeeded with the skill (90 of 90) versus 73% without it (66 of 90), using the same 30 scenarios with three trials each against jj 0.46.0. The skill emphasizes describe-first commits, atomic commits, commit quality preservation and clean history via squash, split and absorb, and installs by copying the jujutsu/ directory into a project's .claude/skills/ directory or ~/.claude/skills/ for a global install.", "body_md": "An Agent Skill that helps AI coding agents work with the Jujutsu (jj) version control system.\n\nThis repository provides an Agent Skill for Claude Code and other compatible AI agents to effectively use the Jujutsu VCS. The skill teaches agents the proper workflow and commands for creating atomic, well-documented commits using jj.\n\n**Tested with:** jj v0.46.0\n\nThis skill is designed for jj v0.46.0 and may work with other versions, though compatibility is not guaranteed. The [latest eval run](https://github.com/danverbraganza/jujutsu-skill/blob/main/evals/results/2026-11-03-skill-improvements.md) passes on both v0.37.0 and v0.46.0.\n\nJujutsu (jj) is a Git-compatible version control system that offers several advantages:\n\n- **Working copy as a commit** : The working directory is always a commit, automatically snapshotting changes\n- **No staging area** : Changes are moved directly between commits using`squash` and`split`\n- **Automatic rebasing** : Descendant commits are automatically rebased when parent commits change\n- **Mutable commits** : Commits can be freely edited, split, and squashed\n- **Change IDs** : Stable identifiers that persist across commit rewrites\n- **Conflict handling** : Conflicts can be committed and resolved later\n\nIf you use [just](https://github.com/danverbraganza/jujutsu-skill/blob/main/just.systems), you can run:\n\n```\njust install\n```\n\nCopy the `jujutsu/` directory into your project's `.claude/skills/` directory:\n\n```\ncp -r jujutsu/ /path/to/your/project/.claude/skills/jujutsu/\n```\n\nOr install it as a global skill:\n\n```\ncp -r jujutsu/ ~/.claude/skills/jujutsu/\njujutsu/\n└── SKILL.md    # Main skill file with jj workflow instructions\n```\n\nThe skill emphasizes:\n\n1. **Describe-first commits** : Use`jj desc -m \"message\"` before making changes\n2. **Atomic commits** : Each commit should represent one logical change\n3. **Commit quality preservation** : Leverage jj's mutability to refine commits\n4. **Clean history** : Use`squash` ,`split` , and`absorb` to maintain a readable history\n\nIn an end-to-end evaluation with [Harbor](https://harborframework.com/docs), the skill lets Claude Code\ncomplete 36% more tasks than it does without the skill: 100% of trials succeed with it (90 of 90), and\n73% without it (66 of 90). Both runs used the same 30 scenarios, three trials each, against jj 0.46.0.\n\nEach scenario gives the agent a plain-language request, such as \"Rebase my feature bookmark onto main\",\nin a real jj repo, and grades only the repo's end state. Most scenarios use a jj repo that is not\ncolocated with git, so git commands fail and the agent has to use jj. Scenarios about using jj and git\ntogether run in a colocated repo. Only Claude Code has been tested so far, with `claude-sonnet-5-5`.\n\n`evals/` holds the scenarios and the harness. Each scenario runs in a container with an official jj\nrelease. Any agent Harbor supports works, including Claude Code and pi.\n\n```\njust eval-selftest 0.46.0              # check every scenario with Harbor's oracle and nop agents, no API calls\njust eval 0.46.0                       # run Claude Code on the scenarios against jj 0.46.0\njust eval 0.46.0 --agent pi --model anthropic/claude-sonnet-5\njust eval 0.46.0 --no-skill            # the same scenarios without the skill, for comparison\n```\n\nSee [evals/README.md](https://github.com/danverbraganza/jujutsu-skill/blob/main/evals/README.md) for credentials, the scenarios, and the diagnostics.\n\nContributions are welcome. Please ensure any changes are compatible with jj v0.46.0; `just eval 0.46.0` checks this.\n\nMIT", "url": "https://wpnews.pro/news/skill-to-teach-your-agents-how-to-use-jujutsu-vcs", "canonical_source": "https://github.com/danverbraganza/jujutsu-skill", "published_at": "2026-11-06 01:12:03+00:00", "updated_at": "2026-11-06 01:20:08.982378+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-research"], "entities": ["Jujutsu", "Claude Code", "Harbor", "jj v0.46.0", "jj v0.37.0", "claude-sonnet-5-5", "pi"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/skill-to-teach-your-agents-how-to-use-jujutsu-vcs", "markdown": "https://wpnews.pro/news/skill-to-teach-your-agents-how-to-use-jujutsu-vcs.md", "text": "https://wpnews.pro/news/skill-to-teach-your-agents-how-to-use-jujutsu-vcs.txt", "jsonld": "https://wpnews.pro/news/skill-to-teach-your-agents-how-to-use-jujutsu-vcs.jsonld"}}