create-or-update-pr

A tool for creating or refreshing a GitHub pull request from the changes on the current code branch. A pull request is a request for others to review and merge code.

In plain words
What is it for?
Use it when opening a pull request or updating an existing one on the current non-main branch.
Why use it?
It keeps the pull request title and description aligned with the actual commits and file changes.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/lukascivil/json-difference/create-or-update-pr
Any agent
npx skills add lukascivil/json-difference --skill create-or-update-pr
Clone the repo
git clone --depth 1 https://github.com/lukascivil/json-difference

Made for: Claude Code, Codex.

Per session 107 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,965 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00107 $0.01965
Opus 5 $0.00053 $0.00983
Sonnet 5 $0.00021 $0.00393
Haiku 4.5 $0.00011 $0.00197

Measured 2d ago against content hash 668ccd69f957, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

create-or-update-pr scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/create-or-update-pr/SKILL.md · 198 lines

How it starts

The opening of the file, as written. The whole thing — 198 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Create or Update Pull Request

This skill creates a new PR for the current branch, or updates the existing PR if one is already open. In both cases, it regenerates the title (Conventional Commits) and body (Objective + What was done) from the actual diff and commit history. All output is in English, regardless of the conversation language.

When to use

Invoke this skill whenever the user wants to:

  • Open a PR for the current branch
  • Update an existing PR's title or description
  • Refresh the PR after new commits on the branch

Do not invoke for: merging, reviewing, closing PRs, or operations against a different branch.

Preconditions

Before doing any network action, verify:

  1. The repository has a GitHub remote (git remote -v shows github.com). If not, abort and tell the user.
  2. The current branch is not the main/master branch. Detect the main branch with gh repo view --json defaultBranchRef -q .defaultBranchRef.name. If the user is on it, abort and ask them to switch.
  3. The gh CLI is authenticated (gh auth status). If not, abort with instructions.
  4. There are commits on the current branch beyond the merge base with the default branch. If zero commits ahead, abort — nothing to PR.

Steps

1. Gather branch + repo context (parallel)

Run these commands in parallel:

git branch --show-current                                            # current branch
gh repo view --json defaultBranchRef -q .defaultBranchRef.name       # default/base branch
gh pr list --head "<current-branch>" --state open --json number,title,body,url --limit 1
git status --porcelain                                               # uncommitted changes check
git rev-parse --abbrev-ref "<current-branch>@{upstream}" 2>&1        # is branch pushed?

2. Gather change context (parallel)

Using the base branch discovered above:

git log <base>..HEAD --oneline                 # commit list
git diff <base>...HEAD --stat                   # files changed + insertions/deletions
git diff <base>...HEAD                          # full diff (truncate if huge)

Read the full file on GitHub · 198 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 198 lines · 107 tokens per session scan A 668ccd69f957

Subscribe to this mod's changes

create-or-update-pr is a skill published in the GitHub repository lukascivil/json-difference (58 stars, last pushed 20d ago), licensed MIT. It adds 107 tokens to every session and 1,965 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.