smart-commit

Clusters uncommitted git changes into logical groups with conventional commit messages.

Updated Jun 15, 2026
One-click install
npx skills add https://github.com/nsollazzo/ship-kit --skill smart-commit-nsollazzo
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: smart-commit
Source: https://github.com/nsollazzo/ship-kit/tree/main/.agents/skills/smart-commit
Command: npx skills add https://github.com/nsollazzo/ship-kit --skill smart-commit-nsollazzo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Uncommitted work often piles up as a messy mix of features, fixes, and docs changes, making it hard to write clean commit history. This Skill inspects your working tree, groups related changes, and commits each group with a proper conventional commit message. ## Core Features & Use Cases - Logical Clustering: Groups changes by feature, bug fix, related files, or change type, and commits each group separately. - Conventional Commits: Generates messages like feat(auth): add password reset flow following the repo's existing conventions, including Co-Authored-By trailer handling. - Docs & Changelog Sync: Drift-checks README and docs against the change, then updates the CHANGELOG's Unreleased section with public and internal entries. - Use Case: After a long coding session with a new feature, a bug fix, and doc tweaks all uncommitted, run this Skill to produce three clean, reviewable commits plus an updated changelog. ## Quick Start Ask the agent to organize and commit my current uncommitted changes into logical conventional commits.

Frequently Asked Questions about smart-commit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I split uncommitted changes into multiple commits?▼

Inspect git status and git diff, then cluster changes by feature, bug fix, related files, or type. Stage and commit each group separately with a conventional commit message until the working tree is clean.

How to write conventional commit messages automatically?▼

Use the format type(scope): description with types like feat, fix, docs, refactor, test, and chore. Keep messages under 72 characters, use imperative mood, and match the repository's existing trailer conventions.

Can I commit changes without a Co-Authored-By trailer?▼

Yes, pass the --no-coauthor flag to omit any Co-Authored-By trailer from every commit in the run. By default the Skill follows the repo's convention, matching trailers only if recent commits include them.

What happens to changes I already staged before running smart commit?▼

Pre-staged changes detected via git diff --cached are not folded into clusters silently. They are committed as their own separate commit, since they were likely staged deliberately, or the user is asked how to handle them.

Does smart commit update the changelog automatically?▼

Yes, after all commits it reviews git log and adds entries to the CHANGELOG.md Unreleased section, grouped under Keep a Changelog headings like Added, Changed, and Fixed. It skips this step if no Unreleased section exists.