git-batch-commit

📁 chaorenex1/coding-workflow 📅 2 days ago
1
总安装量
1
周安装量
#41166
全站排名
安装命令
npx skills add https://github.com/chaorenex1/coding-workflow --skill git-batch-commit

Agent 安装分布

trae 1
qoder 1
trae-cn 1
opencode 1
cursor 1
codex 1

Skill 文档

Git Batch Commit Optimizer

This skill optimizes version control workflows by detecting when too many files are staged for commit and automatically organizing them into logical, feature-based batches with Conventional Commit messages.

Capabilities

  • Smart Threshold Detection: Automatically detects when staging area contains too many files (threshold-based analysis)
  • Intelligent File Grouping: Groups files by feature/functionality, not just directory structure
  • Change Analysis: Analyzes git diff to understand what each file modification does
  • Conventional Commits: Generates commit messages following the standard (feat/fix/docs/refactor/chore/style/test/perf)
  • Language-Aware Messages: Commit messages follow user’s language preference (English/Chinese/etc.)
  • Multi-Batch Execution: Executes multiple commits in logical sequence

Input Requirements

Git repository state:

  • Working directory with git repository
  • Modified/staged/untrayed files ready for commit
  • User language preference (defaults to English)
  • Optional: Custom threshold for file count (default: 10 files)
  • Optional: Specific Conventional Commit scope preferences

Formats accepted:

  • Direct git status/diff output
  • File paths with change descriptions
  • Text description of changes made

Output Formats

Results include:

  • Analysis of file count and recommended batching strategy
  • Grouped file sets by feature/functionality
  • Conventional Commit messages for each batch (type/scope/description)
  • Execution plan showing commit sequence
  • Summary report of commits created

Output structure:

{
  "analysis": {
    "total_files": 25,
    "threshold": 10,
    "requires_batching": true,
    "recommended_batches": 3
  },
  "batches": [
    {
      "batch_id": 1,
      "commit_type": "feat",
      "scope": "authentication",
      "files": ["auth.py", "login.py"],
      "message": "feat(authentication): add OAuth2 login support"
    }
  ],
  "execution_summary": "Created 3 commits across feat, fix, and docs types"
}

How to Use

Example 1 – Auto-detect and batch: “Analyze my git staging area and create appropriate batch commits”

Example 2 – With language preference: “Create batch commits in Chinese for all these staged files”

Example 3 – Custom threshold: “Use a threshold of 15 files and batch my commits accordingly”

Example 4 – Specific commit types: “Group these changes and use ‘feat’ and ‘refactor’ commit types”

Scripts

  • git_analyzer.py: Parses git status/diff, detects file counts, analyzes change types
  • batch_committer.py: Groups files by feature, generates Conventional Commit messages, executes commits
  • commit_language.py: Handles multilingual commit message generation

Conventional Commit Types

Standard Types Used:

  • feat: New feature or functionality
  • fix: Bug fix
  • docs: Documentation changes only
  • refactor: Code restructuring without feature changes
  • chore: Maintenance tasks (dependencies, configs)
  • style: Code style/formatting (no logic change)
  • test: Adding or updating tests
  • perf: Performance improvements

Scope Examples: (api), (ui), (auth), (database), (core)

Best Practices

  1. Review before execution: Always review the proposed batches before committing
  2. Meaningful scopes: Use clear, project-specific scopes for better commit history
  3. Atomic commits: Each batch should represent a cohesive unit of change
  4. Language consistency: Keep commit language consistent within a project
  5. Threshold tuning: Adjust threshold based on project size and team preferences
  6. Feature grouping: Prefer functional grouping over directory-based grouping

Limitations

  • Requires git repository in working directory
  • Cannot automatically resolve conflicts between batches
  • Scope detection depends on file naming conventions and change analysis
  • Language detection may require explicit user preference
  • Some complex refactorings may need manual grouping
  • Does not handle pre-commit hooks automatically (user must ensure hooks pass)

Configuration Options

Optional configuration via git_batch_config.json:

{
  "threshold": 10,
  "default_language": "en",
  "preferred_scopes": ["api", "ui", "core", "tests"],
  "commit_types": ["feat", "fix", "docs", "refactor", "chore"],
  "auto_execute": false
}

Safety Features

  • Dry-run mode: Preview batches before committing
  • Rollback support: Can amend or reset if issues detected
  • Validation: Checks for unstaged critical files
  • Conflict detection: Warns about potential file dependencies across batches