Claude Code Plugins

Community-maintained marketplace

Feedback
0
0

Intelligently detects when too many files are staged and automatically groups them by feature or functionality using Conventional Commits with user language preference

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name git-batch-commit
description Intelligently detects when too many files are staged and automatically groups them by feature or functionality using Conventional Commits with user language preference

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