← ClaudeAtlas

parallel-sessions-protocollisted

Coordinate any number of AI or human dev sessions working the same git repository in parallel — start-of-work registration (a draft PR is the shared board, with claim declarations), resource claiming (sequential numbers, file ownership), ledger-writes-only-at-merge-time, merge discipline (local merge preview, exclusive working directories, no `git add -A`), end-of-work registration (push-or-declare WIP, worktree cleanup, triggered write-backs), and a three-checkpoint awareness refresh. Use when multiple sessions / agents / worktrees develop one repo at the same time; when the user says 多会话并行, 并行轨道, 开工登记, 收工登记, 公告板, 会话撞车, 多个会话同时开发, coordinate parallel sessions, multiple Claude sessions on one repo, sessions keep colliding, track claims; when sequential resources (migration or decision numbers) or shared changelog/ledger docs keep colliding between branches; or when a session needs to know what other sessions are doing before acting. NOT for release/QA pipeline coordination through a dedicated controller lane,
laojin1900/365Skill · ★ 1 · Code & Development · score 74
Install: claude install-skill laojin1900/365Skill
# Parallel Sessions Protocol Keep any number of parallel sessions on one repository from trampling each other, without capping how many run. Field-proven under real load: one day of 7 simultaneous worktrees and 8 merged PRs produced six distinct collision incidents; every mechanism below exists because one of them happened. Posture: guarded-mutation — this skill creates branches and draft PRs; merging stays governed by each project's own authorization rules. **Preconditions**: a git repository with a GitHub remote and an authenticated `gh` CLI (`references/setup-guide.md`). If either is missing, say so and stop — the board mechanism cannot work without them. **Core model**: one track = one session + one branch + one exclusive working directory + one claim declaration. Sharing a working directory across sessions is the root cause of cross-track pollution — never do it. The number of tracks is unbounded; the constraint is behavior, not count. ## Mechanism 1 — Register before you code (the board) Before writing any code: 1. `git fetch origin` and `gh pr list --state open` — see the whole board first. 2. Branch from **latest** `origin/main`; take an exclusive working directory (the main checkout counts as one — at most one session may own it at a time; every other session uses its own worktree). 3. Immediately open a **draft PR** whose body has three fixed sections (template in `references/draft-pr-template.md`): - **Claimed scope** — directories/files this trac