Przejdź do treści
Biblioteka skilli
Programowanie · Automatyzacja

git-sync

/git-sync

Synchronizuje bieżącą gałąź w jednym przebiegu: commit zmian jako osobne logiczne commity, bramka zmian schematu Supabase, merge-pull, konflikty hunk po hunku i push bez force.

Repozytorium
super-board ↗
Licencja
MIT
Ostatnia zmiana repozytorium
22.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 22.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Synchronizuje bieżącą gałąź w jednym przebiegu: commit zmian jako osobne logiczne commity, bramka zmian schematu Supabase, merge-pull, konflikty hunk po hunku i push bez force.

Wyzwalacze z opisu

git-syncsynccommit and pushpull and pushsync my branch
Oryginalny opis (EN)

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".

Jak działa

  1. 1 · Look
  2. 2 · Commit
  3. 3 · Supabase gate
  4. 4 · Pull
  5. 5 · Push
  6. 6 · Report
Sekcje z nagłówków SKILL.md, w oryginale · 93 linii, 690 słów
Podgląd SKILL.md
---
name: git-sync
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".
---

# /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.

1. The host's `AGENTS.md`, `CLAUDE.md` or `CONTRIBUTING.md` defines a commit format: follow it
   (for example `#N: type: description`).
2. Otherwise use section "1 · Commit" of the super-board writing standard
   (`.claude/skills/super-board/references/writing-standard.md`): emoji, `[type]`, scope,
   subject, 1–4 bullets, `Closes #N` when the commit finishes a ticket.
3. Keep any attribution trailer the session asks for.

## 3 · Supabase gate

Runs only when a commit group touches `supabase/` (migrations, schema, functions).

1. The `supabase` skill is installed: follow its "Making and Committing Schema Changes" section
   and skip the rest of this list.
2. Each schema change has its own migration file named the way `supabase migration new <name>`
   names it (`supabase/migrations/<timestamp>_<name>.sql`). A schema edit with no migration is
   a stop.
3. When the CLI and local stack are up, run `supabase migration list --local`.
4. Run `supabase db advisors` (or the Supabase MCP `get_advisors`) when available.
5. An advisor error is a stop. Warnings go in the report.
6. CLI or stack not available: say which checks were skipped and why, then continue.

## 4 · Pull

1. Run `git pull --no-rebase`. Merge, never rebase.
2. No conflict: go to Push.
3. Conflict: use the `resolving-merge-conflicts` skill when it is installed.
4. Without it, resolve hunk by hunk and keep both sides' intent.
5. NEVER use `-X ours`, `-X theirs`, `git checkout --ours/--theirs` on a whole file, or delete
   a side to make the conflict go away.
6. A hunk whose intent is unclear: stop and ask the user, showing both sides.
7. Run the host's fast checks before concluding the merge: typecheck, lint and tests as the
   host's `AGENTS.md`, `CLAUDE.md` or `package.json` documents them.
8. Checks fail: fix the merge, not the checks. Still failing: stop and report.
9. Conclude with `git commit --no-edit`.

## 5 · Push

1. The branch has an upstream: `git push`.
2. A new branch: `git push -u origin <branch>`.
3. NEVER `--force` or `--force-with-lease`.
4. The branch is the default or a protected branch (`main`, `master`, `production`, or the
   repo's default from `gh repo view --json defaultBranchRef`): push only after the user says
   yes in this conversation. Otherwise offer a branch and a PR instead.
5. Push rejected as non-fast-forward: go back to Pull once. Rejected again: stop.

## 6 · Report

Keep it short:

```
Committed  <sha> <subject>
           <sha> <subject>
Pulled     <N> commits (<conflicts resolved: N files | no conflicts>)
Pushed     <N> commits to <remote>/<branch>
Left out   <path> — <why>
Supabase   <advisors clean | N warnings | skipped: why>
```

Drop the lines that do not apply.
Pliki w paczce (2)
  • README.md 1 KB
  • SKILL.md 5 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · erictechpro/super-board100MIT
metabase/metabase-cli100AGPL-3.0
mgiovani/cc-arsenal100MIT
Shahat87/ams-mission-kit100MIT

Migawka bazy z 13.11.2026 · wersja paczki ce21d9ca7363 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100github-sync
    Przegląda zmiany Git z sesji, streszcza je do zatwierdzenia, a następnie robi commit i push na GitHub.
  • 100git-commit-push-pr
    Prowadzi od niezatwierdzonych zmian do otwartego pull requesta w jednym przepływie: commit, push i utworzenie PR.
  • 100sync-branch
    Synchronizuje gałąź funkcjonalności z główną gałęzią: pobiera najnowszą wersję, robi rebase lub merge, rozwiązuje konflikty i wypycha zmiany.
  • 100git-feature-branch-sync
    Pomaga zdecydować między rebase a merge gałęzi funkcji z gałęzią domyślną i bezpiecznie wykonać force-push.
  • 90dx-design-git
    Wyjaśnia git osobom projektującym w kodzie: commit, gałąź, push, cofanie zmian, konflikty i stan repozytorium.
  • 90commit-push-current
    Commituje i wypycha bieżącą gałąź, także bezpośrednio do domyślnej, bez tworzenia gałęzi i pull requesta, na polecenie człowieka.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.