Skip to content
Development
Skill

/git-workflow

Guided git workflows: prepare PRs, clean up branches, resolve merge conflicts, handle monorepo tags, squash-and-merge patterns. Use when asked to prepare a PR, clean branches, resolve conflicts, or tag a release.

From plugin
jezweb-skills
1.1k63 skills57 commands

Claude Code

$ npx -y skills add jezweb/claude-skills --skill git-workflow --agent claude-code

SKILL.md

git-workflow.SKILL.md
name: git-workflow
description: "Guided git workflows: prepare PRs, clean up branches, resolve merge conflicts, handle monorepo tags, squash-and-merge patterns. Use when asked to prepare a PR, clean branches, resolve conflicts, or tag a release."
compatibility: claude-code-only

Git Workflow

Guided workflows for common git operations that benefit from structured steps.

PR Preparation

When preparing a pull request:

1. **Gather context**

  • `git log main..HEAD --oneline` — list all commits on the branch
  • `git diff main...HEAD --stat` — see all changed files
  • `git status` — check for uncommitted work

2. **Draft PR content**

  • Title: under 70 chars, describes the change (not the branch name)
  • Body: summarise the "why", list key changes, add test plan
  • Use the commit history to write the summary — don't rely on memory

3. **Push and create**

   git push -u origin HEAD
   gh pr create --title "..." --body "$(cat <<'EOF'
   ## Summary
   - ...

   ## Test plan
   - [ ] ...

   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   EOF
   )"

4. **Verify** — `gh pr view --web` to open in browser

Branch Cleanup

Clean up merged branches safely:

1. **Switch to main and pull latest**

   git checkout main && git pull

2. **List merged branches** (excludes main/master/develop)

   git branch --merged main | grep -vE '^\*|main|master|develop'

3. **Delete local merged branches**

   git branch --merged main | grep -vE '^\*|main|master|develop' | xargs -r git branch -d

4. **Prune remote tracking refs**

   git fetch --prune

5. **List remote branches with no local tracking** (optional)

   git branch -r --merged origin/main | grep -vE 'main|master|develop|HEAD'

Merge Conflict Resolution

When a PR has conflicts:

1. **Assess the conflict scope**

   git fetch origin
   git merge origin/main --no-commit --no-ff
   git diff --name-only --diff-filter=U  # List conflicted files

2. **For each conflicted file**, read the file and resolve:

  • Keep both changes if they're in different areas
  • If architecturally incompatible, prefer the main branch's approach and re-apply the PR's intent on top

3. **If rebase is cleaner** (few commits, no shared history):

   git rebase origin/main
   # Resolve conflicts per commit, then:
   git rebase --continue

4. **If rebase is messy** (many conflicts, architectural divergence):

  • Abort: `git rebase --abort` or `git merge --abort`
  • Extract useful code: `git show origin/branch:path/to/file > /tmp/extracted.txt`
  • Apply changes manually to main
  • Close original PR with explanation

5. **Verify** — run tests, check the diff looks right

Monorepo Release Tags

In monorepos, scope tags to the package:

# ❌ Ambiguous in monorepos
git tag v2.1.0

# ✅ Scoped to package
git tag contextbricks-v2.1.0
git push origin contextbricks-v2.1.0

Pattern: `{package-name}-v{semver}`

.gitignore-First Init

When creating a new repo, always create `.gitignore` BEFORE the first `git add`:

cat > .gitignore << 'EOF'
node_modules/
.wrangler/
dist/
.dev.vars
*.log
.DS_Store
.env
.env.local
EOF

git init && git add . && git commit -m "Initial commit"

**If node_modules is already tracked:**

git rm -r --cached node_modules/
git commit -m "Remove node_modules from tracking"

Private Repo License Audit

Before publishing or sharing a private repo:

gh repo view --json visibility -q '.visibility'

If `PRIVATE`, ensure:

  • `LICENSE` contains proprietary notice (not MIT/Apache)
  • `package.json` has `"license": "UNLICENSED"` and `"private": true`
  • No `CONTRIBUTING.md` or "contributions welcome" in README
Read more
@jezweb
Ships withjezweb-skills

Production workflow skills for Claude Code. Each skill guides Claude through a recipe to produce tangible output — scaffolded projects, generated assets, professional documents, deployed services. Ten plugins of practical, production-oriented skills.

Stars on GitHub

Momentum

stars in total
1.1k
Star history of jezweb/claude-skills on GitHub, a chart by star-history.com

Other skills on jezweb-skills.

cloudflare-api

cloudflare-api

Hit the Cloudflare REST API directly for operations that wrangler and MCP can't handle well. Bulk DNS, custom hostnames, email…

d1-drizzle-schema

d1-drizzle-schema

Generate Drizzle ORM schemas for Cloudflare D1 databases with correct D1-specific patterns. Produces schema files, migration…

d1-migration

d1-migration

Cloudflare D1 migration workflow: generate with Drizzle, inspect SQL for gotchas, apply to local and remote, fix stuck…

db-seed

db-seed

Generate database seed scripts with realistic sample data. Reads Drizzle schemas or SQL migrations, respects foreign key…

hono-api-scaffolder

hono-api-scaffolder

Scaffold Hono API routes for Cloudflare Workers. Produces route files, middleware, typed bindings, Zod validation, error…

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.

skills2w309k
@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,…

ecc2w293k
@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…

react5d252k
@facebook@facebookInstall Skill

Questions about git-workflow.

Which coding agents can use git-workflow?
git-workflow 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.