Commit staged with Generated Message

VerifiedSafe

Generates a commit message for staged changes, requests approval, then commits. Stage files first with `git add` before running.

Sby Skills Guide Bot
DevelopmentIntermediate
306/2/2026
Claude Code
#git#commit-messages#staged-changes#gpg-signing

Recommended for

Our review

This skill generates a commit message for staged changes, pauses for approval, then commits with GPG signing.

Strengths

  • Automates creation of structured commit messages from the diff
  • Provides human review step before final commit
  • Enforces mandatory GPG signing for enhanced security

Limitations

  • Requires files to be already staged via git add
  • Message quality depends on diff analysis
  • Not suitable for large changes (over 10 files or 500 lines)
When to use it

Ideal for producing consistent and reviewed commit messages before each commit

When not to use it

Avoid for quick save commits or when GPG signing is not desired or configured

Security analysis

Safe
Quality score90/100

The skill uses Bash to run standard git commands for diff, log, and commit with GPG signing. No destructive or exfiltrating actions. It includes a user approval step before committing, so no execution risk.

No concerns found

Examples

Commit staged changes
Commit my staged changes with a generated message

name: committing-staged-with-message description: Generate commit message for staged changes, pause for approval, then commit. Stage files first with git add, then run this skill. compatibility: Designed for Claude Code metadata: model: haiku argument-hint: (no arguments needed) disable-model-invocation: true allowed-tools: Bash, Read, Glob, Grep

Commit staged with Generated Message

Step 1: Analyze Staged Changes

Run these commands using the Bash tool to gather context:

  • git diff --staged --name-only - List staged files
  • git diff --staged --stat - Diff stats summary
  • git log --oneline -5 - Recent commit style
  • git diff --staged - Review detailed staged changes. Size guard: if --stat shows >10 files or >500 lines changed, skip the full diff and rely on --stat + --name-only to generate the message.

Step 2: Generate Commit Message

Use the Read tool to check .gitmessage for commit message format and syntax.

The commit message body MUST include (concisely — no padding, no redundancy):

  1. What changed: bullet points per file or logical group
  2. Symbols added/removed (when applicable): functions, classes, tests
  3. Diff stats: lines added/removed (from --stat summary line) — MUST be the last line of the body
    • Format: + symbol_name, - symbol_name
    • Omit for config/docs/formatting-only changes

Keep the message laser-focused. Do not repeat the subject line in the body.

Step 3: Pause for Approval

Please review the commit message.

  • Approve: "yes", "y", "commit", "go ahead"
  • Edit: Provide your preferred message
  • Cancel: "no", "cancel", "stop"

Step 4: Commit

Once approved:

  • git commit --gpg-sign -m "[message]" - Commit staged changes with approved message (GPG signature mandatory)
  • git status - Verify success
Related skills