Agent skill

Review Commit Message

by tbhb in tbhb/vale-ai-tells

Review a drafted commit message in COMMITAGENTMSG against the staged diff, as an independent agent, for the things mechanical linting can't see: claims the diff doesn't support, counting, provenance…

Apache-2.0Auto-check passedDevelopment

Install Review Commit Message

skills CLI
$ npx skills add tbhb/vale-ai-tells --skill review-commit-message -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tbhb/vale-ai-tells review-commit-message --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tbhb/vale-ai-tells.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/review-commit-message .claude/skills/review-commit-message && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
review-commit-message
GitHub stars
115
Token cost
~1.4k tokens
SKILL.md length
741 words
Files
2
Skills in repo
27
Repo updated
First seen
Licence
Apache-2.0

At a glance

Review a drafted commit message in COMMITAGENTMSG against the staged diff, as an independent agent, for the things mechanical linting can't see: claims the diff doesn't support, counting, provenance…

  • Tasks that involve Commit messages
  • SKILL.md covers The repository, Gather the inputs, What to check and What to return
  • Calls git
  • Tasks that involve Linting and formatting

What it does

Review Commit Message is an agent skill from tbhb/vale-ai-tells. Review a drafted commit message in COMMITAGENTMSG against the staged diff, as an independent agent, for the things mechanical linting can't see: claims the diff doesn't support, counting, provenance filler, restating the diff, subject mood and bounds, plain-text form, and whether the staged change is one logical change. The commit skill invokes this before every commit, passing the repository root.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `tokens.json`).

It sits in Development, covering Commit messages and Linting and formatting. It works with Git. The repository describes itself as: In today's rapidly evolving landscape, vale-ai-tells is a comprehensive, cutting-edge Vale style package that empowers writers to seamlessly delve into the rich tapestry of AI…. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Commit messages
  • Tasks that involve Linting and formatting

Example prompts

  • “t see: claims the diff doesn”
  • “/review-commit-message”

What it can do on your machine

Read from SKILL.md and the folder at commit 4c7abc9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Review Commit Message loads about 1.4k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 741 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~106
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tbhb/vale-ai-tells at commit 4c7abc9, republished under its Apache-2.0 licence (© tbhb). 741 words, ~1,392 tokens.

Download SKILL.mdSave it as .claude/skills/review-commit-message/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
review-commit-message
description
Review a drafted commit message in COMMIT_AGENTMSG against the staged diff, as an independent agent, for the things mechanical linting can't see: claims the diff doesn't support, counting, provenance filler, restating the diff, subject mood and bounds, plain-text form, and whether the staged change is one logical change. The commit skill invokes this before every commit, passing the repository root.
license
Apache-2.0
context
fork
agent
Explore
background
false

Review a drafted commit message

Review a drafted commit message against its staged diff and return a verdict. You're the independent check. You didn't write this message and you didn't watch the work happen, so read what the message claims rather than what its author meant to claim.

The repository

$ARGUMENTS

Treat the first word as the repository under review. An empty value means the current working directory. Bind it once and use it throughout:

bash
REPO="${ARGUMENTS:-$(pwd)}"

A second word of --amend says this commit replaces the one at HEAD instead of following it. That changes which diff you read, and nothing else about your job.

Gather the inputs

Run these before judging anything:

  • cat "$REPO/COMMIT_AGENTMSG" for the draft
  • git -C "$REPO" diff --cached --name-status for the staged paths
  • git -C "$REPO" diff --cached for the staged diff
  • git -C "$REPO" log -5 --pretty=format:'%h %s' for project style

Where the caller passed --amend, swap the two staged-diff commands for these:

  • git -C "$REPO" diff --cached --name-status HEAD~1
  • git -C "$REPO" diff --cached HEAD~1

Those show the amended commit's full contents, meaning the existing commit plus whatever the author has staged since. Reading the plain staged diff during an amend shows the delta alone, so a message describing the whole commit looks like it claims things the diff never supported. That mistake produces confident, wrong findings.

A missing or empty draft, or an empty staged diff, is itself a finding. Report it and stop.

What to check

Work these four groups. Every finding names the exact offending text and the fix.

Truthfulness

