CtrlK
BlogDocsLog inGet started
Tessl Logo

git-commit-writer

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.

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

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"
Repository
mergisi/awesome-openclaw-agents
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.