Claude Code Plugins

Community-maintained marketplace

Feedback

Jujutsu (jj) skill for the ikigai project

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name jj
description Jujutsu (jj) skill for the ikigai project

Jujutsu (jj)

Description

Standard jj operations for day-to-day development work.

Configuration

  • Remote: origin (github.com:mgreenly/ikigai.git)
  • Primary branch: main (bookmark)

Commit Policy

Commit Workflow

jj has no staging area. All file changes are automatically part of the working copy commit.

# Describe current working copy
jj describe -m "Your message"

# Commit and start new empty working copy
jj commit -m "Your message"

# Squash working copy into parent
jj squash

Run make check periodically to catch issues early.

Prohibited Operations

This skill does NOT permit:

  • Modifying the main bookmark locally
  • Merging into main locally
  • Force pushing to main

Merges to main only happen via GitHub PRs. All work is done on feature bookmarks, pushed to origin, and merged through pull requests on GitHub. Never merge locally.

Permitted Operations

  • Commit to feature/fix bookmarks
  • Push feature/fix bookmarks to remote
  • Create new bookmarks
  • Create and push tags
  • Fetch from remote
  • Rebase commits
  • Create new commits on any mutable revision

Common Commands

Task Command
Check status jj status
View changes jj diff
View log jj log
Describe commit jj describe -m "msg"
Commit (new working copy) jj commit -m "msg"
Squash into parent jj squash
Create bookmark jj bookmark create <name>
Update bookmark to @ jj bookmark set <name>
Push bookmark jj git push --bookmark <name>
Fetch from remote jj git fetch
Restore working copy jj restore
Edit existing commit jj edit <revision>
Create commit on revision jj new <revision>
Rebase jj rebase -d <destination>
Create tag jj tag set <name> -r <revision>
Push tag git push origin <tag>
List tags jj tag list

Key Concepts

Working Copy is Always a Commit

In jj, @ (working copy) is always a commit being edited. There's no staging area.

Bookmarks vs Branches

jj "bookmarks" are equivalent to git "branches". They're just named pointers to commits.

Immutable vs Mutable

  • = immutable (protected, can't change)
  • = mutable (can still edit)
  • @ = current working copy

"Update the bookmark"

When the user says "update the bookmark", find the most recent bookmark in @'s ancestry and move it to @ using jj bookmark set <name>.