Skip to content
Back to skills

Git Workflow

ASecurity

Helps with git workflows including conventional commit messages, branching strategies, merge conflict resolution, and changelog generation. Triggers on: "git commit message", "branching strategy", "resolve conflict", "generate changelog".

  • 10 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 13, 2026
ai-agentsgobashnodegitapici/cdperformancedocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned June 13, 2026

npx -y skills add timwukp/agent-skills-best-practice --skill git-workflow --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Git Workflow?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Git Workflow
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/timwukp-git-workflow/badge)](https://www.skillsdirectory.com/skills/timwukp-git-workflow)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: git-workflow
description: >
  Helps with git workflows including conventional commit messages, branching strategies,
  merge conflict resolution, and changelog generation.
  Triggers on: "git commit message", "branching strategy", "resolve conflict", "generate changelog".
license: MIT
metadata:
  author: Community
  version: 1.0.0
  category: developer-workflow
---

# Git Workflow

## Instructions

### Step 1: Identify the Task

Determine which workflow the user needs:
1. **Commit message** - writing or improving a commit message
2. **Branching strategy** - choosing or implementing a branching model
3. **Conflict resolution** - resolving merge conflicts
4. **Changelog** - generating release notes from commit history

Ask clarifying questions only if the intent is ambiguous.

### Step 2: Conventional Commits

When writing commit messages, follow the Conventional Commits specification:

```
<type>[optional scope]: <description>

[optional body]

[optional footer(s)]
```

**Types (in order of frequency):**
- `feat` - new feature (correlates with MINOR in semver)
- `fix` - bug fix (correlates with PATCH in semver)
- `docs` - documentation only
- `style` - formatting, no code change
- `refactor` - neither fix nor feature
- `perf` - performance improvement
- `test` - adding or fixing tests
- `chore` - build process, tooling, dependencies
- `ci` - CI/CD configuration changes

**Rules:**
- Description is lowercase, no period at end, max 72 characters
- Body wraps at 72 characters, explains what and why (not how)
- Breaking changes: add `!` after type or `BREAKING CHANGE:` in footer

**Examples:**
```
feat(auth): add OAuth2 login with Google provider

Implements the OAuth2 authorization code flow for Google.
Stores tokens in encrypted session storage.

Closes #142
```

```
fix(api): prevent race condition in concurrent order creation

Added optimistic locking with version column check.
Returns 409 Conflict when version mismatch detected.
```

### Step 3: Branching Strategies

Recommend based on team size and release cadence:

**Trunk-Based Development** (recommended for most teams):
- Single `main` branch, always deployable
- Short-lived feature branches (max 2 days)
- Feature flags for incomplete work
- Best for: CI/CD, small teams, frequent releases

**GitHub Flow:**
- `main` branch + feature branches
- PR-based review before merge
- Deploy from `main` after merge
- Best for: open source, SaaS with continuous deployment

**GitFlow** (only for complex release schedules):
- `main`, `develop`, `feature/*`, `release/*`, `hotfix/*`
- Best for: packaged software, multiple supported versions
- Avoid unless you have a specific reason to use it

Provide the branching diagram and example commands for the chosen strategy.

### Step 4: Conflict Resolution

When helping resolve conflicts:

1. **Identify the conflict type:**
   - Content conflict (same lines changed)
   - Rename conflict (file renamed differently)
   - Delete/modify conflict (one branch deleted, other modified)

2. **Show both sides clearly:**
   ```
   <<<<<<< HEAD (your changes)
   [your code]
   =======
   [their code]
   >>>>>>> feature-branch (incoming changes)
   ```

3. **Suggest resolution strategy:**
   - Take ours (keep current branch)
   - Take theirs (accept incoming)
   - Merge both (combine changes)
   - Rewrite (neither version is correct)

4. **Provide the resolved code** and the commands:
   ```bash
   # After resolving
   git add <resolved-files>
   git commit  # or git rebase --continue
   ```

### Step 5: Changelog Generation

Generate changelogs from conventional commits:

```markdown
## [1.2.0] - 2024-01-15

### Added
- OAuth2 login with Google provider (#142)
- Rate limiting on public API endpoints (#156)

### Fixed
- Race condition in concurrent order creation (#163)
- Memory leak in WebSocket connection handler (#158)

### Changed
- Upgraded Node.js requirement to v18+ (BREAKING)
```

**Process:**
1. Parse commits since last tag: `git log v1.1.0..HEAD --oneline`
2. Group by type (feat=Added, fix=Fixed, refactor/perf=Changed)
3. Include PR/issue numbers
4. Highlight breaking changes prominently
5. Use Keep a Changelog format

## Example

User says: "Write a commit message for adding email validation to the signup form"

Response:
```
feat(signup): add email validation with DNS MX record check

Validates email format client-side and verifies MX records server-side.
Displays inline error message when validation fails.
Debounces server check by 500ms to reduce API calls.

Closes #89
```

## Guidelines

- Default to Conventional Commits format unless the project uses a different convention
- Keep commit descriptions under 72 characters
- Recommend trunk-based development unless the team has a specific need for GitFlow
- When resolving conflicts, always explain why the chosen resolution is correct
- For changelogs, include only user-facing changes unless generating internal release notes
- Never suggest force-pushing to shared branches without explicit warning

Files in this skill

  • SKILL.md4.9 KB
  • evals/evals.json1.6 KB
  • evals/trigger_evals.json1.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.