commit

Creates atomic git commits with Conventional Commits messages from staged and unstaged changes.

3|1|Updated Aug 23, 2025
One-click install
npx skills add https://github.com/samuelpatro/.claude --skill commit-samuelpatro
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: commit
Source: https://github.com/samuelpatro/.claude/tree/main/skills/commit
Command: npx skills add https://github.com/samuelpatro/.claude --skill commit-samuelpatro

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing clear, consistent git commit messages and deciding how to split large changesets into atomic commits is tedious and error-prone. This Skill automates commit creation with terse, exact Conventional Commits messages while enforcing safe staging practices. ## Core Features & Use Cases - Atomic Commit Splitting: Analyzes your working tree and splits changes by concern, type, and file pattern so each commit builds and makes sense on its own. - Conventional Commits Messages: Generates imperative subject lines (≤50 chars) with proper types like feat, fix, refactor, and adds bodies only when the why is not obvious, including BREAKING CHANGE footers. - Safe Staging Rules: Stages files by name only, never uses git add -A, and refuses to stage files that may contain secrets like .env, *.key, or credentials.json. - Use Case: After refactoring an API route and updating its tests and docs, ask for a commit and receive three separate commits (refactor, test, docs) each with a properly formatted message matching your project's history style. ## Quick Start Ask the assistant to commit my current changes with atomic Conventional Commits messages.

Frequently Asked Questions about commit

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

FAQPage Schema
How do I write a good Conventional Commits message?▼

Use the format type(scope): imperative summary, keeping the subject under 50 characters with no trailing period. Add a body only when the why is not obvious, and mark breaking changes with an exclamation mark plus a BREAKING CHANGE footer.

How do I split a large changeset into atomic commits?▼

Split when changes involve different concerns, different types like feat versus fix versus docs, or different file patterns such as source versus config. Each commit must build and make sense on its own; stage files by name for each split rather than using git add -A.

When should a git commit message include a body?▼

Include a body only for non-obvious motivation, breaking changes, security fixes, data migrations, and reverts. Skip it entirely when the subject line is self-explanatory, and wrap body lines at 72 characters.

Can I accidentally commit secrets like .env files?▼

This Skill never stages files that may contain secrets, including .env, credentials.json, *.key, *.pem, and token.json. It warns you and skips them, and it stages files individually by name instead of using git add -A or git add .

What happens if there are no changes to commit?▼

When nothing is staged or modified, the Skill reports that there is nothing to commit and stops without creating an empty commit. It also warns instead of committing untracked generated artifacts like dist/ or node_modules/.