Skip to content
Agentmart
Submit a tool

git-commit

Generate a conventional commit message (conventionalcommits.org) from the staged/unstaged diff and create the commit.

Skill by mgiovani

IndexedMIT★ 8
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/mgiovani-git-commit

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Generate a conventional commit message (conventionalcommits.org) from the staged/unstaged diff and create the commit. Use when the user wants to commit, stage changes, or needs a commit message written. Not for release commits or changelogs (use git-release) or branch-finish workflows (use gitflow).

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Shell scripts

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/git-commit

What's inside

Skill name
git-commit
Description
Generate a conventional commit message (conventionalcommits.org) from the staged/unstaged diff and create the commit. Use when the user wants to commit, stage changes, or needs a commit message written. Not for release commits or changelogs (use git-release) or branch-finish workflows (use gitflow).
License
MIT
Metadata
author: mgiovani · summary: Conventional commit message generation · version: 1.0.0
Instructions
61 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (4)

  • SKILL.md
  • evals.json · evals/
  • trigger-eval.json · evals/
  • pre-commit-lint.sh · scripts/

SKILL.md (first lines)

# Git Commit

Generate a conventional commit message and create the commit.

## Quality Guidelines

Base the message only on what the diff actually shows, not assumptions:
1. Read `git status` and `git diff --staged` (or `git diff` if nothing is staged yet) before writing anything.
2. Check which files/modules changed before setting scope.
3. Look for removed exports, changed signatures, deleted functions to catch breaking changes.
4. If the purpose of a change is unclear, ask the user rather than guess.

## Pre-commit Linting

In Claude Code, a `PreToolUse` hook runs before every `git commit`: it detects the project's
linter (Node's `npm/bun/pnpm/yarn run lint`, Python's `ruff`/`flake8`, `make lint`, `rubocop`,
`golangci-lint`) and blocks the commit if it fails. No linter configured means the commit
proceeds unblocked. Outside Claude Code (no hook support), run the project's lint command
yourself before committing. Never bypass a failing lint with `--no-verify`: fix the errors
and re-run the commit instead.

## Workflow

1. Run `git status` and `git diff --staged` to see what actually changed.
2. If the diff mixes unrelated concerns (e.g. a feature plus an unrelated fix plus docs),
   split into separate commits by staging each group with `git add <files>` and committing
   them one at a time. Otherwise, one commit is enough, don't force a split.
3. For each commit, pick the type:
   - `feat`: new feature
   - `fix`: bug fix
   - `docs`: documentation only
   - `style`: formatting, no code meaning change
   - `refactor`: neither fixes a bug nor adds a feature
   - `perf`: performance improvement
   - `test`: adding or correcting tests
   - `build`: build system or dependency changes
   - `ci`: CI configuration/scripts
   - `chore`: everything else that doesn't touch src or tests
   - `revert`: reverts a previous commit
4. Format as `type(scope): description`, scope optional, description imperative mood
   ("add" not "added"), max ~50 characters. Skip the body for a typo fix or a single
   dependency bump; add a wrapped body (why, not how) once the change alters behavior or
   touches multiple files. For breaking changes, append `!` after the scope and add a
   `BREAKING CHANGE: ...` footer.

## Example formats

```
feat(auth): add OAuth2 login support
fix(api): resolve null pointer in user endpoint
docs: update installation instructions
chore(deps): bump lodash to 4.17.21

feat(shopping-cart)!: remove deprecated calculate method

BREAKING CHANGE: calculate has been removed, use computeTotal instead
```

Ask for confirmation before committing if the changes are complex or span multiple concerns; otherwise just commit.

From mgiovani/cc-arsenal, MIT.

More from mgiovani/cc-arsenal

Signals

Stars
8
Forks
1
Open issues
6
Last commit (this folder)
Oct 5, 2026 (23 days ago)
Last release
Oct 7, 2026 (22 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.0.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from mgiovani

Cite this page

git-commit skill. Agent Mart. https://agentmart.dev/skills/mgiovani-git-commit (last updated 2026-10-24)