agentsclimarketplace

Generating smart commits

Skill jeremylongshore/claude-code-plugins-plus-skills/skills/.curated/generating-smart-commits

425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill generating-smart-commits

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

'Execute use when generating conventional commit messages from staged git changes. Trigger with phrases like "create commit message", "generate smart commit", "/commit-smart", or "/gc". Automatically analyzes changes to determine commit type (feat, fix, docs), identifies breaking changes, and formats according to conventional commit standards.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.0 KB, as published. Nobody here has run it

Generating Smart Commits

Current State

!git diff --cached --stat !git log --oneline -5 !git status --short

Overview

Analyze staged git changes and generate Conventional Commits messages with accurate type classification, scope detection, and breaking change identification. Supports feat, fix, docs, style, refactor, test, chore, perf, ci, and build types following the Conventional Commits 1.0.0 specification.

Prerequisites

  • Git repository initialized in the working directory
  • Changes staged via git add (at least one staged file)
  • Git user name and email configured (git config user.name, git config user.email)
  • Understanding of the project's commit message conventions (check recent history)

Instructions

  1. Run git diff --cached --stat to get an overview of staged files and change volume
  2. Run git diff --cached to examine the actual code changes in detail
  3. Classify the commit type based on the nature of changes:
    • feat: new functionality visible to users
    • fix: bug correction
    • refactor: code restructuring without behavior change
    • docs: documentation only
    • test: adding or updating tests
    • chore: build process, dependencies, or tooling
    • perf: performance improvement
    • ci: CI/CD configuration changes
  4. Determine scope from the primary directory or module affected (e.g., auth, api, cli, db)
  5. Check for breaking changes: removed public APIs, changed function signatures, renamed exports, schema migrations
  6. Check recent commit history with git log --oneline -10 to match the project's style conventions
  7. Construct the commit message: type(scope): imperative description under 72 characters
  8. Add a body with bullet points explaining the "why" behind the change if the diff is non-trivial
  9. Append BREAKING CHANGE: footer if applicable

Output

Conventional commit message following this format:

type(scope): imperative description

- Explanation of what changed and why
- Impact on existing functionality

BREAKING CHANGE: description (if applicable)

Error Handling

ErrorCauseSolution
No changes staged for commitNothing added to staging areaRun git add <files> to stage changes before generating the message
Not a git repositoryWorking directory is not inside a git repoRun git init or navigate to the repository root
Ambiguous commit typeChanges span multiple categories (feature + fix)Split into separate commits or use the primary intent as the type
Scope unclear from file pathsChanges touch many unrelated directoriesUse the most significant module or omit scope entirely
Commit message exceeds 72 charactersDescription too verboseShorten to the essential action; move details to the commit body

Examples

  • "Analyze my staged changes and generate a conventional commit message with the right type and scope."
  • "Create a commit message for these changes, checking if there are any breaking changes in the API."
  • "Generate a smart commit following this project's existing commit style (check the last 10 commits)."

Resources

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.