pr-from-stale-branch-silently-reverts-newer-main-files

pr-from-stale-branch-silently-reverts-newer-main-files is a skill for Claude Code from wan-huiyan/agent-traffic-control. It costs 387 tokens per session (4,718 once invoked), scanned A, original, MIT.

A guide to pull requests whose branch contains an old project snapshot and therefore records newer main-branch files as deletions. A pull request is a proposed set of changes for merging into another branch.

In plain words
What is it for?
Use it before creating or merging a pull request from a long-lived or rebuilt branch, especially after resets, stale worktrees, or manual staging.
Why use it?
It warns that Git can apply those accidental deletions without reporting a merge conflict, even when the pull request looks clean and tests pass.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter. Also seen: positional $N argument; mentions Claude Code.

Part of the agent-traffic-control plugin — 107 skills shipped together

Good fit Use it before creating or merging a pull request from a long-lived or rebuilt branch, especially after resets, stale worktrees, or manual staging.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/wan-huiyan/agent-traffic-control/pr-from-stale-branch-silently-reverts-newer-main-files
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.

Any agent
npx skills add wan-huiyan/agent-traffic-control --skill pr-from-stale-branch-silently-reverts-newer-main-files
Clone the repo
git clone --depth 1 https://github.com/wan-huiyan/agent-traffic-control

Made for: Claude Code.

Or install agent-traffic-control, the plugin that ships this one along with the rest of its 107 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pr-from-stale-branch-silently-reverts-newer-main-files

README.md
[![agentmods](https://agentmods.dev/badge/skills/wan-huiyan/agent-traffic-control/pr-from-stale-branch-silently-reverts-newer-main-files/github.svg)](https://agentmods.dev/skills/wan-huiyan/agent-traffic-control/pr-from-stale-branch-silently-reverts-newer-main-files)
Your own site
<a href="https://agentmods.dev/skills/wan-huiyan/agent-traffic-control/pr-from-stale-branch-silently-reverts-newer-main-files"><img src="https://agentmods.dev/badge/skills/wan-huiyan/agent-traffic-control/pr-from-stale-branch-silently-reverts-newer-main-files/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for pr-from-stale-branch-silently-reverts-newer-main-files

Your own site · 80×15
<a href="https://agentmods.dev/skills/wan-huiyan/agent-traffic-control/pr-from-stale-branch-silently-reverts-newer-main-files"><img src="https://agentmods.dev/badge/skills/wan-huiyan/agent-traffic-control/pr-from-stale-branch-silently-reverts-newer-main-files.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 387 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,718 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00387 $0.04718
Opus 5 $0.00193 $0.02359
Sonnet 5 $0.00077 $0.00944
Haiku 4.5 $0.00039 $0.00472

Measured 12d ago against content hash f7411505fe61, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

pr-from-stale-branch-silently-reverts-newer-main-files 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 12d 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.

plugins/agent-traffic-control/skills/pr-from-stale-branch-silently-reverts-newer-main-files/SKILL.md · 347 lines

How it starts

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

A PR from a stale branch can silently revert newer main files (no conflict)

Problem

Your branch's commit records a DELETION of files that are on main. Merging it applies that deletion, and there is no merge conflict — a removal your own side committed is not a conflict, it is a change git carries out. The PR looks "clean", mergeable: MERGEABLE, CI green, and the removals sit in the diff stat where nobody reads them.

Nobody decides to delete anything. The tree gets that way by accident:

  • git reset --soft origin/main (or --mixed then git add -A) run from a branch whose base was old. The POINTER lands on current main; the index still holds the OLD tree; the commit therefore records "delete everything added since" as part of your change.
  • Committing a stale worktree with git add -A. Same result — the tree you stage predates main, so everything main gained is staged as removed.
  • A branch re-created or re-pointed onto a newer base while its working tree stayed old.

What does NOT cause it: simply being behind main

A branch that merely lacks files B/C/D — never had them, never recorded deleting them — does not delete them on merge. GitHub computes the merge-base diff (git diff origin/main...HEAD, three dots) and performs a three-way merge, which preserves B/C/D.

The thing that looks like this trap and is not: git diff origin/main..HEAD (two dots) compares tip to tip, so every file main gained after your branch point renders as a deletion your branch appears to be making. That is an artifact of the wrong command, not a pending revert. Verified: for one PR, GitHub reported 5 files / 219 insertions / 16 deletions and three-dot matched exactly, while two-dot reported 4 files / 13 insertions / 22 deletions — a different file list and deletions that did not exist. Full treatment: git-diff-2dot-vs-3dot-merge-safety.

Three-dot is not the lax option, either — a branch that genuinely deletes another session's 418-line file still shows 418 deletions under three-dot. It reports real removals and drops invented ones.

Read the full file on GitHub · 347 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. 12d ago First seen · 347 lines · 387 tokens per session scan A f7411505fe61

Subscribe to this mod's changes

pr-from-stale-branch-silently-reverts-newer-main-files is a skill published in the GitHub repository wan-huiyan/agent-traffic-control (3 stars, last pushed today), licensed MIT. It adds 387 tokens to every session and 4,718 once invoked, about $0.0019 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-31.

Related

Other skills, from other repositories

pr-check

PR review compliance: fetch review comments from an open PR, categorize as resolved/unresolved/dismissed, critically evaluate fixable items, implement approved fixes, and reply inline. Pass --unattended to halt on human-judgment items (emitted as Pending-Human) instead of prompting via AskUserQuestion.

rube-de/cc-skills · 67 tokens

babysit

PR babysitter: monitors CI status, auto-rebases when behind, auto-fixes CI where possible, delegates review comment handling to dlc:pr-check, and re-requests review after fixes. Designed for /loop usage with Remote Control.

rube-de/cc-skills · 53 tokens

git-ops

Git hygiene: clean up merged branches, prune stale remotes, and verify repository state.

rube-de/cc-skills · 22 tokens

misuzu

Respond to PR review comments semi-automatically. Fetches all review threads and comments, splits them into logical units, fixes and commits one unit at a time, then replies and resolves review threads. Use when the user wants to address PR review feedback or respond to review comments.

ncaq/konoka · 59 tokens

pr-style

Pull request style guidelines covering title, body, assignee, and label selection. Use when writing or proposing GitHub pull requests, including direct gh pr create invocations outside the /pr skill.

ncaq/konoka · 44 tokens

swarm-pi-review

Review a Git working tree or branch with read-only Pi workers. Use standard for bugs, security, regressions, and missing tests; use lean for diff-bound simplification, deletion, reuse, YAGNI, or native replacements. Route one question to ask and broader risk analysis to orchestrate.

JiaWeiXie/swarm-pi-code-plugin · 66 tokens