git-sync

Synchronize all git repositories: the top-level my-life repo and the spaces/ projects.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "git-sync" with this command: npx skills add taylorhuston/local-life-manager/taylorhuston-local-life-manager-git-sync

/git-sync

Synchronize all git repositories: the top-level my-life repo and the spaces/ projects.

Usage

/git-sync # Check status of all repos and branches /git-sync --pull # Pull updates for all branches /git-sync --push # Push local commits for all branches /git-sync --clone # Clone missing repos

Implementation

This skill uses a Python script for reliable validation:

python .claude/skills/git-sync/scripts/sync.py --check # Status report python .claude/skills/git-sync/scripts/sync.py --pull # Pull behind branches python .claude/skills/git-sync/scripts/sync.py --push # Push ahead branches python .claude/skills/git-sync/scripts/sync.py --clone # Clone missing repos python .claude/skills/git-sync/scripts/sync.py --json # JSON output python .claude/skills/git-sync/scripts/sync.py --suggest-additions # YAML for untracked repos

Run the script from the my-life repo root directory.

What It Validates

Top-Level Repo (my-life)

  • Branch status (ahead/behind/dirty/diverged)

  • Uncommitted changes

  • Sync status with remote

Index → Filesystem

  • Each project with code: path exists in spaces/

  • Git remote matches remote: in index

  • Branch status (ahead/behind/dirty/diverged)

Filesystem → Index

  • Finds repos in spaces/ not listed in CLAUDE.md

  • Suggests YAML to add them with --suggest-additions

Report Format

============================================================ GIT SYNC REPORT

Top-Level Repo (my-life)

my-life (1 branch) ✓ main - Up to date

Issues

missing-repo Status: missing Directory does not exist Remote: https://github.com/user/repo.git

Repositories

coordinatr (2 branches) ✓ main - Up to date ↑ feature/001 - 3 commits to push

yourbench (1 branch) ! main - 2 uncommitted files

Not in Index

? django-tutorial Path: spaces/django-tutorial Remote: https://github.com/user/django-tutorial.git


SUMMARY

Top-level repo: 1 (main: up to date) Indexed repos: 15 (14 ok, 1 missing) Remote-only: 6 Not in index: 2

Branches ahead: 1 Branches behind: 0 Branches dirty: 1 Branches diverged:0 Local-only: 0

Status Symbols

Symbol Meaning

✓ Up to date

↓ Behind remote (can pull)

↑ Ahead of remote (can push)

↕ Diverged (manual merge needed)

Local only (no remote tracking)

? Not in index

! Dirty (uncommitted changes)

✗ Error (check manually)

Safety

  • Never force push - if diverged, report and let user handle

  • Never auto-commit - dirty repos are reported, not modified

  • Fetch before status - ensure latest remote info

  • Fast-forward only - pulls fail safely if not fast-forward

  • Skip dirty branches - don't pull if uncommitted changes

Adding Repos to Index

Use --suggest-additions to get YAML:

python .claude/skills/git-sync/scripts/sync.py --suggest-additions

Output:

Add to CLAUDE.md Projects Index:

Error Handling

Error Resolution

Clone fails Check network, SSH keys, permissions

Remote mismatch Update CLAUDE.md or fix remote

Diverged branches Manual merge/rebase required

Missing remote Repo may be local-only, skip sync

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

daily-review

No summary provided by upstream source.

Repository SourceNeeds Review
General

daily-journal

No summary provided by upstream source.

Repository SourceNeeds Review
General

flashcards

No summary provided by upstream source.

Repository SourceNeeds Review