How this skill is triggered — by the user, by Claude, or both
Slash command
/katachi:commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyze changes and create appropriate conventional commits.
Analyze changes and create appropriate conventional commits.
Skill to load:
Load the katachi:framework-core skill for workflow principles.
Run in parallel:
git status
git diff --staged
git diff
git log -5 --oneline
Analyze what's changed:
Group changes that should be committed together:
Commit types:
feat: New featurefix: Bug fixdocs: Documentation onlystyle: Formatting, no code changerefactor: Code change without feature/fixtest: Adding/updating testschore: Build, tooling, maintenanceFor each group, draft commit message:
type(scope): brief description
Longer explanation if needed.
- Detail 1
- Detail 2
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>
CRITICAL: ALWAYS use AskUserQuestion to present proposed groups and get user confirmation, even if:
Include the full group breakdown with file lists in the question text.
Present options:
Example format:
Question: "I've analyzed the changes and propose the following commit groups:
feat(audio): add audio capture functionality
- src/audio/capture.py (new)
- src/audio/__init__.py (modified)
- tests/test_audio.py (new)
docs: update CLAUDE.md with current focus
- CLAUDE.md (modified)
How would you like to proceed?"
Options:
- "Proceed with these 2 commit groups"
- [Only if 4+ groups] "Merge into fewer commits"
For each approved commit:
git add [files]
git commit -m "type(scope): description"
For commits with body text:
git add [files]
git commit -m "$(cat <<'EOF'
type(scope): description
Optional body with additional details.
EOF
)"
Commit message quality:
BREAKING CHANGE: footer insteadDLT-001) as the commit scope. The scope should reflect the actual project area affected (e.g., auth, api, ui, parser). Tracking IDs are internal workflow artifacts and have no meaning in git historyGrouping rules:
Examples:
WRONG - Mixing unrelated changes:
git add app/services/auth.py app/services/exception_handler.py
git commit -m "fix: update auth and exception handler"
RIGHT - Separate commits for unrelated changes:
# First commit
git add app/services/auth.py
git commit -m "fix(auth): resolve token expiration issue"
# Second commit
git add app/services/exception_handler.py
git commit -m "refactor(errors): simplify exception handler logic"
Safety:
This is a collaborative process:
npx claudepluginhub asermax/claude-plugins --plugin katachiAnalyzes Git changes, groups staged/unstaged files into logical commits by feature/type/scope, and executes them one-by-one using conventional commit format.
Groups uncommitted git changes (staged/unstaged/untracked) into atomic commits by logical purpose and generates conventional commit messages with bodies. Use for splitting multiple changes or 'smart commit' requests.
Analyzes git changes, groups into atomic logical commits, writes conventional commit messages, stages files selectively, and commits safely. Use for clean solo git history without blind adds.