agentsclimarketplace

Jj update pr

Skill HotThoughts/jj-skills/skills/jj-update-pr

Updates existing GitHub pull request descriptions with AI-generated content based on the current diff. Use when the user wants to update a PR description, refresh PR content, or sync PR with latest changes.From its SKILL.md

Install
npx -y skills add HotThoughts/jj-skills --skill jj-update-pr

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.1 KB, as published. Nobody here has run it

Update GitHub PR Description

This skill enables updating existing pull request descriptions with fresh AI-generated content based on the current state of the change.

Permission Requirements

CRITICAL: This workflow requires jj and gh CLI access with authentication. Always use:

required_permissions: ["all"]

Workflow

When the user asks to update a PR description (e.g., "update the PR", "refresh PR description", "sync PR with changes"):

Step 1: Identify the Change

Default to @- (parent of working copy) unless the user specifies a different change.

Step 2: Get the Branch Name

jj log -r <change> -T 'bookmarks' --no-graph

Step 3: Verify PR Exists

gh pr view <branch>

If no PR exists, suggest using the jj-create-pr workflow instead.

Step 4: Get Updated Title

Extract the first line of the change's description:

jj log -r <change> -T description --no-graph | head -1

If the description is empty, run the Description Check Protocol (see jj-workflow skill) to generate a conventional commit description from the diff, then re-extract the title:

  1. Check jj status — if @ is a placeholder (no modified files), evaluate @- carefully: verify it has a non-empty diff AND no trunk bookmarks (main, master, main@origin) before targeting it. If @- carries a trunk bookmark, ask the user which change to use.
  2. Analyze jj diff -r <change> to understand what changed
  3. Determine the conventional commit type (feat/fix/refactor/perf/docs/chore/test) from the diff
  4. Set the description: jj describe -r <change> -m "type: concise description" (or use --stdin if preserving an existing body — see jj-workflow protocol)
  5. Re-run the title extraction command to get the exact first line

Step 5: Analyze the Current Diff

jj diff -r <change>

Step 6: Generate Updated PR Description

Based on the diff, write a fresh PR description:

  • Summary: One sentence describing the overall change
  • Changes: Bullet points of key modifications
  • Keep it brief and focused on "what" and "why"

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

Step 7: Update the PR

Update both title and body:

gh pr edit <branch> --title "<new_title>" --body "<new_description>"

Or update body only:

gh pr edit <branch> --body "<new_description>"

Complete Example

User: "Update the PR for @-"

# 1. Get branch name
jj log -r @- -T 'bookmarks' --no-graph
# Output: "push-abc123"

# 2. Verify PR exists
gh pr view push-abc123
# (shows PR details)

# 3. Get updated title (generates one from diff if description is empty — see Step 4)
jj log -r @- -T description --no-graph | head -1
# Output: "feat: add user authentication"
# If empty: run the Description Check Protocol to generate one, then re-extract

# 4. Get current diff
jj diff -r @-
# (analyze the output)

# 5. Update PR with new description
gh pr edit 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
- Updated API documentation"

When to Use

  • After making additional changes to a commit that already has a PR
  • When the original PR description is outdated or incomplete
  • After rebasing or squashing changes
  • When the user asks to "refresh" or "update" the PR

Error Handling

  • If no bookmark/branch exists on the change, the PR may not be findable—ask user for PR number
  • If PR doesn't exist, suggest creating one with jj-create-pr workflow
  • If update fails, show the error and suggest checking PR status with gh pr view

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.