Agent skill

Atomic Commit

Atomic Commit helps create clean, atomic commits by analyzing changes, detecting mixed concerns, and ensuring each commit is a complete unit of work. Key words to detect are atomic, atomic commits, clean commits.

Stars 68
Forks 9

Install this agent skill to your Project

npx add-skill https://github.com/chanwit/tdg/tree/main/skills/atomic

SKILL.md

Atomic Commit

Standalone skill for non-TDD workflows. Helps create clean, atomic commits by analyzing changes and detecting mixed concerns.

Atomic Commit Definition

  • Does exactly one thing (one feature/fix/refactor)
  • Leaves codebase in working state (builds and tests pass)
  • Can be reverted independently
  • Doesn't mix unrelated concerns

Workflow

1. Analyze Changes

bash
git status && git diff && git diff --staged

2. Detect Mixed Concerns

Look for files mixing:

  • Multiple features
  • Bug fixes + features
  • Refactoring + new functionality
  • Multiple unrelated bug fixes
  • Code + documentation (unless for same feature)
  • Tests for multiple features

3. Group Commits

Group files by shared purpose. Present grouping to user for confirmation.

Example:

Group 1: "Add user auth" → auth/login.ts, auth/session.ts, tests/auth/login.test.ts
Group 2: "Fix password validation" → validators/password.ts, tests/validators/password.test.ts

4. Create Each Commit

For each group:

  1. Stage: git add <file1> <file2> (NO git add .)
  2. Review: git diff --staged
  3. Test: Run tests, ensure pass
  4. Build: Run build if applicable, ensure success
  5. Commit: Use conventional commit format
  6. Verify: git log -1 --oneline

Conventional commit types: feat|fix|refactor|docs|test|chore|perf|style

5. Final Check

bash
git log --oneline -n <N>

Issue Integration

  • Check user message or branch name for issue number
  • IF no issue: ask if user wants to create one
    • IF user does not want to provider, leave it blank
  • IF yes: help write description, offer gh issue create or glab issue create
    • Include in commits: "feat: description (#42)"

Guidelines

DO: One logical change, include related tests, run tests, clear messages, issue numbers DON'T: Mix features/fixes/refactors, commit broken code, vague messages, debug code

TODO Pattern

☐ Analyze: git status/diff ☐ Identify file purposes ☐ Detect mixed concerns ☐ Group into atomic commits ☐ Confirm with user ☐ For each: stage → review → test → build → commit → verify ☐ Final review

Activation

Use when user says: "atomic", "clean commits", "break down commits", "split commits" DO NOT use for TDD workflows (use TDG skill).

Closing

"Created N atomic commits. Tests pass. Would you like to review history, push, or create PR?"

Expand your agent's capabilities with these related and highly-rated skills.

chanwit/tdg

TDG Test-Driven Generation

Test-Driven Generation uses TDD (Test-Driven Development) techniques to generate tests and code in Red-Green-Refactor loops. Key words to detect are tdg, TDG.

68 9
Explore
mattpocock/skills

setup-pre-commit

Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.

111,310 9,758
Explore
mattpocock/skills

obsidian-vault

Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.

111,310 9,758
Explore
mattpocock/skills

git-guardrails-claude-code

Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.

111,310 9,758
Explore
mattpocock/skills

edit-article

Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.

111,310 9,758
Explore
mattpocock/skills

scaffold-exercises

Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.

111,310 9,758
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results