smithery/taylorhuston

git-sync

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

Installation

$ npx skills add smithery/taylorhuston --skill git-sync

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/taylorhuston · top by installs.

npx skills add smithery/taylorhuston

Browse all from smithery/taylorhuston

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsRead, Glob, Bash
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,923 B
  • docs SUMMARY.md 74 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

/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