agentsclimarketplace

Smart commit

Skill nsollazzo/skills/smart-commit

Battle-tested Agent Skills for Claude Code — ship → babysit pipeline and friends. Distributed via positronick.com

Install
npx -y skills add nsollazzo/skills --skill smart-commit

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

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Automatically cluster and commit git changes into logical groups with conventional commit messages. Use when: committing multiple unrelated changes, cleaning up work before PR, organizing messy commits, or when asked to "commit my changes", "smart commit", "organize commits", or "cluster commits".

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

3.3 KB, 711 tokens by cl100k_base, as published. Nobody here has run it

Smart Commit

Cluster uncommitted changes into logical groups and commit each with a clear conventional commit message.

Workflow

  1. Run git status and git diff to inspect all uncommitted changes
  2. Check for pre-staged changes with git diff --cached. If anything is already staged, don't fold it into clusters silently — commit it as its own commit (it was likely staged deliberately) or ask the user what to do with it
  3. Analyze changes and cluster into logical groups by:
    • Feature or functionality
    • Bug fix
    • Related files (e.g., component + its test + its styles)
    • Type (docs, config, refactor, etc.)
    • If a single file contains changes belonging to different clusters, assign it to the most related cluster and mention the extra change in the commit body (interactive git add -p is not available)
  4. For each logical group:
    • Stage relevant files: git add <files>
    • Generate conventional commit message (see format below)
    • Commit: git commit -m "<message>"
  5. Repeat until all changes are committed
  6. Update CHANGELOG.md unreleased section (see below), then commit: docs: update changelog

Commit Message Format

Use conventional commits: <type>(<scope>): <description>

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

Examples:

  • feat(auth): add password reset flow
  • fix(api): handle null response from users endpoint
  • refactor(utils): extract date formatting helpers
  • docs: update README installation steps

Changelog Update (Step 6)

After all commits are made, update the ## [Unreleased] section of CHANGELOG.md:

  1. Review all commits just created (use git log to see them)
  2. Write concise changelog entries grouped under Keep a Changelog sections:
    • ### Added — new features or capabilities
    • ### Changed — changes to existing functionality
    • ### Fixed — bug fixes
    • ### Improved — enhancements to existing features
    • ### Removed — removed features
  3. Classify each entry as public or internal:
    • Public: User-facing features, behavior changes, critical bug fixes
    • Internal: Refactors, test changes, lint fixes, DX improvements, infra plumbing
  4. Format internal entries under an #### Internal heading with <!-- internal -->:
    ### Added
    - **Feature name**: User-facing description
    
    #### Internal
    <!-- internal -->
    - Implementation detail that users don't need to see
    
  5. Stage and commit: git add CHANGELOG.md && git commit -m "docs: update changelog"

If CHANGELOG.md doesn't exist or has no ## [Unreleased] section, skip this step.

After Committing

If this session involved tricky bugs, new integrations, or non-obvious patterns, suggest running /reflect to capture lessons learned.

Rules

  • Keep commit messages under 72 characters
  • Use imperative mood ("add" not "added")
  • One logical change per commit

Gives 2 of the 12 instructions most pr commit review skills give in 711 tokens

Counted across 888 of the 1,342 authors here whose files we hold, read 2026-08-07

  • Use conventional commits formathere, and in 127 of 888, across 115 files
  • Keep subject line under 72 charactersin 62 of 888, across 48 files
  • Delete branches after mergein 51 of 888, across 38 files
  • Use imperative mood in subject linein 51 of 888, across 42 files
  • Use imperative mood in commit messageshere, and in 44 of 888
  • Verify directory is ignored before creating worktreein 43 of 888, across 12 files
  • Generate a conventional commit messagein 43 of 888
  • Add unignored worktree directories to gitignorein 42 of 888, across 10 files
  • Make atomic commitsin 39 of 888, across 27 files
  • Run tests before committingin 36 of 888, across 25 files
  • Verify clean test baselinein 35 of 888, across 9 files
  • Split unrelated changes into separate commitsin 35 of 888, across 30 files

Said here and by no other author read

  • commit pre-staged changes separately

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

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.