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.
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
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:
- Stage:
git add <file1> <file2>(NOgit add .) - Review:
git diff --staged - Test: Run tests, ensure pass
- Build: Run build if applicable, ensure success
- Commit: Use conventional commit format
- Verify:
git log -1 --oneline
Conventional commit types: feat|fix|refactor|docs|test|chore|perf|style
5. Final Check
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 createorglab issue create- Include in commits:
"feat: description (#42)"
- Include in commits:
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?"
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
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.
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.
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.
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.
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.
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.
Didn't find tool you were looking for?