Skip to content
Development
Skill

/git-ops

Use when Sam asks Claude Code to create, rename, compare, commit, push, merge, promote, or clean up Git branches. Covers Sam's feature branch naming convention, safe Git pre-checks, JetBrains DontCommit handling, commit-message defaults, push and release promotion verification,

From plugin
all-my-ai-needs
1423 skills

Claude Code

$ npx -y skills add codingSamss/all-my-ai-needs --skill git-ops --agent claude-code

SKILL.md

git-ops.SKILL.md
name: git-ops
description: Use when Sam asks Claude Code to create, rename, compare, commit, push, merge, promote, or clean up Git branches. Covers Sam's feature branch naming convention, safe Git pre-checks, JetBrains DontCommit handling, commit-message defaults, push and release promotion verification, branch rename upstream cleanup, branch sync comparison, and submodule/gitlink handling.

Git Ops

Scope

Use this skill for Git operation tasks. Keep project-specific runtime, build, API, environment, and release-policy details in the repo's `AGENTS.md`; keep reusable Git behavior here.

Do not expand scope silently. If Sam only asks to inspect, report findings. If Sam asks to commit/push/merge, carry that operation through verification unless blocked.

Safety Rules

Before any Git write operation:

git status --short --branch

Rules:

  • Treat existing uncommitted changes as user work unless proven otherwise.
  • Do not run destructive commands such as `git reset --hard`, `git checkout -- <file>`, `git clean -fd`, `git push --delete`, or force-push without explicit written confirmation.
  • Use `git clean -fdn` before any real clean operation and report what would be removed.
  • Prefer `rg`, `git diff`, `git status`, `git branch -vv`, `git log`, and `git show-ref` for inspection before acting.
  • For remote cleanup wording, say `stale local remote-tracking refs` or `本地 origin/* 缓存`; `git fetch --prune origin` does not delete remote branches.

Feature Branch Naming

When Sam says "功能分支" or asks to create a feature branch, use:

feature/<YYYYMMDD>/<需求编码>_<功能简介>

Example:

feature/20260521/MR2026052182911_xiaomei

Rules:

  • The first path segment is always `feature`.
  • The second segment is the date as `YYYYMMDD`.
  • Sam usually provides the date. If the date is missing, ask before creating the branch.
  • If Sam provides `MMDD` only, normalize it to `YYYYMMDD` using the clearly applicable year from the task context. If the year is ambiguous, ask.
  • The third segment is `<需求编码>_<功能简介>`.
  • Do not invent a requirement code. If missing, ask.
  • Keep `功能简介` short and branch-safe. Prefer lowercase ASCII slugs such as `hyde`, `xiaomei`, `rrl_auth`.

Given:

需求编码: MR2026051590006
date: 0528
功能简介: hyde

Create:

feature/20260528/MR2026051590006_hyde

Create Branch

Before creating a branch:

1. Run `git status --short --branch`. 2. Check whether the base branch and target branch exist. 3. If the worktree has unrelated changes, ask whether to use a separate worktree, stash, or keep the current state. 4. Refresh the remote base when network access is available.

Preferred feature-from-master flow:

git fetch origin master
git switch --no-track -c feature/YYYYMMDD/MRxxxx_short_desc origin/master
git status --short --branch

Use `--no-track` so a new feature branch does not accidentally track `origin/master`.

If Sam explicitly says to use local `master`, create from local `master`:

git switch --no-track -c feature/YYYYMMDD/MRxxxx_short_desc master

JetBrains DontCommit

Before `git add` / `git commit`, inspect `.idea/workspace.xml` if it exists:

rg -n "ChangeListManager|DontCommit|DoNotCommit" .idea/workspace.xml

Rules:

  • Files in `DontCommit` / `DoNotCommit` changelists must not be committed.
  • If such files are already staged, unstage only those files.
  • Override only if Sam explicitly asks to include them.
  • If the main worktree has DontCommit or unrelated local files, prefer a temporary `git worktree` for release promotion.

Commit And Push

When Sam says "提交推送吧" after implementation, treat commit and push as part of the task.

