upstream-convergence

Synchronize a maintained fork with its pinned upstream commit using phased inspection and evidence recording.

5|1|Updated May 5, 2026
One-click install
npx skills add https://github.com/cbusillo/codex-skills --skill upstream-convergence-cbusillo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: upstream-convergence
Source: https://github.com/cbusillo/codex-skills/tree/main/skills/upstream-convergence
Command: npx skills add https://github.com/cbusillo/codex-skills --skill upstream-convergence-cbusillo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Keeping a long-lived downstream fork current with its upstream repository is risky: merges can silently discard product-owned behavior, provenance gets lost, and historical evidence can be overwritten. This Skill provides a guarded, phased workflow that pins exact commits, isolates work in dedicated worktrees, and records append-only evidence for every refresh. ## Core Features & Use Cases - Phased convergence workflow: Orient, isolate, pin, inspect, apply, record, validate, and publish a fork refresh against a pinned upstream commit with full provenance. - Repository-owned policy boundary: Reads a repository adapter manifest (upstream/convergence-policy.json) and delegates conflict, contract, and governance semantics to a repository-local driver with inspect, record, and validate phases. - Safety guardrails: Refuses write phases on dirty worktrees, protected branches, ambiguous refs, mismatched upstream URLs, snapshot overwrites, or unreviewed executable code. - Use Case: A team maintains a fork of an open-source project and must integrate monthly upstream releases. Use this Skill to produce a conflict and residual report by lane, preserve named product contracts, record an evidence snapshot, and open a reviewed PR instead of pushing directly. ## Quick Start Use the upstream-convergence skill to refresh this maintained fork against its canonical upstream and report conflicts, governance changes, and the evidence snapshot.

Frequently Asked Questions about upstream-convergence

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

FAQPage Schema
How do I safely update a fork with upstream changes?

Pin the upstream target to a full commit SHA, work in an isolated linked worktree, and run a phased inspect-apply-record-validate flow. This preserves product-owned behavior, records provenance, and publishes results through a reviewed PR rather than direct pushes.

What is the difference between upstream convergence and a normal merge?

A normal merge or one-off cherry-pick handles a single feature branch, while upstream convergence manages a maintained fork's recurring baseline against its upstream repository. It adds adapter-driven policy, contract lanes, evidence snapshots, and guard validation that ordinary merges do not track.

When should I not use the upstream convergence workflow?

Do not use it for ordinary feature-branch merges, one-off cherry-picks, or discussions of an upstream API that do not change the fork's baseline. It is designed only for maintained forks integrating a new upstream range.

Why does the convergence workflow refuse to run a write phase?

Write phases are refused when the worktree is dirty or shared, refs are ambiguous, the upstream URL mismatches the adapter, a snapshot would be overwritten, or unreviewed upstream code would be executed. These guards protect provenance and historical evidence.

Does upstream convergence require a repository configuration file?

Yes, it expects an adapter manifest at upstream/convergence-policy.json defining the upstream identity, allowed fetch URLs, contracts path, and evidence root. Without it, only read-only discovery is performed and no upstream details are guessed.