TaylorHuston

git-sync

23
2
# Install this skill:
npx skills add TaylorHuston/local-life-manager --skill "git-sync"

Install specific skill from multi-skill repository

# Description

Sync all git repos - my-life top repo and spaces/ projects

# SKILL.md


name: git-sync
description: "Sync all git repos - my-life top repo and spaces/ projects"
model: claude-haiku-4-5-20251001
allowed-tools: Read, Glob, Bash


/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:

  - name: django-tutorial
    code: spaces/django-tutorial/
    remote: https://github.com/user/django-tutorial.git
    branch: main
    status: active  # or: on-hold, archived, experiment

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

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.