commit

A command that creates one Git commit using the Conventional Commits format, a common style such as `fix(scope): description`. It reviews the branch, changes, recent commits, and optional project commit settings before choosing the message.

In plain words
What is it for?
Use it to commit the current changes with an appropriate type and scope, such as a feature, fix, test, or documentation update. It can use configured scopes or infer one from the changed files.
Why use it?
It removes the repetitive work of inspecting changes and writing a consistent commit message. It also helps avoid including obvious secrets in the commit.

Command

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 commands/refo/claude-dev-helpers/commit
Clone the repo
git clone --depth 1 https://github.com/refo/claude-dev-helpers
Per session 11 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 624 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. 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.00011 $0.00624
Opus 5 $0.00005 $0.00312
Sonnet 5 $0.00002 $0.00125
Haiku 4.5 $0.00001 $0.00062

Measured yesterday against content hash 6e88117b8b74, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

commit scanned grade B with 1 finding 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 yesterday.

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.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

- Project helpers config (if present): !`cat .claude/helpers.json 2>/dev/null || echo "no helpers.json — fall back to inferring scope from changed paths and use a generic secrets blocklist"`
plugins/dev-helpers/commands/commit.md · 59 lines

How it starts

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

Commit

Context

  • Branch: !git branch --show-current
  • Status: !git status
  • Staged and unstaged diff: !git diff HEAD
  • Recent commits (for style reference): !git log --oneline -10
  • Project helpers config (if present): !cat .claude/helpers.json 2>/dev/null || echo "no helpers.json — fall back to inferring scope from changed paths and use a generic secrets blocklist"

Arguments

User provided: $ARGUMENTS

Instructions

Create a single git commit for the changes shown above.

Commit message format

Use Conventional Commits: type(scope): description

Types: feat, fix, refactor, chore, docs, style, test, perf, ci, build

Scope selection:

  • If helpers.json defines commit.scopes, pick the most appropriate one from that list based on the changed paths.
  • Otherwise, infer a short scope from the dominant changed area (e.g. directory name, package name, top-level module).
  • If changes span multiple scopes, omit the scope or use the dominant one.

Rules:

  • Subject line under 72 characters, lowercase, no period.
  • Use imperative mood ("add feature" not "added feature").
  • Add a blank line + body only when the "why" isn't obvious from the subject.
  • Match the style of recent commits shown above.
  • If helpers.json defines commit.trailer, append it after a blank line. Otherwise, append Co-Authored-By: Claude <[email protected]>.

Argument handling

  • No arguments: auto-generate message from diff.
  • --amend: amend the previous commit instead of creating a new one.
  • Any other text: use it as the commit subject line (still add trailer).

Staging

  • If there are unstaged changes and nothing is staged: stage all modified/new files with git add -A.
  • If some files are already staged: commit only the staged files (do not add unstaged changes).
  • Never stage files matching the project's secrets blocklist. Read commit.secretsBlocklist from helpers.json if present. If not present, use this default: .env*, .env.*, credentials*, secrets*, *.key, *.pem, *.p12, *.pfx, id_rsa*, *.sqlite, *.sqlite3, *.db.

Read the full file on GitHub · 59 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. yesterday First seen · 59 lines · 11 tokens per session scan B 6e88117b8b74

Subscribe to this mod's changes

commit is a command published in the GitHub repository refo/claude-dev-helpers (2 stars, last pushed 2mo ago), licensed MIT. It adds 11 tokens to every session and 624 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.