upstream-merge

Merge upstream PRs after GitHub checks and local trial-merge gates.

Updated May 25, 2026
One-click install
npx skills add https://github.com/cmetech/otto-cli --skill upstream-merge
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: upstream-merge
Source: https://github.com/cmetech/otto-cli/tree/main/.claude/skills/upstream-merge
Command: npx skills add https://github.com/cmetech/otto-cli --skill upstream-merge

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Upstream PRs can pose significant risk to main; this skill enforces a robust gate by requiring two independent signals and an optional human review before merges, reducing risk of regressions.

Core Features & Use Cases

  • Discover candidate upstream PRs from explicit numbers, current branch, or filtered open PRs and queue them for gated merging.
  • Enforce GitHub required-checks allowlist and perform a local trial-merge in a detached worktree prior to landing on main.
  • Support a human gate by default with an optional auto mode (--auto) for unattended workflows.
  • Maintain an auditable run ledger per PR capturing checks, gates, refute outcomes, and merges.

Quick Start

Invoke the upstream-merge skill on a target PR (for example, /upstream-merge 64,70).

Frequently Asked Questions about upstream-merge

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I safely automate merging upstream pull requests into my main branch?

To safely automate merging upstream pull requests, you can use a gatekeeping process that validates GitHub CI required checks and executes a local trial-merge in a separate worktree before landing on main. This prevents regressions by requiring multiple independent signals.

What is a local trial-merge gate for GitHub pull requests?

A local trial-merge gate for pull requests executes an integration test in a detached worktree prior to landing on main. It validates the merged code locally, providing an independent safety signal alongside GitHub CI checks to prevent regressions.

Can I run unattended upstream merges with GitHub CI checks?

Yes, you can run unattended upstream merges by enabling an --auto mode for unattended workflows. By default, the process requires a human gate, but auto mode allows squash merges behind governance once GitHub CI checks and local trial-merges pass.

How do I maintain an auditable ledger for upstream pull request merges?

To maintain an auditable ledger for upstream pull request merges, the process records per-PR run entries capturing checks, gates, refute outcomes, and merges. This ensures repeatable, governed squash merges and tracks the complete history of upstream-port workflows.

Does this gatekeeping approach support discovering open pull requests automatically?

Yes, the gatekeeping approach supports discovering candidate upstream pull requests automatically from filtered open PRs. It queues them for gated merging, or you can target explicit PR numbers and your current branch to scope the upstream-port workflow.