agentleFS
electronxelectronx/wiredkits-free/skills/commit-message/SKILL.md

commit-message

Skill5 starsChanged 21 days agoMITView on GitHub

Write a commit message for the staged changes that matches the repo's own style, and commit when asked. Use when asked to "write a commit message", "commit this", "commit my changes" or "what should this commit say".

  • Reads credentials

62 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use pr-description, changelog and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • MicrosoftSkill

    pr-description

    Draft Nacelle PR titles, pull request descriptions, commit titles, commit descriptions, and squash commit messages. Use when asked for PR or commit wording, a branch summary, or a PR description that can be used in a commit. Omit validation sections from commit bodies and remove filler.

    Also in 9 projects that use this

  • HashiCorpSkill

    changelog

    Add a `.changelog/<PR_NUMBER>.txt` entry for a GitHub Pull Request, commit, and push.

    Also in 3 projects that use this

  • GitHubSkill

    refactor

    Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.

    Also in 3 projects that use this

  • GoogleSkill

    code-review

    Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.

    Also in 7 projects that use this

  • GoogleSkill

    grilling

    Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

    Also in 3 projects that use this

  • OpenAISkill

    brainstorming

    You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

    Also in 3 projects that use this

  • +2 more from google

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 51 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run git diff --cached. If something is staged, that is the commit.

    line 12
  2. Very specific:

    If nothing is staged, run git status --short and git diff.

    line 13
  3. Distinctive:

    If there are no changes at all, say so and stop.

    line 14
  4. Distinctive:

    If the staged diff mixes unrelated changes (a bug fix and a rename across 30 files, say), say so and offer to split it into separate …

    line 16
  5. Very specific:

    Run git log -20 --format='%s%n%b---' and look at:

    line 20
  6. Distinctive:

    If the repo has no history, use a plain imperative subject ("Add retry to webhook sender") and a short body.

    line 29
  7. Very specific:

    Breaking changes: if public behavior, an API, a config key or a schema changes incompatibly, say so: BREAKING CHANGE: ...

    line 39
  8. Distinctive:

    Don't list every file. Don't write "This commit...".

    line 42

“Common” is measured: kept by at least 6 in 10 of the 51 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Write a commit message

You write the message a careful teammate would: it says what changed and why, in the repo's own style, and nothing the diff doesn't show.

1. Find the change

  1. Run git diff --cached. If something is staged, that is the commit.
  2. If nothing is staged, run git status --short and git diff. Say what is unstaged and ask whether to stage all of it, some of it, or stop. Never stage files on your own that look unrelated, generated, or secret (.env, keys, build output).
  3. If there are no changes at all, say so and stop.

If the staged diff mixes unrelated changes (a bug fix and a rename across 30 files, say), say so and offer to split it into separate commits with git add -p style hunks. Don't split without asking.

2. Learn the repo's style

Run git log -20 --format='%s%n%b---' and look at:

  • Format. Conventional Commits (feat(api): ...), a ticket prefix (ABC-123: ...), a tag like [ui], or plain sentences.
  • Mood and case. "Add" vs "Added" vs "adds"; capitalized or not; trailing period or not.
  • Bodies. Whether commits usually have one, and how long.
  • Trailers. Co-authored-by, Signed-off-by, Refs #123.

Also check CONTRIBUTING.md, CLAUDE.md, .gitmessage, and commitlint config (commitlint.config.*, .commitlintrc*). A written rule beats what the log shows.

If the repo has no history, use a plain imperative subject ("Add retry to webhook sender") and a short body.

3. Understand why

Read enough of the changed code to know what it does, not only which lines moved. Find the reason in this order: what the user told you, the branch name, a linked issue (gh issue view <n> if a number is in the branch or request), code comments in the diff. If you can't find a reason, describe what changed and leave the why out. Never invent one.

4. Write it

  • Subject: at most 72 characters (50 if the log keeps to that), in the repo's format, saying what the commit does for someone reading git log --oneline a year from now. "Fix double refund when payment API times out", not "Fix bug" or "Update refund.ts".
  • Body, when the change isn't obvious from the subject: a blank line, then 1 to 4 short lines on why, and anything a reviewer must know (a behavior change, a migration, a follow-up). Wrap at 72.
  • Breaking changes: if public behavior, an API, a config key or a schema changes incompatibly, say so: BREAKING CHANGE: ... for Conventional Commits, otherwise a plain line in the body.
  • Reference an issue only if you found one.

Don't list every file. Don't write "This commit...". No emoji unless the log uses them.

5. Show, then commit

Show the message in a code block. Commit only if the user asked you to commit; otherwise ask. Commit with git commit -F - (pass the message on stdin) so quotes and newlines survive. If a hook fails, show its output, fix what it complains about if it's clearly part of this change, and make a new commit attempt. Never use --no-verify unless the user says so.

Options the user may pass

  • --amend: rewrite the last commit's message instead (only if it hasn't been pushed, or the user confirms).
  • --short: subject line only.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.