jpeetz/agent-skills

git-workflow-automation

Expert Git workflow automation for commit message generation, branch naming, PR description writing, changelog generation, merge conflict resolution, and release management.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/jpeetz/agent-skills --skill git-workflow-automation

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Git Workflow Automation

Automate Git operations with battle-tested conventions. Every commit, PR, changelog, and release follows reproducible standards that scale across teams and enable full CI/CD automation.

Role

You are a Git workflow expert. You enforce consistency through Convention over Configuration, enabling teams to automate changelogs, versioning, and releases.

Core Conventions

Conventional Commits (Strict Enforcement)

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

[optional body]

[optional footer]

Types and their effects:

TypeSemVer BumpChangelog SectionWhen to Use
featMINORAddedNew feature
fixPATCHFixedBug fix
docsNONE—Documentation only
styleNONE—Formatting, whitespace
refactorNONE—Code change, no feature/fix
perfPATCHPerformancePerformance improvement
testNONE—Adding/updating tests
buildPATCH*—Build system, dependencies
ciNONE—CI configuration
choreNONE—Maintenance tasks
revertPATCH—Reverting a commit

\* build bumps PATCH only if dependency change is user-facing.

Breaking changes: Add ! after type/scope and BREAKING CHANGE: footer.

  • feat!: drop support for Node 16 → MAJOR bump
  • feat(api)!: remove deprecated /v1 endpoint → MAJOR bump

Commit Message Quality Rules

  1. Imperative mood: "Add feature" not "Added feature" or "Adds feature"
  2. No period at end of subject line
  3. Subject ≤ 72 characters
  4. Body explains WHAT and WHY, not HOW
  5. Every commit is atomic — one logical change
  6. Reference issues: Closes #123 or Refs #456 in footer
  7. Co-authored-by for pair/mob programming

Branch Naming Convention

<type>/<ticket>-<short-description>
Branch TypePatternExample
Featurefeat/TICKET-123-add-oauthfeat/PROJ-42-user-auth
Bug fixfix/TICKET-456-null-checkfix/PROJ-99-login-redirect
Chorechore/update-depschore/eslint-v9-migration
Releaserelease/v1.2.0release/v2.0.0
Hotfixhotfix/v1.1.1-crashhotfix/v1.2.1-memory-leak

PR Description Template

Generate PR descriptions with this structure:

markdown
## Summary
[One sentence explaining what this PR does]

## Motivation
[Why this change is needed — link to issue/discussion]

## Changes
- [List of key changes, one per bullet]
- [Breaking changes highlighted with ⚠️]

## Testing
- [ ] Unit tests added/updated
- [ ] Integration tests pass
- [ ] Manual testing steps performed

## Screenshots (if UI)
[Before/After screenshots]

## Checklist
- [ ] Code follows project conventions
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No new warnings

Closes #[ISSUE_NUMBER]

Changelog Generation

Generate changelogs from commit history following Keep a Changelog format:

markdown
# Changelog
All notable changes to this project will be documented in this file.

## [VERSION] — YYYY-MM-DD

### Added
- [feat commits with descriptions]

### Changed
- [breaking changes, deprecations]

### Fixed
- [fix commits with descriptions]

### Security
- [security-related fixes]

### Performance
- [perf commits with descriptions]

Generation process:

  1. git log --oneline <last-tag>..HEAD
  2. Parse conventional commits by type
  3. Group by section
  4. Transform technical messages to user-facing prose
  5. Add links to PRs/issues

User-facing rewrite rules:

  • "fix: null pointer in payment handler" → "Fixed crash during payment processing"
  • "perf: add Redis cache for user sessions" → "Login and dashboard load 5x faster with session caching"
  • Don't include: refactor, style, chore, docs-only (unless noteworthy)

Version Bumping (Semantic Versioning)

Follow SemVer 2.0.0 strictly:

MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
ChangeBumpExample
Breaking (BREAKING CHANGE or !)MAJOR1.2.3 → 2.0.0
New feature (feat)MINOR1.2.3 → 1.3.0
Bug fix (fix, perf)PATCH1.2.3 → 1.2.4
No feat/fix/breakingNONE1.2.3 stays

Release Flow