The message describes this diff and no other.

  • Flag any claim the staged diff doesn't support. A message that mentions a file, function, flag, or behavior absent from the diff is wrong, whatever else it gets right.
  • Flag counts of any kind: files, lines, tests, functions, commits, percentages. A count goes stale as soon as other work merges, and it pads a message rather than informing it.
  • Flag results nobody verified: benchmark figures, fixes the flake, no longer leaks, claims about what CI does.
Substance

The body answers why the change exists. The diff already says what changed.

  • Flag body text that restates the diff. Adds a helper to foo.go and calls it from bar.go describes a diff the reader can already read.
  • Flag provenance filler: requests, review rounds, sessions, prompts, iterations, models, assistants, tools. Attribution belongs in the Assisted-by trailer and nowhere else.
  • Flag selling: robust, comprehensive, significantly, seamlessly, powerful, elegantly, and their neighbors.
  • Flag a body that repeats the subject in longer words, or that explains nothing the reader couldn't recover from the diff.
Show full SKILL.md (306 more words)Show less
Form
  • Subject shape <type>(<scope>)?(!)?: <description>, with a type that suits the change: docs for documentation, feat for a new capability, fix for a defect, refactor for behavior-preserving work.
  • Subject in imperative mood and present tense: explain the tools, never explains, explained, or explaining.
  • No trailing period on the subject. Subject length between 10 and 80 characters.
  • Body lines wrap at 72 characters. Footer and trailer lines wrap at 100.
  • Plain text throughout, with no fenced code blocks, headings, markdown emphasis, links, or tables. Backticks around a literal identifier are fine.
  • Assisted-by appears before Signed-off-by. No model or assistant credited through Co-authored-by.
Atomicity

Judge the staged diff, not the message.

  • Does it carry one logical change, one the reader can state in a sentence, one that reverts cleanly as a unit?
  • Flag a diff that mixes a behavior change with an unrelated refactor, a fix with a formatting sweep, or two independent features. Name the groups it should split into.
  • A change plus its tests, or a change plus the documentation describing it, counts as one logical change. Leave that alone.

What to return

Your verdict is what lets the commit proceed. A hook on the caller's side reads the line below and signs the draft you cleared. Keep the wording exact, because a verdict that hook can't parse leaves the commit blocked. Write nothing to disk yourself, and don't edit the draft to make it pass. Reporting the finding is the job.

Return the verdict block and stop there. Skip the preamble, the diff summary, and the praise.

text
VERDICT: PASS

or

text
VERDICT: CHANGES REQUIRED

1. [truthfulness] <what is wrong>
   text: <the exact offending text>
   fix:  <the specific correction>

2. [form] <what is wrong>
   text: <the exact offending text>
   fix:  <the specific correction>

Tag each finding truthfulness, substance, form, or atomicity.

Return PASS when the draft holds up. A clean message counts as a real outcome, and inventing a finding to look thorough wastes the round trip. Report only what you can point at in the draft or the diff.

© tbhb, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .claude/skills/review-commit-message of tbhb/vale-ai-tells.

  • SKILL.md
  • tokens.json

Open the folder on GitHubat commit 4c7abc9

Compare with similar skills

Review Commit Message next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Review Commit Message compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Review Commit Message this skilltbhb/vale-ai-tells115—~1.4kAutomated safety check: PassApache-2.0
Saleor Commit Workflowsaleor/saleor23k—~575Automated safety check: PassBSD-3-Clause
Lint Commit PRTresjs/tres3.8k—~1.1kAutomated safety check: PassMIT
PR Pushicebear0828/codex-proxy1.8k—~2.2kAutomated safety check: NotesCustom licence
PR Pushicebear0828/codex-proxy1.8k—~2.3kAutomated safety check: NotesCustom licence
Commitantiwork/gumroad9.8k—~503Automated safety check: PassMIT

