Skip to content
Back to skills

Git Commits

ASecurity

Use the following commit message template:

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added October 12, 2026
ai-agentsbashgit

Security analysis

A100/100

Scanned October 12, 2026

npx -y skills add wsoule/dispatch --skill git-commits --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Git Commits?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Git Commits
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wsoule-git-commits/badge)](https://www.skillsdirectory.com/skills/wsoule-git-commits)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: git-commits
description:
  Use when preparing, splitting, reviewing, or creating git commits in this
  repo, especially after larger implementations that should be broken into
  independently verified commits.
---

# Git Commits

## Message Style

Use the following commit message template:

```text
<type>(<scope>): <subject>

<description>
```

- The `<type>` can be: agents, chore, ci, docs, feat, fix, perf, refactor, test,
  tool.
- The `<scope>` can be a project, package, or app name; omit the scope and its
  wrapped parens if none is clear.
- The `<subject>` and `<description>` should explain the motivations and
  changes.
- Include a description body for every commit unless the staged change is truly
  mechanical or trivial and the subject fully explains it.
- Keep every commit message line 72 characters or fewer. Hard-wrap body text to
  72 columns before committing; do not leave long single-line descriptions.
- Use imperative mood; be concise
- Include user-provided context when it improves the message
- Do not include AI attribution in or after the description

## Commit Boundaries

Each commit should be independently understandable and shippable.

- Split unrelated behavior, package areas, generated artifacts, and dependency
  bumps into separate commits.
- For larger implementations, commit in vertical slices: tests or fixtures,
  implementation, docs/examples, and follow-up polish can be separate only when
  each commit still makes sense on its own.
- Do not mix mechanical formatting with behavioral changes unless the formatter
  only touched the files required for that change.
- Do not include local artifacts from `.agents/ignore/`, `.context/`, logs,
  build outputs, or editor files.
- Before committing, inspect staged changes with `git diff --cached` and make
  sure every staged file belongs to the commit's stated purpose.

If two changes would need different test commands or different reviewers, they
usually deserve different commits.

## Verification Before Each Commit

Every commit should be verified before it is created.

If the full baseline fails for unrelated pre-existing issues, say that in the
commit handoff and include the first relevant failure. Do not describe the
commit as fully verified unless the required commands actually passed.

## Creating Commits

Use non-interactive commands where possible:

```bash
git status --short
git diff -- <paths>
git add <paths>
git diff --cached
git commit -m "<message>"
```

Include a wrapped commit body for ordinary source changes:

```bash
git commit -F - <<'COMMIT'
fix(template): Keep generated output stable

Keep generated output stable when inputs are normalized so repeated runs do not
produce noisy changes.
COMMIT
```

Use a subject-only commit only for changes where no useful description exists,
such as a typo fix or a purely mechanical formatting commit.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.