1. Determine next version from commits since last tag
2. git checkout -b release/vX.Y.Z
3. Update version in package.json / Cargo.toml / pyproject.toml
4. Update CHANGELOG.md with all changes since last release
5. git commit -m "chore(release): vX.Y.Z"
6. git tag -a vX.Y.Z -m "Release vX.Y.Z"
7. git push --follow-tags
8. Create GitHub Release from tag

Merge Conflict Resolution

When resolving conflicts, follow this priority:

  1. Read both sides fully before resolving
  2. Prefer the more complete implementation
  3. Run tests after resolution
  4. Never silently discard either side's changes
  5. Add a comment if the resolution is non-obvious

Conflict resolution commit: chore: resolve merge conflict in <file>

Merge Strategies

Branch → TargetStrategyReason
feat/* → mainSquash & mergeClean linear history
fix/* → mainSquash & mergeClean linear history
release/* → mainMerge commitPreserve release context
hotfix/* → mainMerge commitFull audit trail
main → feat/*MergeSync with latest

Security Rules

  1. Never commit secrets — check with git diff --cached for patterns
  2. Sign commits — use GPG/SSH signing (git config commit.gpgsign true)
  3. Protect main — never force-push to main/master
  4. Signed tags — git tag -s vX.Y.Z for releases
  5. .gitignore audit — warn if .env, credentials.*, *.pem would be committed

When NOT to Automate

These Git operations require human judgment — flag them, don't automate:

  • Interactive rebase — let the user drive it
  • Force push decisions — warn; never force-push shared branches
  • Large binary files — suggest Git LFS instead of committing
  • Submodule updates — flag for review, don't auto-update

Edge Cases

SituationAction
Empty commitDon't create; suggest combining with next change
WIP commitsSuggest git commit --amend or squash before PR
Detached HEADWarn user; create branch git switch -c <name>
Diverged branchesSuggest git pull --rebase over git pull (merge)
Too many commits in PRSuggest interactive squash before review
No recent tagsStart changelog from first commit
MonorepoScope commits to package: feat(api):, fix(web):

Integration with CI/CD

Generated output is designed for CI/CD consumption:

  • Commitlint config: references/commitlint.config.js
  • Semantic Release config: references/.releaserc.json
  • Changelog format: Compatible with standard-version, semantic-release, git-cliff
  • PR template: GitHub/GitLab PR template format

Scripts

  • scripts/generate-changelog.sh — Generate changelog from git log
  • scripts/next-version.sh — Determine next semantic version from commits
  • scripts/validate-commits.sh — Validate conventional commit compliance

References

  • references/conventional-commits-spec.md — Full Conventional Commits spec
  • references/keep-a-changelog-format.md — Keep a Changelog format guide
  • references/semver-cheatsheet.md — Semantic Versioning reference
from this repository

More skills

All skills
jpeetz
Community

accessibility-compliance-audit

Comprehensive web accessibility (a11y) audit and compliance skill. Audits HTML, React, Vue, and Angular codebases against WCAG 2.2 AA standards. Activates when users ask for "accessibility audit", "a11y check", "WCAG compliance", "ADA compliance", "screen reader testing", "keyboard navigation audit", "color contrast check", "accessibility fix", or "make this accessible". Detects violations, explains impact, and generates fix-ready code. Covers semantic HTML, ARIA authoring, focus management, col

installs
1
GitHub stars
14
Updated
Oct 21
jpeetz
Community

agent-n-video-pipeline

Use this skill when producing a fully-local "Agent N presents a message" video on the 16GB Apple-Silicon M5 executor: Kokoro mature TTS → LTX-2.3 MLX A2V talking render with native lip sync → karaoke captions → trim → QA → X caption. Replaces the old cloud Herald pipeline (grok-imagine + volcengine) with zero cloud cost. Activates for Herald release videos, Agent N announcements, and newsletter video messages.

installs
1
GitHub stars
14
Updated
Oct 21
jpeetz
Community

anti-over-engineering

Use when AI agents over-engineer code beyond user requests.

installs
1
GitHub stars
14
Updated
Oct 21
jpeetz
Community

api-and-interface-design

Use this skill when designing APIs, module boundaries, or any public interface. Create stable, well-documented interfaces that are hard to misuse — REST endpoints, GraphQL schemas, module contracts, component props. Covers contract-first design, error semantics, validation boundaries, idempotency, and consistent naming.

installs
1
GitHub stars
14
Updated
Oct 21