jj-commit
Create a jujutsu commit with a well-crafted commit message based on the current diff and your commit style.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create a jujutsu commit with a well-crafted commit message based on the current diff and your commit style.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Convert a message from standard Markdown to Slack's mrkdwn formatting and copy it to the clipboard, ready to paste into Slack. Trigger phrases "copy for slack", "/copy-for-slack", "format this for slack", "slackify this", "make this slack-ready", "copy that to slack", "give me a slack version".
Create or update GitHub pull requests for jj branches, including stacked PRs, existing PR updates, signed pushes, bookmark handling, PR body/title formatting, BLUF descriptions, dual BLUF (stack goal + this-PR goal) for stacked PRs, stack sections, and body-file based gh commands. Use whenever creating a PR, updating a PR after review fixes, pushing PR branch changes, or editing PR descriptions.
Jujutsu VCS workflows and custom aliases. Use when working with jj commands, commits, revsets, or version control operations.
Evaluate an RTK version upgrade for safety and compatibility before updating
Mise taskrunner automation patterns. Use when adding, modifying, migrating, converting, or rewriting tasks, running commands, or understanding task structure.
Dotfiles repo task structure. Use when working with this repo's mise tasks (brew, dot, nvim, system, etc.).
| name | jj-commit |
| description | Create a jujutsu commit with a well-crafted commit message based on the current diff and your commit style. |
| argument-hint | [optional: brief description of changes] |
Create a commit for current changes with a commit message matching your style in this repo.
User hint: $ARGUMENTS
--config git.sign-on-push=false) or by changing config to disable signing.Determine commit mode in this order:
$ARGUMENTS contains --auto or --yes, mode is auto.$ARGUMENTS contains --confirm, mode is confirm.AGENTS.md at repo root for a line formatted as:
jj-commit-default: auto|confirmconfirm.Remove mode flags from $ARGUMENTS before using the remaining text as the
user hint.
Run jj diff --stat to see which files are affected and the scale of changes.
Then decide how much more context you need:
In-session changes — If the current conversation already contains context about why these files were modified (you made the changes, or they were discussed), the stat is sufficient. You already know the motivation; use the session context to write the commit message. Do not re-read the full diff.
Out-of-session changes — If the working copy contains changes you have no
context for (fresh session, manual edits, external tool), run rtk jj diff
to understand what changed semantically. RTK compresses the output; full raw
diff is in ~/.local/share/rtk/tee/ if needed.
If the user asked to commit only specific files or paths, scope both the stat
and any full diff to those paths (jj diff --stat <paths>, rtk jj diff <paths>) and treat the request as a scoped commit. Do not include unrelated
working-copy changes.
If there are no changes (empty diff), inform the user there's nothing to commit.
Run jj log --no-pager -r "mine() & ~empty()" --limit 15 -T 'description.first_line() ++ "\n"' to see the user's recent commit messages for style reference.
Analyze the commit messages to identify the style used in this repo:
type(scope): description)?[category] or category:?Match whatever style you observe in the user's commits.
Based on:
Draft a commit message that matches the style used in this repo.
Subject line (first line):
Body (after a blank line):
The message should look like it belongs with the other commits in the repo.
If mode is confirm, present the proposed commit message and ask the user
to choose:
If the user wants to edit, ask for their preferred message. Loop until the user approves.
If mode is auto, skip confirmation. Still show the final message before
committing.
Run jj commit -m "<approved or auto-selected message>".
For a scoped commit, include the requested paths:
jj commit <paths> -m "<approved or auto-selected message>"
Use jj commit (not jj describe) so that @ advances to a new empty revision, ready for more work.
Confirm success to the user.