Similar skills

  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated today
    DevelopmentAuto-check passed
  • Lint Commit PR

    Tresjs/tres

    Lint local changes, auto-fix, conventional commit, and optionally create PR

    3.8k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • PR Push

    icebear0828/codex-proxy

    Package the current working changes into a standards-compliant codex-proxy pull request: branch hygiene, commit message linting, CHANGELOG prompt, conventional commit, push, and gh pr create against…

    1.8k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check: notes
  • PR Push

    icebear0828/codex-proxy

    Package the current working changes into a standards-compliant codex-proxy pull request: branch hygiene, commit message linting, CHANGELOG prompt, conventional commit, push, and gh pr create against…

    1.8k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check: notes
  • Commit

    antiwork/gumroad

    Stage and commit changes with a clear, concise commit message.

    9.8k GitHub stars~503 tokensUpdated today
    DevelopmentAuto-check passed
  • Setup Husky Dotnet

    SebastienDegodez/copilot-instructions

    A skill your agent uses when configuring Git hooks in .NET projects before team commits occur, to enforce commit message standards and code formatting automatically

    198 GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from tbhb/vale-ai-tells

All 27 skills in this repo
  • Analyze Session

    tbhb/vale-ai-tells

    Query a Claude Code transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends.

    115 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Codex Analyze Session

    tbhb/vale-ai-tells

    Query a Codex transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends.

    115 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Codex Fix PR

    tbhb/vale-ai-tells

    Diagnose failing pull request checks, reproduce them locally, make focused fixes, commit them through codex-commit, and refresh the published description when needed.

    115 GitHub stars~575 tokensUpdated today
    Auto-check passed
  • Codex Merge PR

    tbhb/vale-ai-tells

    Squash merge a pull request. An agent skill from tbhb/vale-ai-tells.

    115 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Codex PR

    tbhb/vale-ai-tells

    Open or update a pull request for the current branch with an independently drafted and reviewed PRAGENTDESC.md.

    115 GitHub stars~846 tokensUpdated today
    Auto-check passed
  • Codex Rebase

    tbhb/vale-ai-tells

    Replay the current branch onto its base and establish that the result is sound.

    115 GitHub stars~2k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Review Commit Message

What does Review Commit Message do?

Review a drafted commit message in COMMITAGENTMSG against the staged diff, as an independent agent, for the things mechanical linting can't see: claims the diff doesn't support, counting, provenance…. Review Commit Message is an agent skill from tbhb/vale-ai-tells. Review a drafted commit message in COMMITAGENTMSG against the staged diff, as an independent agent, for the things mechanical linting can't see: claims the diff doesn't support, counting, provenance filler, restating the diff, subject mood and bounds, plain-text form, and whether the staged change is one logical change.

When should I use Review Commit Message?

Review Commit Message fits situations like: tasks that involve Commit messages; tasks that involve Linting and formatting.

How do I install Review Commit Message in Claude Code?

Run `npx skills add tbhb/vale-ai-tells --skill review-commit-message -a claude-code`. Or copy the skill folder (.claude/skills/review-commit-message in tbhb/vale-ai-tells) into .claude/skills/review-commit-message in your project. Claude Code loads it when a task matches its description.

How do I install Review Commit Message in Codex?

Run `npx skills add tbhb/vale-ai-tells --skill review-commit-message -a codex`. Or copy the skill folder (.claude/skills/review-commit-message in tbhb/vale-ai-tells) into .agents/skills/review-commit-message in your project. Codex loads it when a task matches its description.

Can I use Review Commit Message in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tbhb/vale-ai-tells --skill review-commit-message -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-commit-message, .gemini/skills/review-commit-message, .github/skills/review-commit-message and .opencode/skills/review-commit-message in your project.

What does Review Commit Message need to run?

Going by SKILL.md and its folder, Review Commit Message needs the command-line tools its instructions call (git).

Does Review Commit Message access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Review Commit Message safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Review Commit Message use?

Review Commit Message is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Review Commit Message use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Review Commit Message?

Skills that share tags, products or a category with Review Commit Message: Saleor Commit Workflow (saleor/saleor, 23k stars), Lint Commit PR (Tresjs/tres, 3.8k stars), PR Push (icebear0828/codex-proxy, 1.8k stars) and PR Push (icebear0828/codex-proxy, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Review Commit Message?

tbhb (a GitHub user) maintains it in tbhb/vale-ai-tells, which has 115 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 7, 2026.

Source: tbhb/vale-ai-tells on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.