jj
Use Jujutsu (jj) effectively for everyday development, including stacked changes, bookmarks, Git remote sync, and safe history rewrites.
Skill by luckenco
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/luckenco-jj
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/jj
What's inside
- Skill name
jj- Description
- Use Jujutsu (jj) effectively for everyday development, including stacked changes, bookmarks, Git remote sync, and safe history rewrites.
- License
- MIT
- Instructions
- 89 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# JJ Workflow ## Goal Help the agent execute safe, fast, low-friction version control workflows with Jujutsu. ## Default VCS Policy If the repository has JJ metadata (`.jj/`) or is JJ/Git colocated, use `jj` instead of `git` for normal VCS tasks. - Prefer `jj st`, `jj log`, `jj diff`, `jj new`, `jj describe`, `jj squash`, `jj split`, `jj rebase`, `jj git fetch`, and `jj git push`. - Use raw `git` only when JJ does not support a required operation, and state that exception explicitly. ## When To Use Use this skill when the task involves: - Inspecting repo/change state (`jj st`, `jj log`, `jj diff`) - Creating or updating changes (`jj describe`, `jj new`, `jj squash`, `jj split`) - Reshaping history (`jj rebase`, `jj abandon`) - Recovering from mistakes (`jj undo`, `jj op log`) - Syncing with Git remotes (`jj git fetch`, `jj git push`, bookmarks) ## Core Mental Model 1. Work is a DAG of mutable changes. 2. The working copy commit (`@`) is updated automatically when commands snapshot file changes. 3. `jj new` starts the next change; `jj squash` folds current work into a parent. 4. Bookmarks are named pointers (like Git branches) used mainly for collaboration and push/fetch. 5. If a graph edit goes wrong, prefer `jj undo` first. ## Default Command Sequence Use this loop unless the user asks for a different flow: 1. Check state: `jj st` and `jj log -r '::@' -n 8` 2. Describe current work: `jj describe -m "<message>"` 3. Make/edit files 4. Review: `jj diff --git` 5. Start next change: `jj new -m "<next message>"` (or plain `jj new`) 6. Refine history as needed: `jj squash`, `jj split`, `jj rebase` 7. Sync: `jj git fetch` then `jj git push --bookmark <name>` ## Practical Patterns ### Update current change - Edit files, then run `jj st` or `jj diff` (snapshots happen automatically). - Keep message current with `jj describe -m "<message>"`. ### Start a new stacked change - `jj new -m "<message>"` to create a child change and move `@` to it. ### Fold fixups into previous change - From fixup change: `jj squash --into @-` - For partial fold: `jj squash --into @- --interactive` ### Split one large change - `jj split` (interactive by default) and put selected hunks in the first change. ### Move a change in the stack - `jj rebase -r <rev> -d <destination>` - Re-check with `jj log -r '::@' -n 12` ### Recover quickly - Undo last operation: `jj undo` - Inspect operation history: `jj op log` - Restore/target prior operation only when needed: `jj --at-op <opid> st` ## Bookmarks And Git - Create/move bookmark to publish work: `jj bookmark set <name> -r <rev>` - Push bookmark: `jj git push --bookmark <name>` - Track remote bookmark when needed: `jj bookmark track <name>@origin` - Verify local/remote positions: `jj bookmark list` Note: JJ does not have an "active branch"; the working copy is tied to `@`, not a bookmark checkout. ## Safety Rules 1. Always inspect before/after graph edits with `jj st` and `jj log`. 2. Prefer `jj undo` over ad-hoc repair commands. 3. Avoid rewriting clearly shared immutable history unless explicitly requested. 4. When unsure about flags for local JJ version, run `jj help <command>`. ## Quick Reference - State: `jj st`, `jj log`, `jj show`, `jj diff` - Authoring: `jj describe`, `jj new`, `jj commit` - Rewrite: `jj squash`, `jj split`, `jj rebase`, `jj abandon` - Recovery: `jj undo`, `jj op log`, `jj op restore` - Remote: `jj git fetch`, `jj git push`, `jj bookmark ...` ## References - JJ docs (latest): https://docs.jj-vcs.dev/latest/ - JJ tutorial: https://docs.jj-vcs.dev/latest/tutorial/ - JJ Git comparison: https://docs.jj-vcs.dev/latest/git-comparison/ - JJ operation log docs: https://docs.jj-vcs.dev/latest/operation-log/ - Jujutsu for busy devs: https://maddie.wtf/posts/2025-07-21-jujutsu-for-busy-devs#entry-1
From luckenco/pinnacle, MIT.
More from luckenco/pinnacle
- 0.561score
hillclimb
luckenco
Iteratively improve one measured metric against a target.
SkillAFreshness: AClaude Code +9 - 0.541score
create-verification-skill
luckenco
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillAFreshness: AClaude Code +9 - 0.541score
how
luckenco
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which…
SkillAFreshness: AClaude Code +9 - 0.541score
interrogate
luckenco
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillAFreshness: AClaude Code +9 - 0.536score
arena
luckenco
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Feb 26, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/luckenco/pinnacle
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from luckenco
- 0.561score
hillclimb
luckenco
Iteratively improve one measured metric against a target.
SkillAFreshness: AClaude Code +9 - 0.541score
create-verification-skill
luckenco
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillAFreshness: AClaude Code +9 - 0.541score
how
luckenco
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which…
SkillAFreshness: AClaude Code +9 - 0.541score
interrogate
luckenco
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillAFreshness: AClaude Code +9 - 0.536score
arena
luckenco
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it.
SkillAFreshness: AClaude Code +9
Cite this page
jj skill. Agent Mart. https://agentmart.dev/skills/luckenco-jj (last updated 2026-10-24)