Creates GitHub pull requests from Jujutsu changes with AI-generated descriptions. Use when the user wants to create a PR, push changes for review, or open a pull request.
/plugin marketplace add HotThoughts/jj-skills/plugin install hotthoughts-jj@HotThoughts/jj-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill enables creating GitHub pull requests from jj changes with automatically generated PR descriptions based on the diff.
CRITICAL: This workflow requires jj and gh CLI access with authentication. Always use:
required_permissions: ["all"]
When the user asks to create a PR (e.g., "create a PR", "push for review", "open PR for @-"):
Default to @- (parent of working copy) unless the user specifies a different change.
# Get the change ID being pushed
jj log -r <change> --no-graph -T 'change_id ++ "\n"' | head -1
Extract the first line of the change's description:
jj log -r <change> -T description --no-graph | head -1
If empty, use a default like "Update from jj change".
Get the diff to understand what changed:
jj diff -r <change>
Based on the diff, write a concise PR description:
Example format:
## Summary
Brief description of what this PR accomplishes.
## Changes
- Added X to handle Y
- Refactored Z for better performance
- Fixed bug where A caused B
jj git push -c <change>
Parse the branch name from output. Look for patterns:
Creating bookmark <branch> or Add bookmark <branch>Move sideways bookmark <branch> fromFallback if not found:
jj log -r <change> -T 'bookmarks' --no-graph
gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
Fallback to main if unavailable.
gh pr create \
--base <default_branch> \
--head <branch_name> \
--title "<pr_title>" \
--body "<generated_description>" \
--assignee @me
User: "Create a PR for @-"
# 1. Get title
jj log -r @- -T description --no-graph | head -1
# Output: "feat: add user authentication"
# 2. Get diff
jj diff -r @-
# (analyze the output)
# 3. Push change
jj git push -c @-
# Output: "Creating bookmark push-abc123..."
# 4. Get default branch
gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
# Output: "main"
# 5. Create PR with generated description
gh pr create \
--base main \
--head push-abc123 \
--title "feat: add user authentication" \
--body "## Summary
Adds JWT-based user authentication to the API.
## Changes
- Added auth middleware for token validation
- Created login and register endpoints
- Added user model with password hashing" \
--assignee @me
When generating the description:
gh pr view to see existing PRThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.