git-commit-writer

star 3.6k

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.

mergisi By mergisi schedule Updated 4/13/2026

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"
Install via CLI
npx skills add https://github.com/mergisi/awesome-openclaw-agents --skill git-commit-writer
Repository Details
star Stars 3,624
call_split Forks 587
navigation Branch main
article Path SKILL.md
More from Creator