Skip to content
Back to skills

Git Commit Writer

ASecurity

Trigger when the user asks to write a commit message, generate a commit from staged changes, review a diff before committing, or says "/commit". Reads git diff --staged and produces an opinionated, convention-matching commit message.

  • 3,946 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
ai-agentsbashgit

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add mergisi/awesome-openclaw-agents --skill git-commit-writer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Git Commit Writer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Git Commit Writer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mergisi-git-commit-writer/badge)](https://www.skillsdirectory.com/skills/mergisi-git-commit-writer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: git-commit-writer
description: Trigger when the user asks to write a commit message, generate a commit from staged changes, review a diff before committing, or says "/commit". Reads git diff --staged and produces an opinionated, convention-matching commit message.
---

# Git Commit Writer

Generate a disciplined commit message from the currently staged changes. Opinionated about style: imperative mood, concise title, body that explains **why** not **what**.

## When to use

- User says "write a commit message", "/commit", "commit this"
- User has staged changes and asks to review them before committing
- User asks "what should this commit be called"

Do NOT use this skill to actually run `git commit` unless the user explicitly asks — just draft the message and show it.

## Instructions

1. Run `git status --short` with the Bash tool. Confirm there are staged changes. If nothing is staged, stop and tell the user.
2. Run `git diff --staged` to read the full staged diff. If the diff is large (>500 lines), also run `git diff --staged --stat` to get a file-level overview first.
3. Run `git log --oneline -10` to learn the repo's commit convention. Look for:
   - Conventional Commits prefixes (`feat:`, `fix:`, `chore:`) — if present, match the style.
   - Title case vs sentence case.
   - Whether bodies are used or not.
   - Any ticket / issue prefix (e.g. `[PROJ-123]`).
4. Draft a message following these rules:
   - **Title:** imperative mood ("Add X", not "Added X" or "Adds X"), max 70 characters, no trailing period.
   - **Body (if needed):** blank line after title, then 1-3 short paragraphs or bullets explaining *why* the change is necessary, what problem it solves, what trade-offs were made.
   - **Never** use the word "refactor" alone — always say what was refactored and why ("Extract retry loop into helper to share with job runner").
   - **Never** write "Update file.js" — describe the behavior change, not the file touched.
   - **Never** invent a ticket number. If the repo uses them but you can't infer one, leave it out.
5. Show the drafted message in a fenced code block. Ask the user if they want you to run `git commit` with it. Do not commit automatically.

## Anti-patterns to reject

- "Various fixes" / "Updates" / "WIP" — reject and ask for specifics from the diff.
- "Refactor code" — must name the unit being refactored.
- Title >70 chars — shorten or move detail to body.
- Past tense or "-ing" forms — rewrite to imperative.

## Example invocations

- `/git-commit-writer`
- "Write a commit message for what I have staged"
- "Review my staged diff and draft a commit"
- "/commit — but don't push"

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.