Commit
Create well-structured git commits from the current working tree. Use when the user says 'commit', 'save my work', 'let's commit this', 'make a commit', or any variation of wanting to commit code to git.From its SKILL.md
npx -y skills add kklimuk/docx-cli --skill commitAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- runs commandsInstructs the agent to run 5 commands, including `git status` and 4 more.
SKILL.md
3.4 KB, 807 tokens by cl100k_base, as published. Nobody here has run it
Commit
Create clean, well-structured git commits that tell a coherent story.
Process
1. Assess the Working Tree
Run git status (never -uall) and git diff to understand what changed. Also run git log --oneline -5 to match the repo's existing commit message style.
If there are no changes, say so and stop.
2. Group Changes by Intent
Look at the changed files and mentally group them:
- Feature: new functionality (client + server + tests for the same feature = one commit)
- Fix: bug fixes
- Refactor: structural changes that don't change behavior
- Docs: documentation-only changes (CLAUDE.md, README, comments)
- Test: test-only additions or changes
- Chore: config, dependencies, tooling
Rules for grouping:
- Prefer fewer commits. A feature that touches 15 files is still one commit if it's one logical change.
- Only split when intent is genuinely different. "Add collaborative editing" is one commit even if it touches client, server, DB, and tests. But "add collaborative editing" + "fix unrelated CSS bug" should be two commits.
- For a first commit or large initial build, one commit is fine. Don't artificially split an initial implementation.
- Docs updates that accompany code changes go in the same commit. Only separate docs commits for docs-only changes.
3. Present the Plan
Before committing, show the user:
- How many commits you plan to make
- For each commit: the message and which files are included
- Ask for confirmation
4. Create the Commits
For each commit:
- Stage the specific files with
git add <file1> <file2> ...(nevergit add -Aorgit add .) - Commit with a message using this format:
<type>: <concise description>
<optional body — explain WHY, not WHAT. The diff shows what.>
Co-Authored-By: Claude <[email protected]>
Types: feat, fix, refactor, docs, test, chore
Message guidelines:
- Subject line under 72 characters
- Use imperative mood ("add", not "added" or "adds")
- The subject should complete the sentence "This commit will..."
- Body is optional — use it for non-obvious context (e.g., "the old approach caused X" or "this unblocks Y")
- Always include the Co-Authored-By trailer
5. Verify
After all commits, run git log --oneline -10 to show the result.
Safety Rules
- Never commit
.env, credentials, or secrets. Check staged files for these patterns and warn. - Never use
git add -Aorgit add .— always stage specific files. - Never amend a commit unless the user explicitly asks.
- Never force push.
- Never skip hooks (
--no-verify). - If a pre-commit hook fails, fix the issue and create a NEW commit (don't amend). To diagnose, read the pre-commit hook (
.husky/pre-commitor.pre-commit-config.yaml) to see what it runs, then run each command individually to find the failure.
What NOT To Do
- Don't write commit messages that describe every file changed. The diff does that.
- Don't split a single feature across 5 commits just because it touches 5 directories.
- Don't use vague messages like "update code" or "fix stuff".
- Don't commit generated files (
db/schema.ts,dist/,node_modules/,__pycache__/).
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 1 of the 12 instructions most pr commit review skills give in 807 tokens
Counted across 1,055 of the 1,911 authors here whose files we hold, read 2026-09-06
- Use conventional commit message formatin 150 of 1055, across 145 files
- Announce skill usage at startin 78 of 1055
- Use imperative mood for commit descriptionsin 54 of 1055, across 51 files
- Add directory to gitignore if not ignoredin 52 of 1055, across 41 files
- Use imperative mood for commit subjecthere, and in 52 of 1055
- Run tests to verify clean baselinein 42 of 1055, across 32 files
- Push branch to originin 40 of 1055, across 38 files
- Verify worktree directory is ignored before creationin 39 of 1055, across 32 files
- Delete branches after mergingin 38 of 1055, across 30 files
- Create worktree with new branchin 37 of 1055, across 32 files
- Wrap body text at 72 charactersin 36 of 1055, across 34 files
- Auto-detect and run project setupin 35 of 1055, across 27 files
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.