onevcat-jj — Claude Code skill for jj workflows
Teaches a coding agent to handle local changes with jj and exchange work through a Git remote. Useful when agent tasks run in a jj repository.
npx skills add lis186/ccxray --skill onevcat-jj -a claude-codeWhat onevcat-jj does
The skill guides an agent through recognizing a jj repository and choosing jj for local version-control work, including repositories that also contain .git/. It explains changes as the unit of work, with edits belonging to the current change, and bookmarks as names used to connect work to Git branches. The remote remains standard Git.
Instructions cover inspecting the change graph and diffs, describing or splitting changes, switching to another change, and undoing operations. They also walk through fetching, tracking remote bookmarks, and pushing; parallel workspaces are included. jj must be installed for its commands to run. Claude Code installation uses npx.
For an existing Git repository, the skill shows jj git init --colocate. When .jj/ is present, it directs the agent to use jj for local operations, so the agent does not mix local Git commands into the workflow. The listed platforms also include Codex, Cursor, GitHub Copilot, Gemini CLI, and OpenCode.
What it helps with
- identify whether a repository uses jj
- inspect change history and diffs with jj
- start a fresh change for another task
- move changes onto a new base or undo an operation
- create a bookmark and push it to a Git remote
Example prompts for the agent
- Check whether this repository uses jj and show its current state.
- Start a separate task from
masterand describe the change as a bug fix. - Create a bookmark for the current change and push it to the Git remote.
How to install onevcat-jj
1Skills CLI (Vercel)
npx skills add lis186/ccxray --skill onevcat-jj -a claude-code2Manually: put the files in place
~/.claude/skills/onevcat-jj/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/onevcat-jj/
1Skills CLI (Vercel)
npx skills add lis186/ccxray --skill onevcat-jj -a codex2Manually: put the files in place
.agents/skills/onevcat-jj/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add lis186/ccxray --skill onevcat-jj -a cursor2Manually: put the files in place
.cursor/skills/onevcat-jj/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install lis186/ccxray onevcat-jj2Manually: put the files in place
.github/skills/onevcat-jj/SKILL.md1Skills CLI (Vercel)
npx skills add lis186/ccxray --skill onevcat-jj -a gemini-cli2Platform CLI
gemini skills install https://github.com/lis186/ccxray --path .claude/skills/onevcat-jjManually: put the files in place
.devin/skills/onevcat-jj/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add lis186/ccxray --skill onevcat-jj -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about onevcat-jj
How do I install onevcat-jj in Claude Code?
Run npx skills add lis186/ccxray --skill onevcat-jj -a claude-code. The skill file is at ~/.claude/skills/onevcat-jj/SKILL.md.
What does onevcat-jj do?
It teaches an agent to inspect jj repositories, work with changes, reorganize history, and exchange changes through a Git remote.
Can I use jj with a regular Git remote?
Yes. Local version-control operations use jj, while the remote stays standard Git; the skill covers bookmarks and jj's Git commands for pushing and fetching.