Git Operations Automation logo

Git Operations Automation

Visit

Claude Code skill that stages, commits with a generated conventional commit message, and pushes your branch in one step via a bundled smart_commit.sh script.

Share:
View alternatives

Overview

Git Operations Automation covers the git-pushing skill from mhattingpete/claude-skills-marketplace, a Claude Code plugin marketplace for software engineering workflows (Apache-2.0). The skill ships in the engineering-workflow-plugin alongside feature planning, test fixing, and review-implementing skills. Its job is narrow: when you say "commit and push" or "push this", Claude runs one script that stages, commits, and pushes, instead of improvising a sequence of git commands.

How It Works

The skill tells Claude to always call scripts/smart_commit.sh rather than manual git commands. The script:

  1. Exits early with "No changes to commit" when the working tree is clean.
  2. Stages everything with git add ..
  3. If you did not pass a message, derives a conventional commit type from the staged files: test when paths contain "test", docs for .md/.txt/.rst, chore for package.json, requirements.txt, or Cargo.toml, fix or refactor when the diff mentions those words, otherwise feat. It adds a scope from the path (for example plugin, skill, or the top-level folder).
  4. Commits with a Claude Code footer and a Co-Authored-By: Claude trailer.
  5. Pushes, adding -u origin <branch> for a new branch, and prints a "Create PR" link for GitHub remotes.

Quick Start

# In Claude Code
/plugin marketplace add mhattingpete/claude-skills-marketplace

Then ask "commit and push these changes", or pass your own message:

bash skills/git-pushing/scripts/smart_commit.sh "feat: add feature"

Use Cases

  • Ending a Claude Code session with a quick checkpoint push on a feature branch.
  • Keeping commit messages in conventional-commit shape without typing them.
  • Solo projects where "stage everything" matches how you work.

Limitations

  • git add . stages every change, including files you may not want committed. Check git status and your .gitignore first.
  • Auto-generated messages are generic ("update 3 file(s)"); pass a real message for anything you will read later.
  • It pushes immediately, so avoid it on protected or shared branches.

FAQ

Does it handle merge conflicts or rebases?

No. The script stages, commits, and pushes; a failed push is reported as an error.

Can I write my own commit message?

Yes. Pass it as the first argument and the script uses it instead of generating one.

Alternatives

More in Skills and the git tag.

Comments

No comments yet. Be the first to comment!