atomic-commit

Split staged and unstaged changes into logical atomic commits with pre-commit checks.

5|2|Updated Nov 17, 2025
One-click install
npx skills add https://github.com/OutlineDriven/odin-gemini-cli-extension --skill atomic-commit-outlinedriven
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: atomic-commit
Source: https://github.com/OutlineDriven/odin-gemini-cli-extension/tree/main/skills/atomic-commit
Command: npx skills add https://github.com/OutlineDriven/odin-gemini-cli-extension --skill atomic-commit-outlinedriven

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Review staged + unstaged changes and split them into one commit per logical change. Runs repo-native type-checker and linter before each commit and refuses to bundle unrelated changes.

Core Features & Use Cases

  • Group changes into atomic commits by logical boundaries (per file or mechanism).
  • Enforce pre-commit type-checking and linting to ensure only valid changes are committed.
  • Prevent bundling unrelated changes by creating separate commits for distinct edits.

Quick Start

Instruct Gemini to create atomic commits from your current staged and unstaged changes.

Frequently Asked Questions about atomic-commit

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

FAQPage Schema
How do I split staged and unstaged git changes into atomic commits?

To split changes into atomic commits, the Skill reviews staged and unstaged git diffs, groups them by logical boundaries, and creates a separate commit for each distinct edit.

What is the best way to prevent bundling unrelated code changes into a single commit?

The best way to prevent bundling unrelated changes is to use an atomic commit workflow that analyzes your diffs and refuses to group unrelated edits, ensuring each commit represents a single logical change.

Can I run type-checking and linting before each commit is created?

Yes, you can enforce pre-commit type-checking and linting. The Skill runs the repository's native type-checker and linter before creating each commit to ensure only valid changes are committed.

Do I need to configure external linting tools to use this atomic commit workflow?

No external configuration is needed for linting. The workflow automatically invokes the repository's native tooling to type-check and lint changes before each commit is finalized.

How are logical boundaries determined when grouping changes for version control?

Logical boundaries for version control are determined by analyzing the diffs and grouping changes per file or mechanism, ensuring that unrelated edits remain split into separate commits.

Why does the commit process refuse to bundle my unrelated edits together?

The commit process refuses to bundle unrelated edits to maintain strict atomic commits, ensuring that each commit represents a single logical change and passes pre-commit type-checking and linting.