What problem does it solve?
Keeping an internal GitLab repository and a public GitHub mirror in sync is error-prone: commits can be duplicated, sensitive internal content can leak, and main-branch history can become non-linear. This Skill enforces a two-phase, human-gated synchronization process with audit checks so only reviewed public changes reach GitHub.
Core Features & Use Cases
- Two-Phase Gated Sync: Phase A cherry-picks external GitHub PR commits into a GitLab CR branch; Phase B replays merged dev commits onto main and pushes to GitHub only after explicit user confirmation.
- Automated Planning & Auditing: Scripts detect which GitHub PR commits are already absorbed (via exact SHA, patch-id, or subject matching), check for duplicate top-level definitions, run ruff F811, and scan for secrets with gitleaks.
- CI Gate Before GitHub Push: Pushes the exact HEAD to a validation branch, triggers the GitHub Actions ci.yml workflow, and requires a successful run with matching headSha before allowing any push to github/main.
- Use Case: After external contributors merge PRs into github/main, run Phase A to cherry-pick them into a GitLab CR; once the internal CR merges, run Phase B to linearly replay dev commits onto gitlab/main and github/main with full audit output.
Quick Start
Ask the assistant to sync the repository between GitLab and GitHub, stating whether the internal CR has already been merged so it knows which phase to run.