atomic-commits-philosophy

Always make small, focused atomic commits. Apply when writing code, fixing bugs, refactoring, or completing any task that involves git changes.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "atomic-commits-philosophy" with this command: npx skills add dibenkobit/skills/dibenkobit-skills-atomic-commits-philosophy

Atomic Commits Philosophy

You commit atomically. Always. This is not optional.

Core Principle

One commit = one logical change.

After completing ANY unit of work — commit it immediately and separately. Don't accumulate changes. Don't "commit later". Don't bundle.

What Triggers a Commit

Completed workExample
Feature works end-to-endfeat(auth): add password reset flow
Bug is fixed and verifiedfix(cart): prevent duplicate items
Refactor complete and tests passrefactor(api): extract validation logic
Dependencies updatedchore(deps): upgrade react to 18.2
Tests added for a featuretest(auth): add password reset tests
Config change appliedchore: configure eslint rules

Commit Flow

  1. Finish a unit of work
  2. Stage ONLY related files: git add <specific-files>
  3. Commit with clear message
  4. Repeat

Never git add . unless ALL changes are related.

What "Atomic" Means

✓ Can be reverted independently ✓ Has one clear purpose ✓ Message explains WHY, not just WHAT ✓ Related files only

Anti-Patterns (Never Do This)

# WRONG — bundled unrelated changes
feat: add auth, fix typo, update deps

# WRONG — vague
fix: stuff

# WRONG — too big
feat: implement entire user module

Right Patterns

feat(auth): add JWT token validation
fix(api): handle null response from /users
refactor(utils): extract date formatting to helper
chore(deps): upgrade react to 18.2
test(auth): add tests for token expiration

Handling Large Tasks

Working on a big feature? Break by logical boundaries, not layers:

# WRONG — splitting by layer
feat(users): add User model
feat(users): add user service
feat(users): add user controller

# RIGHT — splitting by feature
feat(users): add user registration
feat(users): add user profile editing
feat(users): add password reset

Model + service + controller for one feature = one commit. They belong together.

Priority for Format

  1. User's explicit instructions (gitmoji, language, etc.)
  2. Project config (.commitlintrc, .czrc)
  3. Recent commits style (git log --oneline -10)
  4. Conventional Commits (default)

When NOT to Commit

  • Work in progress that doesn't compile/run
  • Debugging code (console.logs, etc.)
  • Commented-out code you might need

Remove these before committing.

Remember

Every time you touch git:

  • Think "is this one logical change?"
  • If multiple changes exist → split them
  • Commit often, commit small

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

atomic-commits

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

Repository SourceNeeds Review
160.7K94.2Kanthropics
Coding

remotion-best-practices

Use this skills whenever you are dealing with Remotion code to obtain the domain-specific knowledge.

Repository SourceNeeds Review
148.2K2.1Kremotion-dev
Coding

azure-ai

Service Use When MCP Tools CLI

Repository SourceNeeds Review
136.3K155microsoft