# GIT Sync

Sync the current branch in one pass, commit the working tree as one commit per logical...

- Repository: https://github.com/EricTechPro/super-board (577 stars)
- Category: Git and review
- License: MIT
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add EricTechPro/super-board --skill git-sync -g -a claude-code -y`
Codex: `npx skills add EricTechPro/super-board --skill git-sync -g -a codex -y`
Cursor: `npx skills add EricTechPro/super-board --skill git-sync -g -a cursor -y`
Gemini CLI: `npx skills add EricTechPro/super-board --skill git-sync -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add EricTechPro/super-board`

## Description

Sync the current branch in one pass, commit the working tree as one commit per logical change (in the host repo's commit format, or the super-board writing standard), gate Supabase schema changes, merge-pull, resolve conflicts hunk by hunk, then push without force. Use when the user runs /git-sync or says "git-sync", "sync", "commit and push", "pull and push", or "sync my branch".

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /git-sync

Commit what is in the working tree, pull, push, report. One step per line.
Stop and tell the user when a step says stop. NEVER force push, rebase shared history, or
skip a hook (`--no-verify`).

## 1 · Look

1. Run `git status`, `git branch --show-current` and `git rev-parse --abbrev-ref @{upstream}`.
2. Run `git fetch` and `git rev-list --left-right --count HEAD...@{upstream}` for ahead/behind.
3. Stop on a detached HEAD.
4. Stop when a merge, rebase, cherry-pick or revert is in progress that this run did not start
   (`.git/MERGE_HEAD`, `.git/rebase-merge`, `.git/rebase-apply`, `.git/CHERRY_PICK_HEAD`).
5. Nothing to commit and nothing ahead or behind: say "in sync" and stop.

## 2 · Commit

1. Read the diff (`git diff`, `git diff --staged`, untracked files) and group it into logical
   changes. One change, one commit.
2. Stage each group by explicit path (`git add -- <path>…`). NEVER `git add -A`, `git add .`
   or `git commit -a`.
3. NEVER stage secrets: `.env*` (except `.env.example`), keys (`*.pem`, `*.key`, `id_rsa*`),
   credential or token files, or a diff line that holds a key. Stop and warn, naming the file.
4. A file that looks like someone else's work in progress (another task's half-edit, a file
   you can't explain from this conversation): leave it unstaged and list it in the report.
5. Changes already staged by the user are one group; commit them as they are.
6. Run the Supabase gate (section 3) before any commit that touches `supabase/`.
7. Commit each group. Let the hooks run; a failing hook is a stop, not a retry with
   `--no-verify`.

**Commit format.** The host wins.

The rest: https://github.com/EricTechPro/super-board/blob/HEAD/skills/git-sync/SKILL.md
