Create a git commit

VerifiedSafe

Analyze changes, generate a conventional commit message, and execute the commit.

Sby Skills Guide Bot
DevelopmentBeginner
7/24/2026
Claude Code
#git#commit-messages#conventional-commits#version-control#workflow-automation

Recommended for

Automated summary

Generates and runs a Git commit from already-staged changes, following the Conventional Commits spec and matching the language of recent commits.

Strengths

  • Reviews the staged diff first and flags sensitive data or incomplete changes before committing
  • Detects the language of the last ten commits and writes the message accordingly
  • Enforces a strict format: Conventional Commits type, imperative mood, short summary and a mandatory bullet-point body
  • Documents HEREDOC quoting so backticks in the message are not mangled

Limitations

  • Never runs git add, so only changes already staged are committed
  • Does not cover amend, squash, push, or hook/conflict handling
  • The always-required bullet body can make messages wordier than needed for trivial changes
When to use it

Use it once your changes are already staged and you want a consistent, convention-compliant commit message without writing it yourself.

When not to use it

Skip it if you still need to choose which files to stage or want to rewrite history via amend, rebase or squash.

Security analysis

Safe
Quality score90/100

The skill only uses scoped git commands for status, diff, log, branch, and commit. It explicitly avoids git add and git push, and it includes a step to check staged changes for secrets before committing. No destructive, exfiltrating, or obfuscated behavior is present.

No concerns found

How this analysis is made

Examples

Basic commit
/commit
Commit with extra context
/commit the retry logic was flaky in CI so I added exponential backoff
Force a language
/commit write the message in Japanese

allowed-tools: Bash(git status:), Bash(git diff:), Bash(git log:), Bash(git branch:), Bash(git commit:*) argument-hint: [additional explanation] description: Create a git commit

Context

  • Current git status: !git status
  • Staged changes: !git diff --staged
  • Recent commits (for language detection): !git log -n 10 --pretty=format:"%s"
  • Current branch: !git branch --show-current

Your Task

Based on the above context:

  1. Analyze the staged changes for any critical issues:

    • Review the Staged changes from context above
    • Check for sensitive information (passwords, API keys, etc.)
    • Verify that the changes are complete and coherent
    • If issues are found, confirm with the user before proceeding
  2. Determine the commit message language:

    • Based on the Recent commits from context above
    • If the majority are in English, write in English
    • If the majority are in Japanese, write in Japanese
    • If $ARGUMENTS includes a language instruction, follow that instead
  3. Create and execute the commit:

    • Refer to the Commit Message Guidelines section below when writing the message
    • Use git commit -m with an appropriate message
  4. Verify the commit was successful:

    • Execute git status to verify the commit was successful
    • Provide a summary of what was committed to the user

Commit Message Guidelines

  • Follow the Conventional Commits specification:

    • Format: <type>(optional scope): <description>
    • Example: feat(auth): add OAuth2 login support
  • Allowed types: feat, fix, docs, style, refactor, perf, test, chore

  • Use the imperative mood in the description (e.g., "add", not "added" or "adds").

  • Keep the summary concise (max ~72 characters).

  • Body rules:

    • Always include a body — no exceptions, even for trivial-looking changes

    • Insert one blank line after the summary, then write the body

    • The body must be written as bullet points — never use prose paragraphs or a single free-form line

    • Each bullet should describe a reason, context, or detail of the change

    • Example:

      feat(auth): add OAuth2 login support
      
      - implement login with OAuth2
      - update user model with providerId
      - add tests for OAuth2 flow
      
  • Language rule:

    • Use the same language as the majority of recent commits
    • If $ARGUMENTS includes a language instruction, follow that instead
    • Scope language matches the message language: for Japanese commits, the scope may also be written in Japanese (e.g., feat(認証): OAuth2 ログインを追加). For English commits, keep the scope in English.
  • Focus rule:

    • Do not write vague phrases like "fixed review comments", or "minor fix".
    • Always describe what was actually changed (e.g., "remove unused import", "fix null check in auth flow").
  • Arguments rule:

    • Treat $ARGUMENTS as additional context or instruction for the commit message

HEREDOC Handling for Commit Messages

When composing a multi-line commit message with git commit -m "$(cat <<...EOF ... EOF)", the HEREDOC quoting style affects how backticks are interpreted:

  • Single-quoted HEREDOC (<<'EOF'): No shell expansion happens, so write raw backticks directly (e.g., inline `functionName` or `file.ts` is safe)
  • Double-quoted or unquoted HEREDOC (<<"EOF" / <<EOF): Bash may interpret backticks as command substitution. Avoid inline single backticks — use triple-backtick fenced blocks (```) if a code span is needed

Rationale: In double-quoted/unquoted HEREDOC, backticks sometimes get auto-escaped as \`, which leaks literal backslashes into the commit message.

Recommendation: Prefer <<'EOF' whenever the commit message contains backticks or code identifiers — it is the safest default.

Important Notes

  • Do not execute git add
  • The changes are already staged with the correct granularity and responsibility.
  • Do not execute git push

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/create-a-git-commit-mryiqh33/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/create-a-git-commit-mryiqh33' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/create-a-git-commit-mryiqh33/download' --output '.skill-downloads/create-a-git-commit-mryiqh33/SKILL.md.part' && mv '.skill-downloads/create-a-git-commit-mryiqh33/SKILL.md.part' '.skill-downloads/create-a-git-commit-mryiqh33/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(git branch:*), Bash(git commit:*)

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/create-a-git-commit-mryiqh33/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills