Skip to content
Agentmart
Submit a tool

sync-git

Safely synchronize safe uncommitted work and local/remote branch state across selected repositories and worktrees; discard and gitignore recommendations…

Skill by sergeiwallace

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/sergeiwallace-sync-git

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Safely synchronize safe uncommitted work and local/remote branch state across selected repositories and worktrees; discard and gitignore recommendations always require human approval.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/sync-git

What's inside

Skill name
sync-git
Description
Safely synchronize safe uncommitted work and local/remote branch state across selected repositories and worktrees; discard and gitignore recommendations always require human approval.
License
Apache-2.0
Instructions
55 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (4)

  • SKILL.md
  • session_binding_registry.py · scripts/
  • sync_git.py · scripts/
  • worktree_state.py · scripts/

SKILL.md (first lines)

# sync-git

This skill may be self-invoked. With no target it assesses the repository main worktree first and
then the worktree containing the current session. A linked worktree is integrated with the current
fetched trunk (`main` by default) before its own remote branch is reconciled, so an abandoned
feature ref cannot become its integration base. It can also discover an explicitly bounded broader
scope.

```bash
uv run --script "${CLAUDE_SKILL_DIR}/scripts/sync_git.py" sync
uv run --script "${CLAUDE_SKILL_DIR}/scripts/sync_git.py" sync --dry-run
uv run --script "${CLAUDE_SKILL_DIR}/scripts/sync_git.py" sync --allow-deletions
uv run --script "${CLAUDE_SKILL_DIR}/scripts/sync_git.py" sync worktree:/absolute/worktree
uv run --script "${CLAUDE_SKILL_DIR}/scripts/sync_git.py" sync all-worktrees:/absolute/repo
uv run --script "${CLAUDE_SKILL_DIR}/scripts/sync_git.py" sync all-repos:~/projects
```

Extra targets must be explicit: `repo:<path>`, `worktree:<path>`,
`branch:<repo-path>@<branch>`, an exact registered worktree path, `all-worktrees:<repo-path>`,
or `all-repos:<directory>`. Discovery never defaults to the fleet: `all-repos` requires the
directory explicitly. The command has no force, discard, ignore, side-selection, or
administrative override.

It may commit all byte-vetted uncommitted changes, non-force-push local commits, and fast-forward
or cleanly merge fetched remote commits after its byte veto, anchor, isolated-index, local
readback, and remote readback checks. When `git merge-tree` reports a conflict, it first proves
whether the final trees already converge or whether every loss is a non-merge deletion already
committed on fetched trunk; the resulting integration commit records its proof and
`Sync-deletion-accepted:` trailers. It uses an exact force-with-lease only to reconcile an obsolete
worktree receive ref after that proof. Same-path divergent edits, renames, and unproved deletions
remain human checkpoints. Installations may add deterministic JSONL validation for selected paths
with the comma-separated `SYNC_GIT_MECHANICAL_JSONL_PATTERNS` environment variable. For example,
`.beads/*.jsonl` preserves that mechanical-export validation for a Beads store; when the variable is
unset, no format-specific path lane is applied.
New or modified sensitive-pattern paths and newly introduced secret-shaped bytes remain refused;
an unchanged, already committed safe template such as `.env.example` does not veto a later commit.
Tracked-file deletions are surfaced for explicit human approval by default because publishing one
discards remote content. Only pass `--allow-deletions` after that approval; the flag authorizes
deletions only and does not relax any other gate.

The skill has no discard or `.gitignore` mutation route. If analysis ever identifies either as a
possible recommendation, stop and present the exact paths, proposed action, and reasoning for
explicit user approval; do not continue that target until approval is received. This mandatory
human gate is why this otherwise side-effecting skill can be self-invoked.

Before changing general task work, record its pre-change scope (this does not make the later bytes
autonomous):

```bash
uv run --script "${CLAUDE_SKILL_DIR}/scripts/sync_git.py" prepare \
  --target worktree:/absolute/worktree --issue PROJECT-1234 --design docs/designs/example.md \
  --audit docs/audits/example.md path/that/will/change
```

From sergeiwallace/skills, Apache-2.0.

More from sergeiwallace/skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 10, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from sergeiwallace

Cite this page

sync-git skill. Agent Mart. https://agentmart.dev/skills/sergeiwallace-sync-git (last updated 2026-10-24)