git-commit

Guidance for writing Git commit messages that explain why a change was made. A Git commit records a change to a project so it can be understood later.

In plain words
What is it for?
It helps choose the right wording and follow the repository's existing commit style when creating or amending commits.
Why use it?
It prevents commit history from depending on temporary conversation details such as phases, tasks, or review steps. The resulting messages remain useful to people reading the project history later.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/natsukium/dotfiles/git-commit
Any agent
npx skills add natsukium/dotfiles --skill git-commit
Clone the repo
git clone --depth 1 https://github.com/natsukium/dotfiles

Made for: Claude Code, Codex.

Per session 88 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 861 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00088 $0.00861
Opus 5 $0.00044 $0.00430
Sonnet 5 $0.00018 $0.00172
Haiku 4.5 $0.00009 $0.00086

Measured 2d ago against content hash c4c0270adb10, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

git-commit scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

modules/features/coding-agents/common/skills/git-commit/SKILL.md · 65 lines

How it starts

The opening of the file, as written. The whole thing — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Writing Commit Messages

Git history outlives the session. Whoever reads the message later — a human running git log, git blame, or another agent — has only the repository. The conversation, the plan, the task list, and the review thread that produced the commit are all gone. Write every message so it stands on its own in that world.

What to write

  • WHY, not WHAT. The diff already shows what changed. The message must carry the part the diff cannot: the motivation, the constraint being worked around, or the alternative that was rejected and why.
  • Follow the repository's existing style. Check git log --oneline -10 before writing: conventional-commit prefixes, scope names, tense, and line length should match what is already there.
  • Name the goal, not the plan position. If the commit is one step of a larger effort, describe the effort and what this step contributes — the effort's name and goal are durable, its decomposition into phases is not.

What NOT to write

  • Plan- or session-relative references. "Phase 2", "Task 3", "Step 1 of the refactor", "as planned", "per review feedback", "addresses comments" — these point at a structure that exists only in the conversation that created the commit. In git log a year later they carry zero information.
  • How the approach evolved during the session. Changing direction mid-work is normal, but the commit records the result, not the journey. Never write "initially implemented with X, then switched to Y", "reworked after the first attempt failed", or "changed approach as discussed" — the reader never saw the first attempt, so the chronology is noise. Describe the final design as if it had been the intent from the start. If the abandoned approach carries a durable lesson, state it as a rejected alternative ("X was rejected because ..."), not as a narrative of what you did first.
  • Diff enumeration. "Update foo.ts, add bar.ts, remove baz.ts" restates what git show --stat already prints.
  • Process narration. "Ran formatter", "fix tests" — say why the tests were wrong or what the formatting rule is, or say nothing.

Read the full file on GitHub · 65 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 65 lines · 88 tokens per session scan A c4c0270adb10

Subscribe to this mod's changes

git-commit is a skill published in the GitHub repository natsukium/dotfiles (103 stars, last pushed 2d ago), licensed CC0-1.0. It adds 88 tokens to every session and 861 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

deep-research-team

This skill should be used when the user asks for "deep research", "research team", "comprehensive analysis", "research report", "investigate thoroughly", "compare X vs Y in depth", or needs synthesis across multiple sources with verification. It spawns a coordinated team of researcher agents across multiple rounds…

malob/nix-config · 132 tokens

audit-permissions

This skill should be used when the user asks to "audit claude permissions", "audit permissions", "review local claude settings", "promote permissions to global", "clean up claude settings", "find permission patterns", or wants to identify project-local Claude Code permissions that should be added to global…

malob/nix-config · 67 tokens

new-cask

This skill should be used when the user asks to "add a cask to homebrew", "create a homebrew cask", "add an app to homebrew", "new cask for", "homebrew cask for", "package an app for homebrew", "submit to homebrew-cask", "make a cask", "contribute a cask", or wants to package a macOS application for Homebrew.

malob/nix-config · 93 tokens

AI SDK Documentation

This skill should be used when working with Vercel AI SDK, AI Gateway, streamText, generateText, generateObject, streamObject, tool calling, or AI SDK providers. Also relevant for "ai-sdk", "@ai-sdk/" packages, or questions about AI SDK patterns, configuration, and best practices.

malob/nix-config · 68 tokens

malo-find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

malob/nix-config · 69 tokens

icon-lookup

Workaround for Claude Code filtering BMP PUA Unicode (U+E000-U+F8FF). Supplementary PUA Nerd Font icons like 󰊤 󱃾 󰁹 (U+F0000+, e.g. nf-md-github, nf-md-kubernetes, nf-md-battery) can be written directly. BMP PUA icons (Powerline, Font Awesome, Devicons) require placeholder syntax like {{ U+E0A0 }} or {{ nf-fa-star…

malob/nix-config · 140 tokens