smithery.ai

meta-git

Git operations across multiple repositories — status, commit, push, pull, snapshots, multi-commit.

First seen Apr 21, 2026

Installation

$ npx skills add https://smithery.ai

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.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

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 Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,938 B
  • docs SUMMARY.md 116 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Meta Git Skill

Git operations across multiple repositories. One command operates on ALL repos in the workspace.

The Core Insight

Use meta git instead of git when you want to operate across the workspace:

# Instead of running git status in each repo...
meta git status    # Shows status for ALL repos at once

# Instead of committing in each repo...
meta git commit -m "feat: update"    # Commits in ALL dirty repos

Cloning a Meta Repo

# Clone meta repo and all child repos defined in .meta
meta git clone <url>

# Clone recursively (if child repos are also meta repos)
meta git clone <url> --recursive

# Control parallelism
meta git clone <url> --parallel 8

# Shallow clone
meta git clone <url> --depth 1

How it works: Meta clones the parent, reads .meta, then queues and clones all children in parallel. With --recursive, it repeats for any child that has its own .meta.

Updating All Repos

# Pull latest + clone any missing repos
meta git update

This is the "sync workspace" command - ensures you have all repos at latest.

Snapshots (Critical for Batch Operations)

Before making sweeping changes, create a snapshot:

# Save current state of ALL repos
meta git snapshot create before-refactor

# See what snapshots exist
meta git snapshot list

# Preview what restore would do
meta --dry-run git snapshot restore before-refactor

# Actually restore (auto-stashes uncommitted work)
meta git snapshot restore before-refactor

What snapshots capture per repo:

  • Current SHA
  • Branch name
  • Dirty status

On restore: If a repo has uncommitted changes, meta automatically stashes them before checking out the snapshot state.

Common Git Operations

All standard git commands work:

meta git pull
meta git push
meta git fetch
meta git checkout -b feature/new-thing
meta git add .
meta git diff
meta git log --oneline -5

Filtering

Target specific repos:

# By tag
meta --tag backend git status

# By name
meta --include api,web git push

# Exclude repos
meta --exclude legacy git pull

Workflow Patterns

Starting Work

meta git status              # What's the current state?
meta git snapshot create wip # Save state before changes
meta git pull                # Get latest

After Making Changes

meta git status              # Review changes across repos
meta git add .               # Stage in all repos
meta git commit -m "feat: ..." # Commit with shared message
meta git push                # Push all repos

Safe Batch Refactoring

meta git snapshot create before-changes
# ... make changes across repos ...
meta git status              # Review
# If something went wrong:
meta git snapshot restore before-changes

SSH Optimization

For faster parallel operations:

meta git setup-ssh

Configures SSH connection multiplexing for reuse across parallel git operations.

MCP Tools for Git Operations

When the meta MCP server is available, these tools provide structured JSON output:

Tool Purpose
metagitmulti_commit Per-repo commit messages in one call (for audit trails when changes differ)
metagitstatus Structured git status across all repos
metagitdiff Structured diff output
metagitbranch Branch info across repos

Efficiency Tips

  • Targeted commits: meta --include repo1,repo2 git commit -m "msg" commits in exactly the repos you want
  • Tag-based push: meta --tag backend git push pushes only tagged repos
  • Per-repo messages: Use metagitmulti_commit when changes in different repos need different commit messages
  • One-call status: meta git status replaces N individual cd && git status sequences