git-operations

git-operations is a skill for Claude Code, Codex from changoo89/claude-pilot. It costs 23 tokens per session (1,268 once invoked), scanned A, original, MIT.

A set of procedures for moving changes between your local Git project and its shared remote repository. Git is a tool that records code history and supports collaboration.

In plain words
What is it for?
Use it to push changes, pull the latest version, merge branches, retry failed pushes, and identify when a manual conflict resolution is needed.
Why use it?
It helps handle temporary network failures and prevents some unsafe updates, such as pulling changes that would require an unexpected merge.

Skill for Claude CodeCodex

Part of the claude-pilot plugin — 32 skills, 11 commands, 14 agents, 2 MCP servers shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/changoo89/claude-pilot/git-operations
Any agent
npx skills add changoo89/claude-pilot --skill git-operations
Clone the repo
git clone --depth 1 https://github.com/changoo89/claude-pilot

Made for: Claude Code, Codex.

Or install claude-pilot, the plugin that ships this one along with the rest of its 32 skills, 11 commands, 14 agents, 2 MCP servers.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for git-operations

README.md
[![agentmods](https://agentmods.dev/badge/skills/changoo89/claude-pilot/git-operations.svg)](https://agentmods.dev/skills/changoo89/claude-pilot/git-operations)
Your own site
<a href="https://agentmods.dev/skills/changoo89/claude-pilot/git-operations"><img src="https://agentmods.dev/badge/skills/changoo89/claude-pilot/git-operations.svg" alt="Measured on agentmods" height="20"></a>
Per session 23 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,268 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00023 $0.01268
Opus 5 $0.00012 $0.00634
Sonnet 5 $0.00005 $0.00254
Haiku 4.5 $0.00002 $0.00127

Measured 5d ago against content hash 8bbada5527ab, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

git-operations scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/git-operations/SKILL.md · 185 lines

How it starts

The opening of the file, as written. The whole thing — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.

SKILL: Git Operations

Purpose: Safe push/pull/merge operations with retry logic and error handling Target: All git operations


Quick Start

When to Use This Skill

  • Pushing changes to remote
  • Pulling latest changes
  • Merging branches
  • Resolving merge conflicts

Quick Reference

# Push with retry (3 attempts, 2s delay)
git_push_with_retry() {
  local branch="${1:-$(git rev-parse --abbrev-ref HEAD)}"
  for attempt in {1..3}; do
    git push origin "$branch" 2>&1 && return 0
    echo "Retry $attempt/3..." && sleep 2
  done
  return 1
}

# Pull with fast-forward only
git pull --ff-only || echo "Manual merge required"

Core Operations

Push with Retry

Purpose: Handle transient network failures with exponential backoff (3 attempts, 2s/4s/8s delay)

git_push_with_retry() {
  local remote="${1:-origin}"
  local branch="${2:-$(git rev-parse --abbrev-ref HEAD)}"
  local max_attempts=3
  local wait_times=(2 4 8)  # Exponential backoff

  echo "🔄 Pushing to $remote/$branch..."

  for attempt in $(seq 1 $max_attempts); do
    # Attempt push
    if git push "$remote" "$branch" 2>&1; then
      echo "✓ Push successful"
      return 0
    fi

    local exit_code=$?
    local error_output="$(git push "$remote" "$branch" 2>&1 || true)"

    # Classify error
    if echo "$error_output" | grep -qiE "non-fast-forward|rejected|protected"; then
      echo "❌ Push rejected (non-fast-forward or protected branch)"
      echo "   Run: git pull --rebase && git push"
      return 1
    elif echo "$error_output" | grep -qiE "authentication|permission|credentials"; then
      echo "❌ Authentication error"
      echo "   Check git credentials: git config --list | grep credential"
      return 1
    fi

    # Retry for network/transient errors
    if [ $attempt -lt $max_attempts ]; then
      local wait_time=${wait_times[$((attempt-1))]}
      echo "⚠️  Push failed (attempt $attempt/$max_attempts), retrying in ${wait_time}s..."
      sleep "$wait_time"
    else
      echo "❌ Push failed after $max_attempts attempts"
      return 1
    fi
  done

  return 1
}

Read the full file on GitHub · 185 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 185 lines · 23 tokens per session scan A 8bbada5527ab

Subscribe to this mod's changes

git-operations is a skill published in the GitHub repository changoo89/claude-pilot (20 stars, last pushed 6mo ago), licensed MIT. It adds 23 tokens to every session and 1,268 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

github-flow-for-claude-on-web

Complete GitHub workflow for Claude Code on the web. ALL GitHub operations MUST use REST API (never gh CLI). Includes branch naming (claude/-sessionId), push retry logic, PR/issue management via API, and complete workflows. Use for all GitHub interactions in Claude Code web environment.

shabaraba/vibing.nvim · 71 tokens

vibing-orchestrate

Run several independent tasks in parallel by creating worker vibing.nvim chats, handing each one a self-contained brief, and aggregating their results. Use when the user asks for parallel work ("do these three in parallel", "split this across separate chats", "並行でやって", "この2つを別々のチャットで").

shabaraba/vibing.nvim · 76 tokens

test-design

Automatically design comprehensive E2E test cases for newly implemented vibing.nvim features. Use immediately after completing feature implementation (Phase 5.4) and before running E2E tests. Generates test scenarios covering Happy paths, Error cases, Edge cases, and Integration points with priority ranking…

shabaraba/vibing.nvim · 82 tokens

vibing-chat-search

Use when the user wants to find a past vibing.nvim conversation by topic — phrases like "前に〜について聞いたことあったっけ", "did we talk about X before", "find that chat where I asked about Y". Searches every chat file under .vibing/chat/ (both User and Assistant content) for a natural-language query, narrows candidates with grep…

shabaraba/vibing.nvim · 116 tokens

remote-screenshot

Take a real screenshot of a running Neovim from inside the Claude Code on the web container, which has no X server. Use when asked to show what a UI change looks like, or to attach an image of the chat buffer, a split layout, an approval prompt or a picker. Requires CLAUDECODEREMOTE=true — on a local machine there is…

shabaraba/vibing.nvim · 92 tokens

vibing-worktree-attach

Attach the current or a new vibing.nvim chat to an already-existing git worktree via natural language — no separate UI. Use when the user wants to switch/attach a chat to an existing worktree ("let's go into the auth-fix worktree", "attach to worktree X", "continue in the feature-y worktree").

shabaraba/vibing.nvim · 77 tokens