Skip to main content

git-pr-sync-check

Checks whether the current PR branch is still live and in sync (merged/behind/changes-requested). Use when continuing work on a PR branch before adding commits.

معلومات المصدر

المستودع
laurigates/claude-plugins
آخر نشاط في المصدر
٢٢ أغسطس ٢٠٢٦ في ٠٤:٥٥
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٥٨
التفرعات
٦

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
3 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
git-pr-sync-check
description
Checks whether the current PR branch is still live and in sync (merged/behind/changes-requested). Use when continuing work on a PR branch before adding commits.
args
[--project-dir <path>]
argument-hint
[--project-dir <path>]
allowed-tools
Bash(bash *), Bash(git fetch *), Bash(git rev-list *), Bash(git status *), Bash(git branch *), Bash(gh pr view *), Read, TodoWrite
created
2026-06-17T00:00:00.000Z
modified
2026-08-21T00:00:00.000Z
reviewed
2026-06-17T00:00:00.000Z
# /git:pr-sync-check Read-only guard that answers one question before you build further on a PR branch: **is this branch still live and in sync with the remote?** It fetches origin, computes ahead/behind, and reads the branch's PR state, then returns a single `VERDICT`. Read-only — it fetches but never changes branch or working-tree state. ## When to Use This Skill | Use this skill when... | Use the alternative when... | |------------------------|-----------------------------| | An **additional in-session request** continues work on a branch that already has a PR | Starting brand-new work — just create a branch | | About to add commits to a branch whose PR may have **merged** while you worked | Use `/git:pr-feedback` to *act on* review threads once you know there are some | | A push was rejected, or you suspect a teammate / another agent / a CI auto-fix **pushed under you** | Use `/git:coworker-check` for *local-checkout* coworker collisions (uncommitted files) | | You want CI / review state for the current branch's PR at a glance | Use `/git:triage` to categorize **many** PRs at once | This is the *remote* sibling of `/git:coworker-check` (which detects local uncommitted-file collisions). See `.claude/rules/pr-branch-sync.md` for the rationale and `.claude/rules/agent-coworker-detection.md` for the local case. ## Context - Current branch: !`git branch --show-current` - Tracking / ahead-behind: !`git status --porcelain=v2 --branch` ## Parameters Parse `$ARGUMENTS`: | Flag | Effect | |------|--------| | `--project-dir <path>` | Run against a specific checkout/worktree (default: current dir) | ## Execution Run this check, then act on the verdict. ### Step 1: Run the detection script ```bash bash ${CLAUDE_SKILL_DIR}/scripts/check-pr-sync.sh --project-dir "$(pwd)" ``` The script emits a structured block (per `.claude/rules/structured-script-output.md`) with `BRANCH`, `AHEAD`, `BEHIND`, `PR_NUMBER`, `PR_STATE`, `MERGED_AT`, `REVIEW_DECISION`, `CI_STATUS`, a single `STATUS=` and a single `VERDICT=`. ### Step 2: Interpret the verdict Parse the `VERDICT=` line and act: | `VERDICT` | Meaning | Action | |-----------|---------|--------| | `in_sync` | Branch tracks an open PR and is up to date | Proceed — keep building on this branch | | `behind` | Local tip is behind `origin/<branch>` | **Reconcile first** — `git pull --rebase` (or resolve the divergence) so you build on the current tip and avoid a rejected push / needless conflict, then continue | | `pr_merged` | The branch's PR is **MERGED** (`PR_STATE=MERGED`, `MERGED_AT` set) | **Stop adding commits here.** The merged branch is a dead end; create a fresh branch off the updated default (`git fetch && git switch -c <new> origin/<default>`) and put the new work there | | `pr_closed` | The PR is CLOSED unmerged | Confirm this branch is still where the work belongs before adding commits; if the PR was abandoned, branch off the default instead | | `changes_requested` | The PR has `CHANGES_REQUESTED` reviews | Summarise the outstanding threads and **recommend the user run `/git:pr-feedback`** before piling on unrelated work — it is `disable-model-invocation`, so surface it rather than invoking it | | `no_pr` | On the default branch, or no PR for this branch | No PR-branch staleness to worry about — proceed | | `no_remote` | Not a git repo, or no `origin` remote | Nothing to check; proceed | If `CI_STATUS=FAILING` on an otherwise-`in_sync` branch, surface it and consider `/git:fix-pr` before adding more on top of red CI. ### Step 3: Report Print the verdict, the ahead/behind counts, the PR number/state, and the recommended next action. If the verdict is anything other than `in_sync` / `no_pr` / `no_remote`, **stop and reconcile** (or ask the user) before adding commits. ## Agentic Optimizations | Context | Command | |---------|---------| | One-line verdict | `bash scripts/check-pr-sync.sh \| awk -F= '/^VERDICT=/{print $2}'` | | Full structured block | `bash scripts/check-pr-sync.sh --project-dir "$(pwd)"` | | Behind count only | `bash scripts/check-pr-sync.sh \| awk -F= '/^BEHIND=/{print $2}'` | ## Related Skills - `/git:coworker-check` — local-checkout sibling (uncommitted-file collisions) - `/git:pr-feedback` — act on review threads / failing CI once detected - `/git:pr-watch` — subscribe to a PR and react to reviews/CI as they arrive - `/git:triage` — categorize many PRs at once (`mergeStateStatus` / `mergedAt`) - `/git:fix-pr` — fix failing PR checks
عرض على GitHub