managing-git-workflow

ether-moon's avatarfrom ether-moon

Automates git commits, push, and PR creation with context-aware messages and ticket extraction. Use when performing git operations, creating commits/PRs, or when user mentions git, GitHub, commit, push, or pull request.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 22, 2025⬇️1downloads

When & Why to Use This Skill

The Managing Git Workflow skill automates the end-to-end version control process, including context-aware commit message generation, remote pushing, and Pull Request creation. It enhances developer productivity by intelligently extracting ticket numbers from branches and adhering to project-specific language and formatting conventions, ensuring a clean and professional repository history.

Use Cases

  • Automated Commit Messaging: Generate descriptive, context-aware commit messages that follow existing project patterns and automatically include ticket IDs (e.g., JIRA/FMT) extracted from branch names.
  • Streamlined PR Creation: Execute a single command to handle uncommitted changes, push to the remote repository, and open a Pull Request with an optimized title and description.
  • Standardized Git Operations: Maintain consistency across team repositories by using helper scripts that verify branch status and PR existence before performing destructive or redundant actions.
  • Multi-language Support: Automatically detect and use the project's primary language for all git-related documentation and messaging to maintain workspace uniformity.
namemanaging-git-workflow
descriptionAutomates git commits, push, and PR creation with context-aware messages and ticket extraction. Use when performing git operations, creating commits/PRs, or when user mentions git, GitHub, commit, push, or pull request.

Managing Git Workflow

Overview

Automates git workflows for commit, push, and PR creation with context-aware message generation and automatic ticket number extraction.

When to Use

  • Creating commits with auto-generated messages in project's language
  • Pushing changes (with automatic commit if needed)
  • Creating PRs (with automatic push and commit if needed)
  • When user mentions: git, commit, push, pull request, PR, GitHub

Workflow Selection

Task Reference Document Auto-includes
Commit only managing-git-workflow/reference/commit.md -
Push to remote managing-git-workflow/reference/push.md Commit (if uncommitted changes)
Create PR managing-git-workflow/reference/pr.md Push + Commit (if needed)

Common Principles

Commit Messages:

  • Use language specified in project context, prompts, or documentation (default to English if unspecified)
  • Follow existing project patterns (analyze with git log --online -10)
  • Include ticket numbers (FMT-XXXXX, FLEASVR-XXX, etc.) if found in branch name or changes

Branch Naming:

  • Extract ticket numbers from branch names for PR titles
  • Use descriptive, concrete names

Helper Scripts:

  • Common git operations available in git-helpers.sh
  • Use source to load helpers when needed

Quick Reference

# Load helper functions
source $SKILL_DIR/git-helpers.sh

# Check status
has_uncommitted_changes  # returns 0 if true
has_unpushed_commits     # returns 0 if true
get_current_branch       # echoes branch name
check_pr_exists          # returns 0 if PR exists

Implementation

For commit workflow: See managing-git-workflow/reference/commit.md

For push workflow: See managing-git-workflow/reference/push.md

For PR workflow: See managing-git-workflow/reference/pr.md

Each reference document provides step-by-step instructions for that specific operation.