{ }
Resource profile / Git Commits with Conventional Messages
About this skill

Workflow & requirements

Git Commit with Conventional Commits

Overview

Create standardized, semantic git commits using the Conventional Commits specification. Analyze the actual diff to determine appropriate type, scope, and message.

Conventional Commit Format

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Commit Types

Type Purpose
feat New feature
fix Bug fix
docs Documentation only
style Formatting/style (no logic)
refactor Code refactor (no feature/fix)
perf Performance improvement
test Add/update tests
build Build system/dependencies
ci CI/config changes
chore Maintenance/misc
revert Revert commit

Breaking Changes

# Exclamation mark after type/scope
feat!: remove deprecated endpoint

# BREAKING CHANGE footer
feat: allow config to extend other configs

BREAKING CHANGE: `extends` key behavior changed

Workflow

1. Analyze Diff

# If files are staged, use staged diff
git diff --staged

# If nothing staged, use working tree diff
git diff

# Also check status
git status --porcelain

2. Stage Files (if needed)

If nothing is staged or you want to group changes differently:

# Stage specific files
git add path/to/file1 path/to/file2

# Stage by pattern
git add *.test.*
git add src/components/*

# Interactive staging
git add -p

Never commit secrets (.env, credentials.json, private keys).

3. Generate Commit Message

Analyze the diff to determine:

  • Type: What kind of change is this?
  • Scope: What area/module is affected?
  • Description: One-line summary of what changed (present tense, imperative mood, <72 chars)

4. Execute Commit

# Single line
git commit -m "<type>[scope]: <description>"

# Multi-line with body/footer
git commit -m "$(cat <<'EOF'
<type>[scope]: <description>

<optional body>

<optional footer>
EOF
)"

Best Practices

  • One logical change per commit
  • Present tense: "add" not "added"
  • Imperative mood: "fix bug" not "fixes bug"
  • Reference issues: Closes #123, Refs #456
  • Keep description under 72 characters

Git Safety Protocol

  • NEVER update git config
  • NEVER run destructive commands (--force, hard reset) without explicit request
  • NEVER skip hooks (--no-verify) unless user asks
  • NEVER force push to main/master
  • If commit fails due to hooks, fix and create NEW commit (don't amend)
PACKAGE TRANSPARENCY

Inspect before installing

Source: GitHub community · MIT · SHA-256 shown alongside the download.

4 files4292 ZIP bytes0 script/code files

License file included. A license and checksum are not a security certification. Review package instructions and scripts before running them.

View files and uncompressed sizes
Machine-readable installation guide →
CATALOG REVIEW NOTES

Know what you need before installing

Source and packaging checks recorded on 2026-10-04. These notes are not safety certification or measured task performance.

Requirements

Git, Bash-compatible shell and an authorized local Git repository. Upstream targets GitHub Copilot. Read staged changes and repository-owned hooks; no Git executable or model client is bundled.

Costs, access & practical limits

MIT-licensed instruction package is free to obtain and redistribute with its notice. Local Git does not require a GitHub account or paid API. An agent client or model plan can have separate costs; none is activated by downloading this ZIP. CLI fixture checks do not certify model decisions, interactive staging, all Git operations, secret detection or a client's support.

View the recorded checks
  • Upstream SKILL.md and full MIT notice verified against pinned Git object hashes
  • Original skill identity and file content preserved
  • Community contribution and independent packaging disclosed
  • Local Git, Bash and hook prerequisites recorded
  • No bundled executable, client login or paid download required

Upstream commit: 143a3d976b3c1603cc8932984d5e1f28501cb5fc

Runtime status: not tested by this catalog. Configure your client and test the skill in your own environment.

SCENARIOS

Inputs, criteria and recorded outcomes

Records are supplied by the site administrator and bound to a specific package. They are not third-party safety certification. This page does not execute skills.

Git CLI fixture: selected staging, literal messages and hook rejection

Reported passed · v143a3d976b3c.bb1

View input and acceptance criteria

Input

On a synthetic local Git repository, inspect staged and unstaged edits, commit an explicitly selected file, preserve a multiline message literally, and let a rejecting pre-commit hook run. Correct the fixture input and create a new commit without rewriting prior history.

Acceptance criteria

Twenty-one named package-integrity and Git CLI observations match. Full agent execution, message-generation quality, comprehensive secret scanning, interactive staging and remote Git operations are not evaluated.

Recorded outcome

Synthetic local Git CLI mechanics only. No AI client, generated-message quality, interactive staging, comprehensive secret scanning or remote Git operations evaluated.

{
  "executed_at": "2026-10-03T17:10:55.381006+00:00",
  "git_version": "git version 2.47.3",
  "source_commit": "143a3d976b3c1603cc8932984d5e1f28501cb5fc",
  "package_sha256": "4ada73f819b8e410dd97b795139530f54f1f7f8a174ea34afaa60f91baeb9c6a",
  "batch_sha256": "6e8c0c1d7ba7afcf88bcbe114e69490cac443fa43b0582ba35f0d8378326940c",
  "probe_sha256": "4e27d935c83c7e0e480a3e30841e04cc385bc738b27cccbe8729cb1d9b2f93ec",
  "package_file_sha256": {
    "git-commit/BB-SKILLS-REVIEW.json": "74bcb9c20e69f088b5b4fc94d9764ec888f42f7b3a1c59db84f1bcd87e0cae9a",
    "git-commit/LICENSE.upstream.txt": "e32449d23085399adc1222f7a17408b730550258e51627c153cb108ca9955823",
    "git-commit/SKILL.md": "554d1a3c6d95f15bc1170160659ecdc9a9958b64f377f3988941b672c249b13f",
    "git-commit/SOURCE.md": "b5dc0e19da0d48ebe01d3a631a705c90748ceb87d616bb9d57a24b0c9fe0461c"
  },
  "assertions": 21,
  "cases": [
    {
      "name": "package SHA-256 matches pinned batch",
      "status": "passed"
    },
    {
      "name": "source review is file-bound and full agent runtime is not claimed",
      "status": "passed"
    },
    {
      "name": "fresh repository is clean and has no remote",
      "status": "passed"
    },
    {
      "name": "initial conventional commit creates one commit",
      "status": "passed"
    },
    {
      "name": "unstaged diff shows both changed tracked files",
      "status": "passed"
    },
    {
      "name": "ignored fixture environment file is not staged or shown",
      "status": "passed"
    },
    {
      "name": "explicit staging contains only the selected file",
      "status": "passed"
    },
    {
      "name": "unrelated documentation remains unstaged",
      "status": "passed"
    },
    {
      "name": "logical commit preserves its chosen subject",
      "status": "passed"
    },
    {
      "name": "logical commit changes only the intended path",
      "status": "passed"
    },
    {
      "name": "commit leaves the unrelated working tree edit intact",
      "status": "passed"
    },
    {
      "name": "quoted heredoc commit command succeeds",
      "status": "passed"
    },
    {
      "name": "multiline body footer and shell-like text are literal",
      "status": "passed"
    },
    {
      "name": "three commits form normal linear history",
      "status": "passed"
    },
    {
      "name": "repository pre-commit hook blocks the commit",
      "status": "passed"
    },
    {
      "name": "hook failure creates no commit and keeps staging available",
      "status": "passed"
    },
    {
      "name": "corrected retry is a new commit with prior HEAD as parent",
      "status": "passed"
    },
    {
      "name": "ignored environment file was never committed",
      "status": "passed"
    },
    {
      "name": "final repository is clean and still has no remotes",
      "status": "passed"
    },
    {
      "name": "fixture commits did not write a persistent user identity",
      "status": "passed"
    },
    {
      "name": "final staged whitespace check succeeds",
      "status": "passed"
    }
  ],
  "scope": "Synthetic local Git CLI mechanics only. No AI client, generated-message quality, interactive staging, comprehensive secret scanning or remote Git operations evaluated.",
  "isolation": "Linux container; network disabled; root filesystem read-only; uid 10001; one CPU; 256 MiB RAM; temporary fixture filesystem; no production data or credentials mounted.",
  "image_id": "sha256:4e8155ffc78f1222cf9aa5460e4fc620bf68abaf50f0e31fdcec0eb7c05a1cf7"
}

Environment

Linux container; network disabled; root filesystem read-only; uid 10001; one CPU; 256 MiB RAM; temporary fixture filesystem; no production data or credentials mounted. git version 2.47.3; image sha256:4e8155ffc78f1222cf9aa5460e4fc620bf68abaf50f0e31fdcec0eb7c05a1cf7.

Package SHA-256: 4ada73f819b8e410dd97b795139530f54f1f7f8a174ea34afaa60f91baeb9c6a

Outcome recorded: 2026-10-03 17:10 UTC

Community reviews

★ New

Be the first to share your experience.

Sign in to leave a review →

Guides using this resource

All guides →
Practical guide

Review and commit a small change with an agent skill

Use an agent skill to organize a small local change, while keeping the decision to commit grounded in a diff you can inspect. The Git Commits with Conventional Messages resource…

By BB Skills · Read guide →

More to explore

View all ↗