Programowanie · Automatyzacja
sync-repos
/sync-repos
Synchronizuje wszystkie repozytoria Egregore: najpierw pobiera zmiany i ściąga tylko te, które są w tyle.
Dla kogo
- Autor
- egregore-labs ↗
- Repozytorium
- egregore ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 16.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
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Przestarzałość
Brak sygnałów. Repozytorium zmienione 16.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 wszystkie repozytoria Egregore: najpierw pobiera zmiany i ściąga tylko te, które są w tyle.
Wyzwalacze z opisu
sync all repos
Oryginalny opis (EN)
Smart sync of all Egregore repos (memory + managed repos + current repo) — fetches first, only pulls if behind. Use for /sync-repos or 'sync all repos'.
Jak działa
- When to invoke
- Execution boundary
- Repos to sync
- Execution
- Output format
- Rules
Sekcje z nagłówków SKILL.md, w oryginale · 102 linii, 456 słów
Podgląd SKILL.md
---
name: sync-repos
description: "Smart sync of all Egregore repos (memory + managed repos + current repo) — fetches first, only pulls if behind. Use for /sync-repos or 'sync all repos'."
---
Smart sync of all Egregore repos. Fetches first, only pulls if behind.
## When to invoke
User says: "/sync-repos", "sync all repos", "sync everything", "get every repo up to date"
## Execution boundary
This is deterministic multi-repository sync. Run it inline with bounded
parallel fetches; do not spend a Loom/model-routing call or delegate it to
another agent.
## Repos to sync
- `../{memory_dir}` — shared knowledge (derived from `memory_repo` in `egregore.json`)
- Any repos listed in the `repos` array in `egregore.json` (as sibling directories `../{repo}`)
- Current repo (egregore-core)
**Read `egregore.json` first** to get the dynamic list:
```bash
# Memory repo directory
bash bin/config-get.sh memory_dir
# Managed repos
bash bin/config-get.sh repos
```
Use the first command’s printed value as `{memory_dir}` and each line from the second as a managed `{repo}` name; for each value, quote it in single quotes when you use it in a command, and write any single quote inside the value as `'\''`. If a command prints nothing, it contributes no repo to sync.
## Execution
For each repo, run these commands:
```bash
# 1. Fetch (always)
git -C /path/to/repo fetch origin --quiet
# 2. Compare local vs remote
git -C /path/to/repo rev-parse HEAD
git -C /path/to/repo rev-parse origin/main
```
Use the printed revisions as `{local_sha}` and `{remote_sha}`. If they differ, pull and then count commits behind:
```bash
# 3. Only pull if different
git -C /path/to/repo pull origin main --quiet
# Count commits behind
git -C /path/to/repo rev-list HEAD..origin/main --count
```
Use the printed count as `{behind}` for the output. If the revisions match, report the repo as up to date and skip the pull and count.
**For the current repo (egregore-core)**: sync the `develop` branch instead of main:
```bash
# Update local develop ref without switching branches (safe for concurrent sessions)
git fetch origin develop:develop --quiet
# If on dev/* branch, rebase onto develop
git branch --show-current
```
Use the printed value as `{branch}`. If it starts with `dev/`, rebase onto develop:
```bash
git rebase develop --quiet
```
If the rebase fails, run `git rebase --abort`, then
`git merge develop -m 'Sync with develop'`. Continue to the merge only if the
abort succeeds:
```bash
git rebase --abort
```
```bash
git merge develop -m 'Sync with develop'
```
For any other branch, skip the rebase and merge.
Use absolute paths with `git -C` to avoid permission prompts.
## Output format
```
Syncing Egregore repos...
{memory-dir} ↓ 3 commits → pulled
{repo-1} ✓ up to date
{repo-2} ✓ up to date
egregore-core ↓ 1 commit → pulled
```
## Rules
- Use `git -C /absolute/path` — no `cd` commands
- Fetch ALL repos first (parallel if possible), then compare/pull
- Show commit count when pulling
- Skip repos that don't exist (no error)
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · egregore-labs/egregore | 100 | MIT |
| egregore-labs/egregore | 86 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki e22bfd9ce90e (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
- 100update
Synchronizuje lokalne środowisko Egregore z upstreamem, uruchamia migracje po aktualizacji i pobiera repozytoria. - 86update
Aktualizuje lokalne środowisko Egregore: synchronizuje framework z upstreamem, uruchamia migracje i pobiera repozytoria. - 100dx-sync
Synchronizuje aktualizacje wtyczek do repozytoriów konsumentów, uruchamiając sync-consumers.sh z wybranymi repozytoriami i opcjami. - 100portfolio-auto
Automatycznie synchronizuje repozytoria GitHub ze stroną portfolio: skanuje repozytoria, robi zrzuty Playwright, generuje wpisy projektów i aktualizuje projects-data.js lub bazę Supabase. - 100git-sync-workspace
Synchronizuje wszystkie repozytoria Git w wieloźródłowym workspace Cursora z domyślną gałęzią zdalną: kontrola wstępna, fetch --all --prune, checkout i pull --ff-only, z pominięciem brudnych lub niebezpiecznych repozytoriów. - 100my-repos
Lokalizuje repozytoria dwmkerra i pomaga z nimi pracować, gdy użytkownik wspomina o moich repozytoriach lub potrzebuje znaleźć konkretne repozytorium.