Skip to content
Back to skills

Commit

ASecurity

Commit the current work with a message that follows the repo's convention, closing the branch's issue when its name carries a number. Use when the user asks to commit, to record the work, or to save a change to history.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
toolsbashgit

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add bengous/claude-code-plugins --skill commit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Commit?

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

Security grade badge for Commit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bengous-commit/badge)](https://www.skillsdirectory.com/skills/bengous-commit)

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: commit
description: Commit the current work with a message that follows the repo's convention, closing the branch's issue when its name carries a number. Use when the user asks to commit, to record the work, or to save a change to history.
argument-hint: "[issue-number] [--no-close]"
allowed-tools: Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(git branch:*), Bash(git add:*), Bash(git commit:*)
---

# Commit

## Context

- Status: !`git status --short`
- Diff, staged and unstaged: !`git diff HEAD`
- Branch: !`git branch --show-current`
- Recent commits: !`git log --oneline -10`

## Task

1. **Scope.** Something staged: commit that, leave the rest alone. Nothing staged: stage what forms one commit from the diff above, leave the rest. The diff omits untracked files; they appear as `??` in the status, and a new file that the diff's changes import belongs to the same commit. A file that carries a secret is never staged, whatever the diff shows: `.env` and its variants, a private key, a credentials or token file. Name it and stop.
2. **Issue.** A number in `$ARGUMENTS`, else the leading number of the branch name (`fix/123-popover` is 123). `--no-close`, or no number in either place: no trailer, and no question. Otherwise the last line of the body is `Closes #<n>`.
3. **Message.** Follow the convention visible in the recent commits above. Subject in the imperative, no trailing period. The body says why, never what the diff shows.
4. **One batch.** Stage and commit in a single tool batch, with nothing in between.
5. **Report.** The happy path says nothing beyond the commit. One line, when it applies: a file left unstaged on purpose, or a `Closes` trailer on a branch that is not the default, since GitHub closes the issue only when the commit reaches that default branch.

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.