Skip to content
Back to skills

Bridge Sync

ASecurity

End-of-sprint batch-sync: pushes ALL pending scope:core + scope:org commits from the user branch to BOTH upstreams (open-bridge + org overlay) in one operation. NOT for a single commit (use /promote) or file-level adaptation (/contribute). Trigger: "/bridge-sync", "sync to upstreams", "push to both", "end-of-sprint sync", "sync all pending".

  • 10 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
ai-agentsgitapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 26, 2026

npx -y skills add bks-lab/open-bridge --skill bridge-sync --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bridge Sync?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bridge Sync
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bks-lab-bridge-sync/badge)](https://www.skillsdirectory.com/skills/bks-lab-bridge-sync)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bridge-sync
description: >-
  End-of-sprint batch-sync: pushes ALL pending scope:core + scope:org
  commits from the user branch to BOTH upstreams (open-bridge + org
  overlay) in one operation. NOT for a single commit (use /promote) or
  file-level adaptation (/contribute).
  Trigger: "/bridge-sync", "sync to upstreams", "push to both",
  "end-of-sprint sync", "sync all pending".
metadata:
  scope: core
---

# Bridge Sync — Batch end-of-sprint upstream sync

`/bridge-sync` is the **wide-net** complement to `/promote` and `/contribute`.

| Skill | Granularity | Use case |
|---|---|---|
| `/promote` | per-commit | "promote this batch of recent commits" |
| `/contribute` | per-file | "scan for upstream-worthy files, adapt, PR" |
| `/bridge-sync` | per-sprint | "push EVERYTHING pending to both upstreams now" |

Read the referenced file ONLY when triggered.

## When to use

- End of a work-sprint, ready to publish all upstream-worthy changes at once
- After a refactor that touched many CORE+org files — manual cherry-pick is tedious
- When `/promote` has been deferred for days and there's a backlog
- When you want both `bks-lab/open-bridge` and your org overlay updated in one operation

**NOT** for:
- A single commit (`/promote` is leaner)
- File-level adaptation work (`/contribute --adapt` does that)
- USER-only changes (those stay local)

## Arguments

| Argument | Effect | Default |
|---|---|---|
| `(none)` | Full sync to both upstreams | — |
| `--dry-run` | Show routing matrix, don't push | false |
| `--repo open-bridge` | Sync only to open-bridge | both |
| `--repo <your-bridge>` | Sync only to your org overlay | both |
| `--since <ref>` | Sync commits since this ref (default: last sync tag) | last sync |
| `--no-scrub` | Disable open-bridge scrubbing (DANGER — only for emergency) | false |

## Prerequisites

- Current branch must be `user/*`. Refuses on `development` / `main`.
- `bridge-config.yaml.upstreams[]` defines BOTH upstreams.
- `git remote` has `origin` (your fork) + `upstream` (typically `<your-org>/<your-bridge>`).
- For open-bridge sync: `gh` CLI authenticated with cross-fork PR rights.

## Decision Tree

```
User wants to...
├── Full sync (default)                  → references/workflow.md
├── Dry-run / preview routing            → references/workflow.md (stop after Step 4)
├── Sync only one repo                   → references/workflow.md § --repo override
├── Configure scrub patterns             → rules/promote-safety.md per-repo blocklists
├── Tag the sync point                   → references/workflow.md § sync-tag
└── PR merge fails after squash-merge    → references/pr-recovery-patterns.md
    (stale-ancestor / non-fast-forward)
```

## Safety

`/bridge-sync` runs a **three-layer safety pipeline** per destination
(see `rules/promote-safety.md` for the full rule):

1. **`scrub_rules.<dest>`** — auto-rewrite during cherry-pick. Maps
   personal/internal tokens (your username, org, hostnames) to
   placeholders. Configured in `bridge-config.yaml.promote.scrub_rules`.
2. **`content_blocklist.<dest>`** — hard-block scan after scrub. Hits
   classify as `scrubable` (handled by layer 1), `adaptable` (defer for
   `/contribute --adapt`), or `personal-PII` (refuse).
3. **Universal patterns** — private keys, API tokens, paths — always
   blocked regardless of destination.

A commit hitting an `adaptable` pattern doesn't block the whole sync —
it gets routed as 🟡 in the matrix and deferred. The clean commits still
ship. `--no-scrub` only disables layer 1 (auto-rewrite); layers 2+3
always run.

Workflow recipes for conflict resolution (DU / UU / divergent structure),
MIXED-CU cherry-picks, and residual-leak fixup (`git commit --fixup` +
`rebase --autosquash`) live in `references/workflow.md` § Step 5.

Files in this skill

  • SKILL.md3.9 KB
  • data/overrides/open-bridge/skills/bridge-leak-check/data/per-repo-tolerance.yaml5.9 KB
  • references/drift-detection.md8.3 KB
  • references/pr-recovery-patterns.md6.1 KB
  • references/workflow.md24.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.