Before commit:

git status --short --branch
git diff --check

Rules:

  • Stage only intended files.
  • Keep unrelated user changes unstaged.
  • Default `git commit` messages to Chinese. Code identifiers, module names, commands, paths, and proper nouns may stay in English.
  • If independent topics are mixed and Sam says "拆两个", split commits by topic.
  • After push, verify branch state with `git status --short --branch` and, when useful, `git branch -vv --list <branch>`.

Release Promotion

When Sam explicitly asks to merge/push into `release/sit`, `release/uat`, or a dated release branch, perform the full requested merge and push path unless blocked.

Default flow:

git fetch origin <target-branch>
git switch <target-branch>
git merge --ff-only <feature-branch>
git push origin <target-branch>

If `--ff-only` fails:

  • Inspect divergence first.
  • Explain why fast-forward is impossible.
  • Use `git merge --no-ff -m "<中文合并信息>" <feature-branch>` only when that matches the requested promotion.

For multi-branch promotion:

  • Keep the sequence explicit.
  • Verify each local and remote branch tip.
  • Use temporary `git worktree` when the main workspace has unrelated local changes.

Rename Branch

For branch rename requests, change the visible branch identifier exactly. Do not add code edits or content merges.

Reliable flow:

git branch -m <old> <new>
git branch --unset-upstream <new>
git push -u origin <new>
git branch -vv --list <new>
git ls-remote --heads origin <new> <old>

Rules:

  • After `git branch -m`, always check for stale upstream metadata.
  • Do not delete the old remote branch unless Sam explicitly asks.
  • If deleting a remote branch is requested, verify the old and new refs point to the expected content first.

Compare Branches

Do not judge sync from commit message shape alone. Compare content and ancestry:

git rev-list --left-right --count <left>...<right>
git rev-parse <ref>^{tree}
git diff --name-status <left>..<right>
git log --oneline --ancestry-path <left>..<right>

Notes:

  • `release/sit` may carry extra merge history while still being content-identical to `release/uat` or a feature branch.
  • Tree hash plus `git diff --name-status` is the most direct content-sync check.

Submodules

When a rep

Read more
@codingsamss
Ships withall-my-ai-needs

跨 Claude Code 与 Codex 两套 agent 的 skill 真源,以及点名安装的 Claude Mods 来源与迁移约定。写入由 agent 执行,人只审校与决策。 把 Claude Code 与 Codex 的可复用能力收敛到一个仓库,按 platform-first 维护:每个平台独立持有自己的 skills/ 与运行约定,同名 skill 允许在两端并存,不强行抽象去重。 仓库要解决的是多端 AI 配置的漂移——GitHub 仓库、本地工作区、本地 CLI

Stars on GitHub

Momentum

stars in total
14
Star history of codingSamss/all-my-ai-needs on GitHub, a chart by star-history.com

Other skills on all-my-ai-needs.

aihot

aihot

查询 AIHOT(aihot.news)的中文 AI 资讯。用户问今天或最近 AI 圈发生了什么、AI 新闻和 AI 日报、大模型与 AI 产品发布、OpenAI/Anthropic/Google 等公司或某个 AI 话题的最新消息、当前最热的 AI…

apifox-cli

apifox-cli

通过 Apifox CLI 管理 Apifox 项目资源。触发场景:运行接口自动化测试/测试套件,查询/创建/更新/删除接口、环境、Schema、Mock、分支等项目资源,导入导出 API 文档,查看测试报告,管理 Runner、定时任务、通知等 CI/CD…

apifox-test-case

apifox-test-case

Apifox 接口测试用例:test-case 与 test-data 的查询、创建、更新、删除、分类和运行;处理测试步骤、断言、提取变量、前后置处理器、数据集,以及“CLI 创建后前端测试步骤无法展示”等问题。

bilibili

bilibili

Read Bilibili (B站) content. Actions: search videos, view hot/rank feeds, read video details, prepare audio, and read subtitles…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about git-ops.

Which coding agents can use git-ops?
git-ops installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.