Install
openclaw skills install commit-tidyAnalyze staged/committed changes and recommend splitting or squashing strategy. Use when the user says "commit split", "split commits", "should I split this commit", "squash commits", "tidy commits", or when reviewing large changesets before committing.
openclaw skills install commit-tidyAnalyze staged/unstaged changes and recommend whether to split into multiple commits.
Unrelated functionality changes
Wide file spread
Mixed change types
Large diff size
Different reviewers needed
Single logical change
Dependent changes
Related cleanup
When analyzing multiple commits, recommend squashing as well as splitting.
Same type + same purpose
test: A test + test: B test (tests for the same feature) → squash into 1fix: typo A + fix: typo B (same review feedback) → squash into 1Commits split per loop by automated agents
test: add unit testsConsecutive WIP commits
wip: in progress + feat: complete → squash into one feattest + chore + feat separate### Recommendation: Squash 2 commits → 1
**Before** (2 commits):
- 441b966a test(dt): OIDC auth, proxy, SSO tests
- e2b6503a test(dt): OIDC route tests (login, callback, me)
**After** (1 commit):
- test(dt): add OIDC auth unit tests
**Reasoning**: Same type (test), same feature (OIDC auth), agent loop split
# Check staged changes
git diff --cached --stat
git diff --cached --name-only
# Check unstaged changes
git diff --stat
git status
Group changed files by:
Look for natural split points:
Provide specific recommendations:
## Analysis Results
### Changed Files (N files)
- src/api/... (3 files) - API endpoints
- src/components/... (2 files) - UI components
- tests/... (2 files) - Tests
### Recommendation: Split into N commits
**Commit 1**: feat: add user profile API
- src/api/user.ts
- src/api/types.ts
- tests/api/user.test.ts
**Commit 2**: feat: add profile UI component
- src/components/Profile.tsx
- src/components/Profile.css
- tests/components/Profile.test.tsx
### Reasoning
- API and UI can function independently
- Each can be reviewed by different reviewers
# Unstage all
git reset HEAD
# Stage first commit files
git add src/api/ tests/api/
git commit -m "feat: add user profile API"
# Stage second commit files
git add src/components/ tests/components/
git commit -m "feat: add profile UI component"
| Files | Directories | Recommendation |
|---|---|---|
| 1-5 | 1-2 | Usually single commit |
| 5-10 | 2-3 | Review for split |
| 10+ | 4+ | Likely needs split |
| Combination | Split? |
|---|---|
| feat + feat (unrelated) | ✅ Yes |
| feat + related test | ❌ No |
| fix + unrelated refactor | ✅ Yes |
| refactor + style (same files) | ❌ No |
| chore(deps) + feat | ✅ Yes |
Analysis results should include: