Skip to content
Skills Library
Programming · Automation

git-workflow

/git-workflow

Enforces disciplined git practices on every commit. Small atomic commits, conventional messages, branch hygiene, and PR readiness checks. Changes how the agent HANDLES git — not just what commands it knows. Auto-triggers on any git operation. Use when committing, branching, merging, or preparing PRs. Also use when git history is messy, commits are too large, or PRs get rejected for poor git hygiene.

Repository
skill-forge ↗
Licence
MIT
Last repository change
28.06.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 28.06.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Enforces disciplined git practices on every commit. Small atomic commits, conventional messages, branch hygiene, and PR readiness checks. Changes how the agent HANDLES git — not just what commands it knows. Auto-triggers on any git operation. Use when committing, branching, merging, or preparing PRs. Also use when git history is messy, commits are too large, or PRs get rejected for poor git hygiene.

Original author description

Enforces disciplined git practices on every commit. Small atomic commits, conventional messages, branch hygiene, and PR readiness checks. Changes how the agent HANDLES git — not just what commands it knows. Auto-triggers on any git operation. Use when committing, branching, merging, or preparing PRs. Also use when git history is messy, commits are too large, or PRs get rejected for poor git hygiene.

How it works

  1. Overview
  2. Persistence
  3. The Discipline
  4. Auto-Triggers
  5. Why
Original SKILL.md headings · 90 lines, 486 words
SKILL.md preview
---
name: git-workflow
description: >-
  Enforces disciplined git practices on every commit. Small atomic commits,
  conventional messages, branch hygiene, and PR readiness checks. Changes how
  the agent HANDLES git — not just what commands it knows. Auto-triggers on any
  git operation. Use when committing, branching, merging, or preparing PRs.
  Also use when git history is messy, commits are too large, or PRs get rejected
  for poor git hygiene.
---

## Overview

Enforce disciplined git practices on every operation — small atomic commits, conventional messages, clean branch hygiene, and PR readiness checks. Changes how the agent handles git, not just what commands it knows.

# Git Workflow

Change how you handle git. Not a reference — a DISCIPLINE.

## Persistence

ACTIVE on every git operation. Every commit, every branch, every PR. Not optional. Off only when user explicitly says "skip git discipline".

## The Discipline

### Every Commit Must Be

```
SMALL: One logical change (if you need "and" to describe it, split it)
ATOMIC: Passes tests on its own (any commit can be reverted safely)
MESSAGED: Conventional format (type: concise description)
CLEAN: No debug logs, no commented code, no TODOs you won't do
```

Before EVERY `git commit`:
1. `git diff --staged` — READ what you're actually committing
2. Is this ONE thing? If not, `git reset HEAD` and commit in parts
3. Write message: `type(scope): what changed` (not "update files")
4. Check: would reverting THIS commit break anything else? (shouldn't)

### Branching

```
RULE: Never commit directly to main/master
RULE: Branch names describe the work: feat/add-auth, fix/login-timeout
RULE: Branches live < 3 days (if longer, you're batching too much)
RULE: Rebase before PR (clean linear history)
```

### Before Creating a PR

Run this checklist YOURSELF before showing the PR to the user:

```
[ ] All commits are atomic and conventional
[ ] No fixup commits left (squash them)
[ ] Branch is rebased on latest main
[ ] Tests pass on the branch
[ ] No unrelated changes snuck in
[ ] PR description explains WHY not just WHAT
[ ] Diff is < 400 lines (if larger, split into multiple PRs)
```

### Conventional Commit Types

| Type | When |
|------|------|
| `feat` | New capability for users |
| `fix` | Bug that affected users |
| `refactor` | Code change, no behavior change |
| `test` | Adding/fixing tests only |
| `docs` | Documentation only |
| `chore` | Build, deps, config |
| `perf` | Performance improvement |

### Bad → Good

```
BAD:  "update stuff"
GOOD: "feat(auth): add JWT refresh token rotation"

BAD:  "fix bug"  
GOOD: "fix(checkout): prevent double-charge on timeout retry"

BAD:  one commit with 15 files changed across 3 features
GOOD: 3 commits, each touching one feature, each revertable alone
```

## Auto-Triggers

When you're about to:
- `git add .` → STOP. Stage selectively. Read the diff.
- `git commit -m "..."` → CHECK: is the message conventional? Is the change atomic?
- `git push` → CHECK: is the branch rebased? Tests pass?
- Create a PR → RUN the PR checklist above.

## Why

Messy git = impossible to debug, revert, or review. Disciplined git = every commit is a rollback point, every PR is reviewable, every message is searchable. This compounds over months into a codebase that's navigable by archaeology.

Versions

RepositoryScoreLicence
This page · Adit-Jain-srm/skill-forge100MIT
event4u-app/agent-config100MIT
lee-w/maigo100MIT
hakula139/plugins100MIT
ericrisco/rsc-harness100MIT
Sanit-mann/The-Insectoids100MIT
eliyce/paqad-ai100MIT
langfuse/langfuse100MIT
Muvon/octomind-tap100Apache-2.0

Database snapshot: 13.11.2026 · package version 238fa9e8ba39 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100git-commit-hygiene-meaningful-commit-history
    Use this skill when crafting atomic Git commits, conventional commit messages, and clean linear Git branch histories.
  • 96commit
    Creates atomic conventional git commits using git-agent. This skill should be used when the user requests "commit", "git commit", "create commit", or wants to commit changes using AI atomic commits.
  • 100git-commit
    Structured git commit messages following Conventional Commits format for Go projects. Generates well-scoped, atomic commits with clear descriptions. Use when committing changes, writing commit messages, preparing PRs, or reviewing commit history quality. Trigger examples:…
  • 96commit-and-push
    Creates atomic conventional git commits using git-agent and pushes changes to the remote repository. Use when the user asks to "commit and push", "commit with git-agent", or wants an atomic AI-generated commit followed by a push.
  • 100git-commit-and-workflow
    Git commit, branch and pull request best practices using Conventional Commits. Use whenever creating commits, naming branches, preparing pull requests, writing commit messages, or when asked to commit, push, merge or release code.
  • 95conventional-commits
    Use when writing git commit messages and structuring commits. Covers the Conventional Commits format, choosing the right type/scope, breaking-change notation, and how to split work into small, atomic, reviewable commits.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.